Age | Commit message (Collapse) | Author | Files | Lines |
|
call :
CatchChild();
*before* we fork the domain child. This call establishes a signal handler that
eats SIGCLD signals and doesn't call sys_select_signal() as the main daemon
SIGCLD handler should do. This causes the parent to ignore dead children and
time out, instead of calling winbind_child_died() on receipt of the signal. The
correct fix is to move the CatchChild call into the child code after the fork.
Jeremy.
(This used to be commit 8d701a142be2b75dc30ad215bc178af902eb4af9)
|
|
in particular closing and reopening logs on SIGHUP.
Conflicts:
source/winbindd/winbindd.c
(This used to be commit 0f7b11accec7df1c0e9a9dc0828a5e0c5ddec4cb)
|
|
Thanks to Glenn Curtis and Kyle Stemen @ Likewise. Their explanation is:
In winbindd_dual.c, there is a list of children processes that
is maintained using macros DTLIST_ADD and DTLIST_REMOVE. In the
case when a scheduled_async_request fails, the particular child
was located in the list, and its attributes were cleared out
and it was reused for a subsequent async request. The bug was that
the new request would queue the same node into the doubly-linked
list and would result in list->next pointing to the same node as
list itself. This would set up an infinite loop in the processing of
the for loop when the list of children was referenced.
Solution was to fully remove the child node from the list, such that
it could be inserted without risk of being inserted twice.
Note that the child is re-added to the list in fork_domain_child() again.
(This used to be commit b379b5b5d8a6daccc69aaf2be6d9a6e276e7dd78)
|
|
We now open messages.tdb even before we do the become_daemon. become_daemon()
involves a fork and an immediate exit of the parent, thus the
parent_is_longlived argument must be set to false in this case. The parent is
not really long lived :-)
(This used to be commit 4f4781c6d17fe2db34dd5945fec52a7685448aec)
|
|
metze
(This used to be commit 8e9fdef792e612e414444e7714a2fd4513892248)
|
|
Winbind can't be allowed to connect to the local smbd.
(This used to be commit 0d617f639a3c9c52e4327aed4bd02d9e8e7312a2)
|
|
Guenther
(This used to be commit dd9fa33e968d4e641460fe1c6beb05dfe12fa918)
|
|
(This used to be commit af40b71023f8c4a2133d996ea698c72b97624043)
|
|
(This used to be commit 7dbfc7bdc65314466a83e8121b35c9bcb24b2631)
|
|
This patch make sure we do not try to contact smbd in the main dameon
to avoid deadlocks.
All the operations that require connecting to smbd are performed in
the domain child anyway.
(This used to be commit 9347d34b502bef70cdae8f3e8acd9796dba49581)
|
|
Michael
(This used to be commit 373a00ae0d667d257fa93ab14c773e841f2c4f1a)
|
|
Guenther
(This used to be commit 54ad97bd8364c393de2c9471a4c14ca5b880b318)
|
|
The child struct is immediately reused, and this results
in a panic when child->logfilename == NULL.
Michael
(This used to be commit da131d089db98017632103aa9bbe38c98f7a3fc1)
|
|
metze
(This used to be commit 075d315e0f72d506b70040da10940e4af131b4e2)
|
|
Add struct_ prefix to struct based protocol specific
elemetens struct winbindd_child_dispatch_table.
metze
(This used to be commit 4ab9a8aab72a8406659a72e87b2d2a1ec2a2eabf)
|
|
them with malloc'ing accessor functions. Should save a
lot of static space :-).
Jeremy.
(This used to be commit 52dc5eaef2106015b3a8b659e818bdb15ad94b05)
|
|
inside winbindd. Remove unused pstring types.
Jeremy.
(This used to be commit 9ccac8abb0420393569dbca73e7daf2742aa1099)
|
|
Each cli struct has it's own local copy of this variable,
so use that in client code. In the smbd server, add one
static to smbd/proccess.c and use that inside smbd. Fix
a bunch of places where smb_rw_error could be set by
calling read_data() in places where we weren't reading
from the SMB client socket (ie. winbindd).
Jeremy.
(This used to be commit 255c2adf7b6ef30932b5bb9f142ccef4a5d3d0db)
|
|
metze
(cherry picked from commit abbb36a37c1dba2218a6c7ec31739eba5f250127)
(This used to be commit 5af1b45ed31043f952ec141d0f5f2973aec69d1a)
|
|
bugs in various places whilst doing this (places that assumed
BOOL == int). I also need to fix the Samba4 pidl generation
(next checkin).
Jeremy.
(This used to be commit f35a266b3cbb3e5fa6a86be60f34fe340a3ca71f)
|
|
(This used to be commit 5c6c8e1fe93f340005110a7833946191659d88ab)
|
|
metze
(This used to be commit abbb36a37c1dba2218a6c7ec31739eba5f250127)
|
|
string.
Jeremy.
(This used to be commit fe30a523dfc77cc373145624246fd3ad5c62b9ac)
|
|
metze
(This used to be commit 3ac7566ae14c48ff9b0f6b232e0ec4b2f73df558)
|