Sendmail/SMTP AUTH/SASL/PAM/NetInfo on Mac OS X 10.2.8


I have been able to successfully get Sendmail (8.12.9) working with SMTP AUTH, Cyrus SASL 2.1.15, Pluggable Authentication Modules, and NetInfo on Mac OS X 10.2.8

I'm sure there's probably a few people interested in this besides myself, so I'll share what I discovered:

OK, here's the procedure:


1. Install Mac OS X 10.2.8 on your machine
a. Mac OS X 10.2.8
b. Mac OS X 10.2 Developer Tools (Dec 2002)
c. Mac OS X 10.2 Dev Tools (Aug 2003 update)

2. Download the following packages...
a. Sendmail-40 from Darwin 6.8 <http://developer.apple.com/darwin/>
i. Sendmail security patch <http://www.sendmail.org/patches/parse8.359.2.8>
b. dlcompat-20030629 from <http://www.opendarwin.org/projects/dlcompat/>
c. cyrus-sasl-2.1.15 from CMU <ftp://ftp.andrew.cmu.edu/pub/cyrus/>

3. Compile and install dlcompat-20030629
a. ./configure
b. make
c. make install

4. Compile and install cyrus-sasl-2.1.15
a. ln -s /usr/include/pam /usr/include/security
b. ./configure --enable-login --disable-krb4 --disable-gssapi
c. make
d. make install

e. the utils will not work, so following instructions from <http://sial.org/sendmail/macosx/smtpauth/>, do (if you want to use sasldb)
i. cd utils
ii. cc saslpasswd.c -I.. -I../include -lsasl ../sasldb/.libs/libsasldb.al -o saslpasswd2
iii cc sasldblistusers.c -I.. -I../include -lsasl2 ../sasldb/.libs/libsasldb.al -o sasldblistusers2
iv. you may copy these to /usr/local/sbin, if you like

NOTE: ./saslpasswd2 -a Sendmail -c userid@hostname.local. for netinfo support

5. Compile and install sendmail-40
a. make site.config.m4
i. APPENDDEF(`confENVDEF', `-DSASL=20115')
ii. APPENDDEF(`conf_sendmail_LIBS', `-lsasl2.2.0.15')
iii. APPENDDEF(`confINCDIRS', `-I/usr/local/include/sasl')
iv. APPENDDEF(`confLIBDIRS', `-L/usr/local/lib')
b. ./Build -n
c. ./Build
d. ./Build install

6. Make new sendmail.cf (with auth mechs and trust_auth_mech, etc...)

7. echo "pwdcheck_method: pam" > /usr/lib/sasl2/Sendmail.conf

8. cp /etc/pam.d/chkpasswd /etc/pam.d/smtp

9. fire up sendmail, set up client (userid must be userid@hostname.local.), send mail.

10. I have been able to successfully relay mail from Mac OS X Mail 1.2.5 (v552) using SMTP AUTH with both PLAIN and MD5 [which is CRAM-MD5]), with the regular NetInfo passwords.

Posted: Sat - September 27, 2003 at 04:32      


©