[PATCH] Fix crash while parsing ntp servers from DHCP6 (#969303)

David Shea dshea at redhat.com
Tue Jul 23 20:29:39 UTC 2013


This removes anaconda's attempt to collect NTP servers through
NetworkManager's DHCP6 options. The reasons for this are as follows:

  - NetworkManager does not currently request NTP or SNTP options. When
    using a DHCP6 that honors OPTION_ORO (e.g., ISC dhcpd6), no time
    servers will be returned
  - dhclient does not support the NTP server option (dhcp6 option 56,
    RFC 5908). If a server does return an OPTION_NTP_SERVER block, it
    will not be parsed and NetworkManager will only be aware of the
    presence of an unknown option 56.

It is possible to use the OPTION_SNTP_SERVER data, which is formated in
the same way the IPv4 DHCP NTP server option data. To use this we would
need to create /etc/NetworkManager/dhclient6.conf containing "also
request dhcp6.sntp-servers" and fix the option parsing code in nm.py to
pull the right value out of the Dhcp6Config.Options dictionary. However,
it's probably not worth it, since obviously no one was using DHCP6
options at all, because it would have crashed.
---
 pyanaconda/nm.py | 10 +---------
 1 file changed, 1 insertion(+), 9 deletions(-)

diff --git a/pyanaconda/nm.py b/pyanaconda/nm.py
index 0932a2e..56c59d4 100644
--- a/pyanaconda/nm.py
+++ b/pyanaconda/nm.py
@@ -284,15 +284,7 @@ def nm_ntp_servers_from_dhcp():
             for ip in ntp_servers_string.split(" "):
                 ntp_servers.append(ip)
 
-        # harvest NTP servers from DHCPv6
-        dhcp6_path = nm_device_property(device, "Dhcp6Config")
-        dhcp6_proxy = _get_proxy(object_path=dhcp6_path,
-                interface_name="org.freedesktop.NetworkManager.DHCP6Config")
-        options = dhcp6_proxy.get_cached_property("Options")
-        if options is not None:
-            # NTP server addresses returned by DHCP are whitespace delimited
-            for ip in options.unpack().split(" "):
-                ntp_servers.append(ip)
+        # NetworkManager does not request NTP/SNTP options for DHCP6
     return ntp_servers
 
 def _device_settings(name):
-- 
1.8.3.1



More information about the anaconda-patches mailing list