Author: gd Date: 2006-07-06 13:38:41 +0000 (Thu, 06 Jul 2006) New Revision: 16836
WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=16836 Log: When receiving a CLDAP reply make sure that we always store the correct netbios domain name in server affinity cache. Guenther Modified: branches/SAMBA_3_0/source/libads/ldap.c trunk/source/libads/ldap.c Changeset: Modified: branches/SAMBA_3_0/source/libads/ldap.c =================================================================== --- branches/SAMBA_3_0/source/libads/ldap.c 2006-07-06 08:42:43 UTC (rev 16835) +++ branches/SAMBA_3_0/source/libads/ldap.c 2006-07-06 13:38:41 UTC (rev 16836) @@ -149,18 +149,20 @@ SAFE_FREE(ads->config.realm); SAFE_FREE(ads->config.bind_path); SAFE_FREE(ads->config.ldap_server_name); + SAFE_FREE(ads->server.workgroup); ads->config.ldap_server_name = SMB_STRDUP(cldap_reply.hostname); strupper_m(cldap_reply.domain); ads->config.realm = SMB_STRDUP(cldap_reply.domain); ads->config.bind_path = ads_build_dn(ads->config.realm); + ads->server.workgroup = SMB_STRDUP(cldap_reply.netbios_domain); ads->ldap_port = LDAP_PORT; ads->ldap_ip = *interpret_addr2(srv); SAFE_FREE(srv); /* cache the successful connection */ - + saf_store( ads->server.workgroup, server ); return True; Modified: trunk/source/libads/ldap.c =================================================================== --- trunk/source/libads/ldap.c 2006-07-06 08:42:43 UTC (rev 16835) +++ trunk/source/libads/ldap.c 2006-07-06 13:38:41 UTC (rev 16836) @@ -149,18 +149,20 @@ SAFE_FREE(ads->config.realm); SAFE_FREE(ads->config.bind_path); SAFE_FREE(ads->config.ldap_server_name); + SAFE_FREE(ads->server.workgroup); ads->config.ldap_server_name = SMB_STRDUP(cldap_reply.hostname); strupper_m(cldap_reply.domain); ads->config.realm = SMB_STRDUP(cldap_reply.domain); ads->config.bind_path = ads_build_dn(ads->config.realm); + ads->server.workgroup = SMB_STRDUP(cldap_reply.netbios_domain); ads->ldap_port = LDAP_PORT; ads->ldap_ip = *interpret_addr2(srv); SAFE_FREE(srv); /* cache the successful connection */ - + saf_store( ads->server.workgroup, server ); return True;
