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 - 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 - 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 }