Update to NetworkManager 1.2.6 release

This commit is contained in:
Thomas Haller 2017-01-10 16:32:00 +01:00
parent bf98d20e2f
commit 941bf6d469
6 changed files with 2767 additions and 168 deletions

1
.gitignore vendored
View File

@ -327,3 +327,4 @@ network-manager-applet-0.8.1.tar.bz2
/NetworkManager-1.1.94.tar.xz
/NetworkManager-1.2.2.tar.xz
/NetworkManager-1.2.4.tar.xz
/NetworkManager-1.2.6.tar.xz

2757
0001-upstream.patch Normal file

File diff suppressed because it is too large Load Diff

View File

@ -1,70 +0,0 @@
From fdbe43d6d49a31fa15149dc1c69fb92e4744af86 Mon Sep 17 00:00:00 2001
From: Tony Espy <espy@canonical.com>
Date: Thu, 16 Jun 2016 15:07:32 -0400
Subject: [PATCH 1/2] wifi: clear WiFi requested_scan if suppl goes INACTIVE
It's possible for wpa_supplicant to transition to INACTIVE
state with an outstanding requested_scan pending. This can
lead to a stall condition where scanning no longer occurs.
[thaller@redhat.com: added break statement to avoid fall-through]
https://mail.gnome.org/archives/networkmanager-list/2016-June/msg00116.html
(cherry picked from commit eed8fd2e43d244caa856d9993e750ff19ba62fd7)
---
src/devices/wifi/nm-device-wifi.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/src/devices/wifi/nm-device-wifi.c b/src/devices/wifi/nm-device-wifi.c
index 82b12a1..712be49 100644
--- a/src/devices/wifi/nm-device-wifi.c
+++ b/src/devices/wifi/nm-device-wifi.c
@@ -1951,6 +1951,11 @@ supplicant_iface_state_cb (NMSupplicantInterface *iface,
else
_LOGI (LOGD_DEVICE | LOGD_WIFI, "supplicant interface keeps failing, giving up");
break;
+ case NM_SUPPLICANT_INTERFACE_STATE_INACTIVE:
+ priv->requested_scan = FALSE;
+ nm_clear_g_source (&priv->pending_scan_id);
+ request_wireless_scan (self, NULL);
+ break;
default:
break;
}
--
2.5.5
From 1b925c0028cdaaf14d4ebd1f07848ba5640915c6 Mon Sep 17 00:00:00 2001
From: Tony Espy <espy@canonical.com>
Date: Thu, 16 Jun 2016 15:07:33 -0400
Subject: [PATCH 2/2] wifi: clear WiFi requested_scan if suppl exits
It's possible for wpa_supplicant to exit with an
outstanding requested_scan pending. This can lead
to a stall condition where scanning no longer occurs.
https://mail.gnome.org/archives/networkmanager-list/2016-June/msg00117.html
(cherry picked from commit 899d7e5cb1eb3bddaf92de3644c49c9f634b675e)
---
src/devices/wifi/nm-device-wifi.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/src/devices/wifi/nm-device-wifi.c b/src/devices/wifi/nm-device-wifi.c
index 712be49..17f5b14 100644
--- a/src/devices/wifi/nm-device-wifi.c
+++ b/src/devices/wifi/nm-device-wifi.c
@@ -246,6 +246,11 @@ supplicant_interface_release (NMDeviceWifi *self)
priv = NM_DEVICE_WIFI_GET_PRIVATE (self);
+ if (priv->requested_scan) {
+ priv->requested_scan = FALSE;
+ nm_device_remove_pending_action (NM_DEVICE (self), "scan", TRUE);
+ }
+
nm_clear_g_source (&priv->pending_scan_id);
/* Reset the scan interval to be pretty frequent when disconnected */
--
2.5.5

View File

@ -1,91 +0,0 @@
From ece6252756c2d8e64efaadaaa5c2a2d2626770fe Mon Sep 17 00:00:00 2001
From: Lubomir Rintel <lkundrak@v3.sk>
Date: Tue, 19 Jul 2016 14:41:40 +0200
Subject: [PATCH 1/1] setting-vpn: whatever is in vpn.secrets always is a
secrets
Even when there's no <secret>-flags key for it in vpn-data.
This is essentially to fix regression in the way openconnect uses the VPN
secrets:
Openconnect auth helper is essentially a web browser that fills in an arbitrary
HTML (or XML) form that's used to get the session cookie. The actual secret the
service needs is the cookie itself.
However, what needs to be remembered includes the form data. What data can be
in the form is installation dependent and can not be known in advance. Thus the
flags for it can't be currently set in the connection. The auth helper is not
capable of setting the flags either, because it can only return secrets.
Prior to 1424f249e we treated vpn.secrets without the flags as system secrets
and store them in the connection. Since that commit we just filter them away,
which broke user configurations.
This restores the behavior or treating everyting in vpn.secrets as secrets and
falling back to system secrets.
Another way would be to find a way to flag the secrets, perhaps by
extending the auth helper protocol to be able to store non-secret
properties too.
https://bugzilla.gnome.org/show_bug.cgi?id=768737
https://bugzilla.redhat.com/show_bug.cgi?id=1332491
(cherry picked from commit 9b96bfaa722f3cccf0df3a3bca6e8f227643f94f)
(cherry picked from commit bb45adeda0bf427ada23b09daf970b0757e82d60)
---
libnm-core/nm-setting-vpn.c | 20 ++++++--------------
1 file changed, 6 insertions(+), 14 deletions(-)
diff --git a/libnm-core/nm-setting-vpn.c b/libnm-core/nm-setting-vpn.c
index c9a1e20..aa4ddc3 100644
--- a/libnm-core/nm-setting-vpn.c
+++ b/libnm-core/nm-setting-vpn.c
@@ -566,8 +566,7 @@ get_secret_flags (NMSetting *setting,
GError **error)
{
NMSettingVpnPrivate *priv = NM_SETTING_VPN_GET_PRIVATE (setting);
- gboolean success = FALSE;
- char *flags_key;
+ gs_free char *flags_key = NULL;
gpointer val;
unsigned long tmp;
NMSettingSecretFlags flags = NM_SETTING_SECRET_FLAG_NONE;
@@ -576,28 +575,21 @@ get_secret_flags (NMSetting *setting,
if (g_hash_table_lookup_extended (priv->data, flags_key, NULL, &val)) {
errno = 0;
tmp = strtoul ((const char *) val, NULL, 10);
- if ((errno == 0) && (tmp <= NM_SETTING_SECRET_FLAGS_ALL)) {
- flags = (NMSettingSecretFlags) tmp;
- success = TRUE;
- } else {
+ if ((errno != 0) || (tmp > NM_SETTING_SECRET_FLAGS_ALL)) {
g_set_error (error,
NM_CONNECTION_ERROR,
NM_CONNECTION_ERROR_INVALID_PROPERTY,
_("failed to convert value '%s' to uint"),
(const char *) val);
g_prefix_error (error, "%s.%s: ", NM_SETTING_VPN_SETTING_NAME, flags_key);
+ return FALSE;
}
- } else {
- g_set_error_literal (error,
- NM_CONNECTION_ERROR,
- NM_CONNECTION_ERROR_MISSING_PROPERTY,
- _("secret flags property not found"));
- g_prefix_error (error, "%s.%s: ", NM_SETTING_VPN_SETTING_NAME, flags_key);
+ flags = (NMSettingSecretFlags) tmp;
}
- g_free (flags_key);
+
if (out_flags)
*out_flags = flags;
- return success;
+ return TRUE;
}
static gboolean
--
2.7.4

View File

@ -9,9 +9,9 @@
%global snapshot %{nil}
%global git_sha %{nil}
%global rpm_version 1.2.4
%global real_version 1.2.4
%global release_version 3
%global rpm_version 1.2.6
%global real_version 1.2.6
%global release_version 1
%global epoch_version 1
%global obsoletes_nmver 1:0.9.9.95-1
@ -97,8 +97,7 @@ Source1: NetworkManager.conf
Source2: 00-server.conf
Source3: 20-connectivity-fedora.conf
Patch1: 0001-wifi-clear-WiFi-requested-scan-rh1362165.patch
Patch2: 0002-libnm-secrets-without-flags-rh1332491.patch
Patch1: 0001-upstream.patch
Requires(post): systemd
Requires(preun): systemd
@ -340,7 +339,6 @@ by nm-connection-editor and nm-applet in a non-graphical environment.
%setup -q -n NetworkManager-%{real_version}
%patch1 -p1
%patch2 -p1
%build
gtkdocize
@ -643,6 +641,10 @@ fi
%endif
%changelog
* Tue Jan 10 2017 Thomas Haller <thaller@redhat.com> - 1:1.2.6-1
- Update to NetworkManager 1.2.6 release
- Include additional fixes from upstream
* Wed Oct 12 2016 Thomas Haller <thaller@redhat.com> - 1:1.2.4-3
- libnm: accept secrets without flags for nm-openconnect (rh#1332491)

View File

@ -1 +1 @@
66064dfe29c37502a0a9350e5caa46d3 NetworkManager-1.2.4.tar.xz
SHA512 (NetworkManager-1.2.6.tar.xz) = 592db242d1f9b7a6848ea3fd826d09755a9d86582e4fae25899611392fb533f4e032756b74713dc998b4f4a0f684f0f0b437bad72d97cceb4d4dc38996c96a90