IMAP proxy problems

Attila Nagy bra at fsn.hu
Fri Aug 17 11:27:15 MSD 2007


On 2007.08.16. 20:22, Igor Sysoev wrote:
> On Thu, Aug 16, 2007 at 06:26:34PM +0200, Attila Nagy wrote:
>
>   
>> I'm trying to set up nginx (stable and devel, both without success) as 
>> an IMAP proxy to an Exchange server.
>>
>> The config is:
>> daemon off;
>> error_log  /var/log/nginx-error.log debug;
>> events {
>>    worker_connections  1024;
>> }
>> mail {
>>    auth_http  127.0.0.1:9000/cgi-bin/auth;
>>    imap_capabilities  "IMAP4rev1"  "UIDPLUS";
>>
>>    server {
>>        listen     143;
>>        protocol   imap;
>>        proxy      on;
>>    }
>> }
>>
>> I give back on TCP/9000 the following:
>> HTTP/1.0 200 OK
>> Auth-Status: OK
>> Auth-Server: 127.0.0.1
>> Auth-Port: 1433
>> (this is just a test on a forwarded port)
>>
>> What I get in the log:
>> 2007/08/16 16:06:43 [info] 38634#0: *6 client  connected to
>> 2007/08/16 16:06:48 [error] 38634#0: *6 upstream sent invalid response: 
>> "LOGIN BAD Protocol Error: "Unknown command found"." while reading 
>> response from upstream, client: , server: , login: "", upstream:
>>
>> If I trace nginx, I see the following IO:
>> 38634 nginx    GIO   fd 8 read 103 bytes
>>       "* OK Microsoft Exchange Server 2003 IMAP4rev1 server version 
>> 6.5.7638.\
>>        1 (MAILSRV) ready.\r
>>       "
>> 38634 nginx    RET   recvfrom 103/0x67
>> 38634 nginx    CALL  sendto(0x8,0x3f1140,0xb,0,0,0)
>> 38634 nginx    GIO   fd 8 wrote 11 bytes
>>       "LOGIN {6}\r
>>       "
>> 38634 nginx    RET   sendto 11/0xb
>> 38634 nginx    CALL  kevent(0x7,0x40c000,0,0x414000,0x200,0x7fdffffe3b0)
>> 38634 nginx    RET   kevent 2
>> 38634 nginx    CALL  gettimeofday(0x7fdffffe250,0)
>> 38634 nginx    RET   gettimeofday 0
>> 38634 nginx    CALL  recvfrom(0x8,0x47c000,0x2000,0,0,0)
>> 38634 nginx    GIO   fd 8 read 38 bytes
>>       "+ Ready for additional command text.\r
>>       "
>> 38634 nginx    RET   recvfrom 38/0x26
>> 38634 nginx    CALL  sendto(0x8,0x3f1170,0x6,0,0,0)
>> 38634 nginx    GIO   fd 8 wrote 6 bytes
>>       " {8}\r
>>       "
>> 38634 nginx    RET   sendto 6
>> 38634 nginx    CALL  kevent(0x7,0x40c000,0,0x414000,0x200,0x7fdffffe3b0)
>> 38634 nginx    RET   kevent 2
>> 38634 nginx    CALL  gettimeofday(0x7fdffffe250,0)
>> 38634 nginx    RET   gettimeofday 0
>> 38634 nginx    CALL  recvfrom(0x8,0x47c000,0x2000,0,0,0)
>> 38634 nginx    GIO   fd 8 read 52 bytes
>>       "LOGIN BAD Protocol Error: "Unknown command found".\r
>>       "
>>
>> The OS is FreeBSD/sparc64, version 6-STABLE, nginx linked statically (if 
>> that counts).
>>     
>
> Try the attached patch.
>   
Wow, that was fast! It seems to be OK now.

Thank you.





More information about the nginx mailing list