After upgrading SASL to 2.1.10, my sendmail started segfaulting when talking to my smart host, which requires authentication. unmerging 2.1.10 and emerging 2.1.9 fixed the problem. messages weren't being sent, and a sendmail -vv -q showed seg fault after computing the digest. gdb showed segv was in strlen called by /usr/lib/sasl2/libdigestmd5.so, there doesn't appear to be anything googlable on this problem with regards to sasl. sasl <-> compiler issue?
sendmail-8.12.7 has just been marked stable for x86 in portage. Does this new version still have problems with sasl-2.1.10?
sendmail 8.12.7 appears to fix the problem (email sent successfully with 8.12.7 and SASL 2.1.10). Thanks!
Oops, I forgot to restart sendmail before testing. It still doesn't work. Attaching typescript of trying, failing, downgrading, working.
Created attachment 7487 [details] typescript describing problem This is the typescript I promised.
There is cyrus-sasl-2.1.10-r1.ebuild in portage with a simple patch for a gssapi segfault problem. Maybe this will help with your problem? Let me know.
you still here?
Yup. That doesn't solve the problem, it still segfaults in the same place. I'm doing a little bit of research. It is an upstream problem - digestmd5 module was completely rewritten in 2.1.10. I've just discovered the wonders of DEBUGBUILD and hope to have more info (maybe a patch?) in a bit.
Finally got symbols and stuff. Here is a backtrace, and I'll see if I can find someone upstream to look at it. #0 0x403ec979 in add_to_challenge (utils=0x814e300, str=0x814e54c, buflen=0x814e300, curlen=0xbfff8bdc, name=0x403f4df5 "realm", value=0x0, need_quotes=1) at digestmd5.c:488 #1 0x403f109c in make_client_response (text=0x814e4e8, params=0x814e1d8, oparams=0x814df10) at digestmd5.c:3111 #2 0x403f25b4 in digestmd5_client_mech_step2 (ctext=0x814e4e8, params=0x814e1d8, serverin=0x814e300 "", serverinlen=135586560, prompt_need=0x814e300, clientout=0x814e300, clientoutlen=0x814e300, oparams=0x814df10) at digestmd5.c:3808 #3 0x403f2c20 in digestmd5_client_mech_step (conn_context=0x814e4e8, params=0x814e1d8, serverin=0x814e5c8 "nonce=\"wfT+g8phf6N1Wid0233MMHX4/9g/f5jZsQeKpIZ7lHY=\",qop=\"auth\",charset=utf-8,algorithm=md5-sess", serverinlen=96, prompt_need=0xbfff8d68, clientout=0xbfff8d6c, clientoutlen=0xbfff8d70, oparams=0x814df10) at digestmd5.c:4004 #4 0x400294d2 in sasl_client_step (conn=0x6, serverin=0x814e5c8 "nonce=\"wfT+g8phf6N1Wid0233MMHX4/9g/f5jZsQeKpIZ7lHY=\",qop=\"auth\",charset=utf-8,algorithm=md5-sess", serverinlen=96, prompt_need=0x814e300, clientout=0x814e4e8, clientoutlen=0xbfff8d70) at client.c:631 488 int valuesize = strlen((char *) value); value is NULL here because in the caller, text->realm is NULL.
Above backtrace was submitted to cyrus-bugs+@andrews.cmu.edu
Created attachment 7734 [details, diff] cyrus-sasl-2.1.10-r2.patch Patch to create 2.1.10-r2 ebuild with digestmd5.patch (from upstream) which fixes segfault problem (tested here and it works!). Apply patch from /usr/portage. No changelog entries in patch.
The new ebuild is being added to portage with this new patch. The next -r? of sendmail I will bump the dependancies to >=cyrus-sasl-2.1.10-r2 Thanks for the work you did finding a resolution to this problem