svn commit: samba r20035 - in branches: SAMBA_3_0/source/nsswitch SAMBA_3_0_24/source/nsswitch

jra at samba.org jra at samba.org
Tue Dec 5 06:15:24 GMT 2006


Author: jra
Date: 2006-12-05 06:15:23 +0000 (Tue, 05 Dec 2006)
New Revision: 20035

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

Log:
Fix obvious horrible bug in falling back to MS-RPC 
methods.
Jeremy.

Modified:
   branches/SAMBA_3_0/source/nsswitch/winbindd_ads.c
   branches/SAMBA_3_0_24/source/nsswitch/winbindd_ads.c


Changeset:
Modified: branches/SAMBA_3_0/source/nsswitch/winbindd_ads.c
===================================================================
--- branches/SAMBA_3_0/source/nsswitch/winbindd_ads.c	2006-12-05 04:25:27 UTC (rev 20034)
+++ branches/SAMBA_3_0/source/nsswitch/winbindd_ads.c	2006-12-05 06:15:23 UTC (rev 20035)
@@ -109,7 +109,6 @@
 
 	status = ads_connect(ads);
 	if (!ADS_ERR_OK(status) || !ads->config.realm) {
-		extern struct winbindd_methods msrpc_methods, cache_methods;
 		DEBUG(1,("ads_connect for domain %s failed: %s\n", 
 			 domain->name, ads_errstr(status)));
 		ads_destroy(&ads);
@@ -118,12 +117,10 @@
                    server, fall back to MSRPC */
 		if (status.error_type == ENUM_ADS_ERROR_SYSTEM &&
 		    status.err.rc == ECONNREFUSED) {
+			extern struct winbindd_methods reconnect_methods;
+			/* 'reconnect_methods' is the MS-RPC backend. */
 			DEBUG(1,("Trying MSRPC methods\n"));
-			if (domain->methods == &cache_methods) {
-				domain->backend = &msrpc_methods;
-			} else {
-				domain->methods = &msrpc_methods;
-			}
+			domain->backend = &reconnect_methods;
 		}
 		return NULL;
 	}

Modified: branches/SAMBA_3_0_24/source/nsswitch/winbindd_ads.c
===================================================================
--- branches/SAMBA_3_0_24/source/nsswitch/winbindd_ads.c	2006-12-05 04:25:27 UTC (rev 20034)
+++ branches/SAMBA_3_0_24/source/nsswitch/winbindd_ads.c	2006-12-05 06:15:23 UTC (rev 20035)
@@ -109,7 +109,6 @@
 
 	status = ads_connect(ads);
 	if (!ADS_ERR_OK(status) || !ads->config.realm) {
-		extern struct winbindd_methods msrpc_methods, cache_methods;
 		DEBUG(1,("ads_connect for domain %s failed: %s\n", 
 			 domain->name, ads_errstr(status)));
 		ads_destroy(&ads);
@@ -118,12 +117,10 @@
                    server, fall back to MSRPC */
 		if (status.error_type == ENUM_ADS_ERROR_SYSTEM &&
 		    status.err.rc == ECONNREFUSED) {
+			extern struct winbindd_methods reconnect_methods;
+			/* 'reconnect_methods' is the MS-RPC backend. */
 			DEBUG(1,("Trying MSRPC methods\n"));
-			if (domain->methods == &cache_methods) {
-				domain->backend = &msrpc_methods;
-			} else {
-				domain->methods = &msrpc_methods;
-			}
+			domain->backend = &reconnect_methods;
 		}
 		return NULL;
 	}



More information about the samba-cvs mailing list