Package: dnssec-trigger
Version: 0.13~svn683-2
Severity: normal
Tags: patch

Dear Maintainer,

After upgrading package network-manager in jessie (0.9.8.10-4 →
0.9.10.0-1), the dnssec-trigger NetworkManager hook script fails with
the following output:

  Jul 14 22:09:30 p4xb3k nm-dispatcher[14902]: 
/etc/NetworkManager/dispatcher.d/01-dnssec-trigger: 55: [: nmcli: unexpected 
operator
  Jul 14 22:09:30 p4xb3k nm-dispatcher[14902]: 
/etc/NetworkManager/dispatcher.d/01-dnssec-trigger: 1: 
/etc/NetworkManager/dispatcher.d/01-dnssec-trigger: nm-tool: not found

I see three problems:

  Unquoted [ -n $foo ] vs. [ -n "$foo" ];

  The fallback on nm-tool fails now that the binary was removed from
  0.9.10.0-1;

  The regex used in `nmcli -v | sed` doesn't work with multi-digit
  revision numbers >= 10 (the "10" is too wide), as in "0.9.10.0", note
  that the trailing revision number (the z in w.x.y.z) is simply
  truncated, so it used to work in "0.9.8.10" (truncated to "0.9.8.1");

Attached patch fixes those problems, as long as revision numbers are <=
999, and they don't change from w.x.y.z format, kludgy stuff!

-- System Information:
Debian Release: jessie/sid
  APT prefers testing
  APT policy: (500, 'testing')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 3.14-1-amd64 (SMP w/8 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8) (ignored: LC_ALL 
set to en_US.UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages dnssec-trigger depends on:
ii  init-system-helpers  1.19
ii  libc6                2.19-7
ii  libgdk-pixbuf2.0-0   2.30.7-1
ii  libglib2.0-0         2.40.0-3
ii  libgtk2.0-0          2.24.24-1
ii  libldns1             1.6.17-4
ii  libssl1.0.0          1.0.1h-3
ii  python               2.7.6-2
ii  unbound              1.4.22-1

dnssec-trigger recommends no packages.

dnssec-trigger suggests no packages.

-- Configuration Files:
/etc/NetworkManager/dispatcher.d/01-dnssec-trigger changed [not included]

-- no debconf information

-- 
Gerald Turner <gtur...@unzane.com>        Encrypted mail preferred!
OpenPGP: 4096R / CA89 B27A 30FA 66C5 1B80  3858 EC94 2276 FDB8 716D
diff -ur dnssec-trigger-0.13~svn683.orig/01-dnssec-trigger.in dnssec-trigger-0.13~svn683/01-dnssec-trigger.in
--- dnssec-trigger-0.13~svn683.orig/01-dnssec-trigger.in	2014-07-14 22:24:40.000000000 -0700
+++ dnssec-trigger-0.13~svn683/01-dnssec-trigger.in	2014-07-14 22:26:51.437356743 -0700
@@ -50,11 +50,11 @@
 #########################
 # get global nameservers
 # try to get nmcli version
-NMCLI_VER="`nmcli -v 2> /dev/null | sed 's/.*version \([0-9]\)\.\([0-9]\)\.\([0-9]\)\.\([0-9]\).*/\1\2\3\4/'`"
+NMCLI_VER=$(printf '%03d%03d%03d%03d\n' $(nmcli -v 2>/dev/null | sed 's/.*version \([0-9]\+\)\.\([0-9]\+\)\.\([0-9]\+\)\.\([0-9]\+\).*/\1 \2 \3 \4/'))
 # if nmcli exists
-if [ -n $NMCLI_VER ]; then
+if [ -n "$NMCLI_VER" ]; then
     # if the version is greater or equal 0.9.9.0
-    if [ $NMCLI_VER -ge 0990 ]; then
+    if [ $NMCLI_VER -ge 000009009000 ]; then
         global_nameservers="`nmcli -f IP4,IP6 dev show | fgrep 'DNS' | awk '{print $2;}'`"
     else
         global_nameservers="`nmcli -f IP4,IP6 dev list | fgrep 'DNS' | awk '{print $2;}'`"

Attachment: pgpHRuddyrLSC.pgp
Description: PGP signature

Reply via email to