On Sat, Nov 25, 2006 at 11:42:17AM +0100, Marc Haber wrote: > Agreed. We're going to introduce basic input sanitazion post-etch. > Sorry, but this is simply too late for etch now.
Maybe it's late (or dangerous) to do so in the config scripts but, ¿how about chaning exim4's (server) init.d script so that it warns on startup if it finds a botched (i.e. with non-ASCII chars) /etc/mailname? That way (on installation, when exim4 is started) the user would be presented a warning (or error) that the installation is not OK and presented with a proper message. How about the attached patch improving this? Regards Javier
--- exim4.orig 2006-11-25 13:01:32.000000000 +0100
+++ exim4 2006-11-25 13:06:59.000000000 +0100
@@ -41,6 +41,7 @@
UPEX4OPTS=''
PIDFILE="/var/run/exim4/exim.pid"
QRPIDFILE="/var/run/exim4/eximqr.pid"
+MAILNAME=/etc/mailname
[ -f /etc/default/exim4 ] && . /etc/default/exim4
upex4conf() {
@@ -208,6 +209,20 @@
fi
}
+# check the mailname
+ismailnamevalid()
+{
+# does it exist?
+if [ ! -e "$MAILNAME" ] ; then
+ log 1 "Error! /etc/mailname is missing. Exiting."
+ exit 1
+fi
+# does it contains invalid (non-ASCII) characters?
+if cat -v "$MAILNAME" | grep -q '\^' ; then
+ log 1 "Warning! /etc/mailname contains invalid (non-ASCII) characters.
Please review its contents."
+fi
+}
+
# check for non-empty paniclog
warn_paniclog()
{
@@ -224,6 +239,7 @@
# regenerate exim4.conf
upex4conf
isconfigvalid
+ ismailnamevalid
start_exim
log_end_msg 0
warn_paniclog
signature.asc
Description: Digital signature

