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;
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;
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;
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