svn commit: samba r25428 - in branches/SAMBA_4_0/source: auth/gensec ldap_server

metze at samba.org metze at samba.org
Sat Sep 29 15:16:43 GMT 2007


Author: metze
Date: 2007-09-29 15:16:38 +0000 (Sat, 29 Sep 2007)
New Revision: 25428

WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=25428

Log:
forward declarations of enums are not portable,
so pass struct cli_credentials *cred instead of 
enum credentials_use_kerberos use_kerberos.

metze
Modified:
   branches/SAMBA_4_0/source/auth/gensec/gensec.c
   branches/SAMBA_4_0/source/auth/gensec/gensec.h
   branches/SAMBA_4_0/source/ldap_server/ldap_backend.c


Changeset:
Modified: branches/SAMBA_4_0/source/auth/gensec/gensec.c
===================================================================
--- branches/SAMBA_4_0/source/auth/gensec/gensec.c	2007-09-29 08:57:02 UTC (rev 25427)
+++ branches/SAMBA_4_0/source/auth/gensec/gensec.c	2007-09-29 15:16:38 UTC (rev 25428)
@@ -47,11 +47,16 @@
 
 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)) {
 			return NULL;
@@ -112,7 +117,6 @@
 		}
 		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 @@
 			}
 			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);
 	}
 }
 

Modified: branches/SAMBA_4_0/source/auth/gensec/gensec.h
===================================================================
--- branches/SAMBA_4_0/source/auth/gensec/gensec.h	2007-09-29 08:57:02 UTC (rev 25427)
+++ branches/SAMBA_4_0/source/auth/gensec/gensec.h	2007-09-29 15:16:38 UTC (rev 25428)
@@ -39,8 +39,6 @@
 	GENSEC_OTHER = 0
 };
 
-enum credentials_use_kerberos;
-
 struct gensec_security;
 struct gensec_target {
 	const char *principal;
@@ -63,6 +61,7 @@
 };
 
 struct auth_session_info;
+struct cli_credentials;
 
 struct gensec_update_request {
 	struct gensec_security *gensec_security;

Modified: branches/SAMBA_4_0/source/ldap_server/ldap_backend.c
===================================================================
--- branches/SAMBA_4_0/source/ldap_server/ldap_backend.c	2007-09-29 08:57:02 UTC (rev 25427)
+++ branches/SAMBA_4_0/source/ldap_server/ldap_backend.c	2007-09-29 15:16:38 UTC (rev 25428)
@@ -64,10 +64,8 @@
 	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) {



More information about the samba-cvs mailing list