Timo Sirainen wrote: > On Sep 30, 2009, at 6:10 PM, Chris Wakelin wrote: > >>> #0 client_get_extra_disconnect_reason (client=0x635b8) at >>> client-common.c:206 >>> 206 if (ssl_require_client_cert) >>> (gdb) bt >>> #0 client_get_extra_disconnect_reason (client=0x635b8) at >>> client-common.c:206 >>> #1 0x299b4 in io_loop_run (ioloop=0x635b8) at ioloop.c:330 >>> #2 0x1d314 in main (argc=0, argv=0xffbefb24, envp=0xffbefb2c) at >>> main.c:487 > > This looks broken. There's no way it can crash in there. Also it can't > go there directly from io_loop_run(). You sure this core was from > imap-login and not something else?
It turns out to be just before I replaced the first patched imap-login (with the extra logging patches) with another (with the "C CAPABILITY" fix in as well). How about (from the older binary): > #0 0x1b5d4 in client_get_extra_disconnect_reason (client=0x635b8) at > client-common.c:209 > 209 return t_strdup_printf("(auth failed, %u attempts)", > (gdb) bt > #0 0x1b5d4 in client_get_extra_disconnect_reason (client=0x635b8) at > client-common.c:209 > #1 0x299b4 in io_loop_run (ioloop=0x635b8) at ioloop.c:335 > #2 0x1d314 in main (argc=0, argv=0xffbefb24, envp=0xffbefb2c) at main.c:491 (gdb still suggests it's not sure it's the right binary, though). > >>> Sep 30 21:56:04 auth(default): Info: >>> passwd-file(xxxxxxx,134.225.1.46): No password >>> Sep 30 21:56:04 imap-login: Error: proxy: Unexpected input: + Ready >>> for additional command text.: user=<xxxxxxx>, method=PLAIN, >>> rip=134.225.1.46, lip=134.225.16.6 > > This is it! This is what was causing the crashes I knew about. And now I > also understand it, it's because username or password contained some > characters that caused Dovecot to send LOGIN command using literals > instead of quoted strings, which in turn sends that "+" line which > Dovecot assumed was a reply to AUTHENTICATE command. This fixes it: > http://hg.dovecot.org/dovecot-1.2/rev/8e8a706d6905 the usernames had nothing unusual, just [a-z0-9]*, but of course the passwords could have been anything! They didn't seem to cause a crash though (I've now renamed the core in case Solaris won't overwrite it with another one). > > Now, if you still get crashes, there's something else broken too. I've patched it again. Let's see what happens! Best Wishes, Chris -- --+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+- Christopher Wakelin, c.d.wake...@reading.ac.uk IT Services Centre, The University of Reading, Tel: +44 (0)118 378 8439 Whiteknights, Reading, RG6 2AF, UK Fax: +44 (0)118 975 3094