Hi Sam, On Tue, Aug 13, 2013 at 09:49:15PM -0400, Sam Varshavchik wrote: > Remko van der Vossen writes: > > >Hello, > > > >I am experiencing some troubles in getting courier-authlib and > >courier-imap running successfully. When I presently try to log into the > >imap server using thunderbird (using basic passwd authentication) the > >authdaemond child process dies with a segfault as can be seen in the > >below logging: > > > >Aug 13 14:53:20 [imapd] LOGIN FAILED, user=revossen, ip=[172.19.201.250] > >Aug 13 14:53:20 [imapd] authentication error: Input/output error > >Aug 13 14:53:20 [kernel] authdaemond[16376]: segfault at 0 ip > >00007fee7cdc55ca sp 00007fff452fba38 error 4 in > >libc-2.17.so[7fee7cd42000+169000] > > > >I attached a gdb to a running child instance and received the following > >backtrace when the segfault happened: > > > >Program received signal SIGSEGV, Segmentation fault. > >0x00007f0ac01d25ca in strcmp () from /lib/libc.so.6 > >(gdb) bt > >#0 0x00007f0ac01d25ca in strcmp () from /lib/libc.so.6 > >#1 0x00007f0abfb42e29 in do_authcheckpassword () from /usr/lib/courier- > >authlib/libcourierauthcommon.so > > What platform is this. Looks like something that's fairly old, if it's > using the pwd module. Most modern platforms should be using PAM now. > > Looks like your platform's crypt() is returning NULL, that's the only path > from do_authcheckpassword() into strcmp(). Most likely you got a no-op stub > for your crypt(), and you will need some special linking flags to get the > real crypt() linked with the code. That's something that you'll need to > figure out.
Thanks for the response, and sorry for the delay. The system is not old, as you can see from the package versions. The system is not using PAM on purpose. I checked which crypt libcourierauthcommon.so links to (/lib/libcrypt.so.1) and checked the functionality of that crypt with a short test program. Crypt is returning me a proper encrypted version of the key. I do however need to #define _XOPEN_SOURCE, to enable crypt as per man crypt. If I do not supply this #define I get a sigsegv. Could it be that courier does not specify this #define where it uses crypt? And if not, should it? Regards, Remko van der Vossen ------------------------------------------------------------------------------ LIMITED TIME SALE - Full Year of Microsoft Training For Just $49.99! 1,500+ hours of tutorials including VisualStudio 2012, Windows 8, SharePoint 2013, SQL 2012, MVC 4, more. BEST VALUE: New Multi-Library Power Pack includes Mobile, Cloud, Java, and UX Design. Lowest price ever! Ends 9/20/13. http://pubads.g.doubleclick.net/gampad/clk?id=58041151&iu=/4140/ostg.clktrk _______________________________________________ courier-users mailing list courier-users@lists.sourceforge.net Unsubscribe: https://lists.sourceforge.net/lists/listinfo/courier-users