Changeset 105 for branches/samba-3.0/source/nsswitch
- Timestamp:
- Nov 26, 2007, 9:24:27 AM (18 years ago)
- Location:
- branches/samba-3.0/source/nsswitch
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/samba-3.0/source/nsswitch/idmap.c
r71 r105 253 253 } 254 254 255 /**********************************************************************256 Initialise idmap cache and a remote backend (if configured).257 **********************************************************************/258 259 static const char *idmap_default_domain[] = { "default domain", NULL };260 261 255 /**************************************************************************** 262 256 ****************************************************************************/ … … 293 287 char *compat_params = NULL; 294 288 const char **dom_list = NULL; 289 const char *default_domain = NULL; 295 290 char *alloc_backend = NULL; 296 291 BOOL default_already_defined = False; … … 321 316 } else { 322 317 compat = 1; 323 324 compat_backend = talloc_strdup(idmap_ctx, *compat_list);325 if (compat_backend == NULL) {326 ret = NT_STATUS_NO_MEMORY;327 goto done;328 }329 318 330 319 /* strip any leading idmap_ prefix of */ … … 341 330 } 342 331 332 if (compat_backend == NULL) { 333 ret = NT_STATUS_NO_MEMORY; 334 goto done; 335 } 336 343 337 /* separate the backend and module arguements */ 344 338 if ((p = strchr(compat_backend, ':')) != NULL) { … … 357 351 358 352 if ( ! dom_list) { 359 dom_list = idmap_default_domain; 353 /* generate a list with our main domain */ 354 char ** dl; 355 356 dl = talloc_array(idmap_ctx, char *, 2); 357 if (dl == NULL) { 358 ret = NT_STATUS_NO_MEMORY; 359 goto done; 360 } 361 dl[0] = talloc_strdup(dl, lp_workgroup()); 362 if (dl[0] == NULL) { 363 ret = NT_STATUS_NO_MEMORY; 364 goto done; 365 } 366 367 /* terminate */ 368 dl[1] = NULL; 369 370 dom_list = dl; 371 default_domain = dl[0]; 360 372 } 361 373 … … 365 377 DEBUG(1, ("Initializing idmap domains\n")); 366 378 367 for (i =0; dom_list[i]; i++) {379 for (i=0, num_domains=0; dom_list[i]; i++) { 368 380 const char *parm_backend; 369 381 char *config_option; … … 373 385 || strequal(dom_list[i], get_global_sam_name())) 374 386 { 375 DEBUG(0,("idmap_init: Ignoring invaliddomain %s\n",387 DEBUG(0,("idmap_init: Ignoring domain %s\n", 376 388 dom_list[i])); 377 389 continue; 378 390 } 379 391 380 if (strequal(dom_list[i], lp_workgroup())) { 392 if ((dom_list[i] != default_domain) && 393 strequal(dom_list[i], lp_workgroup())) { 381 394 pri_dom_is_in_list = True; 382 395 } … … 399 412 400 413 if (dom->default_domain || 401 strequal(dom_list[i], idmap_default_domain[0])) {414 (default_domain && strequal(dom_list[i], default_domain))) { 402 415 403 416 /* make sure this is set even when we match 404 * idmap_default_domain[0]*/417 * default_domain */ 405 418 dom->default_domain = True; 406 419 … … 423 436 parm_backend = talloc_strdup(idmap_ctx, compat_backend); 424 437 } else { 425 char *backend = lp_parm_const_string(-1, config_option, 426 "backend", "tdb"); 427 parm_backend = talloc_strdup(idmap_ctx, backend); 438 parm_backend = talloc_strdup(idmap_ctx, 439 lp_parm_const_string( 440 -1, config_option, 441 "backend", "tdb")); 428 442 } 429 443 IDMAP_CHECK_ALLOC(parm_backend); … … 479 493 goto done; 480 494 } 481 idmap_domains[ i] = dom;495 idmap_domains[num_domains] = dom; 482 496 483 497 /* save default domain position for future uses */ 484 498 if (dom->default_domain) { 485 def_dom_num = i; 486 } 499 def_dom_num = num_domains; 500 } 501 502 /* Bump counter to next available slot */ 503 504 num_domains++; 487 505 488 506 DEBUG(10, ("Domain %s - Backend %s - %sdefault - %sreadonly\n", … … 493 511 talloc_free(config_option); 494 512 } 495 496 /* save the number of domains we have */497 num_domains = i;498 513 499 514 /* automatically add idmap_nss backend if needed */ -
branches/samba-3.0/source/nsswitch/winbindd.c
r44 r105 541 541 542 542 if (*(uint32 *)(&state->request) != sizeof(state->request)) { 543 DEBUG(0,("request_len_recv: Invalid request size received: %d \n",544 *(uint32 *)(&state->request) ));543 DEBUG(0,("request_len_recv: Invalid request size received: %d (expected %d)\n", 544 *(uint32 *)(&state->request), sizeof(state->request))); 545 545 state->finished = True; 546 546 return; -
branches/samba-3.0/source/nsswitch/winbindd_async.c
r39 r105 1414 1414 } 1415 1415 1416 if (response->result != WINBINDD_OK) { 1417 DEBUG(5, ("query_user returned an error\n")); 1418 cont(private_data, False, NULL, NULL, NULL, NULL, -1, -1); 1419 return; 1420 } 1421 1416 1422 cont(private_data, True, response->data.user_info.acct_name, 1417 1423 response->data.user_info.full_name, -
branches/samba-3.0/source/nsswitch/winbindd_nss.h
r1 r105 320 320 an 8 byte boundary. --jerry */ 321 321 322 char padding[1 560];322 char padding[1800]; 323 323 } data; 324 324 union {
Note:
See TracChangeset
for help on using the changeset viewer.