Hey Ken,


Friday, July 06, 2001, 1:52:21 PM, you wrote:

KM> Then:

KM> 1. telnet to port 9143, don't do anything else yet
KM> 2. in another window, get the pid of the process you are connected to by
KM> looking for 'service-imap-debug' in imapd.log
KM> 3. run 'gdb <install-path>/imapd <pid>
KM> 4. hit <RETURN> if prompted, and then type 'continue' (or 'cont')
KM> 5. now login to the server and watch the fun begin

These instructions worked awesome.  And you were correct in where it failed.
This is my bt output:

Program received signal SIGSEGV, Segmentation fault.
0x4136bd08 in ?? ()
(gdb) bt
#0  0x4136bd08 in ?? ()
#1  0x4001e291 in sasl_checkpass () from /usr/lib/libsasl.so.7
#2  0x804f155 in cmd_login (tag=0x810b5d0 "L01", user=0x810b6e8 "cyradm",
    passwd=0xhex "<passwd_here>") at imapd.c:1434
#3  0x804dd4d in cmdloop () at imapd.c:985
#4  0x804cb53 in service_main (argc=1, argv=0xbffffda4, envp=0xbffffdac)
    at imapd.c:549
#5  0x804b78b in main (argc=1, argv=0xbffffda4, envp=0xbffffdac)
    at service.c:285

Obviously, my next question is, why does this work for Postfix then?
Doesn't seem to make much sense to me that it works for one thing and not
another.  And this is really odd, I just got it to work once, but any more
:-/

I typically have:

Attaching to program: /usr/cyrus/bin/imapd, Pid 411
Reading symbols from /usr/lib/libsasl.so.7...done.
Reading symbols from /usr/lib/libssl.so.0.9.6...done.
Reading symbols from /usr/lib/libcrypto.so.0.9.6...done.
Reading symbols from /usr/lib/libdb3.so.3...done.
Reading symbols from /lib/libcom_err.so.2...done.
Reading symbols from /lib/libwrap.so.0...done.
Reading symbols from /lib/libnsl.so.1...done.
Reading symbols from /lib/libc.so.6...done.
Reading symbols from /lib/libdb2.so.2...done.
Reading symbols from /lib/libdl.so.2...done.
Reading symbols from /lib/libcrypt.so.1...done.
Reading symbols from /lib/libpam.so.0...done.
Reading symbols from /lib/ld-linux.so.2...done.
Reading symbols from /usr/lib/sasl/libplain.so...done.
Reading symbols from /usr/lib/sasl/libanonymous.so...done.
Reading symbols from /usr/lib/sasl/liblogin.so...done.
---Type <return> to continue, or q <return> to quit---
Reading symbols from /lib/libnss_files.so.2...done.
0x402a998e in select () from /lib/libc.so.6
(gdb) continue
Continuing.

But the time it worked, I had a line for "reading symbols from
/lib/security/pam_ldap".  And in my /var/log/imapd.log, I have:

Jul  6 09:26:53 balthasar imapd[559]: pam_ldap: error trying to bind as user 
"uid=cyradm,
 ou=Admins, o=negativetwenty" (Invalid credentials)
Jul  6 09:27:06 balthasar imapd[559]: accepted connection
Jul  6 09:27:50 balthasar imapd[559]: login: localhost[127.0.0.1] cyradm plaintext

(I logged in wrong the first time.)

Whereas, I typically have:

Jul  6 09:48:47 balthasar master[470]: about to exec /usr/cyrus/bin/imapd
Jul  6 09:48:47 balthasar service-imap[470]: executed
Jul  6 09:48:47 balthasar imapd[470]: accepted connection
Jul  6 09:48:49 balthasar master[454]: process 470 exited, signaled to death by 11

If I try to use "-m login"

Jul  6 09:49:06 balthasar master[473]: about to exec /usr/cyrus/bin/imapd
Jul  6 09:49:06 balthasar service-imap[473]: executed
Jul  6 09:49:06 balthasar imapd[473]: accepted connection
Jul  6 09:49:08 balthasar imapd[473]: badlogin: localhost[127.0.0.1] PLAIN no 
mechanism available

... And this if I try to use "-m plain"

And I am quite convinced from my ldap logs, that the bind is successful.
Which leads me to believe that somewhere along the lines, this success is
not being relayed to someone.

Please let me know what you think.  Thanks again.

-- 
 Kevin

Reply via email to