=== Configuring

This mini-howto helps you to install the saslauthd server using postfix which
will authenticate using users and passwords from `/etc/{passwd,shadow}`.

First install the necessary packages:

--------------
# pacman-g2 -S postfix saslauthd
--------------

Enable sasl in postfix's config by appending the following lines to
`/etc/postfix/main.cf`:

--------------
smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain = $myhostname
smtpd_sasl_security_options = noanonymous
--------------

You may want to append

--------------
broken_sasl_auth_clients = yes
--------------

as well.

Put the following lines to `/usr/lib/sasl2/smtpd.conf`:

--------------
pwcheck_method: saslauthd
mech_list: PLAIN LOGIN
--------------

Edit `/etc/sysconfig/saslauthd` by changing the following lines:

--------------
options=""
--------------

to

--------------
options="-a shadow"
--------------

Now you can start saslauthd by

--------------
service saslauthd start
--------------

as well as enabled in by default on startup:

--------------
service saslauthd add
--------------

Issue `id postfix` and see if the `daemon` group is listed. If not, then add
`postfix` to the `daemon` group:

--------------
usermod -G daemon postfix
--------------

Finally restart postfix:

--------------
service postfix restart
--------------

Compeleted!

=== Verifying

We test it using telnet. We need perl to generate the string for the SASL
authentication:

--------------
$ perl -MMIME::Base64 -e 'print encode_base64("vmiklos\0vmiklos\0secret");'
dm1pa2xvcwB2bWlrbG9zAHNlY3JldA==
--------------

Then use telnet:

--------------
$ telnet host.com 25
Trying ip...
Connected to host.com.
Escape character is '^]'.
220 host.com ESMTP Postfix
ehlo my.dhcp
250-host.com
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-AUTH LOGIN PLAIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
AUTH PLAIN dm1pa2xvcwB2bWlrbG9zAHNlY3JldA==
235 2.0.0 Authentication successful
quit
221 2.0.0 Bye
Connection closed by foreign host.
--------------
