Running spamassassin/spamd with --auth-ident triggers a rather obscure bug in authd-1.4.2-8.x86_64. Either a non protocol conformant glibc error message is returned to the spamd client or the connection is prematurely terminated with the following message in syslog: Oct 19 16:27:51 hostmaster kernel: in.authd[27780]: segfault at 0000000000528008 rip 0000002a959012be rsp 0000007fbffff180 error 4
Created attachment 105453 [details] strace
Created attachment 105454 [details] ethereal pcap dump
This is easy to reproduce: telnet localhost 113 123, 123 *** glibc detected *** double free or corruption: 0x082066b8 *** I gave up on the random-identd-daemon-of-the-week game and installed pidentd, which works fine.
I am seeing the same error. This is a showstopper for anyone who wants to use PostgreSQL IDENT authentication across a TCP/IP socket (with JDBC for example).
Created attachment 106725 [details] authd-1.2.8-1.fc3.src.rpm authd-1.2.8-1.fc3 seems to work. Attaching the SRPM for anyone who wants to try it, since Rawhide packages tend to "just fade away".
laddr and raddr need to be set to NULL after they're freed in line 663 else if (*laddr == '\0' || *raddr == '\0') { // host address doesn't match peer address, so skip it - free(laddr); free(raddr); continue; } else if (*laddr == '\0' || *raddr == '\0') { // host address doesn't match peer address, so skip it + free(laddr); free(raddr); laddr = raddr = NULL; continue; }