Changeset 165 for branches/samba-3.0/source/libads/ldap.c
- Timestamp:
- Mar 11, 2009, 9:14:55 AM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/samba-3.0/source/libads/ldap.c
r134 r165 157 157 } 158 158 159 if (ads->config.client_site_name == NULL) { 160 DEBUG(10,("ads_closest_dc: client belongs to no site\n")); 161 return True; 162 } 163 159 164 DEBUG(10,("ads_closest_dc: %s is not the closest DC\n", 160 165 ads->config.ldap_server_name)); … … 244 249 static NTSTATUS ads_find_dc(ADS_STRUCT *ads) 245 250 { 251 const char *c_domain; 246 252 const char *c_realm; 247 253 int count, i=0; 248 254 struct ip_service *ip_list; 255 pstring domain; 249 256 pstring realm; 250 257 BOOL got_realm = False; … … 278 285 c_realm = lp_workgroup(); 279 286 } 280 281 if ( !c_realm || !*c_realm ) { 282 DEBUG(0,("ads_find_dc: no realm or workgroup! Don't know what to do\n")); 283 return NT_STATUS_INVALID_PARAMETER; /* rather need MISSING_PARAMETER ... */ 284 } 285 } 286 287 } 288 289 if ( !c_realm || !*c_realm ) { 290 DEBUG(0,("ads_find_dc: no realm or workgroup! Don't know what to do\n")); 291 return NT_STATUS_INVALID_PARAMETER; /* rather need MISSING_PARAMETER ... */ 292 } 293 294 if ( use_own_domain ) { 295 c_domain = lp_workgroup(); 296 } else { 297 c_domain = ads->server.workgroup; 298 } 299 300 pstrcpy( domain, c_domain ); 287 301 pstrcpy( realm, c_realm ); 288 302 303 /* 304 * In case of LDAP we use get_dc_name() as that 305 * creates the custom krb5.conf file 306 */ 307 if (!(ads->auth.flags & ADS_AUTH_NO_BIND)) { 308 fstring srv_name; 309 struct in_addr ip_out; 310 311 DEBUG(6,("ads_find_dc: (ldap) looking for %s '%s'\n", 312 (got_realm ? "realm" : "domain"), realm)); 313 314 if (get_dc_name(domain, realm, srv_name, &ip_out)) { 315 /* 316 * we call ads_try_connect() to fill in the 317 * ads->config details 318 */ 319 if (ads_try_connect(ads, srv_name)) { 320 return NT_STATUS_OK; 321 } 322 } 323 324 return NT_STATUS_NO_LOGON_SERVERS; 325 } 326 289 327 sitename = sitename_fetch(realm); 290 328 291 329 again: 292 330 293 DEBUG(6,("ads_find_dc: looking for %s '%s'\n",331 DEBUG(6,("ads_find_dc: (cldap) looking for %s '%s'\n", 294 332 (got_realm ? "realm" : "domain"), realm)); 295 333 … … 436 474 /* cache the successful connection for workgroup and realm */ 437 475 if (ads_closest_dc(ads)) { 438 saf_store( ads->server.workgroup, inet_ntoa(ads->ldap_ip));439 saf_store( ads->server.realm, inet_ntoa(ads->ldap_ip));476 saf_store( ads->server.workgroup, ads->config.ldap_server_name); 477 saf_store( ads->server.realm, ads->config.ldap_server_name); 440 478 } 441 479
Note:
See TracChangeset
for help on using the changeset viewer.