[Resolvconf-devel] Bug#775356: resolvconf: bashisms in /etc/dhcp/dhclient-enter-hooks.d/resolvconf: shopt and [[ ... ]]

Axel Beckert abe at debian.org
Wed Jan 14 16:37:35 UTC 2015


Package: resolvconf
Severity: serious
Version: 1.76
Tags: ipv6
Justification: breaks IPv6 networking / bashism in '#!/bin/sh' sourced script (Policy §10.4)

Dear Thomas,

on a fresh Jessie installation, the file
/etc/dhcp/dhclient-enter-hooks.d/resolvconf is sourced by
isc-dhcp-client's /sbin/dhclient-script which has a "#!/bin/sh" shebang
line (since 4.3.1-2 / 27th of September 2014 / Shellshock) on which
resolvconf has no influence.

But /etc/dhcp/dhclient-enter-hooks.d/resolvconf contains two bashisms
which only appear if DHCPv6 is in use:

# dhclient -6 eth0
/sbin/dhclient-script: 55: /sbin/dhclient-script: shopt: not found
/sbin/dhclient-script: 60: /sbin/dhclient-script: [[: not found
/sbin/dhclient-script: 60: /sbin/dhclient-script: [[: not found
/sbin/dhclient-script: 60: /sbin/dhclient-script: [[: not found
/sbin/dhclient-script: 68: /sbin/dhclient-script: shopt: not found
# 

The affected lines are:

https://sources.debian.net/src/resolvconf/1.76/etc/dhcp/dhclient-enter-hooks.d/resolvconf/#L55 and
https://sources.debian.net/src/resolvconf/1.76/etc/dhcp/dhclient-enter-hooks.d/resolvconf/#L60

Purging resolvconf fixes the issue.

I may come up with a proper patch later. But something like 'printf "%s"
"$nameserver" | grep -qi "^fe80::"' as test in the if clause should do
the trick. (Thanks to Goswin Brederlow for the idea!)

P.S.: No wicd involved this time. ;-)

-- System Information:
Debian Release: 8.0
  APT prefers testing
  APT policy: (500, 'testing')
Architecture: amd64 (x86_64)

Kernel: Linux 3.16.0-4-amd64 (SMP w/8 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)

Versions of packages resolvconf depends on:
ii  debconf [debconf-2.0]  1.5.55
ii  ifupdown               0.7.52
ii  init-system-helpers    1.22
ii  initscripts            2.88dsf-58
ii  lsb-base               4.1+Debian13+nmu1

resolvconf recommends no packages.

resolvconf suggests no packages.

-- debconf-show failed



-- System Information:
Debian Release: 8.0
  APT prefers unstable
  APT policy: (990, 'unstable'), (600, 'testing'), (500, 'buildd-unstable'), (400, 'stable'), (110, 'experimental'), (1, 'buildd-experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 3.17-rc5-amd64 (SMP w/1 CPU core)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: sysvinit (via /sbin/init)



More information about the Resolvconf-devel mailing list