Changeset 204 for branches/samba-3.2.x/source/nsswitch
- Timestamp:
- May 20, 2009, 6:46:53 PM (16 years ago)
- Location:
- branches/samba-3.2.x/source/nsswitch
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/samba-3.2.x/source/nsswitch/wb_common.c
r133 r204 177 177 178 178 if (lstat(dir, &st) == -1) { 179 errno = ENOENT; 179 180 return -1; 180 181 } … … 182 183 if (!S_ISDIR(st.st_mode) || 183 184 (st.st_uid != 0 && st.st_uid != geteuid())) { 185 errno = ENOENT; 184 186 return -1; 185 187 } … … 200 202 201 203 if (lstat(path, &st) == -1) { 204 errno = ENOENT; 202 205 SAFE_FREE(path); 203 206 return -1; … … 209 212 if (!S_ISSOCK(st.st_mode) || 210 213 (st.st_uid != 0 && st.st_uid != geteuid())) { 214 errno = ENOENT; 211 215 return -1; 212 216 } … … 369 373 370 374 if (winbind_open_pipe_sock(recursing, need_priv) == -1) { 375 errno = ENOENT; 371 376 return -1; 372 377 } … … 565 570 if (winbind_write_sock(request, sizeof(*request), 566 571 request->wb_flags & WBFLAG_RECURSE, 567 need_priv) == -1) { 572 need_priv) == -1) 573 { 574 /* Set ENOENT for consistency. Required by some apps */ 575 errno = ENOENT; 576 568 577 return NSS_STATUS_UNAVAIL; 569 578 } … … 573 582 request->extra_len, 574 583 request->wb_flags & WBFLAG_RECURSE, 575 need_priv) == -1)) { 584 need_priv) == -1)) 585 { 586 /* Set ENOENT for consistency. Required by some apps */ 587 errno = ENOENT; 588 576 589 return NSS_STATUS_UNAVAIL; 577 590 } … … 597 610 /* Wait for reply */ 598 611 if (winbindd_read_reply(response) == -1) { 612 /* Set ENOENT for consistency. Required by some apps */ 613 errno = ENOENT; 614 599 615 return NSS_STATUS_UNAVAIL; 600 616 } -
branches/samba-3.2.x/source/nsswitch/winbind_nss_solaris.c
r133 r204 360 360 int len = 0; 361 361 struct in_addr *addrp; 362 #if defined(AF_INET6) 362 363 struct in6_addr *addrp6; 364 #endif 363 365 int i; 364 366 … … 392 394 he->h_addr_list = (char **)ROUND_DOWN(addrp, sizeof (char*)); 393 395 he->h_addr_list -= addrcount+1; 394 } else { 396 } 397 #if defined(AF_INET6) 398 else { 395 399 he->h_length = sizeof(struct in6_addr); 396 400 addrp6 = (struct in6_addr *)ROUND_DOWN(buffer + buflen, … … 400 404 he->h_addr_list -= addrcount+1; 401 405 } 406 #endif 402 407 403 408 /* buffer too small?! */ … … 419 424 return NSS_STR_PARSE_ERANGE; 420 425 } 421 } else { 426 } 427 #if defined(AF_INET6) 428 else { 422 429 he->h_addr_list[i] = (char *)&addrp6[i]; 423 430 if (strchr(data, ':') != 0) { … … 435 442 } 436 443 } 444 #endif 437 445 data = p+1; 438 446 } … … 482 490 IPv4 to IPv6. 483 491 */ 492 #if defined(AF_INET6) 484 493 #ifdef HAVE_NSS_XBYY_KEY_IPNODE 485 494 af = argp->key.ipnode.af_family; … … 492 501 af = AF_INET6; 493 502 #endif 503 #endif 494 504 495 505 strncpy(request.data.winsreq, argp->key.name, sizeof(request.data.winsreq) - 1); … … 540 550 ZERO_STRUCT(request); 541 551 552 #if defined(AF_INET6) 542 553 /* winbindd currently does not resolve IPv6 */ 543 554 if(argp->key.hostaddr.type == AF_INET6) { … … 547 558 548 559 p = inet_ntop(argp->key.hostaddr.type, argp->key.hostaddr.addr, 549 request.data.winsreq, INET6_ADDRSTRLEN); 560 request.data.winsreq, sizeof request.data.winsreq); 561 #else 562 snprintf(request.data.winsreq, sizeof request.data.winsreq, 563 "%u.%u.%u.%u", 564 ((unsigned char *)argp->key.hostaddr.addr)[0], 565 ((unsigned char *)argp->key.hostaddr.addr)[1], 566 ((unsigned char *)argp->key.hostaddr.addr)[2], 567 ((unsigned char *)argp->key.hostaddr.addr)[3]); 568 #endif 550 569 551 570 ret = winbindd_request_response(WINBINDD_WINS_BYIP, &request, &response);
Note:
See TracChangeset
for help on using the changeset viewer.