r25428: forward declarations of enums are not portable,
authorStefan Metzmacher <metze@samba.org>
Sat, 29 Sep 2007 15:16:38 +0000 (15:16 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 20:07:31 +0000 (15:07 -0500)
so pass struct cli_credentials *cred instead of
enum credentials_use_kerberos use_kerberos.

metze
(This used to be commit b945aaa9dadc4c0595340d35725b49bac8e5778e)

source4/auth/gensec/gensec.c
source4/auth/gensec/gensec.h
source4/ldap_server/ldap_backend.c

index 052eed1363d1daa8a1eb5004e34d2c081b159955..114969966e34c146cb15058d0800b7a6a16d24ec 100644 (file)
@@ -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);
        }
 }
 
index 48a2903513330a38bd8a2476e279f9afaeaefe6e..bda740cc86229e70998f9f1f23455ea64e5742c0 100644 (file)
@@ -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;
index e81c5bf445e05c9bb0c8ac9a2a71bef8b8029f3d..ae0fd207b520708cfaaeef1559c16da00b1a9da6 100644 (file)
@@ -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) {