Right, Changes made to dovecot-2.0.5/src/lib-master/master-service.c conn.listen_fd = l->fd; conn.fd = net_accept(l->fd, &conn.remote_ip, &conn.remote_port); i_error("conn.fd: %d",conn.fd); i_error("l->fd: %d",l->fd); i_error("&conn.remote_ip: %d",&conn.remote_ip); i_error("&conn.remote_port: %d",&conn.remote_port); if (conn.fd < 0) { struct stat st; int orig_errno = errno; if (conn.fd == -1) return; if (errno == ENOTSOCK) { /* it's not a socket. should be a fifo. */ } else if (errno == EINVAL && (fstat(l->fd, &st) < 0 || !S_ISFIFO(st.st_mode))) { /* BSDI fails accept(fifo) with EINVAL. */ } else { errno = orig_errno; i_error("net_accept() failed: %m"); master_service_error(service); return; } /* use the "listener" as the connection fd and stop the listener. */ conn.fd = l->fd; conn.listen_fd = l->fd; conn.fifo = TRUE; io_remove(&l->io); l->fd = -1; } conn.ssl = l->ssl; net_set_nonblock(conn.fd, TRUE); to generate below log for debugging. Oct 10 16:30:45 doctor dovecot: master: Dovecot v2.0.5 starting up (core dumps d isabled) Oct 10 16:30:45 doctor dovecot: log: Error: l->fd: 20 Oct 10 16:30:45 doctor dovecot: log: Error: &conn.remote_ip: 134511880 Oct 10 16:30:45 doctor dovecot: log: Error: &conn.remote_port: 134511900 Oct 10 16:30:45 doctor dovecot: log: Error: net_accept() failed: Invalid argumen t Oct 10 16:30:45 doctor dovecot: master: Error: service(imap-login): command star tup failed, throttling Oct 10 16:30:46 doctor dovecot: master: Error: service(pop3-login): command star tup failed, throttling Oct 10 16:31:46 doctor dovecot: master: Error: service(pop3-login): command star tup failed, throttling Oct 10 16:32:47 doctor dovecot: master: Error: service(pop3-login): command star tup failed, throttling Oct 10 16:33:44 doctor dovecot: master: Error: service(imap-login): command star tup failed, throttling Oct 10 16:33:47 doctor dovecot: master: Error: service(pop3-login): command star tup failed, throttling Oct 10 16:50:21 doctor dovecot: master: Dovecot v2.0.5 starting up (core dumps d isabled) Oct 10 16:50:21 doctor dovecot: log: Error: conn.fd: -2 Oct 10 16:50:21 doctor dovecot: log: Error: l->fd: 20 Oct 10 16:50:21 doctor dovecot: log: Error: &conn.remote_ip: 134511880 Oct 10 16:50:21 doctor dovecot: log: Error: &conn.remote_port: 134511900 Oct 10 16:50:21 doctor dovecot: log: Error: net_accept() failed: Invalid argumen t Oct 10 16:50:21 doctor dovecot: master: Error: service(pop3-login): command star tup failed, throttling Oct 10 16:50:21 doctor dovecot: master: Error: service(imap-login): command star tup failed, throttling Oct 10 16:50:52 doctor dovecot: master: Error: service(anvil): Initial status no tification not received in 30 seconds, killing the process Oct 10 16:50:52 doctor dovecot: master: Error: service(anvil): child 7962 killed with signal 9 Oct 10 16:50:52 doctor dovecot: master: Error: service(anvil): command startup f ailed, throttling Oct 10 16:51:21 doctor dovecot: master: Error: service(pop3-login): command star tup failed, throttling Oct 10 16:51:22 doctor dovecot: master: Error: service(imap-login): command star tup failed, throttling Oct 10 16:52:22 doctor dovecot: master: Error: service(pop3-login): command star tup failed, throttling Configuration being used # 2.0.0: dovecot.conf # OS: BSD/OS 4.3 i386 auth_cache_negative_ttl = 3600 s base_dir = /var/run/dovecot/ disable_plaintext_auth = no first_valid_uid = 100 listen = * ##listen = 204.209.81.1 login_log_format_elements = user=<%u> method=%m rip=%r lip=%l %c mail_debug=yes mail_location = mbox:~/mail:INBOX=/var/mail/%u mail_log_prefix = %Us(%u): mdbox_rotate_size = 2048 passdb { args = /etc/master.passwd driver = passwd-file } protocols = imap pop3 service auth { executable = /usr/dovecot2/libexec/dovecot/auth postlogin user = root vsz_limit = 256 } service imap-login { chroot = login client_limit = 256 executable = /usr/dovecot2/libexec/dovecot/imap-login postlogin inet_listener imaps { address = 204.209.81.1 } process_limit = 128 process_min_avail = 3 service_count = 1 user = dovecot vsz_limit = 64 } service imap { executable = /usr/dovecot2/libexec/dovecot/imap postlogin process_limit = 512 vsz_limit = 256 } service pop3-login { chroot = login client_limit = 256 executable = /usr/dovecot2/libexec/dovecot/pop3-login postlogin inet_listener pop3s { address = 204.209.81.1 } process_limit = 128 process_min_avail = 3 service_count = 1 user = dovecot vsz_limit = 64 } service pop3 { executable = /usr/dovecot2/libexec/dovecot/pop3 postlogin process_limit = 512 vsz_limit = 256 } ssl_cert = /etc/ssl/certs/dovecot.pem ssl_cipher_list = ALL:!LOW:!SSLv2 ssl_key = /etc/ssl/private/dovecot.pem userdb { driver = passwd } userdb { args = /etc/passwd driver = passwd-file } protocol imap { imap_client_workarounds = delay-newmail tb-extra-mailbox-sep imap_idle_notify_interval = 120 s imap_logout_format = bytes=%i/%o imap_max_line_length = 65536 mail_max_userip_connections = 10 mail_plugin_dir = /usr/dovecot2/lib/dovecot/imap } protocol pop3 { mail_max_userip_connections = 3 mail_plugin_dir = /usr/dovecot2/lib/dovecot/pop3 pop3_enable_last = no pop3_lock_session = no pop3_logout_format = top=%t/%p, retr=%r/%b, del=%d/%m, size=%s pop3_no_flag_updates = no pop3_reuse_xuidl = no pop3_save_uidl = no pop3_uidl_format = %08Xu%08Xv } plugin { home=/usr/dovecot2 } service postlogin { executable = /usr/dovecot2/libexec/dovecot/script-login /usr/dovecot2/libexec/dovecot/rawlog unix_listener postlogin { } } -- Member - Liberal International This is doctor at nl2k.ab.ca Ici doctor at nl2k.ab.ca God, Queen and country! Never Satan President Republic! Beware AntiChrist rising! http://twitter.com/rootnl2k http://www.facebook.com/dyadallee Are you a real human: http://www.cuttingedge.org/news/n1334.cfm
On 2010-10-10 7:02 PM, The Doctor wrote:> Configuration being used > > > # 2.0.0: dovecot.conf > # OS: BSD/OS 4.3 i386This says you're using 2.0.0, not 2.0.5? -- Best regards, Charles
On Sun, 2010-10-10 at 17:02 -0600, The Doctor wrote:> Oct 10 16:30:45 doctor dovecot: log: Error: net_accept() failed: Invalid argumentSo my check below doesn't work. Add here: if (errno != EINVAL) i_error("errno = %d %m"); else if (fstat(l->fd, &st) < 0) i_error("fstat() failed: %m"); else i_error("mode=%o & fifo = %d", st.st_mode, S_ISFIFO(st.st_mode)); fd_debug_verify_leaks(l->fd, l->fd); // should show what it is if it's not a fifo..> if (errno == ENOTSOCK) { > /* it's not a socket. should be a fifo. */ > } else if (errno == EINVAL && > (fstat(l->fd, &st) < 0 || !S_ISFIFO(st.st_mode))) { > /* BSDI fails accept(fifo) with EINVAL. */
On Fri, Oct 15, 2010 at 04:17:25PM +0100, Timo Sirainen wrote:> On Thu, 2010-10-14 at 22:43 -0600, The Doctor wrote: > > > > } else if (errno == EINVAL && > > > > (fstat(l->fd, &st) < 0 || !S_ISFIFO(st.st_mode))) { > > > > /* BSDI fails accept(fifo) with EINVAL. */ > > Oh, the checks in this code were just wrong. > http://hg.dovecot.org/dovecot-2.0/rev/3385e9028410 should finally fix > that. >Can you send me a diff file and I can try this out. -- Member - Liberal International This is doctor at nl2k.ab.ca Ici doctor at nl2k.ab.ca God, Queen and country! Never Satan President Republic! Beware AntiChrist rising! http://twitter.com/rootnl2k http://www.facebook.com/dyadallee Are you a real human: http://www.cuttingedge.org/news/n1334.cfm
On Fri, Oct 15, 2010 at 10:19:37AM -0600, The Doctor wrote:> On Fri, Oct 15, 2010 at 04:17:25PM +0100, Timo Sirainen wrote: > > On Thu, 2010-10-14 at 22:43 -0600, The Doctor wrote: > > > > > } else if (errno == EINVAL && > > > > > (fstat(l->fd, &st) < 0 || !S_ISFIFO(st.st_mode))) { > > > > > /* BSDI fails accept(fifo) with EINVAL. */ > > > > Oh, the checks in this code were just wrong. > > http://hg.dovecot.org/dovecot-2.0/rev/3385e9028410 should finally fix > > that. > > > > Can you send me a diff file and I can try this out. >Never mind, just typed the link in and make the change. I will test later.> -- > Member - Liberal International This is doctor at nl2k.ab.ca Ici doctor at nl2k.ab.ca > God, Queen and country! Never Satan President Republic! Beware AntiChrist rising! > http://twitter.com/rootnl2k http://www.facebook.com/dyadallee > Are you a real human: http://www.cuttingedge.org/news/n1334.cfm-- Member - Liberal International This is doctor at nl2k.ab.ca Ici doctor at nl2k.ab.ca God, Queen and country! Never Satan President Republic! Beware AntiChrist rising! http://twitter.com/rootnl2k http://www.facebook.com/dyadallee Are you a real human: http://www.cuttingedge.org/news/n1334.cfm
On Fri, Oct 15, 2010 at 10:34:10AM -0600, The Doctor wrote:> On Fri, Oct 15, 2010 at 10:19:37AM -0600, The Doctor wrote: > > On Fri, Oct 15, 2010 at 04:17:25PM +0100, Timo Sirainen wrote: > > > On Thu, 2010-10-14 at 22:43 -0600, The Doctor wrote: > > > > > > } else if (errno == EINVAL && > > > > > > (fstat(l->fd, &st) < 0 || !S_ISFIFO(st.st_mode))) { > > > > > > /* BSDI fails accept(fifo) with EINVAL. */ > > > > > > Oh, the checks in this code were just wrong. > > > http://hg.dovecot.org/dovecot-2.0/rev/3385e9028410 should finally fix > > > that. > > > > > > > Can you send me a diff file and I can try this out. > > > > Never mind, just typed the link in > > and make the change. > > I will test later.The logs still show Oct 15 20:36:24 doctor dovecot: master: Dovecot v2.0.5 starting up (core dumps disabled) Oct 15 20:36:24 doctor dovecot: log: Error: conn.fd: -2 Oct 15 20:36:24 doctor dovecot: log: Error: l->fd: 20 Oct 15 20:36:24 doctor dovecot: log: Error: &conn.remote_ip: 134511880 Oct 15 20:36:24 doctor dovecot: log: Error: &conn.remote_port: 134511900 Oct 15 20:36:24 doctor dovecot: log: Error: mode=140000 & fifo = 1 Oct 15 20:36:24 doctor dovecot: log: Panic: Leaked socket fd 20: (null):0 -> (null):0 Oct 15 20:36:24 doctor dovecot: master: Error: service(log): child 24779 killed with signal 6 (core dumps disabled) Oct 15 20:36:24 doctor dovecot: master: Error: service(log): command startup failed, throttling Oct 15 20:36:24 doctor dovecot: master: Error: service(anvil): child 24778 killed with signal 6 (core dumps disabled) Oct 15 20:36:24 doctor dovecot: master: Error: service(anvil): command startup failed, throttling Oct 15 20:36:25 doctor dovecot: master: Error: service(imap-login): command startup failed, throttling Oct 15 20:36:25 doctor dovecot: master: Error: service(pop3-login): command startup failed, throttling> > > -- > > Member - Liberal International This is doctor at nl2k.ab.ca Ici doctor at nl2k.ab.ca > > God, Queen and country! Never Satan President Republic! Beware AntiChrist rising! > > http://twitter.com/rootnl2k http://www.facebook.com/dyadallee > > Are you a real human: http://www.cuttingedge.org/news/n1334.cfm > > -- > Member - Liberal International This is doctor at nl2k.ab.ca Ici doctor at nl2k.ab.ca > God, Queen and country! Never Satan President Republic! Beware AntiChrist rising! > http://twitter.com/rootnl2k http://www.facebook.com/dyadallee > Are you a real human: http://www.cuttingedge.org/news/n1334.cfm-- Member - Liberal International This is doctor at nl2k.ab.ca Ici doctor at nl2k.ab.ca God, Queen and country! Never Satan President Republic! Beware AntiChrist rising! http://twitter.com/rootnl2k http://www.facebook.com/dyadallee Are you a real human: http://www.cuttingedge.org/news/n1334.cfm
On 16.10.2010, at 3.41, The Doctor wrote:> The logs still show > > Oct 15 20:36:24 doctor dovecot: master: Dovecot v2.0.5 starting up (core dumps disabled) > Oct 15 20:36:24 doctor dovecot: log: Error: conn.fd: -2 > Oct 15 20:36:24 doctor dovecot: log: Error: l->fd: 20 > Oct 15 20:36:24 doctor dovecot: log: Error: &conn.remote_ip: 134511880 > Oct 15 20:36:24 doctor dovecot: log: Error: &conn.remote_port: 134511900 > Oct 15 20:36:24 doctor dovecot: log: Error: mode=140000 & fifo = 1 > Oct 15 20:36:24 doctor dovecot: log: Panic: Leaked socket fd 20: (null):0 -> (null):0Remove the fd_verify_leaks function call, because it always panics here.
On Sat, Oct 16, 2010 at 11:43:05AM +0100, Timo Sirainen wrote:> On 16.10.2010, at 3.41, The Doctor wrote: > > > The logs still show > > > > Oct 15 20:36:24 doctor dovecot: master: Dovecot v2.0.5 starting up (core dumps disabled) > > Oct 15 20:36:24 doctor dovecot: log: Error: conn.fd: -2 > > Oct 15 20:36:24 doctor dovecot: log: Error: l->fd: 20 > > Oct 15 20:36:24 doctor dovecot: log: Error: &conn.remote_ip: 134511880 > > Oct 15 20:36:24 doctor dovecot: log: Error: &conn.remote_port: 134511900 > > Oct 15 20:36:24 doctor dovecot: log: Error: mode=140000 & fifo = 1 > > Oct 15 20:36:24 doctor dovecot: log: Panic: Leaked socket fd 20: (null):0 -> (null):0 > > Remove the fd_verify_leaks function call, because it always panics here.That works, but now the login is not working. Let me remove postlogin and see if the problem persists. -- Member - Liberal International This is doctor at nl2k.ab.ca Ici doctor at nl2k.ab.ca God, Queen and country! Never Satan President Republic! Beware AntiChrist rising! http://twitter.com/rootnl2k http://www.facebook.com/dyadallee Are you a real human: http://www.cuttingedge.org/news/n1334.cfm
On Sat, Oct 16, 2010 at 6:21 PM, The Doctor <doctor at doctor.nl2k.ab.ca>wrote:> On Sat, Oct 16, 2010 at 11:43:05AM +0100, Timo Sirainen wrote: > > On 16.10.2010, at 3.41, The Doctor wrote: > > > > > The logs still show > > > > > > Oct 15 20:36:24 doctor dovecot: master: Dovecot v2.0.5 starting up > (core dumps disabled) > > > Oct 15 20:36:24 doctor dovecot: log: Error: conn.fd: -2 > > > Oct 15 20:36:24 doctor dovecot: log: Error: l->fd: 20 > > > Oct 15 20:36:24 doctor dovecot: log: Error: &conn.remote_ip: 134511880 > > > Oct 15 20:36:24 doctor dovecot: log: Error: &conn.remote_port: > 134511900 > > > Oct 15 20:36:24 doctor dovecot: log: Error: mode=140000 & fifo = 1 > > > Oct 15 20:36:24 doctor dovecot: log: Panic: Leaked socket fd 20: > (null):0 -> (null):0 > > > > Remove the fd_verify_leaks function call, because it always panics here. > > That works, but now the login is not working. > > Let me remove postlogin and see if the problem persists. > >TheDoctor, why must you run BSDI? :-) -- Best regards, Odhiambo WASHINGTON, Nairobi,KE +254733744121/+254722743223 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ Damn!!
On Sat, Oct 16, 2010 at 11:43:05AM +0100, Timo Sirainen wrote:> On 16.10.2010, at 3.41, The Doctor wrote: > > > The logs still show > > > > Oct 15 20:36:24 doctor dovecot: master: Dovecot v2.0.5 starting up (core dumps disabled) > > Oct 15 20:36:24 doctor dovecot: log: Error: conn.fd: -2 > > Oct 15 20:36:24 doctor dovecot: log: Error: l->fd: 20 > > Oct 15 20:36:24 doctor dovecot: log: Error: &conn.remote_ip: 134511880 > > Oct 15 20:36:24 doctor dovecot: log: Error: &conn.remote_port: 134511900 > > Oct 15 20:36:24 doctor dovecot: log: Error: mode=140000 & fifo = 1 > > Oct 15 20:36:24 doctor dovecot: log: Panic: Leaked socket fd 20: (null):0 -> (null):0 > > Remove the fd_verify_leaks function call, because it always panics here.All fixed, I think the change to the BSDI code is confirmed. Next I see from log egrep POP3 /var/log/maillog | egrep dovecot | egrep popuser Oct 16 09:27:11 doctor dovecot: POP3(popusereys):Debug: Effective uid=2404, gid=100, home=/usr/home/popusereys Oct 16 09:27:11 doctor dovecot: POP3(popusereys):Debug: fs: root=/usr/home/popusereys/mail, index=, control=, inbox=/var/mail/popusereys Oct 16 09:27:11 doctor dovecot: POP3(popusereys):Debug: Namespace : Permission lookup failed from /usr/home/popusereys/mail Oct 16 09:27:11 doctor dovecot: POP3(popusereys):Debug: Namespace : Using permissions from /usr/home/popusereys/mail: mode=0700 gid=-1 Oct 16 09:27:11 doctor dovecot: POP3(popusereys):Error: user popusereys: Initialization failed: Initializing mail storage from mail_location setting failed: mkdir(/usr/home/popusereys/mail) failed: Permission denied (euid=2404(popusereys) egid=100(user) missing +w perm: /usr/home/popusereys, euid is not dir owner) Oct 16 09:27:11 doctor dovecot: POP3(popusereys):Error: Invalid user settings. Refer to server log for more information. Oct 16 09:28:09 doctor dovecot: POP3(popusereys):Debug: Effective uid=2404, gid=100, home=/usr/home/popusereys Oct 16 09:28:09 doctor dovecot: POP3(popusereys):Debug: fs: root=/usr/home/popusereys/mail, index=, control=, inbox=/var/mail/popusereys Oct 16 09:28:09 doctor dovecot: POP3(popusereys):Debug: Namespace : Permission lookup failed from /usr/home/popusereys/mail Oct 16 09:28:09 doctor dovecot: POP3(popusereys):Debug: Namespace : Using permissions from /usr/home/popusereys/mail: mode=0700 gid=-1 Oct 16 09:28:09 doctor dovecot: POP3(popusereys):Error: user popusereys: Initialization failed: Initializing mail storage from mail_location setting failed: mkdir(/usr/home/popusereys/mail) failed: Permission denied (euid=2404(popusereys) egid=100(user) missing +w perm: /usr/home/popusereys, euid is not dir owner) Oct 16 09:28:09 doctor dovecot: POP3(popusereys):Error: Invalid user settings. Refer to server log for more information. Anything wrong here? -- Member - Liberal International This is doctor at nl2k.ab.ca Ici doctor at nl2k.ab.ca God, Queen and country! Never Satan President Republic! Beware AntiChrist rising! http://twitter.com/rootnl2k http://www.facebook.com/dyadallee Are you a real human: http://www.cuttingedge.org/news/n1334.cfm