Bug#653053: ldap2zone: Sending email every hour fill up the mail spool
I discovered this problem on a freshly installed Debian Edu main-server.
The mail box for the root user is quickly filling up with emails from
the cron job ldap2zone, calling /usr/sbin/ldap2bind at boot and every
hour and causing an email with this content to be sent:
Reloading the zone '0.168.192.in-addr.arpa.' was successful
Reloading the zone '10.in-addr.arpa.' was successful
Reloading the zone '1.168.192' was successful
Reloading the zone 'intern' was successful
Reloading the zone 'subnet00.intern' was successful
Reloading the zone 'subnet01.intern' was successful
This behaviour is going to fill up /var/ on Debian Edu servers, causing
Debian Edu servers to fail after a short time. I'm setting severity to
important though this problem would be critical to fix for Debian Edu.
Please change the cron job in Debian/Squeeze to only send emails on
errors or not at all, and redirect the output on successful runs to
/var/log/ somewhere. I would recommend rewriting the script to syslog
messages instead of printing to stdout. This can be done by replacing
echo/printf with 'logger -t ldap2bind'.
This patch would solve the problem. It might be a good idea to convert
some of the other echo/print statemets to log to syslog as well.
--- ldap2zone-0.1.orig/debian/patches/05_correct_bashisms_ldap2bind.dpatch 2011-12-23 08:28:53.000000000 +0100
+++ ldap2zone-0.1/debian/patches/05_correct_bashisms_ldap2bind.dpatch 2011-12-23 08:31:22.999519872 +0100
@@ -26,8 +26,8 @@
result=$($rndc reload $domain 2>&1)
if [ $? -ne 0 ]; then
- echo -e "Reloading the zone '$domain' failed:\n$result" 1>&2
-+ printf "Reloading the zone '$domain' failed: $result\n" 1>&2
++ logger -t ldap2bind "Reloading the zone '$domain' failed: $result\n"
-+ printf "Reloading the zone '$domain' was successful\n" 1>&2
++ logger -t ldap2bind "Reloading the zone '$domain' was successful\n"