Hullo users,
I am having problems with smtp authenticating  to the virtual domains mysql
database through pam-mysql module 0.7 and i am using cyrus sasl2.1.23 on
slackware linux 13.1. Below are the commands executed and the
configurations.
root@xxxx:/# ps aux | grep saslauthd
root      3443  0.0  0.0  34524   752 pts/0    S    10:53   0:00 saslauthd
-a pam -d
root      3507  0.0  0.0  34524  1096 ?        Ss   11:22   0:00 saslauthd
-a pam
root      3508  0.0  0.0  34524   644 ?        S    11:22   0:00 saslauthd
-a pam
root      3509  0.0  0.0  34524   596 ?        S    11:22   0:00 saslauthd
-a pam
root      3510  0.0  0.0  34524   596 ?        S    11:22   0:00 saslauthd
-a pam
root      3511  0.0  0.0  34524   596 ?        S    11:22   0:00 saslauthd
-a pam
root      3518  0.0  0.0   4116   604 pts/0    S+   11:26   0:00 grep
saslauthd

root@xxxx:/# saslauthd -v
saslauthd 2.1.23
authentication mechanisms: getpwent pam rimap shadow ldap

root@xxxx:/# perl -MMIME::Base64 -e 'print
encode_base64("\000xxx\@xxx\000xxxxxxx")'
AG1ra0Bta2sAbWtrMTIz
root@xxxx:/# telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 xxx.xxx.xx.xx ESMTP Postfix
ehlo localhost
250-xxx.xxx.xx.xx
250-PIPELINING
250-SIZE 15000000
250-VRFY
250-ETRN
250-AUTH PLAIN LOGIN
250-AUTH=PLAIN LOGIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
AUTH PLAIN AG1ra0Bta2sAbWtrMTIz
Connection closed by foreign host.

root@xxxx:/# tail -f var/log/auth
postfix/smtpd[3437]: sql_select option missing
postfix/smtpd[3437]: auxpropfunc error no mechanism available
postfix/smtpd[3437]: _sasl_plugin_load failed on sasl_auxprop_plug_init for
plugin: sql
postfix/smtpd[3437]: auxpropfunc error invalid parameter supplied
postfix/smtpd[3437]: _sasl_plugin_load failed on sasl_auxprop_plug_init for
plugin: ldapdb

root@xxxx:/etc/pam.d# cat smtp

auth required /lib/security/pam_mysql.so user=mailnew passwd=post2011new
host=127.0.0.1 db=postfix table=mailbox usercolumn=username
passwdcolumn=password crypt=1

account sufficient /lib/security/pam_mysql.so  user=mailnew
passwd=post2011new  host=127.0.0.1 db=postfix table=mailbox
usercolumn=username passwdcolumn=password crypt=1

root@xxxx:/etc/default# cat saslauthd
# This needs to be uncommented before saslauthd will be run automatically
START=yes

PWDIR="/var/state/saslauthd"
PARAMS="-m ${PWDIR}"
PIDFILE="${PWDIR}/saslauthd.pid"
#PIDFILE="${PWDIR}/saslauthd.pid"

# You must specify the authentication mechanisms you wish to use.
# This defaults to "pam" for PAM support, but may also include
# "shadow" or "sasldb", like this:
# MECHANISMS="pam shadow"

MECHANISMS="pam"

# Other options (default: -c)
# See the saslauthd man page for information about these options.
#
# Example for postfix users: "-c -m /var/state/saslauthd"
# Note: See /usr/share/doc/sasl2-bin/README.Debian
OPTIONS="-c"
THREADS=5

#make sure you set the options here otherwise it ignores params above and
will not work
OPTIONS="-c -m /var/state/saslauthd"


root@xxxx:/etc/sysconfig# cat saslauthd
SOCKETDIR=/var/state/saslauthd
MECH=pam
FLAGS="-r"

SMTP configurstions in main.cf

smtp_sasl_mechanism_filter = plain, login
smtpd_recipient_restrictions =
permit_mynetworks,permit_sasl_authenticated,reject_unauth_destination,
smtpd_sasl_auth_enable = yes
smtpd_sasl_authenticated_header = yes
smtpd_sasl_local_domain = $myhostname
smtpd_sasl_path = /usr/lib64/sasl2
smtpd_sasl_security_options = noanonymous
smtpd_sasl_type = cyrus

root@xxxx:/usr/share/doc/cyrus-sasl-2.1.23/doc# testsaslauthd -u <username>
-p <password>
0: NO "authentication failed"

root@xxxx:/var/log# testsaslauthd -u <username>  -p <password>  -f
/var/state/saslauthd/
connect() : Connection refused

root@xxxx:# tail -f /var/log/auth

saslauthd[3508]: DEBUG: auth_pam: pam_start failed: Critical error -
immediate abort

saslauthd[3508]: do_auth         : auth failure: [user=<username@domain>]
[service=imap] [realm=] [mech=pam] [reason=PAM start error]


testsaslauthd -u username@domain -p xxxx -f /var/state/saslauthd/mux -s smtp


root@mailbackup:/# saslfinger -s
saslfinger - postfix Cyrus sasl configuration Fri May  6 07:37:11 EAT 2011
version: 1.0.2
mode: server-side SMTP AUTH

-- basics --
Postfix: 2.7.2
System: Slackware 13.1.0

-- smtpd is linked to --
        libsasl2.so.2 => /usr/local/lib/libsasl2.so.2 (0x00007f970335e000)

-- active SMTP AUTH and TLS parameters for smtpd --
broken_sasl_auth_clients = yes
smtpd_sasl_auth_enable = yes
smtpd_sasl_authenticated_header = yes
smtpd_sasl_local_domain = $myhostname
smtpd_sasl_path = /usr/lib64/sasl2
smtpd_sasl_security_options = noanonymous
smtpd_sasl_type = cyrus


-- listing of /usr/lib64/sasl2 --
total 1444
drwxr-xr-x 2 root root   4096 May  5 16:27 .
drwxr-xr-x 9 root root   4096 May  4 16:27 ..
-rw-r--r-- 1 root root    493 Apr 15 11:09 1smtpw
-rwxr-xr-x 1 root root    800 May  4 16:27 libanonymous.la
-rwxr-xr-x 1 root root  65096 May  4 16:27 libanonymous.so
-rwxr-xr-x 1 root root  65096 May  4 16:27 libanonymous.so.2
-rwxr-xr-x 1 root root  65096 May  4 16:27 libanonymous.so.2.0.23
-rwxr-xr-x 1 root root    796 May  4 16:27 libldapdb.la
-rwxr-xr-x 1 root root  65960 May  4 16:27 libldapdb.so
-rwxr-xr-x 1 root root  65960 May  4 16:27 libldapdb.so.2
-rwxr-xr-x 1 root root  65960 May  4 16:27 libldapdb.so.2.0.23
-rwxr-xr-x 1 root root    776 May  4 16:27 liblogin.la
-rwxr-xr-x 1 root root  67354 May  4 16:27 liblogin.so
-rwxr-xr-x 1 root root  67354 May  4 16:27 liblogin.so.2
-rwxr-xr-x 1 root root  67354 May  4 16:27 liblogin.so.2.0.23
-rwxr-xr-x 1 root root    776 May  4 16:27 libplain.la
-rwxr-xr-x 1 root root  67064 May  4 16:27 libplain.so
-rwxr-xr-x 1 root root  67064 May  4 16:27 libplain.so.2
-rwxr-xr-x 1 root root  67064 May  4 16:27 libplain.so.2.0.23
-rwxr-xr-x 1 root root    828 May  4 16:27 libsasldb.la
-rwxr-xr-x 1 root root 115046 May  4 16:27 libsasldb.so
-rwxr-xr-x 1 root root 115046 May  4 16:27 libsasldb.so.2
-rwxr-xr-x 1 root root 115046 May  4 16:27 libsasldb.so.2.0.23
-rwxr-xr-x 1 root root    778 May  4 16:27 libsql.la
-rwxr-xr-x 1 root root  85392 May  4 16:27 libsql.so
-rwxr-xr-x 1 root root  85392 May  4 16:27 libsql.so.2
-rwxr-xr-x 1 root root  85392 May  4 16:27 libsql.so.2.0.23
-rw-r--r-- 1 root root    442 May  5 16:29 smtpd.conf

-- listing of /usr/local/lib/sasl2 --
total 1444
drwxr-xr-x 2 root root   4096 May  5 16:27 .
drwxr-xr-x 9 root root   4096 May  4 16:27 ..
-rw-r--r-- 1 root root    493 Apr 15 11:09 1smtpw
-rwxr-xr-x 1 root root    800 May  4 16:27 libanonymous.la
-rwxr-xr-x 1 root root  65096 May  4 16:27 libanonymous.so
-rwxr-xr-x 1 root root  65096 May  4 16:27 libanonymous.so.2
-rwxr-xr-x 1 root root  65096 May  4 16:27 libanonymous.so.2.0.23
-rwxr-xr-x 1 root root    796 May  4 16:27 libldapdb.la
-rwxr-xr-x 1 root root  65960 May  4 16:27 libldapdb.so
-rwxr-xr-x 1 root root  65960 May  4 16:27 libldapdb.so.2
-rwxr-xr-x 1 root root  65960 May  4 16:27 libldapdb.so.2.0.23
-rwxr-xr-x 1 root root    776 May  4 16:27 liblogin.la
-rwxr-xr-x 1 root root  67354 May  4 16:27 liblogin.so
-rwxr-xr-x 1 root root  67354 May  4 16:27 liblogin.so.2
-rwxr-xr-x 1 root root  67354 May  4 16:27 liblogin.so.2.0.23
-rwxr-xr-x 1 root root    776 May  4 16:27 libplain.la
-rwxr-xr-x 1 root root  67064 May  4 16:27 libplain.so
-rwxr-xr-x 1 root root  67064 May  4 16:27 libplain.so.2
-rwxr-xr-x 1 root root  67064 May  4 16:27 libplain.so.2.0.23
-rwxr-xr-x 1 root root    828 May  4 16:27 libsasldb.la
-rwxr-xr-x 1 root root 115046 May  4 16:27 libsasldb.so
-rwxr-xr-x 1 root root 115046 May  4 16:27 libsasldb.so.2
-rwxr-xr-x 1 root root 115046 May  4 16:27 libsasldb.so.2.0.23
-rwxr-xr-x 1 root root    778 May  4 16:27 libsql.la
-rwxr-xr-x 1 root root  85392 May  4 16:27 libsql.so
-rwxr-xr-x 1 root root  85392 May  4 16:27 libsql.so.2
-rwxr-xr-x 1 root root  85392 May  4 16:27 libsql.so.2.0.23
-rw-r--r-- 1 root root    442 May  5 16:29 smtpd.conf




-- content of /usr/lib64/sasl2/smtpd.conf --
#Global Parameters
log_level: 7
allow_plaintext: true
pwcheck_method: saslauthd
auxprop_plugin: mysql
mech_list: plain login
sql_engine: mysql
sql_database: postfix
sql_user: --- replaced ---
sql_hostnames:127.0.0.1
sql_passwd: --- replaced ---
sql_select: select password from mailbox where username='%u@%r' AND active
='1'
# --------- saslauthd parameters-------------#
saslauthd_path : /var/state/saslauthd/mux
#saslauthd_path : /var/state/saslauthd


-- content of /usr/local/lib/sasl2/smtpd.conf --
#Global Parameters
log_level: 7
allow_plaintext: true
pwcheck_method: saslauthd
auxprop_plugin: mysql
mech_list: plain login
sql_engine: mysql
sql_database: postfix
sql_user: --- replaced ---
sql_hostnames:127.0.0.1
sql_passwd: --- replaced ---
sql_select: select password from mailbox where username='%u@%r' AND active
='1'
# --------- saslauthd parameters-------------#
saslauthd_path : /var/state/saslauthd/mux
#saslauthd_path : /var/state/saslauthd



-- active services in /etc/postfix/master.cf --
# service type  private unpriv  chroot  wakeup  maxproc command + args
#               (yes)   (yes)   (yes)   (never) (100)
smtp      inet  n       -       n       -       -       smtpd -v
  -o smtpd_sasl_auth_enable=yes
pickup    fifo  n       -       n       60      1       pickup
cleanup   unix  n       -       n       -       0       cleanup
qmgr      fifo  n       -       n       300     1       qmgr
tlsmgr    unix  -       -       n       1000?   1       tlsmgr
rewrite   unix  -       -       n       -       -       trivial-rewrite
bounce    unix  -       -       n       -       0       bounce
defer     unix  -       -       n       -       0       bounce
trace     unix  -       -       n       -       0       bounce
verify    unix  -       -       n       -       1       verify
flush     unix  n       -       n       1000?   0       flush
proxymap  unix  -       -       n       -       -       proxymap
proxywrite unix -       -       n       -       1       proxymap
smtp      unix  -       -       n       -       -       smtp
relay     unix  -       -       n       -       -       smtp
        -o smtp_fallback_relay=
showq     unix  n       -       n       -       -       showq
error     unix  -       -       n       -       -       error
retry     unix  -       -       n       -       -       error
discard   unix  -       -       n       -       -       discard
local     unix  -       n       n       -       -       local
virtual   unix  -       n       n       -       -       virtual
lmtp      unix  -       -       n       -       -       lmtp
anvil     unix  -       -       n       -       1       anvil
scache    unix  -       -       n       -       1       scache
maildrop  unix  -       n       n       -       -       pipe
  flags=ODRhu user=popmail:popmail argv=/usr/bin/maildrop -w 90 -d ${user}@
${nexthop}
   ${extension} ${recipient} ${user} ${nexthop}
cyrus     unix  -       n       n       -       -       pipe
  user=cyrus argv=/cyrus/bin/deliver -e -r ${sender} -m ${extension} ${user}
old-cyrus unix  -       n       n       -       -       pipe
  flags=R user=cyrus argv=/cyrus/bin/deliver -e -m ${extension} ${user}

-- mechanisms on localhost --
250-AUTH PLAIN LOGIN
250-AUTH=PLAIN LOGIN


-- end of saslfinger output --


strace testsaslauthd -u username@domain -p xxxx -f /var/state/saslauthd/mux
-s smtp

root@xxxxx:/# strace testsaslauthd -u username@domain -p xxx -f
/var/state/saslauthd/mux -s smtp
execve("/usr/local/sbin/testsaslauthd", ["testsaslauthd", "-u", "
m...@bedrock.mak.ac.ug", "-p", "mkk123", "-f", "/var/state/saslauthd/mux",
"-s", "smtp"], [/* 31 vars */]) = 0
brk(0)                                  = 0x603000
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
0x7f45270b0000
access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or
directory)
open("/usr/local/ssl/lib64/tls/x86_64/libmysqlclient.so.16", O_RDONLY) = -1
ENOENT (No such file or directory)
stat("/usr/local/ssl/lib64/tls/x86_64", 0x7fff74afb020) = -1 ENOENT (No such
file or directory)
open("/usr/local/ssl/lib64/tls/libmysqlclient.so.16", O_RDONLY) = -1 ENOENT
(No such file or directory)
stat("/usr/local/ssl/lib64/tls", 0x7fff74afb020) = -1 ENOENT (No such file
or directory)
open("/usr/local/ssl/lib64/x86_64/libmysqlclient.so.16", O_RDONLY) = -1
ENOENT (No such file or directory)
stat("/usr/local/ssl/lib64/x86_64", 0x7fff74afb020) = -1 ENOENT (No such
file or directory)
open("/usr/local/ssl/lib64/libmysqlclient.so.16", O_RDONLY) = -1 ENOENT (No
such file or directory)
stat("/usr/local/ssl/lib64", 0x7fff74afb020) = -1 ENOENT (No such file or
directory)
open("/etc/ld.so.cache", O_RDONLY)      = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=92764, ...}) = 0 , ...etc


root@xxxx:/# testsaslauthd -u username@domain -p xxxxxx -f
/var/state/saslauthd/mux -s smtp
connect() : No such file or directory

How can i fix this to confirm that mysql is being queried when saslauthd is
run, so pam_mysql is doing its job.

Thanx in advance

Reply via email to