[Dovecot] Dovecot imap proxy to nginx, incompatible

David Jonas djonas at vitalwerks.com
Sat Dec 24 01:44:14 EET 2011


It appears that using dovecot to proxy to nginx imap proxy doesn't work.
>From tcpdump and browsing the source it appears dovecot sends,

 C CAPABILITY\r\nL LOGIN <user> <pass>\r\n

and nginx only responds to the CAPABILITY command. Is this a problem
with dovecot sending the two commands without waiting for the first to
complete or is it nginx's trouble with not handling it correctly?

A quick test with a perl script confirms:

#!/usr/bin/perl -w
$|++;

use IO::Socket;
use strict;

my ($host, $user, $pass) = @ARGV;

my $s = new IO::Socket::INET(Proto => 'tcp', PeerAddr => $host, PeerPort
=> 143);
die "Could not create socket $!\n" unless $s;

while(<$s>) { print $_; last if /OK/; }
print $s "C CAPABILITY\r\nL LOGIN $user $pass\r\n";
while(<$s>) { print $_; last if /OK/; }
print $s "Q logout\r\n";
while(<$s>) { print $_; last if /OK/; }

close($s);

## Output:

* CAPABILITY IMAP4rev1 SASL-IR SORT THREAD=REFERENCES MULTIAPPEND
UNSELECT LITERAL+ IDLE CHILDREN NAMESPACE LOGIN-REFERRALS UIDPLUS
LIST-EXTENDED I18NLEVEL=1 QUOTA AUTH=PLAIN
C OK completed
* BYE
Q OK completed



More information about the dovecot mailing list