Package: sasl2-bin
Version: 2.1.27+dfsg-1+deb10u1
Severity: important
saslauthd logs to /var/log/auth.log through syslog. There are a number of
other programs that are monitoring this log for entries that match a specific
format, for example logwatch. There should be lines like:
saslauthd[892]: do_auth : auth failure: [user=foobar]
[service=smtp] [realm=example.com] [mech=pam] [reason=PAM auth error]
When an unsuccessful login attempt has occured due to an incorrect passowrd.
Unfortunately it is presently generating:
saslauthd[892]: : auth failure: [user=foobar]
[service=smtp] [realm=example.com] [mech=pam] [reason=PAM auth error]
The matching string do_auth is missing. I beleive saslauthd-main.c line 433
which is:
logger(L_INFO, L_FUNC, "auth failure: [user=%s] [service=%s] [realm=%s]
[mech=%s] [reason=%s]", \
login, service, realm, auth_mech->name,
strlen(response) >= 4 ? response+3 : "Unknown");
generates this log entry but L_FUNC must not be set as the logger function
defined in utils.c line 83:
syslog(priority, "%-16s: %s", function, buffer);
should have do_auth for function but it doesn't. Looking deeper it seems that
utils.h attempts to be slick and determine function called by:
/* some magic to grab function names */
#ifdef HAVE_FUNC
# define L_FUNC __func__
# define HAVE_L_FUNC 1
#elif defined(HAVE_PRETTY_FUNCTION)
# define L_FUNC __PRETTY_FUNCTION__
# define HAVE_L_FUNC 1
#elif defined(HAVE_FUNCTION)
# define L_FUNC __FUNCTION__
# define HAVE_L_FUNC 1
#else
# define L_FUNC ""
# undef HAVE_L_FUNC
#endif
So it looks like in debian the package does not define HAVE_FUNC which leads to
L_FUNC being set to " ".
I downloaded the source from the master and it seems that gcc implements this.
Compiling on my desktop I get:
checking whether gcc implements __func__... yes
Any chance this package can be compiled with this feature?
-- System Information:
Debian Release: 10.3
APT prefers stable-updates
APT policy: (500, 'stable-updates'), (500, 'stable')
Architecture: amd64 (x86_64)
Kernel: Linux 4.19.0-8-amd64 (SMP w/2 CPU cores)
Locale: LANG=en_CA.UTF-8, LC_CTYPE=en_CA.UTF-8 (charmap=UTF-8),
LANGUAGE=en_CA:en (charmap=UTF-8)
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
Versions of packages sasl2-bin depends on:
ii db-util 5.3.1+nmu1
ii debconf [debconf-2.0] 1.5.71
ii init-system-helpers 1.56+nmu1
ii libc6 2.28-10
ii libdb5.3 5.3.28+dfsg1-0.5
ii libkrb5-3 1.17-3
ii libldap-2.4-2 2.4.47+dfsg-3+deb10u1
ii libpam0g 1.3.1-5
ii libsasl2-2 2.1.27+dfsg-1+deb10u1
ii libssl1.1 1.1.1d-0+deb10u2
ii lsb-base 10.2019051400
sasl2-bin recommends no packages.
sasl2-bin suggests no packages.
-- Configuration Files:
/etc/default/saslauthd changed:
START=yes
DESC="SASL Authentication Daemon"
NAME="saslauthd"
MECHANISMS="pam"
MECH_OPTIONS=""
THREADS=5
OPTIONS="-c -m /var/run/saslauthd"
-- debconf information:
cyrus-sasl2/upgrade-sasldb2-failed:
cyrus-sasl2/upgrade-sasldb2-backup-failed:
cyrus-sasl2/purge-sasldb2: false
cyrus-sasl2/backup-sasldb2: /var/backups/sasldb2.bak