Created attachment 6863 [details]
Patch to test the RPC connection validity
The winbind domain child process creates a LSA over TCP connection to the remote RPC server. This connection is created in when any of LOOKUPSID/LOOKUPNAME is sent.
Now if the connection is lost, there is no attempt to reconnect. These requests keeps failing with NT_STATUS_PIPE_NOT_AVAILABLE. This requires the winbind to be restarted, which is not a nice solution.
I tried a fix in winbindd_cm.c, to test whether the connection is still active. This basically requires rpccli_lsa_TestCall(), to test whether the connection is still active otherwise, it will free the connection and attempt for a reconnection. I am attaching the patch which fixes this problem.
I noticed similar behavior in 3.0.36 and 3.4.3 as well and this works well with them too.
Please review the patch.
This doesn't apply to 3.6.0, looks like 3.5.0.
This was fixed in bug #7295.
*** This bug has been marked as a duplicate of bug 7295 ***