# Postfix Setup

## Crispy Beef

I've recently followed the virtual email hosting guide below for a second time...

http://www.gentoo.org/doc/en/virt-mail-howto.xml

...this time I didn't require SSL stuff so just ditched it.  The mail server works just fine and everything seems cool.  However I am getting the following log entries now and then and wondered why?  Everything works as expected so i don't really know why the error is there?

```
Sep 28 13:49:15 ned1 postfix/smtpd[3102]: sql_select option missing

Sep 28 13:49:15 ned1 postfix/smtpd[3102]: auxpropfunc error no mechanism available

Sep 28 13:49:15 ned1 postfix/smtpd[3102]: _sasl_plugin_load failed on sasl_auxprop_plug_init for plugin: sql

Sep 28 13:49:15 ned1 postfix/smtpd[3102]: auxpropfunc error invalid parameter supplied

Sep 28 13:49:15 ned1 postfix/smtpd[3102]: _sasl_plugin_load failed on sasl_auxprop_plug_init for plugin: ldapdb
```

----------

## lxg

I don't know exactly, but that could be a little problem with your /etc/sasl2/smtpd.conf file.

Possibly you get the idea by comparing it to the other one that works for you. Or if not, post it here (but don't forget to remove the juicy details  :Wink: ).

----------

## Crispy Beef

That's the thing, I compared the two just to make sure as I'm fairly new to running Postfix et all, originally used qmail.  Here's the relevant config files.

I agree that the lodical choice for the problem is sasl

```
# Config file for /etc/sasl2/smtpd.conf

mech_list: PLAIN LOGIN

pwcheck_method: saslauthd
```

```
# Config file for /etc/postfix/main.cf

queue_directory = /var/spool/postfix

command_directory = /usr/sbin

daemon_directory = /usr/lib/postfix

mail_owner = postfix

# INTERNET HOST AND DOMAIN NAMES

#

myhostname = mail.example.com

mydomain = example.com

# RECEIVING MAIL

#

inet_interfaces = all

mydestination = mail.example.com

# REJECTING MAIL FOR UNKNOWN LOCAL USERS

#

unknown_local_recipient_reject_code = 550

# TRUST AND RELAY CONTROL

#

mynetworks_style = host

mynetworks = mysql:/etc/postfix/mysql-networks.cf

# ALIAS DATABASE

#

alias_maps = mysql:/etc/postfix/mysql-aliases.cf

relocated_maps = mysql:/etc/postfix/mysql-relocated.cf

# DELIVERY TO MAILBOX

#

home_mailbox = Maildir/

# PARALLEL DELIVERY TO THE SAME DESTINATION

#

local_destination_concurrency_limit = 2

default_destination_concurrency_limit = 10

# DEBUGGING CONTROL

#

debug_peer_level = 2

debugger_command =

         PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin

         xxgdb $daemon_directory/$process_name $process_id & sleep 5

# INSTALL-TIME CONFIGURATION INFORMATION

#

sendmail_path = /usr/sbin/sendmail

newaliases_path = /usr/bin/newaliases

mailq_path = /usr/bin/mailq

setgid_group = postdrop

html_directory = /usr/share/doc/postfix-2.2.10/html

manpage_directory = /usr/share/man

sample_directory = /etc/postfix

readme_directory = /usr/share/doc/postfix-2.2.10/readme

# FURTHER CONFIG FOR SASL AUTH

#

smtpd_sasl_auth_enable = yes

smtpd_sasl2_auth_enable = yes

smtpd_sasl_security_options = noanonymous

broken_sasl_auth_clients = yes

smtpd_sasl_local_domain =

smtpd_recipient_restrictions =

        permit_sasl_authenticated,

        permit_mynetworks,

        reject_unauth_destination

        reject_maps_rbl

local_transport = local

local_recipient_maps =

        $alias_maps

        unix:passwd.byname

        $virtual_mailbox_maps

virtual_transport = virtual

virtual_mailbox_domains = mysql:/etc/postfix/mysql-domains.cf

virtual_minimum_uid = 1000

virtual_gid_maps = static:1005

virtual_mailbox_maps = mysql:/etc/postfix/mysql-virtual-maps.cf

virtual_alias_maps = mysql:/etc/postfix/mysql-virtual.cf

virtual_uid_maps = static:1005

virtual_mailbox_base = /

#virtual_mailbox_limit =

maps_rbl_domains = relays.ordb.org,

            opm.blitzed.org,

            list.dsbl.org,

            sbl.spamhaus.org,

            cbl.abuseat.org
```

```
# Config file for /etc/init.d/saslauthd

# Initial (empty) options.

SASLAUTHD_OPTS=""

# Specify the authentications mechanism.

# *NOTE* For list see: saslauthd -v

# From 2.1.19, add "-r" to options for old behavior

# ie. reassemble user and realm to user@realm form.

# SASLAUTHD_OPTS="${SASLAUTH_MECH} -a pam -r"

SASLAUTHD_OPTS="${SASLAUTH_MECH} -a rimap -r"

# Specify the hostname for remote IMAP server.

# *NOTE* Only needed if rimap auth mech is used.

SASLAUTHD_OPTS="${SASLAUTHD_OPTS} -O localhost"

# Specify the number of worker processes to create.

#SASLAUTHD_OPTS="${SASLAUTHD_OPTS} -n 5"

# Enable credential cache, cache size, and timeout.

# *NOTE* Size is measured in kilobytes

#        Timeout is measured in seconds

#SASLAUTHD_OPTS="${SASLAUTHD_OPTS} -c -s 128 -t 30"
```

The /etc/postfix/master.cf file is in it's default configuration...aside there being an error in the MySQL files that are used to outline the database schema I'm running out of ideas.

I'll go through it all again to see if there's a typo or something I missed...

----------

## Crispy Beef

I think I've nailed it.  The problem is that cyrus-sasl was compiled with the USE flags mysql and ldap, but in the virtual email setup courier-authd talks to MySQL; cyrus just passes the details onto courier's auth daemon.  I've recompiled cyrus-sasl without - in my case - ldap and mysql USE flags and the error messages are now gone from the log file.  :Smile: 

----------

## trossachs

CB, do you know of a howto I could use for Postfix and Sasl as I now have a prob with Postfix and plain passwords?

----------

## rhygin

Just in case in anyone else is looking for an explanation and a fix for these errors...

 */var/log/syslog wrote:*   

>  sql_select option missing
> 
>  auxpropfunc error no mechanism available
> 
>  _sasl_plugin_load failed on sasl_auxprop_plug_init for plugin: sql

 

They occur, as Crispy Beef said, because Cyrus SASL has the SQL module installed but it is not configured or used. To get rid of the error messages either rebuild dev-libs/cyrus-sasl without MySQL/PostgreSQL support OR add the following line to your /etc/sasl2/smtpd.conf file

```
sql_select: dummy

```

-Rhygin

----------

## hurgh

Thanks,

The fix that rhygin posted fixed my errors.

I didnt want to re-compile without MYSQL, and I want that support just incase i have issues with the socket.

Thanks again.

-Hurgh-

----------

## Krellan

Thanks!

I was also getting that error message in my logfiles.

After adding that line to my /etc/sasl2/smtpd.conf file:

sql_select: dummy

The error message went away.  I restarted the saslauthd service, and also did "postfix reload" just to make sure.  I can still log in to get email, so that's good.

----------

