Your message dated Sat, 19 Dec 2015 00:20:06 +0000 with message-id <[email protected]> and subject line Bug#807707: fixed in ddclient 3.8.2-4 has caused the Debian Bug report #807707, regarding ddclient exit hook for dhclient breaks network configuration to be marked as done.
This means that you claim that the problem has been dealt with. If this is not the case it is now your responsibility to reopen the Bug report if necessary, and/or fix the problem forthwith. (NB: If you are a system administrator and have no idea what this message is talking about, this may indicate a serious mail system misconfiguration somewhere. Please contact [email protected] immediately.) -- 807707: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=807707 Debian Bug Tracking System Contact [email protected] with problems
--- Begin Message ---Package: ddclient Version: 3.8.2-2 Severity: critical Tags: patch Justification: breaks the whole system Dear Maintainer, As far as I can tell, this also impacts the unstable version (3.8.2-3) What led up to the situation? After installing ddclient on my Google Compute Engine hosted Debian/Jessie VM the VM failed to be usable after a reboot. The VM was unable to route packets because it had failed to install the route to the network gateway or a default route. What exactly did you do (or not do) that was effective (or ineffective)? Determined that adding ddclient to a Debian/Jessie system on GCE rendered the VM unable to reboot properly. Diagnosis indicated that routing was not being properly set up. Neither was the hostname being set properly. Both are done by other dhclient exit hooks in /etc/dhcp/dhclient-exit-hooks.d. They were not being run. They are run by /sbin/dhclient-script using run-part -list and then sourcing each hook file in turn. The Problem: When I looked at the ddclient hook, I noticed it was calling exit(0), which exited the entire dhclient-script prematurely. This is very bad, since none of the other exits was given an opportuntity to run. Exits must not call exit! Returning of error status should be through the "exit_status" shell variable instead - as documented (poorly) in the manual page for dhclient-script(8). I changed the ddclient exit hook to not call exit, but instead to return control to the dhclient-script as is the "API" for these hooks. What was the outcome of this action? The system now boots properly. :-) -Doug- -- System Information: Debian Release: 8.2 APT prefers stable-updates APT policy: (500, 'stable-updates'), (500, 'stable') Architecture: amd64 (x86_64) Kernel: Linux 3.16.0-4-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: systemd (via /run/systemd/system) Versions of packages ddclient depends on: ii debconf [debconf-2.0] 1.5.56 ii initscripts 2.88dsf-59 ii lsb-base 4.1+Debian13+nmu1 ii perl [perl5] 5.20.2-3+deb8u1 Versions of packages ddclient recommends: ii libio-socket-ssl-perl 2.002-2+deb8u1 ddclient suggests no packages. -- Configuration Files: /etc/dhcp/dhclient-exit-hooks.d/ddclient changed: run_ddclient() { [ -x /usr/sbin/ddclient ] || return [ -f /etc/default/ddclient ] || return . /etc/default/ddclient [ $run_dhclient = "true" ] || return case $reason in BOUND | RENEW | REBIND) /usr/bin/logger -t dhclient $reason, updating IP address with ddclient /usr/sbin/ddclient -daemon=0 -syslog > /dev/null 2>&1 ;; *) ;; esac } run_ddclient -- debconf information: * ddclient/protocol: dyndns2 ddclient/blankhostslist: ddclient/run_daemon: true * ddclient/server: dynamic.pairnic.com * ddclient/names: google.randomnotes.org * ddclient/service: other * ddclient/username: pairnic * ddclient/fetchhosts: Manually ddclient/daemon_interval: 300 * ddclient/password-mismatch: ddclient/hostslist: ddclient/run_ipup: false ddclient/run_dhclient: false * ddclient/interface: lo1 * ddclient/checkip: false ddclient/modifiedconfig: Suggested Patch: *** ddclient.broken 2014-10-06 18:46:05.000000000 +0000 --- ddclient 2015-12-11 19:52:57.248086052 +0000 *************** *** 1,16 **** #!/bin/sh # /etc/dhcp/dhclient-exit-hooks.d/ddclient - exit hook for dhclient ! [ -x /usr/sbin/ddclient ] || exit 0 ! [ -f /etc/default/ddclient ] || exit 0 ! . /etc/default/ddclient ! [ $run_dhclient = "true" ] || exit 0 ! case $reason in ! BOUND | RENEW | REBIND) ! /usr/bin/logger -t dhclient $reason, updating IP address with ddclient ! /usr/sbin/ddclient -daemon=0 -syslog > /dev/null 2>&1 ! ;; ! *) ! ;; ! esac --- 1,20 ---- #!/bin/sh # /etc/dhcp/dhclient-exit-hooks.d/ddclient - exit hook for dhclient ! run_ddclient() { ! [ -x /usr/sbin/ddclient ] || return ! [ -f /etc/default/ddclient ] || return ! . /etc/default/ddclient ! [ $run_dhclient = "true" ] || return ! case $reason in ! BOUND | RENEW | REBIND) ! /usr/bin/logger -t dhclient $reason, updating IP address with ddclient ! /usr/sbin/ddclient -daemon=0 -syslog > /dev/null 2>&1 ! ;; ! *) ! ;; ! esac ! } ! ! run_ddclient
--- End Message ---
--- Begin Message ---Source: ddclient Source-Version: 3.8.2-4 We believe that the bug you reported is fixed in the latest version of ddclient, which is due to be installed in the Debian FTP archive. A summary of the changes between this version and the previous one is attached. Thank you for reporting the bug, which will now be closed. If you have further comments please address them to [email protected], and the maintainer will reopen the bug report if appropriate. Debian distribution maintenance software pp. Torsten Landschoff <[email protected]> (supplier of updated ddclient package) (This message was generated automatically at their request; if you believe that there is a problem with it please contact the archive administrators by mailing [email protected]) -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Format: 1.8 Date: Sat, 19 Dec 2015 00:44:39 +0100 Source: ddclient Binary: ddclient Architecture: source all Version: 3.8.2-4 Distribution: unstable Urgency: high Maintainer: Torsten Landschoff <[email protected]> Changed-By: Torsten Landschoff <[email protected]> Description: ddclient - address updating utility for dynamic DNS services Closes: 807707 808210 Changes: ddclient (3.8.2-4) unstable; urgency=high . * debian/control: Depend on perl instead of perl5 (closes: #808210). * debian/ddclient.dhclient-exit-hook: Put body in braces to have it run in a subshell. Otherwise an early exit can break DHCP (closes: #807707). Checksums-Sha1: d288aa60e594b854015b959829928a84a91c0a12 1841 ddclient_3.8.2-4.dsc 95d4bf907a35502f657c3bf04e393fb2fa36b783 54172 ddclient_3.8.2-4.debian.tar.xz d929a06f69c9c1cadf6fca7d5aef696e650c0ef9 78634 ddclient_3.8.2-4_all.deb Checksums-Sha256: c8cfd7b72c6cbd43aa3e704d74b5248cac25d74089bb354a5df37142c4e4ef5c 1841 ddclient_3.8.2-4.dsc 37676ddebcafb9dff16d6a3f89dec01644089fd0a9e5e635455c168f7938bfe7 54172 ddclient_3.8.2-4.debian.tar.xz 3aad1d62485b379083d017258e0a0dded3e781bffe4799ea0b7ce6a7e156b30b 78634 ddclient_3.8.2-4_all.deb Files: 16b8613e6892923c44152a4508db4cda 1841 net extra ddclient_3.8.2-4.dsc d49b129e3c283169a57de8eccd5f40a9 54172 net extra ddclient_3.8.2-4.debian.tar.xz 5eff7e736ead962e6ab5daf7e7e93449 78634 net extra ddclient_3.8.2-4_all.deb -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQIcBAEBAgAGBQJWdJ6XAAoJEB5flaeGO3x3n1gP/14AS2ZhTH9mtXM3UuZ9cK5V SiCKl3fzE/9cJkJhNUZmBP1Wk4rzCkVUIJvqvP1gvyIz1McrocVji82+ebcnA5Nb 1t9KTfKfrkfKNyG+vTrUyUQ9v6Wo4bvGP3QhW2FLb5beBbo+nm2N/LV2By0M2ifb mseX2upQNkwy05lcu3229jBPJiBxIZJT4etSxKCsUCinVvYe6HNW80ul9vZNIiID V7csGXafoFYCmrYDEA8ovDBQmzk0SZ9LNQnoVNzkz4nshdwGFNoXDGHp7tPup8e9 ccxMezF/W2ffsIAaLI9wqADRgK6fn5nvLttlK44sSh7GW3gxJNWptwSHIjr0pyD2 pfbN3C2NG3h5XXLlQqFhKLLmutBjRrk7Q9xthaJOaOK4/+C+XaWAFr8ykEir9yhE 6hq6HqCMT2pv0sJv51nakN1OfFvqTd4ZHvBSGB/iw6/T808Qj0tu30HJ8ZVLaDdy v02gGwaUijMigGdj8anUaaZNddjo9lv+GAh1a+qNQcrxf7dFSrnVQzwVdBpSKdFv JViwg6P4TaK+1tCRIKv1LkoyjZb2wJZ5QrUU9E9HPndwXMU2XIidq1YQsks7dCgO Ipq9VdCmSOUjxErLtV2RhmbYZnIbNDdErzDq40rrfM/SUegYFG/6Mx41Nh3g3hZ9 wxM3Kpp4vM841ZB5BClD =FRSP -----END PGP SIGNATURE-----
--- End Message ---

