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

jelmer at samba.org jelmer at samba.org
Thu Apr 6 16:08:46 GMT 2006


Author: jelmer
Date: 2006-04-06 16:08:46 +0000 (Thu, 06 Apr 2006)
New Revision: 14952

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

Log:
Make sure the auth subsystem gets initialized if a gensec module needs it.

Modified:
   branches/SAMBA_4_0/source/auth/auth.c
   branches/SAMBA_4_0/source/auth/gensec/gensec.c
   branches/SAMBA_4_0/source/auth/gensec/gensec_krb5.c
   branches/SAMBA_4_0/source/auth/ntlmssp/ntlmssp.c


Changeset:
Modified: branches/SAMBA_4_0/source/auth/auth.c
===================================================================
--- branches/SAMBA_4_0/source/auth/auth.c	2006-04-06 13:51:44 UTC (rev 14951)
+++ branches/SAMBA_4_0/source/auth/auth.c	2006-04-06 16:08:46 UTC (rev 14952)
@@ -333,10 +333,17 @@
 	return &critical_sizes;
 }
 
-NTSTATUS server_service_auth_init(void)
+NTSTATUS auth_init(void)
 {
+	static BOOL initialized = False;
+
 	init_module_fn static_init[] = STATIC_auth_MODULES;
-	init_module_fn *shared_init = load_samba_modules(NULL, "auth");
+	init_module_fn *shared_init;
+	
+	if (initialized) return NT_STATUS_OK;
+	initialized = True;
+	
+	shared_init = load_samba_modules(NULL, "auth");
 
 	run_init_functions(static_init);
 	run_init_functions(shared_init);
@@ -345,3 +352,8 @@
 	
 	return NT_STATUS_OK;	
 }
+
+NTSTATUS server_service_auth_init(void)
+{
+	return auth_init();
+}

Modified: branches/SAMBA_4_0/source/auth/gensec/gensec.c
===================================================================
--- branches/SAMBA_4_0/source/auth/gensec/gensec.c	2006-04-06 13:51:44 UTC (rev 14951)
+++ branches/SAMBA_4_0/source/auth/gensec/gensec.c	2006-04-06 16:08:46 UTC (rev 14952)
@@ -1131,10 +1131,12 @@
 	static BOOL initialized = False;
 
 	init_module_fn static_init[] = STATIC_gensec_MODULES;
-	init_module_fn *shared_init = load_samba_modules(NULL, "gensec");
+	init_module_fn *shared_init;
 
 	if (initialized) return NT_STATUS_OK;
 	initialized = True;
+	
+	shared_init = load_samba_modules(NULL, "gensec");
 
 	run_init_functions(static_init);
 	run_init_functions(shared_init);

Modified: branches/SAMBA_4_0/source/auth/gensec/gensec_krb5.c
===================================================================
--- branches/SAMBA_4_0/source/auth/gensec/gensec_krb5.c	2006-04-06 13:51:44 UTC (rev 14951)
+++ branches/SAMBA_4_0/source/auth/gensec/gensec_krb5.c	2006-04-06 16:08:46 UTC (rev 14952)
@@ -754,6 +754,8 @@
 {
 	NTSTATUS ret;
 
+	auth_init();
+
 	ret = gensec_register(&gensec_krb5_security_ops);
 	if (!NT_STATUS_IS_OK(ret)) {
 		DEBUG(0,("Failed to register '%s' gensec backend!\n",

Modified: branches/SAMBA_4_0/source/auth/ntlmssp/ntlmssp.c
===================================================================
--- branches/SAMBA_4_0/source/auth/ntlmssp/ntlmssp.c	2006-04-06 13:51:44 UTC (rev 14951)
+++ branches/SAMBA_4_0/source/auth/ntlmssp/ntlmssp.c	2006-04-06 16:08:46 UTC (rev 14952)
@@ -404,6 +404,9 @@
 NTSTATUS gensec_ntlmssp_init(void)
 {
 	NTSTATUS ret;
+
+	auth_init();
+
 	ret = gensec_register(&gensec_ntlmssp_security_ops);
 	if (!NT_STATUS_IS_OK(ret)) {
 		DEBUG(0,("Failed to register '%s' gensec backend!\n",



More information about the samba-cvs mailing list