diff options
Diffstat (limited to 'source3/auth')
-rw-r--r-- | source3/auth/auth_ntlmssp.c | 2 | ||||
-rw-r--r-- | source3/auth/auth_util.c | 37 | ||||
-rw-r--r-- | source3/auth/proto.h | 16 | ||||
-rw-r--r-- | source3/auth/user_krb5.c | 2 |
4 files changed, 33 insertions, 24 deletions
diff --git a/source3/auth/auth_ntlmssp.c b/source3/auth/auth_ntlmssp.c index 2d1aef18f0..057f9d09e5 100644 --- a/source3/auth/auth_ntlmssp.c +++ b/source3/auth/auth_ntlmssp.c @@ -29,7 +29,7 @@ NTSTATUS auth_ntlmssp_steal_session_info(TALLOC_CTX *mem_ctx, struct auth_ntlmssp_state *auth_ntlmssp_state, - struct auth_serversupplied_info **session_info) + struct auth3_session_info **session_info) { NTSTATUS nt_status = create_local_token(mem_ctx, auth_ntlmssp_state->server_info, diff --git a/source3/auth/auth_util.c b/source3/auth/auth_util.c index a8c737dd88..70df256042 100644 --- a/source3/auth/auth_util.c +++ b/source3/auth/auth_util.c @@ -458,13 +458,13 @@ static NTSTATUS log_nt_token(struct security_token *token) NTSTATUS create_local_token(TALLOC_CTX *mem_ctx, const struct auth_serversupplied_info *server_info, DATA_BLOB *session_key, - struct auth_serversupplied_info **session_info_out) + struct auth3_session_info **session_info_out) { struct security_token *t; NTSTATUS status; size_t i; struct dom_sid tmp_sid; - struct auth_serversupplied_info *session_info; + struct auth3_session_info *session_info; struct wbcUnixId *ids; /* Ensure we can't possible take a code path leading to a @@ -473,7 +473,7 @@ NTSTATUS create_local_token(TALLOC_CTX *mem_ctx, return NT_STATUS_LOGON_FAILURE; } - session_info = copy_serverinfo(mem_ctx, server_info); + session_info = copy_serverinfo_session_info(mem_ctx, server_info); if (!session_info) { return NT_STATUS_NO_MEMORY; @@ -767,7 +767,7 @@ static NTSTATUS get_guest_info3(TALLOC_CTX *mem_ctx, left as-is for now. ***************************************************************************/ -static NTSTATUS make_new_server_info_guest(struct auth_serversupplied_info **session_info) +static NTSTATUS make_new_session_info_guest(struct auth3_session_info **session_info) { struct auth_serversupplied_info *server_info; static const char zeros[16] = {0}; @@ -838,7 +838,7 @@ done: ***************************************************************************/ static NTSTATUS make_new_session_info_system(TALLOC_CTX *mem_ctx, - struct auth_serversupplied_info **session_info) + struct auth3_session_info **session_info) { struct passwd *pwd; NTSTATUS status; @@ -872,7 +872,7 @@ static NTSTATUS make_new_session_info_system(TALLOC_CTX *mem_ctx, } /**************************************************************************** - Fake a auth_serversupplied_info just from a username (as a + Fake a auth3_session_info just from a username (as a session_info structure, with create_local_token() already called on it. ****************************************************************************/ @@ -880,7 +880,7 @@ static NTSTATUS make_new_session_info_system(TALLOC_CTX *mem_ctx, NTSTATUS make_session_info_from_username(TALLOC_CTX *mem_ctx, const char *username, bool is_guest, - struct auth_serversupplied_info **session_info) + struct auth3_session_info **session_info) { struct auth_serversupplied_info *result; struct passwd *pwd; @@ -1150,7 +1150,7 @@ struct auth3_session_info *copy_session_info(TALLOC_CTX *mem_ctx, * SMB level session key with SystemLibraryDTC */ -bool session_info_set_session_key(struct auth_serversupplied_info *info, +bool session_info_set_session_key(struct auth3_session_info *info, DATA_BLOB session_key) { TALLOC_FREE(info->session_key.data); @@ -1161,24 +1161,31 @@ bool session_info_set_session_key(struct auth_serversupplied_info *info, return (info->session_key.data != NULL); } -static struct auth_serversupplied_info *guest_info = NULL; +static struct auth3_session_info *guest_info = NULL; bool init_guest_info(void) { if (guest_info != NULL) return True; - return NT_STATUS_IS_OK(make_new_server_info_guest(&guest_info)); + return NT_STATUS_IS_OK(make_new_session_info_guest(&guest_info)); } NTSTATUS make_server_info_guest(TALLOC_CTX *mem_ctx, struct auth_serversupplied_info **server_info) { - *server_info = copy_serverinfo(mem_ctx, guest_info); + *server_info = copy_session_info_serverinfo(mem_ctx, guest_info); return (*server_info != NULL) ? NT_STATUS_OK : NT_STATUS_NO_MEMORY; } -static struct auth_serversupplied_info *system_info = NULL; +NTSTATUS make_session_info_guest(TALLOC_CTX *mem_ctx, + struct auth3_session_info **session_info) +{ + *session_info = copy_session_info(mem_ctx, guest_info); + return (*session_info != NULL) ? NT_STATUS_OK : NT_STATUS_NO_MEMORY; +} + +static struct auth3_session_info *system_info = NULL; NTSTATUS init_system_info(void) { @@ -1189,14 +1196,14 @@ NTSTATUS init_system_info(void) } NTSTATUS make_session_info_system(TALLOC_CTX *mem_ctx, - struct auth_serversupplied_info **session_info) + struct auth3_session_info **session_info) { if (system_info == NULL) return NT_STATUS_UNSUCCESSFUL; - *session_info = copy_serverinfo(mem_ctx, system_info); + *session_info = copy_session_info(mem_ctx, system_info); return (*session_info != NULL) ? NT_STATUS_OK : NT_STATUS_NO_MEMORY; } -const struct auth_serversupplied_info *get_session_info_system(void) +const struct auth3_session_info *get_session_info_system(void) { return system_info; } diff --git a/source3/auth/proto.h b/source3/auth/proto.h index 8bc2c6e458..9f497a48e3 100644 --- a/source3/auth/proto.h +++ b/source3/auth/proto.h @@ -71,7 +71,7 @@ NTSTATUS auth_netlogond_init(void); NTSTATUS auth_ntlmssp_steal_session_info(TALLOC_CTX *mem_ctx, struct auth_ntlmssp_state *auth_ntlmssp_state, - struct auth_serversupplied_info **session_info); + struct auth3_session_info **session_info); NTSTATUS auth_ntlmssp_start(const struct tsocket_address *remote_address, struct auth_ntlmssp_state **auth_ntlmssp_state); @@ -150,7 +150,7 @@ NTSTATUS make_server_info_sam(struct auth_serversupplied_info **server_info, NTSTATUS create_local_token(TALLOC_CTX *mem_ctx, const struct auth_serversupplied_info *server_info, DATA_BLOB *session_key, - struct auth_serversupplied_info **session_info_out); + struct auth3_session_info **session_info_out); NTSTATUS create_token_from_username(TALLOC_CTX *mem_ctx, const char *username, bool is_guest, uid_t *uid, gid_t *gid, @@ -165,20 +165,22 @@ NTSTATUS make_server_info_pw(struct auth_serversupplied_info **server_info, NTSTATUS make_session_info_from_username(TALLOC_CTX *mem_ctx, const char *username, bool is_guest, - struct auth_serversupplied_info **session_info); + struct auth3_session_info **session_info); struct auth_serversupplied_info *copy_serverinfo(TALLOC_CTX *mem_ctx, const struct auth_serversupplied_info *src); struct auth3_session_info *copy_session_info(TALLOC_CTX *mem_ctx, const struct auth3_session_info *src); bool init_guest_info(void); NTSTATUS init_system_info(void); -bool session_info_set_session_key(struct auth_serversupplied_info *info, +bool session_info_set_session_key(struct auth3_session_info *info, DATA_BLOB session_key); NTSTATUS make_server_info_guest(TALLOC_CTX *mem_ctx, struct auth_serversupplied_info **server_info); +NTSTATUS make_session_info_guest(TALLOC_CTX *mem_ctx, + struct auth3_session_info **server_info); NTSTATUS make_session_info_system(TALLOC_CTX *mem_ctx, - struct auth_serversupplied_info **session_info); -const struct auth_serversupplied_info *get_session_info_system(void); + struct auth3_session_info **session_info); +const struct auth3_session_info *get_session_info_system(void); bool copy_current_user(struct current_user *dst, struct current_user *src); struct passwd *smb_getpwnam( TALLOC_CTX *mem_ctx, const char *domuser, char **p_save_username, bool create ); @@ -319,6 +321,6 @@ NTSTATUS make_session_info_krb5(TALLOC_CTX *mem_ctx, struct PAC_LOGON_INFO *logon_info, bool mapped_to_guest, bool username_was_mapped, DATA_BLOB *session_key, - struct auth_serversupplied_info **session_info); + struct auth3_session_info **session_info); #endif /* _AUTH_PROTO_H_ */ diff --git a/source3/auth/user_krb5.c b/source3/auth/user_krb5.c index db73c6dfc0..054cb39252 100644 --- a/source3/auth/user_krb5.c +++ b/source3/auth/user_krb5.c @@ -187,7 +187,7 @@ NTSTATUS make_session_info_krb5(TALLOC_CTX *mem_ctx, struct PAC_LOGON_INFO *logon_info, bool mapped_to_guest, bool username_was_mapped, DATA_BLOB *session_key, - struct auth_serversupplied_info **session_info) + struct auth3_session_info **session_info) { NTSTATUS status; struct auth_serversupplied_info *server_info; |