diff options
| author | Michael Biebl <biebl@debian.org> | 2023-08-09 21:55:35 +0200 |
|---|---|---|
| committer | Michael Biebl <biebl@debian.org> | 2023-08-09 21:55:35 +0200 |
| commit | 05e4a733f2141995181a551854d5df929f084adf (patch) | |
| tree | 83bb937740a6667525ba0df046748ecaa829c269 /src/nm-initrd-generator/nmi-cmdline-reader.c | |
| parent | 14b0f3a9dc9ea90d60a3b057350fd4d637dc021a (diff) | |
New upstream version 1.44.0 upstream/1.44.0
Diffstat (limited to 'src/nm-initrd-generator/nmi-cmdline-reader.c')
| -rw-r--r-- | src/nm-initrd-generator/nmi-cmdline-reader.c | 34 |
1 files changed, 33 insertions, 1 deletions
diff --git a/src/nm-initrd-generator/nmi-cmdline-reader.c b/src/nm-initrd-generator/nmi-cmdline-reader.c index bafad041..68fe7004 100644 --- a/src/nm-initrd-generator/nmi-cmdline-reader.c +++ b/src/nm-initrd-generator/nmi-cmdline-reader.c @@ -1274,7 +1274,39 @@ reader_parse_ethtool(Reader *reader, char *argument) static void _normalize_conn(gpointer key, gpointer value, gpointer user_data) { - NMConnection *connection = value; + NMConnection *connection = value; + NMSettingIPConfig *s_ip4 = NULL, *s_ip6 = NULL; + + s_ip4 = nm_connection_get_setting_ip4_config(connection); + if (s_ip4) { + const char *method = nm_setting_ip_config_get_method(s_ip4); + + if (!nm_streq(method, NM_SETTING_IP4_CONFIG_METHOD_AUTO)) { + g_object_set(s_ip4, + NM_SETTING_IP_CONFIG_DHCP_HOSTNAME, + NULL, + NM_SETTING_IP_CONFIG_DHCP_TIMEOUT, + NULL, + NM_SETTING_IP4_CONFIG_DHCP_VENDOR_CLASS_IDENTIFIER, + NULL, + NULL); + } + } + + s_ip6 = nm_connection_get_setting_ip6_config(connection); + if (s_ip6) { + const char *method = nm_setting_ip_config_get_method(s_ip6); + + if (!nm_streq(method, NM_SETTING_IP6_CONFIG_METHOD_AUTO) + && !nm_streq(method, NM_SETTING_IP6_CONFIG_METHOD_DHCP)) { + g_object_set(s_ip6, + NM_SETTING_IP_CONFIG_DHCP_HOSTNAME, + NULL, + NM_SETTING_IP_CONFIG_DHCP_TIMEOUT, + NULL, + NULL); + } + } nm_connection_normalize(connection, NULL, NULL, NULL); } |