Sebastian Hagedorn wrote: > --On 16. November 2007 12:39:28 -0500 Ken Murchison > <murch@xxxxxxxxxxxxxx> wrote: > >> Sorry, my patch wasn't complete. It wasn't logging the value that I >> wanted. > > OK: > > Nov 16 18:48:17 lvr13 pop3s[1385]: SSL_read() returned 0:5 > Nov 16 18:48:33 lvr13 pop3s[1375]: SSL_read() returned 0:5 > Nov 16 18:48:50 lvr13 pop3s[1980]: SSL_read() returned 0:6 > Nov 16 18:48:54 lvr13 pop3s[1376]: SSL_read() returned 0:5 > Nov 16 18:49:03 lvr13 pop3s[1375]: SSL_read() returned 0:5 > Nov 16 18:49:11 lvr13 pop3s[1375]: SSL_read() returned 0:5 > Nov 16 18:49:38 lvr13 pop3s[1375]: SSL_read() returned 0:5 > Nov 16 18:49:54 lvr13 pop3s[1404]: SSL_read() returned 0:5 > > I'm guessing that's still not enough: > > #define SSL_ERROR_SYSCALL 5 /* look at error stack/return > value/errno */ > #define SSL_ERROR_ZERO_RETURN 6 > > SSL_ERROR_SYSCALL > Some I/O error occurred. The OpenSSL error queue may contain > more > information on the error. If the error queue is empty (i.e. > ERR_get_error() returns 0), ret can be used to find out more > about > the error: If ret == 0, an EOF was observed that violates the > pro- > tocol. If ret == -1, the underlying BIO reported an I/O error > (for > socket I/O on Unix systems, consult errno for details). > > So should I add a call to ERR_get_error()? Not yet. I'm assuming that none of these processes has hung. We're getting an I/O error most likely because the client has closed the connection immediately after sending QUIT. This is harmless. What I really want to see is if we get a SSL_ERROR_WANT_xxx return code when we're hung. -- Kenneth Murchison Systems Programmer Project Cyrus Developer/Maintainer Carnegie Mellon University ---- Cyrus Home Page: http://cyrusimap.web.cmu.edu/ Cyrus Wiki/FAQ: http://cyrusimap.web.cmu.edu/twiki List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html