summary refs log tree commit diff
path: root/src/core
diff options
context:
space:
mode:
authorMichael Biebl <biebl@debian.org>2023-03-09 19:06:14 +0100
committerMichael Biebl <biebl@debian.org>2023-03-09 19:06:14 +0100
commitdfaaf221cfee4ffcc507d793dae051d402646679 (patch)
treec218fc9b1ef10cfa7d2acf0ce401b6d97db2401f /src/core
parentb22a7b55d0bc5a7999dccaeacdde745f5ace9d66 (diff)
New upstream version 1.42.4 upstream/1.42.4
Diffstat (limited to 'src/core')
-rw-r--r--src/core/devices/nm-device-ip-tunnel.c4
-rw-r--r--src/core/dns/nm-dns-dnsmasq.c3
-rw-r--r--src/core/nm-config-data.c24
-rw-r--r--src/core/nm-ip-config.c2
-rw-r--r--src/core/platform/tests/test-common.c8
-rw-r--r--src/core/settings/nm-settings.c8
6 files changed, 30 insertions, 19 deletions
diff --git a/src/core/devices/nm-device-ip-tunnel.c b/src/core/devices/nm-device-ip-tunnel.c
index 5e5ba632..a5760bf4 100644
--- a/src/core/devices/nm-device-ip-tunnel.c
+++ b/src/core/devices/nm-device-ip-tunnel.c
@@ -296,7 +296,7 @@ clear:
         if (lnk->ikey)
             input_key = g_strdup_printf("%u", lnk->ikey);
         if (lnk->okey)
-            input_key = g_strdup_printf("%u", lnk->okey);
+            output_key = g_strdup_printf("%u", lnk->okey);
     } else if (priv->mode == NM_IP_TUNNEL_MODE_VTI6) {
         const NMPlatformLnkVti6 *lnk;
 
@@ -313,7 +313,7 @@ clear:
         if (lnk->ikey)
             input_key = g_strdup_printf("%u", lnk->ikey);
         if (lnk->okey)
-            input_key = g_strdup_printf("%u", lnk->okey);
+            output_key = g_strdup_printf("%u", lnk->okey);
     } else
         g_return_if_reached();
 
diff --git a/src/core/dns/nm-dns-dnsmasq.c b/src/core/dns/nm-dns-dnsmasq.c
index 8ae1bb96..05aeff49 100644
--- a/src/core/dns/nm-dns-dnsmasq.c
+++ b/src/core/dns/nm-dns-dnsmasq.c
@@ -922,7 +922,8 @@ create_update_args(NMDnsDnsmasq            *self,
 
     if (global_config)
         add_global_config(self, &servers, global_config);
-    else {
+
+    if (!global_config || !nm_global_dns_config_lookup_domain(global_config, "*")) {
         c_list_for_each_entry (ip_data, ip_data_lst_head, ip_data_lst)
             add_ip_config(self, &servers, ip_data);
     }
diff --git a/src/core/nm-config-data.c b/src/core/nm-config-data.c
index c6ab998f..ff44bc46 100644
--- a/src/core/nm-config-data.c
+++ b/src/core/nm-config-data.c
@@ -1463,21 +1463,23 @@ global_dns_equal(NMGlobalDnsConfig *old, NMGlobalDnsConfig *new)
     if ((!old->domains || !new->domains) && old->domains != new->domains)
         return FALSE;
 
-    if (g_hash_table_size(old->domains) != g_hash_table_size(new->domains))
+    if (nm_g_hash_table_size(old->domains) != nm_g_hash_table_size(new->domains))
         return FALSE;
 
-    g_hash_table_iter_init(&iter, old->domains);
-    while (g_hash_table_iter_next(&iter, &key, &value_old)) {
-        value_new = g_hash_table_lookup(new->domains, key);
-        if (!value_new)
-            return FALSE;
+    if (old->domains) {
+        g_hash_table_iter_init(&iter, old->domains);
+        while (g_hash_table_iter_next(&iter, &key, &value_old)) {
+            value_new = g_hash_table_lookup(new->domains, key);
+            if (!value_new)
+                return FALSE;
 
-        domain_old = value_old;
-        domain_new = value_new;
+            domain_old = value_old;
+            domain_new = value_new;
 
-        if (!nm_strv_equal(domain_old->options, domain_new->options)
-            || !nm_strv_equal(domain_old->servers, domain_new->servers))
-            return FALSE;
+            if (!nm_strv_equal(domain_old->options, domain_new->options)
+                || !nm_strv_equal(domain_old->servers, domain_new->servers))
+                return FALSE;
+        }
     }
 
     return TRUE;
diff --git a/src/core/nm-ip-config.c b/src/core/nm-ip-config.c
index f87840cc..bec67d9a 100644
--- a/src/core/nm-ip-config.c
+++ b/src/core/nm-ip-config.c
@@ -368,7 +368,7 @@ get_property_ip4(GObject *object, guint prop_id, GValue *value, GParamSpec *pspe
                     continue;
 
                 if (prop_id == PROP_IP4_NAMESERVERS)
-                    g_variant_builder_add(&builder, "u", &a);
+                    g_variant_builder_add(&builder, "u", a);
                 else {
                     GVariantBuilder nested_builder;
 
diff --git a/src/core/platform/tests/test-common.c b/src/core/platform/tests/test-common.c
index a37982fc..571fedfe 100644
--- a/src/core/platform/tests/test-common.c
+++ b/src/core/platform/tests/test-common.c
@@ -1891,9 +1891,13 @@ nmtstp_ip4_address_add(NMPlatform *platform,
                     external_command,
                     TRUE,
                     ifindex,
-                    (NMIPAddr *) &address,
+                    &((NMIPAddr){
+                        .addr4 = address,
+                    }),
                     plen,
-                    (NMIPAddr *) &peer_address,
+                    &((NMIPAddr){
+                        .addr4 = peer_address,
+                    }),
                     lifetime,
                     preferred,
                     flags,
diff --git a/src/core/settings/nm-settings.c b/src/core/settings/nm-settings.c
index 63476c3c..9995b490 100644
--- a/src/core/settings/nm-settings.c
+++ b/src/core/settings/nm-settings.c
@@ -2009,6 +2009,7 @@ nm_settings_update_connection(NMSettings                      *self,
     const char                        *uuid;
     gboolean                           tombstone_in_memory = FALSE;
     gboolean                           tombstone_on_disk   = FALSE;
+    NMSettingsConnectionIntFlags       new_flags;
 
     g_return_val_if_fail(NM_IS_SETTINGS(self), FALSE);
     g_return_val_if_fail(NM_IS_SETTINGS_CONNECTION(sett_conn), FALSE);
@@ -2228,13 +2229,16 @@ nm_settings_update_connection(NMSettings                      *self,
             }
         }
 
+        new_flags = nm_settings_connection_get_flags(sett_conn);
+        new_flags = NM_FLAGS_ASSIGN_MASK(new_flags, sett_mask, sett_flags);
+
         if (!update_storage) {
             success = _add_connection_to_first_plugin(self,
                                                       plugin_name,
                                                       sett_conn_entry,
                                                       connection,
                                                       new_in_memory,
-                                                      sett_flags,
+                                                      new_flags,
                                                       new_shadowed_storage_filename,
                                                       new_shadowed_owned,
                                                       &new_storage,
@@ -2245,7 +2249,7 @@ nm_settings_update_connection(NMSettings                      *self,
             success = _update_connection_to_plugin(self,
                                                    update_storage,
                                                    connection,
-                                                   sett_flags,
+                                                   new_flags,
                                                    update_reason,
                                                    new_shadowed_storage_filename,
                                                    new_shadowed_owned,