[Dovecot] Can't run POP3 and IMAP simultaneously from xinetd...

Timothy Meader Tim.Meader at gsfc.nasa.gov
Fri Jun 9 18:01:06 EEST 2006


Hello all, I'm hoping you can help out with an issue I'm having 
running dovecot-beta8 on Solaris 9 (SPARC). The reason I need to run 
them from xinetd is that we require the filtering ability that 
tcp_wrappers provide.

My issue is that, when running both from xinetd, IMAP runs fine, but 
then, when you try to POP in to check mail on the same box, it seems 
that the login section is handled via pop3-login... but all 
subsequent commands are handled via the imap interpreter. It's as if 
it's getting passed off to /usr/local/libexec/dovecot/imap instead of 
/usr/local/libexec/dovecot/pop3 as is specified in dovecot.conf. 
Here's an example from running a direct telnet session to the box in question:

[operator at yyyy  operator]# telnet yyyy 110
Trying xxx.xxx.xxx.xxx...
Connected to yyyy.
Escape character is '^]'.
+OK Unauthorized access prohibited
USER joeblow
+OK
PASS joeblowspass
+OK Logged in.
LIST
LIST BAD Error in IMAP command : Unknown command.
QUIT
QUIT BAD Error in IMAP command : Unknown command.
1 logout

If you do a ps -ef on the box and check the processes, at no time 
does a pop3 process start through this process. However, if you do 
the ps -ef right after the "LIST" command, you can see that there's 
an imap process started for user 'joeblow'.

Now, if I take xinetd out of the equation and instead use the daemon 
mode /usr/local/sbin/dovecot... everything works perfectly.

I've tried using the tcp_wrappers patch that's available in the 
unsupported directory on dovecot.org, but I cannot get the configure 
script to recognize the libwrap I have on the system when I compile 
dovecot with "--with-libwrap" as specified. I'm using tcp_wrappers 
for Solaris 9 off sunfreeware, so I know it's on there. I've also 
created sym links to libwrap.a and tcpd.h in /usr/lib and 
/usr/include respectively... still no dice.

Honestly, I don't care which way dovecot runs (though daemon mode 
WOULD actually be preferred for performance reasons IF tcp_wrappers 
were available for use), but I just need it running both IMAP and POP3 somehow.

Here are the applicable pop3 and imap sections of my dovecot.conf:
--
default_mail_env = mbox:~/mail:INBOX=/var/mail/%1u/%1.1u/%u

protocol pop3 {
   login_executable = /usr/local/libexec/dovecot/pop3-login
   mail_executable = /usr/local/libexec/dovecot/pop3
   pop3_no_flag_updates = no
   pop3_enable_last = no
   pop3_uidl_format = %08Xu%08Xv
   pop3_logout_format = top=%t/%T, retr=%r/%R, del=%d/%m, size=%s
   pop3_client_workarounds = outlook-no-nuls oe-ns-eoh
}

protocol imap {
   login_executable = /usr/local/libexec/dovecot/imap-login
   mail_executable = /usr/local/libexec/dovecot/imap
   login_greeting_capability = yes
}
--

And the respective sections from xinetd.conf:
--
service pop3
{
         socket_type = stream
         protocol    = tcp
         wait        = no
         user        = root
         server      = /usr/local/libexec/dovecot/pop3-login
         port        = 110
         flags       = REUSE IPv4
         rlimit_cpu  = 150
         instances   = 80
         cps         = 110 10
         disable     = no
}

service imap
{
        socket_type     = stream
        protocol        = tcp
        wait            = no
        user            = root
        server          = /usr/local/libexec/dovecot/imap-login
        port            = 143
        flags           = REUSE IPv4
        rlimit_cpu      = 120
        disable         = no
}
--

I hope someone can shed some light on this situation for me. Thank 
you in advance.

---
Tim Meader
CNE Internet Services
NetCommerce Corporation
Tim.Meader at gsfc.nasa.gov
(301) 286-8013  



More information about the dovecot mailing list