svn commit: samba r26258 - in branches/SAMBA_4_0: . source/auth/gensec source/auth/ntlmssp

jelmer at samba.org jelmer at samba.org
Mon Dec 3 17:41:41 GMT 2007


Author: jelmer
Date: 2007-12-03 17:41:37 +0000 (Mon, 03 Dec 2007)
New Revision: 26258

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

Log:
Use loadparm context in client_start function of gensec.
Modified:
   branches/SAMBA_4_0/
   branches/SAMBA_4_0/source/auth/gensec/cyrus_sasl.c
   branches/SAMBA_4_0/source/auth/gensec/gensec.c
   branches/SAMBA_4_0/source/auth/gensec/gensec.h
   branches/SAMBA_4_0/source/auth/gensec/gensec_gssapi.c
   branches/SAMBA_4_0/source/auth/gensec/gensec_krb5.c
   branches/SAMBA_4_0/source/auth/gensec/schannel.c
   branches/SAMBA_4_0/source/auth/gensec/spnego.c
   branches/SAMBA_4_0/source/auth/ntlmssp/ntlmssp.h
   branches/SAMBA_4_0/source/auth/ntlmssp/ntlmssp_client.c


Changeset:

Property changes on: branches/SAMBA_4_0
___________________________________________________________________
Name: bzr:revision-info
...skipped...
Name: bzr:revision-id:v3-trunk0
...skipped...

Modified: branches/SAMBA_4_0/source/auth/gensec/cyrus_sasl.c
===================================================================
--- branches/SAMBA_4_0/source/auth/gensec/cyrus_sasl.c	2007-12-03 17:00:10 UTC (rev 26257)
+++ branches/SAMBA_4_0/source/auth/gensec/cyrus_sasl.c	2007-12-03 17:41:37 UTC (rev 26258)
@@ -112,7 +112,7 @@
 	return 0;
 }
 
-static NTSTATUS gensec_sasl_client_start(struct gensec_security *gensec_security)
+static NTSTATUS gensec_sasl_client_start(struct gensec_security *gensec_security, struct loadparm_context *lp_ctx)
 {
 	struct gensec_sasl_state *gensec_sasl_state;
 	const char *service = gensec_get_target_service(gensec_security);

Modified: branches/SAMBA_4_0/source/auth/gensec/gensec.c
===================================================================
--- branches/SAMBA_4_0/source/auth/gensec/gensec.c	2007-12-03 17:00:10 UTC (rev 26257)
+++ branches/SAMBA_4_0/source/auth/gensec/gensec.c	2007-12-03 17:41:37 UTC (rev 26258)
@@ -603,7 +603,7 @@
 	switch (gensec_security->gensec_role) {
 	case GENSEC_CLIENT:
 		if (gensec_security->ops->client_start) {
-			status = gensec_security->ops->client_start(gensec_security);
+			status = gensec_security->ops->client_start(gensec_security, global_loadparm);
 			if (!NT_STATUS_IS_OK(status)) {
 				DEBUG(2, ("Failed to start GENSEC client mech %s: %s\n",
 					  gensec_security->ops->name, nt_errstr(status))); 

Modified: branches/SAMBA_4_0/source/auth/gensec/gensec.h
===================================================================
--- branches/SAMBA_4_0/source/auth/gensec/gensec.h	2007-12-03 17:00:10 UTC (rev 26257)
+++ branches/SAMBA_4_0/source/auth/gensec/gensec.h	2007-12-03 17:41:37 UTC (rev 26258)
@@ -75,12 +75,15 @@
 	} callback;
 };
 
+struct loadparm_context;
+
 struct gensec_security_ops {
 	const char *name;
 	const char *sasl_name;
 	uint8_t auth_type;  /* 0 if not offered on DCE-RPC */
 	const char **oid;  /* NULL if not offered by SPNEGO */
-	NTSTATUS (*client_start)(struct gensec_security *gensec_security);
+	NTSTATUS (*client_start)(struct gensec_security *gensec_security, 
+				 struct loadparm_context *lp_ctx);
 	NTSTATUS (*server_start)(struct gensec_security *gensec_security);
 	/**
 	   Determine if a packet has the right 'magic' for this mechanism

Modified: branches/SAMBA_4_0/source/auth/gensec/gensec_gssapi.c
===================================================================
--- branches/SAMBA_4_0/source/auth/gensec/gensec_gssapi.c	2007-12-03 17:00:10 UTC (rev 26257)
+++ branches/SAMBA_4_0/source/auth/gensec/gensec_gssapi.c	2007-12-03 17:41:37 UTC (rev 26258)
@@ -298,7 +298,7 @@
 	return nt_status;
 }
 
-static NTSTATUS gensec_gssapi_client_start(struct gensec_security *gensec_security)
+static NTSTATUS gensec_gssapi_client_start(struct gensec_security *gensec_security, struct loadparm_context *lp_ctx)
 {
 	struct gensec_gssapi_state *gensec_gssapi_state;
 	struct cli_credentials *creds = gensec_get_credentials(gensec_security);
@@ -324,7 +324,7 @@
 		return NT_STATUS_INVALID_PARAMETER;
 	}
 
-	nt_status = gensec_gssapi_start(gensec_security, global_loadparm);
+	nt_status = gensec_gssapi_start(gensec_security, lp_ctx);
 	if (!NT_STATUS_IS_OK(nt_status)) {
 		return nt_status;
 	}
@@ -334,7 +334,7 @@
 	gensec_gssapi_state->gss_oid = gss_mech_krb5;
 
 	principal = gensec_get_target_principal(gensec_security);
-	if (principal && lp_client_use_spnego_principal(global_loadparm)) {
+	if (principal && lp_client_use_spnego_principal(lp_ctx)) {
 		name_type = GSS_C_NULL_OID;
 	} else {
 		principal = talloc_asprintf(gensec_gssapi_state, "%s@%s", 
@@ -380,11 +380,11 @@
 	return NT_STATUS_OK;
 }
 
-static NTSTATUS gensec_gssapi_sasl_client_start(struct gensec_security *gensec_security)
+static NTSTATUS gensec_gssapi_sasl_client_start(struct gensec_security *gensec_security, struct loadparm_context *lp_ctx)
 {
 	NTSTATUS nt_status;
 	struct gensec_gssapi_state *gensec_gssapi_state;
-	nt_status = gensec_gssapi_client_start(gensec_security);
+	nt_status = gensec_gssapi_client_start(gensec_security, lp_ctx);
 
 	if (NT_STATUS_IS_OK(nt_status)) {
 		gensec_gssapi_state = talloc_get_type(gensec_security->private_data, struct gensec_gssapi_state);

Modified: branches/SAMBA_4_0/source/auth/gensec/gensec_krb5.c
===================================================================
--- branches/SAMBA_4_0/source/auth/gensec/gensec_krb5.c	2007-12-03 17:00:10 UTC (rev 26257)
+++ branches/SAMBA_4_0/source/auth/gensec/gensec_krb5.c	2007-12-03 17:41:37 UTC (rev 26258)
@@ -210,7 +210,7 @@
 	return nt_status;
 }
 
-static NTSTATUS gensec_krb5_client_start(struct gensec_security *gensec_security)
+static NTSTATUS gensec_krb5_client_start(struct gensec_security *gensec_security, struct loadparm_context *lp_ctx)
 {
 	struct gensec_krb5_state *gensec_krb5_state;
 	krb5_error_code ret;
@@ -322,9 +322,9 @@
 	}
 }
 
-static NTSTATUS gensec_fake_gssapi_krb5_client_start(struct gensec_security *gensec_security)
+static NTSTATUS gensec_fake_gssapi_krb5_client_start(struct gensec_security *gensec_security, struct loadparm_context *lp_ctx)
 {
-	NTSTATUS nt_status = gensec_krb5_client_start(gensec_security);
+	NTSTATUS nt_status = gensec_krb5_client_start(gensec_security, lp_ctx);
 
 	if (NT_STATUS_IS_OK(nt_status)) {
 		struct gensec_krb5_state *gensec_krb5_state;

Modified: branches/SAMBA_4_0/source/auth/gensec/schannel.c
===================================================================
--- branches/SAMBA_4_0/source/auth/gensec/schannel.c	2007-12-03 17:00:10 UTC (rev 26257)
+++ branches/SAMBA_4_0/source/auth/gensec/schannel.c	2007-12-03 17:41:37 UTC (rev 26258)
@@ -218,7 +218,8 @@
 	return NT_STATUS_OK;
 }
 
-static NTSTATUS schannel_client_start(struct gensec_security *gensec_security) 
+static NTSTATUS schannel_client_start(struct gensec_security *gensec_security, 
+				      struct loadparm_context *lp_ctx) 
 {
 	NTSTATUS status;
 	struct schannel_state *state;

Modified: branches/SAMBA_4_0/source/auth/gensec/spnego.c
===================================================================
--- branches/SAMBA_4_0/source/auth/gensec/spnego.c	2007-12-03 17:00:10 UTC (rev 26257)
+++ branches/SAMBA_4_0/source/auth/gensec/spnego.c	2007-12-03 17:41:37 UTC (rev 26258)
@@ -47,11 +47,11 @@
 };
 
 
-static NTSTATUS gensec_spnego_client_start(struct gensec_security *gensec_security)
+static NTSTATUS gensec_spnego_client_start(struct gensec_security *gensec_security, struct loadparm_context *lp_ctx)
 {
 	struct spnego_state *spnego_state;
 
-	spnego_state = talloc(gensec_security, struct spnego_state);		
+	spnego_state = talloc(gensec_security, struct spnego_state);
 	if (!spnego_state) {
 		return NT_STATUS_NO_MEMORY;
 	}

Modified: branches/SAMBA_4_0/source/auth/ntlmssp/ntlmssp.h
===================================================================
--- branches/SAMBA_4_0/source/auth/ntlmssp/ntlmssp.h	2007-12-03 17:00:10 UTC (rev 26257)
+++ branches/SAMBA_4_0/source/auth/ntlmssp/ntlmssp.h	2007-12-03 17:41:37 UTC (rev 26258)
@@ -184,5 +184,6 @@
 	struct auth_serversupplied_info *server_info;
 };
 
+struct loadparm_context;
 struct auth_session_info;
 #include "auth/ntlmssp/proto.h"

Modified: branches/SAMBA_4_0/source/auth/ntlmssp/ntlmssp_client.c
===================================================================
--- branches/SAMBA_4_0/source/auth/ntlmssp/ntlmssp_client.c	2007-12-03 17:00:10 UTC (rev 26257)
+++ branches/SAMBA_4_0/source/auth/ntlmssp/ntlmssp_client.c	2007-12-03 17:41:37 UTC (rev 26258)
@@ -285,7 +285,8 @@
 	return NT_STATUS_OK;
 }
 
-NTSTATUS gensec_ntlmssp_client_start(struct gensec_security *gensec_security)
+NTSTATUS gensec_ntlmssp_client_start(struct gensec_security *gensec_security,
+				     struct loadparm_context *lp_ctx)
 {
 	struct gensec_ntlmssp_state *gensec_ntlmssp_state;
 	NTSTATUS nt_status;
@@ -297,17 +298,17 @@
 
 	gensec_ntlmssp_state->role = NTLMSSP_CLIENT;
 
-	gensec_ntlmssp_state->domain = lp_workgroup(global_loadparm);
+	gensec_ntlmssp_state->domain = lp_workgroup(lp_ctx);
 
-	gensec_ntlmssp_state->unicode = lp_parm_bool(global_loadparm, NULL, "ntlmssp_client", "unicode", true);
+	gensec_ntlmssp_state->unicode = lp_parm_bool(lp_ctx, NULL, "ntlmssp_client", "unicode", true);
 
-	gensec_ntlmssp_state->use_nt_response = lp_parm_bool(global_loadparm, NULL, "ntlmssp_client", "send_nt_reponse", true);
+	gensec_ntlmssp_state->use_nt_response = lp_parm_bool(lp_ctx, NULL, "ntlmssp_client", "send_nt_reponse", true);
 
-	gensec_ntlmssp_state->allow_lm_key = (lp_client_lanman_auth(global_loadparm) 
-					      && (lp_parm_bool(global_loadparm, NULL, "ntlmssp_client", "allow_lm_key", false)
-						  || lp_parm_bool(global_loadparm, NULL, "ntlmssp_client", "lm_key", false)));
+	gensec_ntlmssp_state->allow_lm_key = (lp_client_lanman_auth(lp_ctx) 
+					      && (lp_parm_bool(lp_ctx, NULL, "ntlmssp_client", "allow_lm_key", false)
+						  || lp_parm_bool(lp_ctx, NULL, "ntlmssp_client", "lm_key", false)));
 
-	gensec_ntlmssp_state->use_ntlmv2 = lp_client_ntlmv2_auth(global_loadparm);
+	gensec_ntlmssp_state->use_ntlmv2 = lp_client_ntlmv2_auth(lp_ctx);
 
 	gensec_ntlmssp_state->expected_state = NTLMSSP_INITIAL;
 
@@ -315,27 +316,27 @@
 		NTLMSSP_NEGOTIATE_NTLM |
 		NTLMSSP_REQUEST_TARGET;
 
-	if (lp_parm_bool(global_loadparm, NULL, "ntlmssp_client", "128bit", true)) {
+	if (lp_parm_bool(lp_ctx, NULL, "ntlmssp_client", "128bit", true)) {
 		gensec_ntlmssp_state->neg_flags |= NTLMSSP_NEGOTIATE_128;		
 	}
 
-	if (lp_parm_bool(global_loadparm, NULL, "ntlmssp_client", "56bit", false)) {
+	if (lp_parm_bool(lp_ctx, NULL, "ntlmssp_client", "56bit", false)) {
 		gensec_ntlmssp_state->neg_flags |= NTLMSSP_NEGOTIATE_56;		
 	}
 
-	if (lp_parm_bool(global_loadparm, NULL, "ntlmssp_client", "lm_key", false)) {
+	if (lp_parm_bool(lp_ctx, NULL, "ntlmssp_client", "lm_key", false)) {
 		gensec_ntlmssp_state->neg_flags |= NTLMSSP_NEGOTIATE_LM_KEY;
 	}
 
-	if (lp_parm_bool(global_loadparm, NULL, "ntlmssp_client", "keyexchange", true)) {
+	if (lp_parm_bool(lp_ctx, NULL, "ntlmssp_client", "keyexchange", true)) {
 		gensec_ntlmssp_state->neg_flags |= NTLMSSP_NEGOTIATE_KEY_EXCH;		
 	}
 
-	if (lp_parm_bool(global_loadparm, NULL, "ntlmssp_client", "alwayssign", true)) {
+	if (lp_parm_bool(lp_ctx, NULL, "ntlmssp_client", "alwayssign", true)) {
 		gensec_ntlmssp_state->neg_flags |= NTLMSSP_NEGOTIATE_ALWAYS_SIGN;		
 	}
 
-	if (lp_parm_bool(global_loadparm, NULL, "ntlmssp_client", "ntlm2", true)) {
+	if (lp_parm_bool(lp_ctx, NULL, "ntlmssp_client", "ntlm2", true)) {
 		gensec_ntlmssp_state->neg_flags |= NTLMSSP_NEGOTIATE_NTLM2;		
 	} else {
 		/* apparently we can't do ntlmv2 if we don't do ntlm2 */



More information about the samba-cvs mailing list