diff options
author | Andrew Bartlett <abartlet@samba.org> | 2011-07-18 13:06:47 +1000 |
---|---|---|
committer | Andrew Bartlett <abartlet@samba.org> | 2011-07-20 09:17:13 +1000 |
commit | 9fcc617ff5a216cc4ff1a587786522d28d84c7f2 (patch) | |
tree | 7d8589355c0ae8f9a13e48238879706bd58d70c6 /source3/auth | |
parent | 128ae06a619b2c50cc9379053abb18277e814747 (diff) | |
download | samba-9fcc617ff5a216cc4ff1a587786522d28d84c7f2.tar.gz samba-9fcc617ff5a216cc4ff1a587786522d28d84c7f2.tar.bz2 samba-9fcc617ff5a216cc4ff1a587786522d28d84c7f2.zip |
s3-auth Use the common auth_session_info
This patch finally has the same structure being used to describe the
authorization data of a user across the whole codebase.
This will allow of our session handling to be accomplished with common code.
Andrew Bartlett
Signed-off-by: Andrew Tridgell <tridge@samba.org>
Diffstat (limited to 'source3/auth')
-rw-r--r-- | source3/auth/auth_ntlmssp.c | 2 | ||||
-rw-r--r-- | source3/auth/auth_util.c | 48 | ||||
-rw-r--r-- | source3/auth/proto.h | 22 | ||||
-rw-r--r-- | source3/auth/server_info.c | 6 | ||||
-rw-r--r-- | source3/auth/user_krb5.c | 2 |
5 files changed, 40 insertions, 40 deletions
diff --git a/source3/auth/auth_ntlmssp.c b/source3/auth/auth_ntlmssp.c index 057f9d09e5..61029bc95d 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 auth3_session_info **session_info) + struct auth_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 1839f3d422..0ef7df88b3 100644 --- a/source3/auth/auth_util.c +++ b/source3/auth/auth_util.c @@ -457,13 +457,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 auth3_session_info **session_info_out) + struct auth_session_info **session_info_out) { struct security_token *t; NTSTATUS status; size_t i; struct dom_sid tmp_sid; - struct auth3_session_info *session_info; + struct auth_session_info *session_info; struct wbcUnixId *ids; struct auth_user_info_dc *user_info_dc; union netr_Validation val; @@ -474,7 +474,7 @@ NTSTATUS create_local_token(TALLOC_CTX *mem_ctx, return NT_STATUS_LOGON_FAILURE; } - session_info = make_auth3_session_info(mem_ctx); + session_info = make_auth_session_info(mem_ctx); if (!session_info) { return NT_STATUS_NO_MEMORY; } @@ -832,7 +832,7 @@ static NTSTATUS get_guest_info3(TALLOC_CTX *mem_ctx, left as-is for now. ***************************************************************************/ -static NTSTATUS make_new_session_info_guest(struct auth3_session_info **session_info, struct auth_serversupplied_info **server_info) +static NTSTATUS make_new_session_info_guest(struct auth_session_info **session_info, struct auth_serversupplied_info **server_info) { static const char zeros[16] = {0}; const char *guest_account = lp_guestaccount(); @@ -901,7 +901,7 @@ done: ***************************************************************************/ static NTSTATUS make_new_session_info_system(TALLOC_CTX *mem_ctx, - struct auth3_session_info **session_info) + struct auth_session_info **session_info) { struct passwd *pwd; NTSTATUS status; @@ -935,7 +935,7 @@ static NTSTATUS make_new_session_info_system(TALLOC_CTX *mem_ctx, } /**************************************************************************** - Fake a auth3_session_info just from a username (as a + Fake a auth_session_info just from a username (as a session_info structure, with create_local_token() already called on it. ****************************************************************************/ @@ -943,7 +943,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 auth3_session_info **session_info) + struct auth_session_info **session_info) { struct auth_serversupplied_info *result; struct passwd *pwd; @@ -985,7 +985,7 @@ NTSTATUS make_session_info_from_username(TALLOC_CTX *mem_ctx, * - The 'server_info' parameter allows the missing 'info3' to be copied across. */ static struct auth_serversupplied_info *copy_session_info_serverinfo_guest(TALLOC_CTX *mem_ctx, - const struct auth3_session_info *src, + const struct auth_session_info *src, struct auth_serversupplied_info *server_info) { struct auth_serversupplied_info *dst; @@ -1003,7 +1003,7 @@ static struct auth_serversupplied_info *copy_session_info_serverinfo_guest(TALLO /* This element must be provided to convert back to an * auth_serversupplied_info. This needs to be from hte - * auth3_session_info because the group values in particular + * auth_session_info because the group values in particular * may change during create_local_token() processing */ SMB_ASSERT(src->unix_token); dst->utok.uid = src->unix_token->uid; @@ -1057,23 +1057,23 @@ static struct auth_serversupplied_info *copy_session_info_serverinfo_guest(TALLO return dst; } -struct auth3_session_info *copy_session_info(TALLOC_CTX *mem_ctx, - const struct auth3_session_info *src) +struct auth_session_info *copy_session_info(TALLOC_CTX *mem_ctx, + const struct auth_session_info *src) { - struct auth3_session_info *dst; + struct auth_session_info *dst; DATA_BLOB blob; enum ndr_err_code ndr_err; ndr_err = ndr_push_struct_blob( &blob, talloc_tos(), src, - (ndr_push_flags_fn_t)ndr_push_auth3_session_info); + (ndr_push_flags_fn_t)ndr_push_auth_session_info); if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - DEBUG(0, ("copy_session_info(): ndr_push_auth3_session_info failed: " + DEBUG(0, ("copy_session_info(): ndr_push_auth_session_info failed: " "%s\n", ndr_errstr(ndr_err))); return NULL; } - dst = talloc(mem_ctx, struct auth3_session_info); + dst = talloc(mem_ctx, struct auth_session_info); if (dst == NULL) { DEBUG(0, ("talloc failed\n")); TALLOC_FREE(blob.data); @@ -1082,11 +1082,11 @@ struct auth3_session_info *copy_session_info(TALLOC_CTX *mem_ctx, ndr_err = ndr_pull_struct_blob( &blob, dst, dst, - (ndr_pull_flags_fn_t)ndr_pull_auth3_session_info); + (ndr_pull_flags_fn_t)ndr_pull_auth_session_info); TALLOC_FREE(blob.data); if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - DEBUG(0, ("copy_session_info(): ndr_pull_auth3_session_info failed: " + DEBUG(0, ("copy_session_info(): ndr_pull_auth_session_info failed: " "%s\n", ndr_errstr(ndr_err))); TALLOC_FREE(dst); return NULL; @@ -1100,7 +1100,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 auth3_session_info *info, +bool session_info_set_session_key(struct auth_session_info *info, DATA_BLOB session_key) { TALLOC_FREE(info->session_key.data); @@ -1111,7 +1111,7 @@ bool session_info_set_session_key(struct auth3_session_info *info, return (info->session_key.data != NULL); } -static struct auth3_session_info *guest_info = NULL; +static struct auth_session_info *guest_info = NULL; static struct auth_serversupplied_info *guest_server_info = NULL; @@ -1128,20 +1128,20 @@ NTSTATUS make_server_info_guest(TALLOC_CTX *mem_ctx, { /* This is trickier than it would appear to need to be because * we are trying to avoid certain costly operations when the - * structure is converted to a 'auth3_session_info' again in + * structure is converted to a 'auth_session_info' again in * create_local_token() */ *server_info = copy_session_info_serverinfo_guest(mem_ctx, guest_info, guest_server_info); return (*server_info != NULL) ? NT_STATUS_OK : NT_STATUS_NO_MEMORY; } NTSTATUS make_session_info_guest(TALLOC_CTX *mem_ctx, - struct auth3_session_info **session_info) + struct auth_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; +static struct auth_session_info *system_info = NULL; NTSTATUS init_system_info(void) { @@ -1152,14 +1152,14 @@ NTSTATUS init_system_info(void) } NTSTATUS make_session_info_system(TALLOC_CTX *mem_ctx, - struct auth3_session_info **session_info) + struct auth_session_info **session_info) { if (system_info == NULL) return NT_STATUS_UNSUCCESSFUL; *session_info = copy_session_info(mem_ctx, system_info); return (*session_info != NULL) ? NT_STATUS_OK : NT_STATUS_NO_MEMORY; } -const struct auth3_session_info *get_session_info_system(void) +const struct auth_session_info *get_session_info_system(void) { return system_info; } diff --git a/source3/auth/proto.h b/source3/auth/proto.h index f1a0b14a90..4c69a32c11 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 auth3_session_info **session_info); + struct auth_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 auth3_session_info **session_info_out); + struct auth_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,20 @@ 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 auth3_session_info **session_info); -struct auth3_session_info *copy_session_info(TALLOC_CTX *mem_ctx, - const struct auth3_session_info *src); + struct auth_session_info **session_info); +struct auth_session_info *copy_session_info(TALLOC_CTX *mem_ctx, + const struct auth_session_info *src); bool init_guest_info(void); NTSTATUS init_system_info(void); -bool session_info_set_session_key(struct auth3_session_info *info, +bool session_info_set_session_key(struct auth_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); + struct auth_session_info **server_info); NTSTATUS make_session_info_system(TALLOC_CTX *mem_ctx, - struct auth3_session_info **session_info); -const struct auth3_session_info *get_session_info_system(void); + struct auth_session_info **session_info); +const struct auth_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 ); @@ -225,7 +225,7 @@ struct netr_SamInfo3; struct netr_SamInfo6; struct auth_serversupplied_info *make_server_info(TALLOC_CTX *mem_ctx); -struct auth3_session_info *make_auth3_session_info(TALLOC_CTX *mem_ctx); +struct auth_session_info *make_auth_session_info(TALLOC_CTX *mem_ctx); NTSTATUS serverinfo_to_SamInfo2(struct auth_serversupplied_info *server_info, uint8_t *pipe_session_key, size_t pipe_session_key_len, @@ -319,6 +319,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 auth3_session_info **session_info); + struct auth_session_info **session_info); #endif /* _AUTH_PROTO_H_ */ diff --git a/source3/auth/server_info.c b/source3/auth/server_info.c index 0add24b001..c78b3f67df 100644 --- a/source3/auth/server_info.c +++ b/source3/auth/server_info.c @@ -67,11 +67,11 @@ struct auth_serversupplied_info *make_server_info(TALLOC_CTX *mem_ctx) Make a server_info struct. Free with TALLOC_FREE(). ***************************************************************************/ -struct auth3_session_info *make_auth3_session_info(TALLOC_CTX *mem_ctx) +struct auth_session_info *make_auth_session_info(TALLOC_CTX *mem_ctx) { - struct auth3_session_info *result; + struct auth_session_info *result; - result = talloc_zero(mem_ctx, struct auth3_session_info); + result = talloc_zero(mem_ctx, struct auth_session_info); if (result == NULL) { DEBUG(0, ("talloc failed\n")); return NULL; diff --git a/source3/auth/user_krb5.c b/source3/auth/user_krb5.c index 054cb39252..c980f28212 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 auth3_session_info **session_info) + struct auth_session_info **session_info) { NTSTATUS status; struct auth_serversupplied_info *server_info; |