(no subject)
unsubscribe info-cyrus Cyrus Home Page: http://asg.web.cmu.edu/cyrus Cyrus Wiki/FAQ: http://cyruswiki.andrew.cmu.edu List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html
(no subject)
unsubscribe info-cyrus Cyrus Home Page: http://asg.web.cmu.edu/cyrus Cyrus Wiki/FAQ: http://cyruswiki.andrew.cmu.edu List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html
(no subject)
unsubscribe info-cyrus Cyrus Home Page: http://asg.web.cmu.edu/cyrus Cyrus Wiki/FAQ: http://cyruswiki.andrew.cmu.edu List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html
lmtpd dumping core
Cyrus imapd 2.2.12 / Squirrelmail on Solaris 10 SPARC. I'm using the autocreate patch. Our cyrus-imap implementation began dying every time sendmail ran the mail queue. It turned out to be caused by mail addressed to recipients like <æ>, the stack trace looking like this: > mdb core.narcissus.lmtpd.14625 Loading modules: [ libc.so.1 libuutil.so.1 ld.so.1 ] > ::stack libc.so.1`strlen+0x50(ffbfbad3, ffbfc690, ffbfb2c1, 0, 0, 0) libc.so.1`vsnprintf+0x6c(ffbfbf13, 4bd, ffbfbaac, ffbfc68c, 7c00, 0) libc.so.1`vsyslog+0x454(3acb008, a, ffbfc68c, 63135, ffbfbaac, 73) libc.so.1`syslog+0x1c(3, e75c4, 0, 82, ffbfc240, 0) mboxlist_autocreateinbox+0xb8(107028, 0, 0, ffbfcafc, 186a0, 0) autocreate_inbox+0xd8(107000, 13b2f0, 186a0, 107000, 107000, 8e76e800) verify_user+0x238(8e76ea0b, 0, 61f, 61f, 0, 13b2f0) process_recipient+0x3a0(1141e7, 107028, 0, 1b24c, 1147a0, 0) lmtpmode+0x1254(100484, 13cc40, 129060, 0, 1119b9, ffbff04c) service_main+0xc0(1, 111e48, , e2400, e2400, 1070c0) main+0x8d0(ffbff600, 4, 1, 9, 574c, 1204c8) _start+0x108(0, 0, 0, 0, 0, 0) > e75c4?s 0xe75c4:Could not get cannon userid for user %s > ::status debugging core file of lmtpd (32-bit) from narcissus file: /usr/local/cyrus/bin/lmtpd initial argv: lmtpd threading model: multi-threaded status: process terminated by SIGSEGV (Segmentation Fault) > In imap/mboxlist.c, we find the code: if (auth_userid == NULL) { /* * Couldn't get cannon userid */ syslog(LOG_ERR, "Could not get cannon userid for user %s", auth_userid); Oops. If auth_userid is NULL, try to log it. One suspects that was supposed to be `userid' being logged. Comments ? Cheers, Rob -- E-Mail: [EMAIL PROTECTED] PHONE: +44 24 7652 3037 Rob McMahon, IT Services, Warwick University, Coventry, CV4 7AL, England Cyrus Home Page: http://asg.web.cmu.edu/cyrus Cyrus Wiki/FAQ: http://cyruswiki.andrew.cmu.edu List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html
Re: lmtpd dumping core
Rob McMahon wrote: debugging core file of lmtpd (32-bit) from narcissus file: /usr/local/cyrus/bin/lmtpd initial argv: lmtpd threading model: multi-threaded status: process terminated by SIGSEGV (Segmentation Fault) > In imap/mboxlist.c, we find the code: if (auth_userid == NULL) { /* * Couldn't get cannon userid */ syslog(LOG_ERR, "Could not get cannon userid for user %s", auth_userid); Oops. If auth_userid is NULL, try to log it. One suspects that was supposed to be `userid' being logged. Comments ? Ouups. This is obviously wrong. I suspect that it was propagated from cyrus-2.1.x to cyrus-2.2.x series a bit hasty since the corresponding code segment in 2.1 is written as following: +auth_userid = auth_canonuser(auth_state); +if (auth_userid == NULL) { +/* + * Couldn't get cannon userid + */ + syslog(LOG_ERR, +"Could not get cannon userid for user %s", userid); + return IMAP_PARTITION_UNKNOWN; +} As far as the reason why the auth_userid is NULL, this is due to auth_canonuser() and the "&" character, which i would strongly advise you to avoid. Thank you for your bug report. A new version of the autocreate patch will be released. Nikos Voutsinas Cyrus Home Page: http://asg.web.cmu.edu/cyrus Cyrus Wiki/FAQ: http://cyruswiki.andrew.cmu.edu List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html
lmtp delivery to cyrus store over unix socket requires /etc/hosts.allow entry. why?
-BEGIN PGP SIGNED MESSAGE- Hash: RIPEMD160 hi all, first -- i'd posted this 1st on exim-users, suspecting it may be an exim issue, but the thinking is that it may well be a cyrus issue, or prehaps OSX ... that said, i'm delivering to my cyrus-imap (CVS) store using an lmtp socket transport from exim 4.54: cyrus_lmtp_unixsock: debug_print = "EXIM-DEBUG [T:cyrus_lmtp_unixsock] for [EMAIL PROTECTED]" driver = lmtp socket = /var/MailServer/Process/lmtp.socket envelope_to_add user= MY_USER cyrus.conf is configured with: lmtpunix cmd="lmtpd -a -C /var/MailServer/Conf/imapd.conf" listen="/var/MailServer/Process/lmtp.socket" prefork=2 on delivery attempt, my EXIM log shows a failed attempt, indicating that the LMTP connection is closed: 2005-10-17 20:35:14 -0700 IOJDYN-FT-OY == [EMAIL PROTECTED]@testdomain.com <[EMAIL PROTECTED]> R=cyrus_localuser T=cyrus_lmtp_unixsock defer (-1): LMTP connection closed after initial connection and syslog shows: Oct 17 20:35:14 devbox CYRUS/lmtpunix[564]: refused connection from 0.0.0.0 after a bit of thrashing around, i find that if i add to /etc/hosts.allow lmtpunix : 0.0.0.0 delivery completes successfully! now, cyrus IS config'd/built "--with-libwrap", so i can use tcpwrappers to secure my OTHER cyrus services (imap, imaps, sieve, etc) which are running on TCPSockets ... QUESTION: why is a hosts.allow entry required in the 1st place for lmtpunix transport over a UNIXsocket? and, why "0.0.0.0" for localhost, rather than 127.0.0.1 or 'localhost' in hosts.allow? the suggestion on exim-users (thx Tony!) is that: the code looks like it won't call tcpwrappers for Unix domain sockets. BUT, if the kernel 'lies' to it and returns the wrong kind of socket address from getpeername() then Cyrus will do the wrong thing. thanks for any/all clarification! cheers, richard - -- /"\ \ / ASCII Ribbon Campaign X against HTML email, vCards / \ & micro$oft attachments [GPG] OpenMacNews at gmail dot com fingerprint: 780A 5C81 D446 C616 B113 AA3A 9BF4 3736 88A5 678E -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.2 (Darwin) iEYEAREDAAYFAkNVI7oACgkQm/Q3NoilZ467uACffdE79XLZ4cyT6t+A8JAr10ih eg4Anil6XuL6WkWqRn/JuLtVzlW//B/l =LanL -END PGP SIGNATURE- Cyrus Home Page: http://asg.web.cmu.edu/cyrus Cyrus Wiki/FAQ: http://cyruswiki.andrew.cmu.edu List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html
Re: lmtp delivery to cyrus store over unix socket requires /etc/hosts.allow entry. why?
Hi, > On Tue, 18 Oct 2005 09:32:58 -0700 > OpenMacNews <[EMAIL PROTECTED]> said: openmacnews> QUESTION: why is a hosts.allow entry required in the 1st openmacnews> place for lmtpunix transport over a UNIXsocket? I don't know about MacOS X, but there was similar bug in FreeBSD. So, our port still applies following patch to avoid the bug in old version of FreeBSD: Index: master/service-thread.c diff -u master/service-thread.c.orig master/service-thread.c --- master/service-thread.c.origWed Jan 22 22:52:36 2003 +++ master/service-thread.c Wed Jan 22 23:09:52 2003 @@ -99,6 +99,9 @@ struct sockaddr_storage sin; socklen_t len = sizeof(sin); +/* XXX: old FreeBSD didn't fill sockaddr correctly against AF_UNIX */ +sin.ss_family = AF_UNIX; + /* is this a connection from the local host? */ if (getpeername(fd, (struct sockaddr *) &sin, &len) == 0) { if (((struct sockaddr *)&sin)->sa_family == AF_UNIX) { openmacnews> and, why "0.0.0.0" for localhost, rather than 127.0.0.1 openmacnews> or 'localhost' in hosts.allow? UNIX domain socket is not localhost. Perhaps, getpeername() doesn't fill sockaddr against UNIX domain socket. So, it matches with 0.0.0.0. Sincerely, -- Hajimu UMEMOTO @ Internet Mutual Aid Society Yokohama, Japan [EMAIL PROTECTED] [EMAIL PROTECTED],jp.}FreeBSD.org http://www.imasy.org/~ume/ Cyrus Home Page: http://asg.web.cmu.edu/cyrus Cyrus Wiki/FAQ: http://cyruswiki.andrew.cmu.edu List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html
Re: lmtp delivery to cyrus store over unix socket requires /etc/hosts.allow entry. why?
-BEGIN PGP SIGNED MESSAGE- Hash: RIPEMD160 hi, Hajimu UMEMOTO wrote: > I don't know about MacOS X, but there was similar bug in FreeBSD. So, > our port still applies following patch to avoid the bug in old version > of FreeBSD: > > Index: master/service-thread.c > diff -u master/service-thread.c.orig master/service-thread.c > --- master/service-thread.c.orig Wed Jan 22 22:52:36 2003 > +++ master/service-thread.c Wed Jan 22 23:09:52 2003 > @@ -99,6 +99,9 @@ > struct sockaddr_storage sin; > socklen_t len = sizeof(sin); > > +/* XXX: old FreeBSD didn't fill sockaddr correctly against AF_UNIX */ > +sin.ss_family = AF_UNIX; > + > /* is this a connection from the local host? */ > if (getpeername(fd, (struct sockaddr *) &sin, &len) == 0) { > if (((struct sockaddr *)&sin)->sa_family == AF_UNIX) { i tried making this _specific_ change to my cyrus code, but, to no avail ... delivery _still_ requires the presence of: lmtpunix : 0.0.0.0 in /etc/hosts.allow i think i'll file this as a bug ... cheers, richard -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.2 (Darwin) iEYEAREDAAYFAkNVP9kACgkQm/Q3NoilZ44kZACfbwxXGKd0LY2qt9GvrXay7QI2 gqsAn1cgRBVODBfpryW3bN/MK87vW38/ =KXHp -END PGP SIGNATURE- Cyrus Home Page: http://asg.web.cmu.edu/cyrus Cyrus Wiki/FAQ: http://cyruswiki.andrew.cmu.edu List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html
Re: lmtp delivery to cyrus store over unix socket requires /etc/hosts.allow entry. why?
Hi, > On Tue, 18 Oct 2005 11:32:58 -0700 > OpenMacNews <[EMAIL PROTECTED]> said: openmacnews> i tried making this _specific_ change to my cyrus code, but, to no avail ... openmacnews> delivery _still_ requires the presence of: openmacnews>lmtpunix : 0.0.0.0 openmacnews> in /etc/hosts.allow Oops, there is same chunk in master/service.c, and it is used in usual. Sincerely, -- Hajimu UMEMOTO @ Internet Mutual Aid Society Yokohama, Japan [EMAIL PROTECTED] [EMAIL PROTECTED],jp.}FreeBSD.org http://www.imasy.org/~ume/ Cyrus Home Page: http://asg.web.cmu.edu/cyrus Cyrus Wiki/FAQ: http://cyruswiki.andrew.cmu.edu List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html
Re: lmtp delivery to cyrus store over unix socket requires /etc/hosts.allow entry. why?
-BEGIN PGP SIGNED MESSAGE- Hash: RIPEMD160 hi again, > Oops, there is same chunk in master/service.c, and it is used in > usual. ok. making changes to BOTH files seems to workaround the problem ... i NO LONGER NEED the /etc/hosts.allow entry ... i'll enter the info to the bug (#2729) for someone on the dev team to consider. thx! & cheers, richard -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.2 (Darwin) iEYEAREDAAYFAkNVTEoACgkQm/Q3NoilZ46P/gCeL42y0J68ph6tseLqpmOUKX0s uasAnjwN75KUvvhHlVSRPfHYR1AESZ6f =emok -END PGP SIGNATURE- Cyrus Home Page: http://asg.web.cmu.edu/cyrus Cyrus Wiki/FAQ: http://cyruswiki.andrew.cmu.edu List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html