svn commit: samba r18552 - in branches/SAMBA_3_0/source: libads nsswitch

jra at samba.org jra at samba.org
Fri Sep 15 14:18:53 GMT 2006


Author: jra
Date: 2006-09-15 14:18:52 +0000 (Fri, 15 Sep 2006)
New Revision: 18552

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

Log:
Ensure the sitename matches before we SAF store a DC in ADS mode.
Jeremy.

Modified:
   branches/SAMBA_3_0/source/libads/ldap.c
   branches/SAMBA_3_0/source/nsswitch/winbindd_cm.c


Changeset:
Modified: branches/SAMBA_3_0/source/libads/ldap.c
===================================================================
--- branches/SAMBA_3_0/source/libads/ldap.c	2006-09-15 14:05:28 UTC (rev 18551)
+++ branches/SAMBA_3_0/source/libads/ldap.c	2006-09-15 14:18:52 UTC (rev 18552)
@@ -115,7 +115,6 @@
 	return result;
 }
 
-#ifdef HAVE_KRB5
 /**********************************************
  Do client and server sitename match ?
 **********************************************/
@@ -139,7 +138,6 @@
 		ads->config.client_site_name ? ads->config.client_site_name : "NULL"));
 	return False;
 }
-#endif
 
 /*
   try a connection to a given ldap server, returning True and setting the servers IP
@@ -394,8 +392,10 @@
 	}
 
 	/* cache the successful connection for workgroup and realm */
-	saf_store( ads->server.workgroup, inet_ntoa(ads->ldap_ip));
-	saf_store( ads->server.realm, inet_ntoa(ads->ldap_ip));
+	if (ads_sitename_match(ads)) {
+		saf_store( ads->server.workgroup, inet_ntoa(ads->ldap_ip));
+		saf_store( ads->server.realm, inet_ntoa(ads->ldap_ip));
+	}
 
 	ldap_set_option(ads->ld, LDAP_OPT_PROTOCOL_VERSION, &version);
 

Modified: branches/SAMBA_3_0/source/nsswitch/winbindd_cm.c
===================================================================
--- branches/SAMBA_3_0/source/nsswitch/winbindd_cm.c	2006-09-15 14:05:28 UTC (rev 18551)
+++ branches/SAMBA_3_0/source/nsswitch/winbindd_cm.c	2006-09-15 14:18:52 UTC (rev 18552)
@@ -754,7 +754,6 @@
 		ads->auth.flags |= ADS_AUTH_NO_BIND;
 
 		if (ads_try_connect( ads, inet_ntoa(ip) ) )  {
-			char *sitename = sitename_fetch();
 			/* We got a cldap packet. */
 			fstrcpy(name, ads->config.ldap_server_name);
 			namecache_store(name, 0x20, 1, &ip_list);
@@ -769,9 +768,12 @@
 				create_local_private_krb5_conf_for_domain(realm,
 								domainname,
 								ip);
+
+				/* Ensure we contact this DC also. */
+				saf_store( domainname, name);
+				saf_store( realm, name);
 			}
 #endif
-			SAFE_FREE(sitename);
 			ads_destroy( &ads );
 			return True;
 		}



More information about the samba-cvs mailing list