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