It appears that when running Dovecot as a proxy-only box with "login_process_per_connection = no", it ignores the value of login_max_logging_users. And in Linux, since each socket requires a file descriptor, if you don't increase the maximum number of open files that each process is allowed to have open, imap-login will reach the 1024 open file limit and start logging the following errors:
imap-login: socket() failed: Too many open files imap-login: Internal login failure: user=... imap-login: socketpair() failed: Too many open files
Here are the settings I am testing with:
login_process_per_connection = no login_max_logging_users = 225 login_processes_count = 20 login_max_processes_count = 30
And here the output of "lsof -nu dovecot" when one of the imap-login processes reaches its open file limit. In this case PID 20087 had 362 users connected, but it should have allowed no more than 225 users, which would have kept it from reaching the open file limit:
(sent directly to Timo since it was too big to post to the list)
Also, I am running CVS dovecot-20060725.
Bill