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 :-)
fixed.
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.