Bug 43907 - /sbin/dhclient-script: 94: /etc/dhcp/dhclient-exit-hooks.d/resolvconf: Bad substitution
/sbin/dhclient-script: 94: /etc/dhcp/dhclient-exit-hooks.d/resolvconf: Bad su...
Status: CLOSED FIXED
Product: UCS
Classification: Unclassified
Component: Network
UCS 4.2
Other Linux
: P5 normal (vote)
: UCS 4.2
Assigned To: Philipp Hahn
Stefan Gohmann
: interim-4
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2017-03-16 12:30 CET by Stefan Gohmann
Modified: 2017-04-04 18:29 CEST (History)
1 user (show)

See Also:
What kind of report is it?: Development Internal
What type of bug is this?: ---
Who will be affected by this bug?: ---
How will those affected feel about the bug?: ---
User Pain:
Enterprise Customer affected?:
School Customer affected?:
ISV affected?:
Waiting Support:
Flags outvoted (downgraded) after PO Review:
Ticket number:
Bug group (optional):
Max CVSS v3 score:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Stefan Gohmann univentionstaff 2017-03-16 12:30:05 CET
I found the following error message in my Jenkins test setup:

Mar 16 03:04:00 admember228 systemd[1]: Started LSB: Prepare console.
Mar 16 03:04:00 admember228 systemd[1]: Starting LSB: Set console font and keymap...
Mar 16 03:04:00 admember228 console-setup[359]: Setting up console font and keymap...done.
Mar 16 03:04:00 admember228 systemd[1]: Started LSB: Set console font and keymap.
Mar 16 03:04:00 admember228 networking[318]: Configuring network interfaces...Reloading bind9 Domain Name Server (DNS)...ldap...rndc: connect failed: 127.0.0.1#55555: connection refused
Mar 16 03:04:00 admember228 networking[318]: proxy...rndc: connect failed: 127.0.0.1#953: connection refused
Mar 16 03:04:00 admember228 networking[318]: failed.
Mar 16 03:04:00 admember228 networking[318]: File: /etc/dhcp/dhclient.conf
Mar 16 03:04:00 admember228 dhclient: Internet Systems Consortium DHCP Client 4.3.1
Mar 16 03:04:00 admember228 networking[318]: Internet Systems Consortium DHCP Client 4.3.1
Mar 16 03:04:00 admember228 dhclient: Copyright 2004-2014 Internet Systems Consortium.
Mar 16 03:04:00 admember228 networking[318]: Copyright 2004-2014 Internet Systems Consortium.
Mar 16 03:04:00 admember228 dhclient: All rights reserved.
Mar 16 03:04:00 admember228 networking[318]: All rights reserved.
Mar 16 03:04:00 admember228 dhclient: For info, please visit https://www.isc.org/software/dhcp/
Mar 16 03:04:00 admember228 networking[318]: For info, please visit https://www.isc.org/software/dhcp/
Mar 16 03:04:00 admember228 dhclient: 
Mar 16 03:04:00 admember228 networking[318]: /sbin/dhclient-script: 94: /etc/dhcp/dhclient-exit-hooks.d/resolvconf: Bad substitution
Mar 16 03:04:00 admember228 dhclient: Listening on LPF/eth0/02:95:93:46:e4:e9
Mar 16 03:04:00 admember228 dhclient: Sending on   LPF/eth0/02:95:93:46:e4:e9
Mar 16 03:04:00 admember228 dhclient: Sending on   Socket/fallback
Mar 16 03:04:00 admember228 dhclient: DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 4
Mar 16 03:04:00 admember228 networking[318]: Listening on LPF/eth0/02:95:93:46:e4:e9
Mar 16 03:04:00 admember228 networking[318]: Sending on   LPF/eth0/02:95:93:46:e4:e9
Mar 16 03:04:00 admember228 networking[318]: Sending on   Socket/fallback
Mar 16 03:04:00 admember228 networking[318]: DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 4
Mar 16 03:04:00 admember228 dhclient: DHCPREQUEST on eth0 to 255.255.255.255 port 67
Mar 16 03:04:00 admember228 dhclient: DHCPOFFER from 10.210.0.1
Mar 16 03:04:00 admember228 dhclient: DHCPACK from 10.210.0.1
Mar 16 03:04:00 admember228 networking[318]: DHCPREQUEST on eth0 to 255.255.255.255 port 67
Mar 16 03:04:00 admember228 networking[318]: DHCPOFFER from 10.210.0.1
Mar 16 03:04:00 admember228 networking[318]: DHCPACK from 10.210.0.1
Mar 16 03:04:00 admember228 networking[318]: Failed to reload smbd.service: sysinit.target is queued, ignoring reload request for unit smbd.service
Mar 16 03:04:00 admember228 networking[318]: invoke-rc.d: initscript smbd, action "reload" failed.
Mar 16 03:04:00 admember228 networking[318]: /sbin/dhclient-script: 94: /etc/dhcp/dhclient-exit-hooks.d/resolvconf: Bad substitution
Mar 16 03:04:00 admember228 dhclient: bound to 10.210.168.93 -- renewal in 1710 seconds.
Mar 16 03:04:00 admember228 networking[318]: bound to 10.210.168.93 -- renewal in 1710 seconds.
Mar 16 03:04:00 admember228 networking[318]: Reloading bind9 Domain Name Server (DNS)...ldap...rndc: connect failed: 127.0.0.1#55555: connection refused
Mar 16 03:04:00 admember228 networking[318]: proxy...rndc: connect failed: 127.0.0.1#953: connection refused
Mar 16 03:04:00 admember228 networking[318]: failed.
Mar 16 03:04:00 admember228 networking[318]: Reloading bind9 Domain Name Server (DNS)...ldap...rndc: connect failed: 127.0.0.1#55555: connection refused
Mar 16 03:04:00 admember228 networking[318]: proxy...rndc: connect failed: 127.0.0.1#953: connection refused
Mar 16 03:04:00 admember228 networking[318]: failed.
Mar 16 03:04:00 admember228 networking[318]: done.
Mar 16 03:04:00 admember228 systemd[1]: Started LSB: Raise network interfaces..
Mar 16 03:04:00 admember228 systemd[1]: Starting Network.
Mar 16 03:04:00 admember228 systemd[1]: Reached target Network.
Mar 16 03:04:00 admember228 systemd[1]: Starting Network is Online.
Mar 16 03:04:00 admember228 systemd[1]: Reached target Network is Online.
Mar 16 03:04:00 admember228 systemd[1]: Starting LSB: RPC portmapper replacement...
Mar 16 03:04:00 admember228 rpcbind[788]: Starting rpcbind daemon....
Mar 16 03:04:00 admember228 systemd[1]: Started LSB: RPC portmapper replacement.
Mar 16 03:04:00 admember228 systemd[1]: Starting RPC Port Mapper.
Mar 16 03:04:00 admember228 systemd[1]: Reached target RPC Port Mapper.
Mar 16 03:04:00 admember228 systemd[1]: Starting LSB: NFS support files common to client and server...
Mar 16 03:04:00 admember228 rpc.statd[807]: Version 1.2.8 starting
Mar 16 03:04:00 admember228 sm-notify[808]: Version 1.2.8 starting
Comment 1 Stefan Gohmann univentionstaff 2017-03-16 12:33:59 CET
Maybe it is because dhclient-script has been changed from /bin/bash to /bin/sh.
Comment 2 Philipp Hahn univentionstaff 2017-03-16 12:38:09 CET
(In reply to Stefan Gohmann from comment #1)
> Maybe it is because dhclient-script has been changed from /bin/bash to
> /bin/sh.

Strongly yes: ${!...} is a bashism
Comment 3 Philipp Hahn univentionstaff 2017-03-16 13:46:40 CET
Caused by <https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=762923> to fix a potential remote shell security issue

r17405 | Bug #43907: Use /bin/bash for UCS

Package: isc-dhcp
Version: 4.3.1-6+deb8u2A~4.2.0.201703161319
Branch: ucs_4.2-0

QA:
 $ head -n1 /sbin/dhclient-script
 #!/bin/bash

No changelog as no visible change to the user: we're back to where we were previously with the old version from Debian-Wheezy.

Long-term we should replace out mechanism to parse the /etc/resolv.conf generated by /sbin/dhclient-script to store the values in UCR: The expected way is to write a replacement function make_resolv_conf(), store the values in UCR from there and let UCR write the /etc/resove.conf file finally.
Comment 4 Stefan Gohmann univentionstaff 2017-03-16 19:58:30 CET
OK, looks good.

Jenkins said -754 failed tests. :)
Comment 5 Stefan Gohmann univentionstaff 2017-04-04 18:29:35 CEST
UCS 4.2 has been released:
 https://docs.software-univention.de/release-notes-4.2-0-en.html
 https://docs.software-univention.de/release-notes-4.2-0-de.html

If this error occurs again, please use "Clone This Bug".