[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#653053: ldap2zone: Sending email every hour fill up the mail spool



Package: ldap2zone
Version: 0.1-7
Severity: important
Tags: patch
User: debian-edu@lists.debian.org
Usertags: debian-edu

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"
 +	else
-+		printf "Reloading the zone '$domain' was successful\n" 1>&2
++		logger -t ldap2bind "Reloading the zone '$domain' was successful\n"
  	fi
  done
-- 
Happy hacking
Petter Reinholdtsen



Reply to: