diff options
author | Thomas Haller <thaller@redhat.com> | 2021-02-10 14:37:50 +0100 |
---|---|---|
committer | Thomas Haller <thaller@redhat.com> | 2021-02-11 09:23:14 +0100 |
commit | 2be43d79f7d9e78594ee9b932bdc8dfd53303fee (patch) | |
tree | 957ad0bdbd545b46ed62b71a8e0c65eb77bf64fd | |
parent | f986d409f9829e99866aacb30fc47902169e871e (diff) | |
download | NetworkManager-2be43d79f7d9e78594ee9b932bdc8dfd53303fee.tar.gz |
dhcp/nettools: refactor parsing of DHCP lease (ntps)
-rw-r--r-- | src/core/dhcp/nm-dhcp-nettools.c | 31 |
1 files changed, 3 insertions, 28 deletions
diff --git a/src/core/dhcp/nm-dhcp-nettools.c b/src/core/dhcp/nm-dhcp-nettools.c index b899ede095..9f6f3497d9 100644 --- a/src/core/dhcp/nm-dhcp-nettools.c +++ b/src/core/dhcp/nm-dhcp-nettools.c @@ -471,6 +471,8 @@ lease_parse_address_list(NDhcp4ClientLease * lease, case NM_DHCP_OPTION_DHCP4_NETBIOS_NAMESERVER: nm_ip4_config_add_wins(ip4_config, addr); break; + case NM_DHCP_OPTION_DHCP4_NTP_SERVER: + break; default: nm_assert_not_reached(); } @@ -644,33 +646,6 @@ lease_parse_routes(NDhcp4ClientLease *lease, } } -static void -lease_parse_ntps(NDhcp4ClientLease *lease, GHashTable *options) -{ - nm_auto_free_gstring GString *str = NULL; - char addr_str[NM_UTILS_INET_ADDRSTRLEN]; - struct in_addr addr; - uint8_t * data; - size_t n_data; - int r; - - r = n_dhcp4_client_lease_query(lease, NM_DHCP_OPTION_DHCP4_NTP_SERVER, &data, &n_data); - if (r) - return; - - nm_gstring_prepare(&str); - - while (lease_option_next_in_addr(&addr, &data, &n_data)) { - _nm_utils_inet4_ntop(addr.s_addr, addr_str); - g_string_append(nm_gstring_add_space_delimiter(str), addr_str); - } - - nm_dhcp_option_add_option(options, - _nm_dhcp_option_dhcp4_options, - NM_DHCP_OPTION_DHCP4_NTP_SERVER, - str->str); -} - char ** nm_dhcp_parse_search_list(guint8 *data, size_t n_data) { @@ -877,7 +852,7 @@ lease_to_ip4_config(NMDedupMultiIndex *multi_idx, } } - lease_parse_ntps(lease, options); + lease_parse_address_list(lease, ip4_config, NM_DHCP_OPTION_DHCP4_NTP_SERVER, options, &sbuf); r = n_dhcp4_client_lease_query(lease, NM_DHCP_OPTION_DHCP4_ROOT_PATH, &l_data, &l_data_len); if (r == 0 && nm_dhcp_lease_data_parse_cstr(l_data, l_data_len, &l_data_len)) { |