diff --git a/SOURCES/1005-fix-managing-devices-after-sleep-rh1855563.patch b/SOURCES/1005-fix-managing-devices-after-sleep-rh1855563.patch new file mode 100644 index 0000000..e6a193f --- /dev/null +++ b/SOURCES/1005-fix-managing-devices-after-sleep-rh1855563.patch @@ -0,0 +1,114 @@ +From 66df6ba15a4b394a71c352011eb0915b381b821a Mon Sep 17 00:00:00 2001 +From: Beniamino Galvani +Date: Thu, 16 Jul 2020 11:57:14 +0200 +Subject: [PATCH 1/2] manager: fix race condition when resuming from sleep + +If the device state change (to disconnected or unmanaged) triggered by +a sleep event happens after the wake, the devices becomes wrongly +unmanaged and it's necessary to manually manage it again, or restart +NM. + +During the wake event we should disconnect the device_sleep_cb() +callback for all devices because we don't want to react to state +changes anymore; in particular we don't need to detect when the device +becomes disconnected to unmanage it. + +(cherry picked from commit fe2d93980bd5b61c55a8b65a55f7aad35042e691) +(cherry picked from commit 971897195a8218cb0ec08ae95a7210fce73f0b03) +--- + src/nm-manager.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/src/nm-manager.c b/src/nm-manager.c +index 921125329e..d687fcd7f2 100644 +--- a/src/nm-manager.c ++++ b/src/nm-manager.c +@@ -6048,8 +6048,9 @@ do_sleep_wake (NMManager *self, gboolean sleeping_changed) + } else { + _LOGD (LOGD_SUSPEND, "sleep: %s...", waking_from_suspend ? "waking up" : "re-enabling"); + ++ sleep_devices_clear (self); ++ + if (waking_from_suspend) { +- sleep_devices_clear (self); + c_list_for_each_entry (device, &priv->devices_lst_head, devices_lst) { + if (nm_device_is_software (device)) + continue; +-- +2.26.2 + +From 29958141b98cd0abba614b15e6f24611382f8f99 Mon Sep 17 00:00:00 2001 +From: Beniamino Galvani +Date: Thu, 16 Jul 2020 11:58:20 +0200 +Subject: [PATCH 2/2] policy: block connection from autoconnect in case of + failed dependency + +A connection that fails due to dependency-failed is not able to +reconnect until the master connection activates again; when this +happens, the master clears the blocked reason for all its slaves in +activate_slave_connections() and tries to reconnect them. For this to +work, the slave should be marked as blocked when it fails with +dependency-failed. + +(cherry picked from commit 725fed01cf7c8508cf426897340b2a4113406aab) +(cherry picked from commit e1755048e35aca682c7d0d233122d4ddaf3bb089) +--- + src/nm-policy.c | 33 +++++++++++++++++++++++++-------- + 1 file changed, 25 insertions(+), 8 deletions(-) + +diff --git a/src/nm-policy.c b/src/nm-policy.c +index 62ead24253..e571034bc3 100644 +--- a/src/nm-policy.c ++++ b/src/nm-policy.c +@@ -1787,7 +1787,7 @@ device_state_changed (NMDevice *device, + if ( sett_conn + && old_state >= NM_DEVICE_STATE_PREPARE + && old_state <= NM_DEVICE_STATE_ACTIVATED) { +- gboolean block_no_secrets = FALSE; ++ gboolean blocked = FALSE; + int tries; + guint64 con_v; + +@@ -1807,15 +1807,32 @@ device_state_changed (NMDevice *device, + */ + con_v = nm_settings_connection_get_last_secret_agent_version_id (sett_conn); + if ( con_v == 0 +- || con_v == nm_agent_manager_get_agent_version_id (priv->agent_mgr)) +- block_no_secrets = TRUE; ++ || con_v == nm_agent_manager_get_agent_version_id (priv->agent_mgr)) { ++ _LOGD (LOGD_DEVICE, "connection '%s' now blocked from autoconnect due to no secrets", ++ nm_settings_connection_get_id (sett_conn)); ++ nm_settings_connection_autoconnect_blocked_reason_set (sett_conn, ++ NM_SETTINGS_AUTO_CONNECT_BLOCKED_REASON_NO_SECRETS, ++ TRUE); ++ blocked = TRUE; ++ } ++ } else if (nm_device_state_reason_check (reason) == NM_DEVICE_STATE_REASON_DEPENDENCY_FAILED) { ++ /* A connection that fails due to dependency-failed is not ++ * able to reconnect until the master connection activates ++ * again; when this happens, the master clears the blocked ++ * reason for all its slaves in activate_slave_connections() ++ * and tries to reconnect them. For this to work, the slave ++ * should be marked as blocked when it fails with ++ * dependency-failed. ++ */ ++ _LOGD (LOGD_DEVICE, "connection '%s' now blocked from autoconnect due to failed dependency", ++ nm_settings_connection_get_id (sett_conn)); ++ nm_settings_connection_autoconnect_blocked_reason_set (sett_conn, ++ NM_SETTINGS_AUTO_CONNECT_BLOCKED_REASON_FAILED, ++ TRUE); ++ blocked = TRUE; + } + +- if (block_no_secrets) { +- _LOGD (LOGD_DEVICE, "connection '%s' now blocked from autoconnect due to no secrets", +- nm_settings_connection_get_id (sett_conn)); +- nm_settings_connection_autoconnect_blocked_reason_set (sett_conn, NM_SETTINGS_AUTO_CONNECT_BLOCKED_REASON_NO_SECRETS, TRUE); +- } else { ++ if (!blocked) { + tries = nm_settings_connection_autoconnect_retries_get (sett_conn); + if (tries > 0) { + _LOGD (LOGD_DEVICE, "connection '%s' failed to autoconnect; %d tries left", +-- +2.26.2 + diff --git a/SOURCES/1006-n-dhcp4-fix-bpf-for-big-endian-arch-rh1861488.patch b/SOURCES/1006-n-dhcp4-fix-bpf-for-big-endian-arch-rh1861488.patch new file mode 100644 index 0000000..d8cfc1b --- /dev/null +++ b/SOURCES/1006-n-dhcp4-fix-bpf-for-big-endian-arch-rh1861488.patch @@ -0,0 +1,57 @@ +From ab260205b54bf3ae4862c11a2d47b84ff6cebe24 Mon Sep 17 00:00:00 2001 +From: Beniamino Galvani +Date: Mon, 3 Aug 2020 18:02:08 +0200 +Subject: [PATCH 1/1] n-dhcp4: fix BPF filter endianness issue + +The BPF filter takes the byte containing IP Flags and performs a +bitwise AND with "ntohs(IP_MF | IP_OFFMASK)". + +On little-endian architectures the IP_MF flag (0x20) is ANDed with +0xFF3F and so the presence of the flag is correctly detected ignoring +other flags as IP_DF (0x40) or IP_RF (0x80). + +On big-endian, "ntohs(IP_MF | IP_OFFMASK)" is 0x3FFF and so the filter +wrongly checks the presence of *any* flags. Therefore, a packet with +the DF flag set is dropped. + +Instead, take the two bytes containing flags and offset: + + 0 1 2 3 + 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + |Version| IHL |Type of Service| Total Length | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Identification |Flags| Fragment Offset | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + +and verify that IP_MF and the offset are zero. + +Fixes: e43b1791a382 ('Merge commit 'e23b3c9c3ac86b065eef002fa5c4321cc4a87df2' as 'shared/n-dhcp4'') + +https://bugzilla.redhat.com/show_bug.cgi?id=1861488 +https://github.com/nettools/n-dhcp4/pull/19 +(cherry picked from commit 03d38e83e558802a82cb0e4847cb1f1ef75ccd16) +(cherry picked from commit 0024cef23850e6141a15cb02d92551adef3cf4dd) +(cherry picked from commit 80835f8f8991ae8292790826afa3a5fc88b44d1a) +--- + shared/n-dhcp4/src/n-dhcp4-socket.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/shared/n-dhcp4/src/n-dhcp4-socket.c b/shared/n-dhcp4/src/n-dhcp4-socket.c +index c7e897726ef8..7291c78036bc 100644 +--- a/shared/n-dhcp4/src/n-dhcp4-socket.c ++++ b/shared/n-dhcp4/src/n-dhcp4-socket.c +@@ -50,8 +50,8 @@ int n_dhcp4_c_socket_packet_new(int *sockfdp, int ifindex) { + BPF_JUMP(BPF_JMP + BPF_JEQ + BPF_K, IPPROTO_UDP, 1, 0), /* IP protocol == UDP ? */ + BPF_STMT(BPF_RET + BPF_K, 0), /* ignore */ + +- BPF_STMT(BPF_LD + BPF_B + BPF_ABS, offsetof(struct iphdr, frag_off)), /* A <- Flags */ +- BPF_STMT(BPF_ALU + BPF_AND + BPF_K, ntohs(IP_MF | IP_OFFMASK)), /* A <- A & (IP_MF | IP_OFFMASK) */ ++ BPF_STMT(BPF_LD + BPF_H + BPF_ABS, offsetof(struct iphdr, frag_off)), /* A <- Flags + Fragment offset */ ++ BPF_STMT(BPF_ALU + BPF_AND + BPF_K, IP_MF | IP_OFFMASK), /* A <- A & (IP_MF | IP_OFFMASK) */ + BPF_JUMP(BPF_JMP + BPF_JEQ + BPF_K, 0, 1, 0), /* fragmented packet ? */ + BPF_STMT(BPF_RET + BPF_K, 0), /* ignore */ + +-- +2.26.2 + diff --git a/SOURCES/1007-core-no-warn-setting-mtu-with-ipv6-disabled-rh1840989.patch b/SOURCES/1007-core-no-warn-setting-mtu-with-ipv6-disabled-rh1840989.patch new file mode 100644 index 0000000..8d46b7e --- /dev/null +++ b/SOURCES/1007-core-no-warn-setting-mtu-with-ipv6-disabled-rh1840989.patch @@ -0,0 +1,62 @@ +From 7aa3b439df293b16597df3a0a2baa6caf3bb1322 Mon Sep 17 00:00:00 2001 +From: Beniamino Galvani +Date: Thu, 23 Jul 2020 17:18:56 +0200 +Subject: [PATCH 1/1] device: downgrade warning about IPv6 MTU if IPv6 is + disabled + +If IPv6 is disabled, changing the IPv6 MTU fails and NM complains with +a warning. Since this error is expected and doesn't do any harm, +downgrade the logging level to DEBUG. + +Since IPv6 kernel support can be built as a module, we have to check +the existence of /proc/sys/net/ipv6 every time. Instead of checking it +and then setting the MTU (adding one /proc access for everyone), just try +to set the MTU; in case of failure, determine the reason for the error. + +https://bugzilla.redhat.com/show_bug.cgi?id=1840989 +https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/585 +(cherry picked from commit 9c09dcedafd51da65c04669b830bc9652000d462) +(cherry picked from commit ce3dffd24eb21924a332794bc66705dbd6c052a2) +--- + src/devices/nm-device.c | 23 +++++++++++++++++------ + 1 file changed, 17 insertions(+), 6 deletions(-) + +diff --git a/src/devices/nm-device.c b/src/devices/nm-device.c +index 57c32cef8f09..24209c8614f1 100644 +--- a/src/devices/nm-device.c ++++ b/src/devices/nm-device.c +@@ -10268,14 +10268,25 @@ _commit_mtu (NMDevice *self, const NMIP4Config *config) + if (!nm_device_sysctl_ip_conf_set (self, AF_INET6, "mtu", + nm_sprintf_buf (sbuf, "%u", (unsigned) ip6_mtu))) { + int errsv = errno; ++ NMLogLevel level = LOGL_WARN; ++ const char *msg = NULL; + +- _NMLOG (anticipated_failure && errsv == EINVAL ? LOGL_DEBUG : LOGL_WARN, +- LOGD_DEVICE, +- "mtu: failure to set IPv6 MTU%s", +- anticipated_failure && errsv == EINVAL +- ? ": Is the underlying MTU value successfully set?" +- : ""); + success = FALSE; ++ ++ if (anticipated_failure && errsv == EINVAL) { ++ level = LOGL_DEBUG; ++ msg = "Is the underlying MTU value successfully set?"; ++ } else if (!g_file_test ("/proc/sys/net/ipv6", G_FILE_TEST_IS_DIR)) { ++ level = LOGL_DEBUG; ++ msg = "IPv6 is disabled"; ++ success = TRUE; ++ } ++ ++ _NMLOG (level, ++ LOGD_DEVICE, ++ "mtu: failure to set IPv6 MTU%s%s", ++ msg ? ": " : "", ++ msg ?: ""); + } + priv->carrier_wait_until_ms = nm_utils_get_monotonic_timestamp_msec () + CARRIER_WAIT_TIME_AFTER_MTU_MS; + } +-- +2.26.2 + diff --git a/SOURCES/1008-wifi-avoid-crash-due-to-incomplete-Wi-Fi-API-info-rh1866395.patch b/SOURCES/1008-wifi-avoid-crash-due-to-incomplete-Wi-Fi-API-info-rh1866395.patch new file mode 100644 index 0000000..7f3cff0 --- /dev/null +++ b/SOURCES/1008-wifi-avoid-crash-due-to-incomplete-Wi-Fi-API-info-rh1866395.patch @@ -0,0 +1,87 @@ +From c71d29b3dbe13d6ce456200d9e8ce9d0739eb368 Mon Sep 17 00:00:00 2001 +From: Thomas Haller +Date: Mon, 3 Aug 2020 09:54:04 +0200 +Subject: [PATCH 1/1] wifi: avoid crash due to incomplete Wi-Fi API info + +In this case, GetAll failed with "Timeout was reached". We still +create a dummy BSS info, because we kept track of the object to +start with. That way, we don't simply want to ignore the failure, +because NMDeviceWifi might track this NMWifiAP already, and we may +need an update (even if we failed to fetch the requested information). + +However, that later leads to a crash, because NMDeviceWifi expect the BSSID +present then. + +Avoid that, by don't processing such APs. + + #0 g_logv (log_domain=0x7f2ac10a60a9 "NetworkManager", log_level=G_LOG_LEVEL_CRITICAL, format=, args=) at ../glib/gmessages.c:1377 + #1 0x00007f2acf152233 in g_log + (log_domain=log_domain@entry=0x7f2ac10a60a9 "NetworkManager", log_level=log_level@entry=G_LOG_LEVEL_CRITICAL, format=format@entry=0x7f2acf1a46ff "%s: assertion '%s' failed") + at ../glib/gmessages.c:1415 + #2 0x00007f2acf152a2d in g_return_if_fail_warning + (log_domain=log_domain@entry=0x7f2ac10a60a9 "NetworkManager", pretty_function=pretty_function@entry=0x7f2ac10a9e70 <__func__.50> "try_fill_ssid_for_hidden_ap", expression=expression@entry=0x7f2ac10a86d0 "bssid") at ../glib/gmessages.c:2771 + #3 0x00007f2ac108a402 in try_fill_ssid_for_hidden_ap (ap=0x5569978b61c0 [NMWifiAP], self=0x55699786ea00 [NMDeviceWifi]) at src/devices/wifi/nm-device-wifi.c:1883 + #4 supplicant_iface_bss_changed_cb (iface=0x556997777260 [NMSupplicantInterface], bss_info=0x7f2ab4028f00, is_present=1, self=0x55699786ea00 [NMDeviceWifi]) + at src/devices/wifi/nm-device-wifi.c:1946 + #5 0x00007f2ace246af0 in ffi_call_unix64 () at ../src/x86/unix64.S:76 + #6 0x00007f2ace2462ab in ffi_call (cif=cif@entry=0x7ffd9c107c90, fn=fn@entry=0x7f2ac1089e80 , rvalue=, avalue=avalue@entry=0x7ffd9c107ba0) + at ../src/x86/ffi64.c:525 + #7 0x00007f2acf23e87a in g_cclosure_marshal_generic_va + (closure=, return_value=, instance=, args_list=, marshal_data=, n_params=, param_types=) at ../gobject/gclosure.c:1614 + #8 0x00007f2acf23dae6 in _g_closure_invoke_va + (closure=closure@entry=0x5569978a0cc0, return_value=return_value@entry=0x0, instance=instance@entry=0x556997777260, args=args@entry=0x7ffd9c107f00, n_params=2, param_types=0x55699775b990) at ../gobject/gclosure.c:873 + #9 0x00007f2acf2566e9 in g_signal_emit_valist (instance=0x556997777260, signal_id=, detail=0, var_args=var_args@entry=0x7ffd9c107f00) at ../gobject/gsignal.c:3407 + #10 0x00007f2acf256c63 in g_signal_emit (instance=instance@entry=0x556997777260, signal_id=, detail=detail@entry=0) at ../gobject/gsignal.c:3554 + #11 0x00005569972ece61 in _bss_info_changed_emit (self=self@entry=0x556997777260 [NMSupplicantInterface], bss_info=bss_info@entry=0x7f2ab4028f00, is_present=is_present@entry=1) + at src/supplicant/nm-supplicant-interface.c:555 + #12 0x00005569972ed3a0 in _bss_info_properties_changed (self=0x556997777260 [NMSupplicantInterface], bss_info=0x7f2ab4028f00, properties=, initial=) + at src/supplicant/nm-supplicant-interface.c:758 + #13 0x00005569972f756b in _bss_info_get_all_cb (result=0x0, error=, user_data=0x7f2ab4028f00) at src/supplicant/nm-supplicant-interface.c:784 + #14 0x0000556997217bc1 in _nm_dbus_connection_call_default_cb (source=0x5569977480c0 [GDBusConnection], res=, user_data=user_data@entry=0x556997855d50) + at shared/nm-glib-aux/nm-dbus-aux.c:74 + #15 0x00007f2acf339e4a in g_task_return_now (task=task@entry=0x7f2ab4003f00 [GTask]) at ../gio/gtask.c:1214 + #16 0x00007f2acf33aa3d in g_task_return (task=0x7f2ab4003f00 [GTask], type=) at ../gio/gtask.c:1283 + #17 0x00007f2acf33b4fe in g_task_return (type=G_TASK_RETURN_ERROR, task=) at ../gio/gtask.c:1861 + #18 g_task_return_error (task=, error=) at ../gio/gtask.c:1867 + #19 0x0000556997893f40 in () + #20 0x3a85d39adfae7f00 in () + #21 0x00007f2ab4003cc0 in () + #22 0x00007f2acf396460 in g_dbus_connection_call_done () at ../gio/gdbusconnection.c:2059 + #23 0x00007f2ab4003f00 in () + #24 0x0000000000000086 in () + #25 0x0000000000000018 in () + #26 0x00007f2acf339e4a in g_task_return_now (task=0x7f2ab4003f00 [GTask], task@entry=0x7f2ab4003cc0 [GTask]) at ../gio/gtask.c:1214 + #27 0x00007f2acf33aa3d in g_task_return (task=0x7f2ab4003cc0 [GTask], type=) at ../gio/gtask.c:1283 + #28 0x00007f2acf33b4fe in g_task_return (type=G_TASK_RETURN_ERROR, task=) at ../gio/gtask.c:1861 + #29 g_task_return_error (task=, error=) at ../gio/gtask.c:1867 + #30 0x0000003000000028 in () + #31 0x00007ffd9c108290 in () + +Fixes: b83f07916a54 ('supplicant: large rework of wpa_supplicant handling') +(cherry picked from commit 4d878d7012cd9dc031682ef5e5b025081427325b) +(cherry picked from commit 029d07b019ea6532fbf6f8db03efb648f0931625) +--- + src/devices/wifi/nm-device-wifi.c | 7 +++++++ + 1 file changed, 7 insertions(+) + +diff --git a/src/devices/wifi/nm-device-wifi.c b/src/devices/wifi/nm-device-wifi.c +index 2d97f9b117a2..2a3428861737 100644 +--- a/src/devices/wifi/nm-device-wifi.c ++++ b/src/devices/wifi/nm-device-wifi.c +@@ -1937,6 +1937,13 @@ supplicant_iface_bss_changed_cb (NMSupplicantInterface *iface, + } else { + gs_unref_object NMWifiAP *ap = NULL; + ++ if (!bss_info->bssid_valid) { ++ /* We failed to initialize the info about the AP. This can ++ * happen due to an error in the D-Bus communication. In this case ++ * we ignore the info. */ ++ return; ++ } ++ + ap = nm_wifi_ap_new_from_properties (bss_info); + + /* Let the manager try to fill in the SSID from seen-bssids lists */ +-- +2.26.2 + diff --git a/SOURCES/1009-cloud-setup-fix-allocating-buffer-for-GetConfigMetad-rh1866395.patch b/SOURCES/1009-cloud-setup-fix-allocating-buffer-for-GetConfigMetad-rh1866395.patch new file mode 100644 index 0000000..042e203 --- /dev/null +++ b/SOURCES/1009-cloud-setup-fix-allocating-buffer-for-GetConfigMetad-rh1866395.patch @@ -0,0 +1,32 @@ +From e8e245f0ce414bbe9b8ef6c13404b73b12dd34ad Mon Sep 17 00:00:00 2001 +From: Thomas Haller +Date: Mon, 29 Jun 2020 09:52:18 +0200 +Subject: [PATCH 1/1] cloud-setup: fix allocating buffer for + GetConfigMetadataMac in _get_config_metadata_ready_check() + +It's not a severe issue, because the GetConfigMetadataData struct is +larger than GetConfigMetadataMac. + +Fixes: 69f048bf0ca3 ('cloud-setup: add tool for automatic IP configuration in cloud') +(cherry picked from commit 460afe6d502f2a8f158739c176302fd7fa072913) +(cherry picked from commit 181fd5c611e070c0563ec2659c8642ffe567e738) +--- + clients/cloud-setup/nmcs-provider-ec2.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/clients/cloud-setup/nmcs-provider-ec2.c b/clients/cloud-setup/nmcs-provider-ec2.c +index c8db31f97f67..3b5f6d36a82e 100644 +--- a/clients/cloud-setup/nmcs-provider-ec2.c ++++ b/clients/cloud-setup/nmcs-provider-ec2.c +@@ -487,7 +487,7 @@ _get_config_metadata_ready_check (long response_code, + if (!response_parsed) + response_parsed = g_hash_table_new_full (nm_str_hash, g_str_equal, g_free, g_free); + +- mac_data = g_malloc (sizeof (GetConfigMetadataData) + 1 + p_start_l); ++ mac_data = g_malloc (sizeof (GetConfigMetadataMac) + 1 + p_start_l); + mac_data->iface_idx = iface_idx_counter++; + memcpy (mac_data->path, p_start, p_start_l); + mac_data->path[p_start_l] = '\0'; +-- +2.26.2 + diff --git a/SPECS/NetworkManager.spec b/SPECS/NetworkManager.spec index 799b2be..e395e91 100644 --- a/SPECS/NetworkManager.spec +++ b/SPECS/NetworkManager.spec @@ -7,7 +7,7 @@ %global epoch_version 1 %global rpm_version 1.26.0 %global real_version 1.26.0 -%global release_version 2 +%global release_version 3 %global snapshot %{nil} %global git_sha %{nil} @@ -154,6 +154,11 @@ Patch1001: 1001-core-fix-generation-of-dependent-rh1857133.patch Patch1002: 1002-fix-check-on-master-ac-failure-rh1845018.patch Patch1003: 1003-translations-rh1820552.patch Patch1004: 1004-fix-warning-setting-bond-active-slave-rh1858326.patch +Patch1005: 1005-fix-managing-devices-after-sleep-rh1855563.patch +Patch1006: 1006-n-dhcp4-fix-bpf-for-big-endian-arch-rh1861488.patch +Patch1007: 1007-core-no-warn-setting-mtu-with-ipv6-disabled-rh1840989.patch +Patch1008: 1008-wifi-avoid-crash-due-to-incomplete-Wi-Fi-API-info-rh1866395.patch +Patch1009: 1009-cloud-setup-fix-allocating-buffer-for-GetConfigMetad-rh1866395.patch # The pregenerated docs contain default values and paths that depend # on the configure options when creating the source tarball. @@ -1101,6 +1106,12 @@ fi %changelog +* Wed Aug 6 2020 Thomas Haller - 1:1.26.0-3 +- core: fix managing devices after resuming from sleep (rh #1855563) +- dhcp: fix BPF filter for internal client on big endian arch (rh #1861488) +- core: support warning log setting IPv6 MTU with IPv6 disabled (rh #1840989) +- wifi: fix crash parsing incomplete BSS info (rh #1866395) + * Fri Jul 17 2020 Antonio Cardace - 1:1.26.0-2 - core: fix generation of local routes for VRF devices (rh #1857133) - team: fix crash on failure to connect to teamd (rh #1856723)