Package: dhcp-client
Version: 2.0pl5-19.1
Severity: normal

The problem arises when /etc/dhclient.conf contains a

        supersede domain-name "suffix.1 suffix.2";

directive which, like the supplied sample, contains two or more
domain names. The problem arises because dhclient-script does not
correctly quote the variable expansion:

--- dhclient-script-orig        2006-04-09 19:39:30.000000000 +0100
+++ dhclient-script     2006-04-09 19:36:24.000000000 +0100
@@ -36,7 +36,7 @@
 if [ -x /sbin/resolvconf ]; then
   make_resolv_conf() {
     R=""
-    [ x$new_domain_name != x ] && R="${R}search $new_domain_name
+    [ "x$new_domain_name" != x ] && R="${R}search $new_domain_name
 "
     for NMSRVR in $new_domain_name_servers; do
       R="${R}nameserver $NMSRVR


I also suspect, but haven't checked, that [ ! -z "$new_domain_name" ]
would probably be a cleaner way to perform this test, if you are
inclined to fix the several other places in the script where variable
expansion has not been quoted.

- Raz

-- System Information:
Debian Release: 3.1
Architecture: i386 (i686)
Kernel: Linux 2.6.15-1-686
Locale: LANG=en_AU, LC_CTYPE=en_AU (charmap=ISO-8859-1)

Versions of packages dhcp-client depends on:
ii  libc6                       2.3.2.ds1-22 GNU C Library: Shared libraries an

-- no debconf information
--- dhclient-script     2006-04-09 19:39:30.000000000 +0100
+++ dhclient-script-good        2006-04-09 19:36:24.000000000 +0100
@@ -36,7 +36,7 @@
 if [ -x /sbin/resolvconf ]; then
   make_resolv_conf() {
     R=""
-    [ x$new_domain_name != x ] && R="${R}search $new_domain_name
+    [ "x$new_domain_name" != x ] && R="${R}search $new_domain_name
 "
     for NMSRVR in $new_domain_name_servers; do
       R="${R}nameserver $NMSRVR

Reply via email to