I'd also appreciate any hints for debugging IMAP. Is there a way to get
cyrus to open *one* connection on an offbeat port for me to play with? I
am not clear on how I can truss an entire interaction when there are so
many processes. By the time I identify it I've missed the beginning.
from a computer A do:
$ telnet server_imap 43
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
* OK [CAPABILITY IMAP4 IMAP4rev1 LITERAL+ ID AUTH=PLAIN AUTH=LOGIN
SASL-IR] moldavite Cyrus IMAP4 v2.3.7 server ready
At this point, log in the imap server as root and do:
$ lsof -n -i TCP@ip_of_computer_A
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
imapd 23017 cyrus 0u IPv4 0x30002036058 0t119 TCP
ip_server_imap:imap->ip_computer_A:56040 (ESTABLISHED)
imapd 23017 cyrus 1u IPv4 0x30002036058 0t119 TCP
ip_server:imap->ip_computer_A:56040 (ESTABLISHED)
imapd 23017 cyrus 2u IPv4 0x30002036058 0t119 TCP
ip_server:imap->ip_computer_A:56040 (ESTABLISHED)
Now you can do:
truss -p 23017
Go back to the client and manually type the login command:
1 LOGIN "username" "password"
Now you should have the truss output of the login.
Yann
----
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