Please try this patch: ndex: auth_krb5.c =================================================================== RCS file: /afs/andrew.cmu.edu/system/cvs/src/cyrus/lib/auth_krb5.c,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- auth_krb5.c 22 Oct 2003 18:03:03 -0000 1.2 +++ auth_krb5.c 16 Jan 2004 15:28:58 -0000 1.3 @@ -1,5 +1,5 @@ /* auth_krb5.c -- Kerberos V authorization for Cyrus IMAP - * $Id: auth_krb5.c,v 1.2 2003/10/22 18:03:03 rjs3 Exp $ + * $Id: auth_krb5.c,v 1.3 2004/01/16 15:28:58 rjs3 Exp $ * Copyright (c) 1998-2003 Carnegie Mellon University. All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -74,6 +74,7 @@
if (strcmp(identifier,"anyone") == 0) return 1; if (!auth_state && !strcmp(identifier, "anonymous")) return 3; + else if(!auth_state) return 0; if (strcmp(identifier,auth_state->userid) == 0) return 3; if (strcmp(auth_state->userid,"anonymous") == 0) return 0; On Fri, 16 Jan 2004, Dmitry P. Schegolev wrote: > Ð ÑÐÐÐÑÐÐÐÐ ÐÑ Friday 16 January 2004 17:09 Dmitry P. Schegolev > ÐÐÐÐÑÐÐ(a): > > > A backtrace of the core dump would be helpful. > > > > SEGFAULT in auth_krb5.c (from attached gdb): > > > > Program received signal SIGSEGV, Segmentation fault. > > 0x08084e85 in auth_memberof (auth_state=0x0, identifier=0x812c640 "test") > > at auth_krb5.c:77 > > 77 auth_krb5.c: No such file or directory. > > in auth_krb5.c > > kenwood cyrus-imapd-2.2.3 # gdb /usr/cyrus/bin/lmtpd > GNU gdb 5.3 > Copyright 2002 Free Software Foundation, Inc. > GDB is free software, covered by the GNU General Public License, and you are > welcome to change it and/or distribute copies of it under certain conditions. > Type "show copying" to see the conditions. > There is absolutely no warranty for GDB. Type "show warranty" for details. > This GDB was configured as "i686-pc-linux-gnu"... > (gdb) attach 11314 > Attaching to program: /usr/cyrus/bin/lmtpd, process 11314 > Reading symbols from /usr/lib/libsasl2.so.2...done. > Loaded symbols for /usr/lib/libsasl2.so.2 > Reading symbols from /usr/lib/libgssapi_krb5.so.2...done. > Loaded symbols for /usr/lib/libgssapi_krb5.so.2 > Reading symbols from /usr/lib/libkrb5.so.3...done. > Loaded symbols for /usr/lib/libkrb5.so.3 > Reading symbols from /usr/lib/libk5crypto.so.3...done. > Loaded symbols for /usr/lib/libk5crypto.so.3 > Reading symbols from /lib/libcom_err.so.2...done. > Loaded symbols for /lib/libcom_err.so.2 > Reading symbols from /lib/libresolv.so.2...done. > Loaded symbols for /lib/libresolv.so.2 > Reading symbols from /usr/lib/libssl.so.0.9.6...done. > Loaded symbols for /usr/lib/libssl.so.0.9.6 > Reading symbols from /usr/lib/libcrypto.so.0.9.6...done. > Loaded symbols for /usr/lib/libcrypto.so.0.9.6 > Reading symbols from /usr/lib/libdb-4.2.so...done. > Loaded symbols for /usr/lib/libdb-4.2.so > Reading symbols from /usr/lib/libwrap.so.0...done. > Loaded symbols for /usr/lib/libwrap.so.0 > Reading symbols from /lib/libnsl.so.1...done. > Loaded symbols for /lib/libnsl.so.1 > Reading symbols from /lib/libc.so.6...done. > Loaded symbols for /lib/libc.so.6 > Reading symbols from /lib/libdl.so.2...done. > Loaded symbols for /lib/libdl.so.2 > Reading symbols from /usr/lib/libcom_err.so.3...done. > Loaded symbols for /usr/lib/libcom_err.so.3 > Reading symbols from /lib/ld-linux.so.2...done. > Loaded symbols for /lib/ld-linux.so.2 > Reading symbols from /usr/lib/sasl2/libcrammd5.so.2...done. > Loaded symbols for /usr/lib/sasl2/libcrammd5.so.2 > Reading symbols from /usr/lib/sasl2/libdigestmd5.so.2...done. > Loaded symbols for /usr/lib/sasl2/libdigestmd5.so.2 > Reading symbols from /usr/lib/sasl2/libgssapiv2.so.2...done. > Loaded symbols for /usr/lib/sasl2/libgssapiv2.so.2 > Reading symbols from /usr/lib/sasl2/libplain.so.2...done. > Loaded symbols for /usr/lib/sasl2/libplain.so.2 > Reading symbols from /lib/libcrypt.so.1...done. > Loaded symbols for /lib/libcrypt.so.1 > Reading symbols from /usr/lib/sasl2/libanonymous.so.2...done. > Loaded symbols for /usr/lib/sasl2/libanonymous.so.2 > Reading symbols from /usr/lib/sasl2/liblogin.so.2...done. > Loaded symbols for /usr/lib/sasl2/liblogin.so.2 > 0x403ec8d6 in accept () from /lib/libc.so.6 > (gdb) n > Single stepping until exit from function accept, > which has no line number information. > main (argc=1, argv=0x274, envp=0xbffff69c) at service.c:445 > 445 if (fd < 0) { > (gdb) n > 444 fd = accept(LISTEN_FD, NULL, NULL); > (gdb) n > 445 if (fd < 0) { > (gdb) > 491 unlockaccept(); > (gdb) > 493 if (fd < 0 && gotalrm) { > (gdb) > 508 alarm(0); > (gdb) > 509 gotalrm = 0; > (gdb) > 512 if(soctype == SOCK_STREAM) { > (gdb) > 509 gotalrm = 0; > (gdb) > 512 if(soctype == SOCK_STREAM) { > (gdb) > 513 libwrap_init(&request, service); > (gdb) > 515 if (!libwrap_ask(&request, fd)) { > (gdb) > 523 notify_master(STATUS_FD, MASTER_SERVICE_UNAVAILABLE); > (gdb) > 524 syslog(LOG_DEBUG, "accepted connection"); > (gdb) > 526 if (fd != 0 && dup2(fd, 0) < 0) { > (gdb) > 530 if (fd != 1 && dup2(fd, 1) < 0) { > (gdb) > 534 if (fd != 2 && dup2(fd, 2) < 0) { > (gdb) > 540 if(soctype == SOCK_STREAM) { > (gdb) > 541 if (fd > 2) close(fd); > (gdb) > 544 notify_master(STATUS_FD, MASTER_SERVICE_CONNECTION); > (gdb) > 546 service_main(newargc, newargv, envp); > (gdb) > 545 use_count++; > (gdb) > 546 service_main(newargc, newargv, envp); > (gdb) > > Program received signal SIGSEGV, Segmentation fault. > 0x08084f25 in auth_memberof (auth_state=0x0, identifier=0x812c700 "test") at > auth_krb5.c:77 > 77 if (strcmp(identifier,auth_state->userid) == 0) return 3; > (gdb) bt > #0 0x08084f25 in auth_memberof (auth_state=0x0, identifier=0x812c700 "test") > at auth_krb5.c:77 > #1 0x4043caa0 in __libc_tsd_MALLOC_data () from /lib/libc.so.6 > #2 0x08084bc2 in cyrus_acl_myrights (auth_state=0x0, acl=0x812c700 "test") at > acl_afs.c:94 > #3 0x0805847c in mailbox_open_header_path (name=0xbfffbc10 "user.test", > path=0x8119c60 "/var/spool/imap/t/user/test", acl=0x0, auth_state=0x0, > mailbox=0xbfffb900, suppresslog=0) > at mailbox.c:450 > #4 0x08058331 in mailbox_open_header (name=0xbfffb900 "\n", auth_state=0x0, > mailbox=0x0) at mailbox.c:399 > #5 0x08055dc9 in append_check (name=0xbfffbc10 "user.test", format=0, > auth_state=0x0, aclcheck=0, > quotacheck=0) at append.c:118 > #6 0x0804f437 in verify_user (user=0x0, quotacheck=0, authstate=0x0) at > lmtpd.c:1342 > #7 0x08050929 in process_recipient (addr=0x812c605 "", ignorequota=0, > verify_user=0x804f2c0 <verify_user>, > msg=0x812bc70) at lmtpengine.c:816 > #8 0x08051871 in lmtpmode (func=0x8116140, pin=0x812c178, pout=0x812c1e8, > fd=0) at lmtpengine.c:1382 > #9 0x0804cc07 in service_main (argc=135448064, argv=0xbfffce13, > envp=0xbffff69c) at lmtpd.c:276 > #10 0x0804c5c8 in main (argc=1, argv=0xbfffcdf0, envp=0xbffff69c) at > service.c:546 > #11 0x4032790c in __libc_start_main () from /lib/libc.so.6 > (gdb) > > -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- Rob Siemborski * Andrew Systems Group * Cyert Hall 207 * 412-268-7456 Research Systems Programmer * /usr/contributed Gatekeeper