Date: Sat, 11 Nov 1995 22:21:20 +0000 From: "John Edward Miller" <jem@mystery.milleredp.com> To: hackers@freebsd.org Subject: 2.0.5-R, Cyrus IMAPd, getpwnam() ? Message-ID: <199511120519.VAA21285@mystery.milleredp.com>
next in thread | raw e-mail | index | archive | help
I stand prepared to accept that it's my own idiocy, as (1) I'm no *nix wiz and (2) it's been about 2 yrs since I've laid finger to the curly-brace key in actually writing code, but... I'm trying to build the CMU Cyrus IMAP mail server on FreeBSD 2.0.5. I've encountered a couple minor glitches (one lex/flex _yylineno issue, their makefiles use makedepend and I hadn't installed X, and the need to include libcrypt.a in the lib list). After some monkeying around with trying to find shadow.h a subsequent R of TFManpages tells me that FreeBSD has shadow-password support in the standard pwd functions. Therefore I assume Cyrus should be built with unix/getpwnam() authentication and not unix_shadow/getspnam(). So far so good; it builds, inetd starts it. The problem: Upon attempting to log in, no matter what user, all passwords fail validation. If I start imapd as a command at a shell prompt and just talk to it via stdin/stdout, correct passwords do allow login. After some fiddling with gdb and adding some additional debug code, it's apparent that getpwnam() is (correctly) retrieving the encrypted password from master.passwd when it's run at the shell prompt, but (incorrectly) getting the * from passwd when run through imapd. Is it me? Is it a permission problem? A shared-library issue somehow? The imapd binary is owned by root.bin. Instant comprehensive fixes preferred ;-); any useful info or pointers appreciated. Thanks. John. --------------------------------------------------------------- "It's not possible to belong to a club if one has to arrest the members; it's not sociable" - Marquis de Galliffet
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199511120519.VAA21285>