diff options
Diffstat (limited to 'source4')
-rw-r--r-- | source4/auth/gensec/gensec.c | 11 | ||||
-rw-r--r-- | source4/auth/gensec/gensec.h | 3 | ||||
-rw-r--r-- | source4/ldap_server/ldap_backend.c | 4 |
3 files changed, 9 insertions, 9 deletions
diff --git a/source4/auth/gensec/gensec.c b/source4/auth/gensec/gensec.c index 052eed1363..114969966e 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); } } diff --git a/source4/auth/gensec/gensec.h b/source4/auth/gensec/gensec.h index 48a2903513..bda740cc86 100644 --- a/source4/auth/gensec/gensec.h +++ b/source4/auth/gensec/gensec.h @@ -39,8 +39,6 @@ enum gensec_priority { GENSEC_OTHER = 0 }; -enum credentials_use_kerberos; - struct gensec_security; struct gensec_target { const char *principal; @@ -63,6 +61,7 @@ enum gensec_role }; struct auth_session_info; +struct cli_credentials; struct gensec_update_request { struct gensec_security *gensec_security; diff --git a/source4/ldap_server/ldap_backend.c b/source4/ldap_server/ldap_backend.c index e81c5bf445..ae0fd207b5 100644 --- a/source4/ldap_server/ldap_backend.c +++ b/source4/ldap_server/ldap_backend.c @@ -64,10 +64,8 @@ NTSTATUS ldapsrv_backend_Init(struct ldapsrv_connection *conn) if (conn->server_credentials) { char **sasl_mechs = NULL; struct gensec_security_ops **backends = gensec_security_all(); - enum credentials_use_kerberos use_kerberos - = cli_credentials_get_kerberos_state(conn->server_credentials); struct gensec_security_ops **ops - = gensec_use_kerberos_mechs(conn, backends, use_kerberos); + = gensec_use_kerberos_mechs(conn, backends, conn->server_credentials); int i, j = 0; for (i = 0; ops && ops[i]; i++) { if (ops[i]->sasl_name && ops[i]->server_start) { |