dhcp: merge branch 'bg/dhcpv6-hostname-rh1858344'
Fix setting hostname from DHCPv6 https://bugzilla.redhat.com/show_bug.cgi?id=1858344 https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/589
This commit is contained in:
@@ -183,6 +183,7 @@ const NMDhcpOption _nm_dhcp_option_dhcp6_options[] = {
|
||||
REQ (NM_DHCP_OPTION_DHCP6_DNS_SERVERS, "dhcp6_name_servers", TRUE ),
|
||||
REQ (NM_DHCP_OPTION_DHCP6_DOMAIN_LIST, "dhcp6_domain_search", TRUE ),
|
||||
REQ (NM_DHCP_OPTION_DHCP6_SNTP_SERVERS, "dhcp6_sntp_servers", TRUE ),
|
||||
REQ (NM_DHCP_OPTION_DHCP6_FQDN, "fqdn_fqdn", FALSE ),
|
||||
REQ (NM_DHCP_OPTION_DHCP6_MUD_URL, "dhcp6_mud_url", FALSE ),
|
||||
|
||||
/* Internal values */
|
||||
|
@@ -160,7 +160,9 @@ typedef enum {
|
||||
NM_DHCP_OPTION_DHCP6_DNS_SERVERS = 23,
|
||||
NM_DHCP_OPTION_DHCP6_DOMAIN_LIST = 24,
|
||||
NM_DHCP_OPTION_DHCP6_SNTP_SERVERS = 31,
|
||||
NM_DHCP_OPTION_DHCP6_FQDN = 39,
|
||||
NM_DHCP_OPTION_DHCP6_MUD_URL = 112,
|
||||
|
||||
/* Internal values */
|
||||
NM_DHCP_OPTION_DHCP6_NM_IP_ADDRESS = 1026,
|
||||
NM_DHCP_OPTION_DHCP6_NM_PREFIXLEN = 1027,
|
||||
|
@@ -740,6 +740,7 @@ lease_to_ip6_config (NMDedupMultiIndex *multi_idx,
|
||||
uint32_t lft_pref, lft_valid;
|
||||
char addr_str[NM_UTILS_INET_ADDRSTRLEN];
|
||||
char **domains;
|
||||
const char *s;
|
||||
nm_auto_free_gstring GString *str = NULL;
|
||||
int num, i;
|
||||
|
||||
@@ -808,6 +809,13 @@ lease_to_ip6_config (NMDedupMultiIndex *multi_idx,
|
||||
str->str);
|
||||
}
|
||||
|
||||
if (sd_dhcp6_lease_get_fqdn (lease, &s) >= 0) {
|
||||
nm_dhcp_option_add_option (options,
|
||||
_nm_dhcp_option_dhcp6_options,
|
||||
NM_DHCP_OPTION_DHCP6_FQDN,
|
||||
s);
|
||||
}
|
||||
|
||||
NM_SET_OUT (out_options, g_steal_pointer (&options));
|
||||
return g_steal_pointer (&ip6_config);
|
||||
}
|
||||
|
@@ -764,7 +764,7 @@ update_system_hostname (NMPolicy *self, const char *msg)
|
||||
/* Grab a hostname out of the device's DHCP6 config */
|
||||
dhcp_config = nm_device_get_dhcp_config (get_default_device (self, AF_INET6), AF_INET6);
|
||||
if (dhcp_config) {
|
||||
dhcp_hostname = nm_dhcp_config_get_option (dhcp_config, "host_name");
|
||||
dhcp_hostname = nm_dhcp_config_get_option (dhcp_config, "fqdn_fqdn");
|
||||
if (dhcp_hostname && dhcp_hostname[0]) {
|
||||
p = nm_str_skip_leading_spaces (dhcp_hostname);
|
||||
if (p[0]) {
|
||||
|
Reference in New Issue
Block a user