summaryrefslogtreecommitdiff
path: root/source4/auth/auth.h
diff options
context:
space:
mode:
Diffstat (limited to 'source4/auth/auth.h')
-rw-r--r--source4/auth/auth.h34
1 files changed, 24 insertions, 10 deletions
diff --git a/source4/auth/auth.h b/source4/auth/auth.h
index c6a025dba8..c8347cad20 100644
--- a/source4/auth/auth.h
+++ b/source4/auth/auth.h
@@ -37,7 +37,7 @@ typedef struct auth_str
char *str;
} AUTH_STR;
-typedef struct auth_usersupplied_info
+struct auth_usersupplied_info
{
DATA_BLOB lm_resp;
@@ -54,7 +54,7 @@ typedef struct auth_usersupplied_info
AUTH_STR smb_name; /* username before mapping */
AUTH_STR wksta_name; /* workstation name (netbios calling name) unicode string */
-} auth_usersupplied_info;
+};
#define SAM_FILL_NAME 0x01
#define SAM_FILL_INFO3 0x02
@@ -62,20 +62,34 @@ typedef struct auth_usersupplied_info
#define SAM_FILL_UNIX 0x08
#define SAM_FILL_ALL (SAM_FILL_NAME | SAM_FILL_INFO3 | SAM_FILL_SAM | SAM_FILL_UNIX)
-typedef struct auth_serversupplied_info
+struct auth_serversupplied_info
{
TALLOC_CTX *mem_ctx;
BOOL guest;
- /* NT group information taken from the info3 structure */
-
- NT_USER_TOKEN *ptok;
+ struct dom_sid *user_sid;
+ struct dom_sid *primary_group_sid;
+
+ size_t n_domain_groups;
+ struct dom_sid **domain_groups;
DATA_BLOB user_session_key;
DATA_BLOB lm_session_key;
-} auth_serversupplied_info;
+};
+
+struct auth_session_info
+{
+ TALLOC_CTX *mem_ctx;
+ /* NT group information taken from the info3 structure */
+
+ NT_USER_TOKEN *nt_user_token;
+
+ struct auth_serversupplied_info *server_info;
+
+ DATA_BLOB session_key;
+};
struct auth_context {
DATA_BLOB challenge;
@@ -98,7 +112,7 @@ struct auth_context {
void (*free)(struct auth_context **auth_context);
};
-typedef struct auth_methods
+struct auth_methods
{
struct auth_methods *prev, *next;
const char *name; /* What name got this module */
@@ -107,7 +121,7 @@ typedef struct auth_methods
void *my_private_data,
TALLOC_CTX *mem_ctx,
const struct auth_usersupplied_info *user_info,
- auth_serversupplied_info **server_info);
+ struct auth_serversupplied_info **server_info);
DATA_BLOB (*get_chal)(const struct auth_context *auth_context,
void **my_private_data,
@@ -122,7 +136,7 @@ typedef struct auth_methods
/* Function to send a keepalive message on the above structure */
void (*send_keepalive)(void **private_data);
-} auth_methods;
+};
typedef NTSTATUS (*auth_init_function)(struct auth_context *, const char *, struct auth_methods **);