Changeset 478 for vendor/current/source3/winbindd
- Timestamp:
- Aug 2, 2010, 6:40:21 PM (15 years ago)
- Location:
- vendor/current/source3/winbindd
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
vendor/current/source3/winbindd/winbindd.c
r427 r478 373 373 uint8 ret; 374 374 pid_t child_pid; 375 struct sigaction act;376 struct sigaction oldact;377 375 378 376 DEBUG(10, ("winbindd_msg_validate_cache: got validate-cache " … … 384 382 * code can safely use fork/waitpid... 385 383 */ 386 CatchChild();387 384 child_pid = sys_fork(); 388 385 … … 402 399 /* child */ 403 400 401 if (!winbindd_reinit_after_fork(NULL)) { 402 _exit(0); 403 } 404 404 405 /* install default SIGCHLD handler: validation code uses fork/waitpid */ 405 ZERO_STRUCT(act); 406 act.sa_handler = SIG_DFL; 407 #ifdef SA_RESTART 408 /* We *want* SIGALRM to interrupt a system call. */ 409 act.sa_flags = SA_RESTART; 410 #endif 411 sigemptyset(&act.sa_mask); 412 sigaddset(&act.sa_mask,SIGCHLD); 413 sigaction(SIGCHLD,&act,&oldact); 406 CatchSignal(SIGCHLD, SIG_DFL); 414 407 415 408 ret = (uint8)winbindd_validate_cache_nobackup(); -
vendor/current/source3/winbindd/winbindd_cm.c
r427 r478 179 179 pid_t parent_pid = sys_getpid(); 180 180 char *lfile = NULL; 181 182 /* Stop zombies */183 CatchChild();184 181 185 182 if (domain->dc_probe_pid != (pid_t)-1) { … … 810 807 peeraddr_len = sizeof(peeraddr); 811 808 812 if ((getpeername((*cli)->fd, &peeraddr, &peeraddr_len) != 0) || 813 (peeraddr_len != sizeof(struct sockaddr_in)) || 814 (peeraddr_in->sin_family != PF_INET)) 815 { 816 DEBUG(0,("cm_prepare_connection: %s\n", strerror(errno))); 809 if ((getpeername((*cli)->fd, &peeraddr, &peeraddr_len) != 0)) { 810 DEBUG(0,("cm_prepare_connection: getpeername failed with: %s\n", 811 strerror(errno))); 812 result = NT_STATUS_UNSUCCESSFUL; 813 goto done; 814 } 815 816 if ((peeraddr_len != sizeof(struct sockaddr_in)) 817 #ifdef HAVE_IPV6 818 && (peeraddr_len != sizeof(struct sockaddr_in6)) 819 #endif 820 ) { 821 DEBUG(0,("cm_prepare_connection: got unexpected peeraddr len %d\n", 822 peeraddr_len)); 823 result = NT_STATUS_UNSUCCESSFUL; 824 goto done; 825 } 826 827 if ((peeraddr_in->sin_family != PF_INET) 828 #ifdef HAVE_IPV6 829 && (peeraddr_in->sin_family != PF_INET6) 830 #endif 831 ) { 832 DEBUG(0,("cm_prepare_connection: got unexpected family %d\n", 833 peeraddr_in->sin_family)); 817 834 result = NT_STATUS_UNSUCCESSFUL; 818 835 goto done; … … 1134 1151 domain->name, 1135 1152 sitename, 1136 pss); 1153 pss, 1154 name); 1137 1155 1138 1156 SAFE_FREE(sitename); … … 1142 1160 domain->name, 1143 1161 NULL, 1144 pss); 1162 pss, 1163 name); 1145 1164 } 1146 1165 winbindd_set_locator_kdc_envs(domain); -
vendor/current/source3/winbindd/winbindd_dual.c
r427 r478 1215 1215 logfilename)) 1216 1216 return false; 1217 1218 /* Stop zombies in children */ 1219 CatchChild(); 1217 1220 1218 1221 /* Don't handle the same messages as our parent. */ … … 1339 1342 DEBUG(10, ("Child process %d\n", (int)sys_getpid())); 1340 1343 1341 /* Stop zombies in children */1342 CatchChild();1343 1344 1344 state.sock = fdpair[0]; 1345 1345 close(fdpair[1]); -
vendor/current/source3/winbindd/winbindd_util.c
r414 r478 423 423 &cache_methods, 424 424 &dom_list[i].sid ); 425 if (d != NULL) { 426 setup_domain_child(d, &d->child); 427 } 425 428 } 426 429 … … 492 495 &cache_methods, 493 496 &dom_list[i].sid ); 497 if (d != NULL) { 498 setup_domain_child(d, &d->child); 499 } 494 500 } 495 501
Note:
See TracChangeset
for help on using the changeset viewer.