From: Andrew Bartlett Date: Tue, 18 May 2010 03:00:53 +0000 (+1000) Subject: s3:auth Improve make_auth_context_text_list API - add const X-Git-Url: http://git.samba.org/?p=abartlet%2Fsamba.git%2F.git;a=commitdiff_plain;h=4ffeb43d76782535e7f762b01260b5527ec3ec4c s3:auth Improve make_auth_context_text_list API - add const --- diff --git a/source3/auth/auth.c b/source3/auth/auth.c index 9276758b1f6..8ffea912b47 100644 --- a/source3/auth/auth.c +++ b/source3/auth/auth.c @@ -415,7 +415,7 @@ bool load_auth_module(struct auth_context *auth_context, Make a auth_info struct for the auth subsystem ***************************************************************************/ -NTSTATUS make_auth_context_text_list(struct auth_context **auth_context, char **text_list) +NTSTATUS make_auth_context_text_list(struct auth_context **auth_context, const char **text_list) { auth_methods *list = NULL; auth_methods *t = NULL; @@ -447,27 +447,28 @@ NTSTATUS make_auth_context_text_list(struct auth_context **auth_context, char ** NTSTATUS make_auth_context_subsystem(struct auth_context **auth_context) { - char **auth_method_list = NULL; + char **tmp_method_list = NULL; + const char **auth_method_list; NTSTATUS nt_status; if (lp_auth_methods() - && !(auth_method_list = str_list_copy(talloc_tos(), + && !(tmp_method_list = str_list_copy(talloc_tos(), lp_auth_methods()))) { return NT_STATUS_NO_MEMORY; } - if (auth_method_list == NULL) { + if (tmp_method_list == NULL) { switch (lp_security()) { case SEC_DOMAIN: DEBUG(5,("Making default auth method list for security=domain\n")); - auth_method_list = str_list_make_v3( + tmp_method_list = str_list_make_v3( talloc_tos(), "guest sam winbind:ntdomain", NULL); break; case SEC_SERVER: DEBUG(5,("Making default auth method list for security=server\n")); - auth_method_list = str_list_make_v3( + tmp_method_list = str_list_make_v3( talloc_tos(), "guest sam smbserver", NULL); break; @@ -475,36 +476,36 @@ NTSTATUS make_auth_context_subsystem(struct auth_context **auth_context) if (lp_encrypted_passwords()) { if ((lp_server_role() == ROLE_DOMAIN_PDC) || (lp_server_role() == ROLE_DOMAIN_BDC)) { DEBUG(5,("Making default auth method list for DC, security=user, encrypt passwords = yes\n")); - auth_method_list = str_list_make_v3( + tmp_method_list = str_list_make_v3( talloc_tos(), "guest sam winbind:trustdomain", NULL); } else { DEBUG(5,("Making default auth method list for standalone security=user, encrypt passwords = yes\n")); - auth_method_list = str_list_make_v3( + tmp_method_list = str_list_make_v3( talloc_tos(), "guest sam", NULL); } } else { DEBUG(5,("Making default auth method list for security=user, encrypt passwords = no\n")); - auth_method_list = str_list_make_v3( + tmp_method_list = str_list_make_v3( talloc_tos(), "guest unix", NULL); } break; case SEC_SHARE: if (lp_encrypted_passwords()) { DEBUG(5,("Making default auth method list for security=share, encrypt passwords = yes\n")); - auth_method_list = str_list_make_v3( + tmp_method_list = str_list_make_v3( talloc_tos(), "guest sam", NULL); } else { DEBUG(5,("Making default auth method list for security=share, encrypt passwords = no\n")); - auth_method_list = str_list_make_v3( + tmp_method_list = str_list_make_v3( talloc_tos(), "guest unix", NULL); } break; case SEC_ADS: DEBUG(5,("Making default auth method list for security=ADS\n")); - auth_method_list = str_list_make_v3( + tmp_method_list = str_list_make_v3( talloc_tos(), "guest sam winbind:ntdomain", NULL); break; @@ -516,10 +517,11 @@ NTSTATUS make_auth_context_subsystem(struct auth_context **auth_context) DEBUG(5,("Using specified auth order\n")); } + auth_method_list = (const char **)tmp_method_list; nt_status = make_auth_context_text_list(auth_context, auth_method_list); - TALLOC_FREE(auth_method_list); + TALLOC_FREE(tmp_method_list); return nt_status; } #endif diff --git a/source3/include/proto.h b/source3/include/proto.h index 1d0ed195733..fea9814fe81 100644 --- a/source3/include/proto.h +++ b/source3/include/proto.h @@ -31,7 +31,7 @@ bool load_auth_module(struct auth_context *auth_context, const char *module, auth_methods **ret) ; NTSTATUS make_auth_context_subsystem(struct auth_context **auth_context) ; NTSTATUS make_auth_context_fixed(struct auth_context **auth_context, uchar chal[8]) ; -NTSTATUS make_auth_context_text_list(struct auth_context **auth_context, char **text_list); +NTSTATUS make_auth_context_text_list(struct auth_context **auth_context, const char **text_list); /* The following definitions come from auth/auth_builtin.c */