[dnssec-trigger/f20] Two fixes

Tomas Hozza thozza at fedoraproject.org
Wed Feb 19 09:16:09 UTC 2014


commit 53f4b3574e1befebe040c1621153b31494bb93c8
Author: Tomas Hozza <thozza at redhat.com>
Date:   Wed Feb 19 10:16:15 2014 +0100

    Two fixes
    
    - Restart NM on dnssec-trigger shutdown (let NM handle the resolv.conf content)
    - HN-hook: Handle situation when connection does not have a device
    
    Signed-off-by: Tomas Hozza <thozza at redhat.com>

 01-dnssec-trigger-hook               |    4 ++++
 dnssec-trigger.spec                  |    6 +++++-
 dnssec-triggerd-resolvconf-handle.sh |   25 ++-----------------------
 3 files changed, 11 insertions(+), 24 deletions(-)
---
diff --git a/01-dnssec-trigger-hook b/01-dnssec-trigger-hook
index 1d4953e..858af2e 100755
--- a/01-dnssec-trigger-hook
+++ b/01-dnssec-trigger-hook
@@ -177,6 +177,10 @@ def get_nm_active_connections():
             try:
                 device_type = connection.get_devices()[
                     0].get_device_type().value_name
+            except IndexError:
+                # if there is no device for a connection, the connection
+                # is going down so ignore it...
+                continue
             except AttributeError:
                 # We don't need to change anything
                 pass
diff --git a/dnssec-trigger.spec b/dnssec-trigger.spec
index 595bfaa..c1a3557 100644
--- a/dnssec-trigger.spec
+++ b/dnssec-trigger.spec
@@ -1,7 +1,7 @@
 Summary: NetworkManager plugin to update/reconfigure DNSSEC resolving
 Name: dnssec-trigger
 Version: 0.11
-Release: 19%{?dist}
+Release: 20%{?dist}
 License: BSD
 Url: http://www.nlnetlabs.nl/downloads/dnssec-trigger/
 Source: http://www.nlnetlabs.nl/downloads/dnssec-trigger/%{name}-%{version}.tar.gz
@@ -138,6 +138,10 @@ fi
 %systemd_postun_with_restart %{name}d.service
 
 %changelog
+* Wed Feb 19 2014 Tomas Hozza <thozza at redhat.com> - 0.11-20
+- Restart NM on dnssec-trigger shutdown (let NM handle the resolv.conf content)
+- HN-hook: Handle situation when connection does not have a device
+
 * Wed Jan 29 2014 Tomas Hozza <thozza at redhat.com> - 0.11-19
 - Use new Python dispatcher script and ship /etc/dnssec.conf
 
diff --git a/dnssec-triggerd-resolvconf-handle.sh b/dnssec-triggerd-resolvconf-handle.sh
index 4b8e672..622df12 100755
--- a/dnssec-triggerd-resolvconf-handle.sh
+++ b/dnssec-triggerd-resolvconf-handle.sh
@@ -41,29 +41,8 @@ restore_resolv_conf()
     if [ "`does_nm_handle_resolv_conf`" -eq 0 ] && [ -s $RESOLV_CONF_BAK ]; then
         cp -fp $RESOLV_CONF_BAK $RESOLV_CONF
     else
-        # 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/'`"
-        # if nmcli exists
-        if [ -n $NMCLI_VER ]; then
-            # if the version is greater or equal 0.9.9.0
-                if [ $NMCLI_VER -ge 0990 ]; 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;}'`"
-                fi
-        # nmcli does not exist
-        else
-            global_nameservers="`nm-tool | grep 'DNS:' | awk '{print $2;}'`"
-        fi
-        # fix whitespaces
-        global_nameservers="`echo $global_nameservers`"
-
-        # write servers to the resolv.conf
-        echo "# generated by $SCRIPT_NAME script" > $RESOLV_CONF
-        for server in $global_nameservers ; do
-            echo "nameserver $server" >> $RESOLV_CONF
-        done
+        # let NM rewrite the resolv.conf
+        systemctl restart NetworkManager.service
     fi
 }
 


More information about the scm-commits mailing list