]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
dhcp: NTP servers should be requested by networkd but not implicitly by sd-dhcp
authorLennart Poettering <lennart@poettering.net>
Wed, 26 Aug 2015 23:14:20 +0000 (01:14 +0200)
committerLennart Poettering <lennart@poettering.net>
Wed, 26 Aug 2015 23:17:30 +0000 (01:17 +0200)
The library so far always requested the NTP servers. This might be
unnecessary in some uses, hence let's move the request into networkd
instead.

src/libsystemd-network/sd-dhcp-client.c
src/libsystemd-network/test-dhcp-client.c
src/network/networkd-dhcp4.c

index 29c67f23be7fcfd95d68ff08490886dd17189ed3..008b21c3b80cc48cff87cad5f90a313aa228ade2 100644 (file)
@@ -105,7 +105,6 @@ static const uint8_t default_req_opts[] = {
         DHCP_OPTION_HOST_NAME,
         DHCP_OPTION_DOMAIN_NAME,
         DHCP_OPTION_DOMAIN_NAME_SERVER,
-        DHCP_OPTION_NTP_SERVER,
 };
 
 static int client_receive_message_raw(sd_event_source *s, int fd,
index b2a0d3bb8b1d60c52931ee9bcf5e2f37b6c6c748..877adc7b0d3799bc238391e37f5165171356a4b8 100644 (file)
@@ -87,10 +87,7 @@ static void test_request_basic(sd_event *e)
         assert_se(sd_dhcp_client_set_request_option(client,
                                         DHCP_OPTION_DOMAIN_NAME) == -EEXIST);
         assert_se(sd_dhcp_client_set_request_option(client,
-                                        DHCP_OPTION_DOMAIN_NAME_SERVER)
-                        == -EEXIST);
-        assert_se(sd_dhcp_client_set_request_option(client,
-                                        DHCP_OPTION_NTP_SERVER) == -EEXIST);
+                                        DHCP_OPTION_DOMAIN_NAME_SERVER) == -EEXIST);
 
         assert_se(sd_dhcp_client_set_request_option(client,
                                         DHCP_OPTION_PAD) == -EINVAL);
index 7fce389fa2acbe3926a72b2b11827a8de28e4475..ea1b18a0e54bbd0697fd148f37fdf40a0020099d 100644 (file)
@@ -624,7 +624,11 @@ int dhcp4_configure(Link *link) {
                         return r;
         }
 
-        /* Always acquire the timezone */
+        /* Always acquire the timezone and NTP*/
+        r = sd_dhcp_client_set_request_option(link->dhcp_client, DHCP_OPTION_NTP_SERVER);
+        if (r < 0)
+                return r;
+
         r = sd_dhcp_client_set_request_option(link->dhcp_client, DHCP_OPTION_NEW_TZDB_TIMEZONE);
         if (r < 0)
                 return r;