X-Git-Url: http://git.samba.org/samba.git/?a=blobdiff_plain;f=source4%2Fauth%2Fgensec%2Fgensec.c;h=9bbf31a7c797f52399b344f47f9cb64db6768afa;hb=2f3551ca7cee59d4d053cceb87abdf1da1b3a1ad;hp=052eed1363d1daa8a1eb5004e34d2c081b159955;hpb=98b57d5eb61094a9c88e2f7d90d3e21b7e74e9d8;p=kai%2Fsamba.git diff --git a/source4/auth/gensec/gensec.c b/source4/auth/gensec/gensec.c index 052eed1363d..9bbf31a7c79 100644 --- a/source4/auth/gensec/gensec.c +++ b/source4/auth/gensec/gensec.c @@ -47,10 +47,15 @@ struct gensec_security_ops **gensec_security_all(void) struct gensec_security_ops **gensec_use_kerberos_mechs(TALLOC_CTX *mem_ctx, struct gensec_security_ops **old_gensec_list, - enum credentials_use_kerberos use_kerberos) + struct cli_credentials *creds) { struct gensec_security_ops **new_gensec_list; int i, j, num_mechs_in; + enum credentials_use_kerberos use_kerberos = CRED_AUTO_USE_KERBEROS; + + if (creds) { + use_kerberos = cli_credentials_get_kerberos_state(creds); + } if (use_kerberos == CRED_AUTO_USE_KERBEROS) { if (!talloc_reference(mem_ctx, old_gensec_list)) { @@ -112,7 +117,6 @@ struct gensec_security_ops **gensec_security_mechs(struct gensec_security *gense } return backends; } else { - enum credentials_use_kerberos use_kerberos; struct cli_credentials *creds = gensec_get_credentials(gensec_security); if (!creds) { if (!talloc_reference(mem_ctx, backends)) { @@ -120,8 +124,7 @@ struct gensec_security_ops **gensec_security_mechs(struct gensec_security *gense } return backends; } - use_kerberos = cli_credentials_get_kerberos_state(creds); - return gensec_use_kerberos_mechs(mem_ctx, backends, use_kerberos); + return gensec_use_kerberos_mechs(mem_ctx, backends, creds); } } @@ -1105,7 +1108,7 @@ _PUBLIC_ NTSTATUS gensec_set_target_hostname(struct gensec_security *gensec_secu _PUBLIC_ const char *gensec_get_target_hostname(struct gensec_security *gensec_security) { /* We allow the target hostname to be overriden for testing purposes */ - const char *target_hostname = lp_parm_string(NULL, "gensec", "target_hostname"); + const char *target_hostname = lp_parm_string(global_loadparm, NULL, "gensec", "target_hostname"); if (target_hostname) { return target_hostname; } @@ -1203,7 +1206,7 @@ const char *gensec_get_target_principal(struct gensec_security *gensec_security) */ NTSTATUS gensec_register(const struct gensec_security_ops *ops) { - if (!lp_parm_bool(NULL, "gensec", ops->name, ops->enabled)) { + if (!lp_parm_bool(global_loadparm, NULL, "gensec", ops->name, ops->enabled)) { DEBUG(2,("gensec subsystem %s is disabled\n", ops->name)); return NT_STATUS_OK; } @@ -1266,7 +1269,7 @@ NTSTATUS gensec_init(void) if (initialized) return NT_STATUS_OK; initialized = True; - shared_init = load_samba_modules(NULL, "gensec"); + shared_init = load_samba_modules(NULL, global_loadparm, "gensec"); run_init_functions(static_init); run_init_functions(shared_init);