If you set max smbd processes in the smb.conf file the connections.tdb will
contain a counter for the total_smbds that is used to see if you have exceeded
the max allowed. If a child smbd exits normally this value is decremented by
decrement_smbd_process_count. However, if the process crashes, this does not
happen and the total_smbds will slowly climb to the point where new
connections may be denied when you have not exceeded the value.
We need to change the method of decrementing and maybe let the master smbd
do this when the child process exits by catching SIGCHLD.
When smbd is not being run from inetd the master smbd should probably
delete the old connections.tdb. That would have allowed this bug to
be worked around by stopping and restarting smbd.
Herb, I thought I already fixed this. Did you look at smb_panic2() ?
I was running 3.0.2a and it didn't have that function. I'll test the
latest version :-)
originally against 3.0.5pre1 (which became 3.0.6pre1 due to security release))
sorry for the same, cleaning up the database to prevent unecessary reopens of bugs.