Update to 1.0.12 release

This commit is contained in:
Lubomir Rintel 2016-04-02 01:08:57 +02:00
parent 2f2a742f10
commit 6e190ca90a
5 changed files with 8 additions and 107 deletions

1
.gitignore vendored
View File

@ -321,3 +321,4 @@ network-manager-applet-0.8.1.tar.bz2
/NetworkManager-1.0.6.tar.xz
/NetworkManager-1.0.8.tar.xz
/NetworkManager-1.0.10.tar.xz
/NetworkManager-1.0.12.tar.xz

View File

@ -1,55 +0,0 @@
From 01ec441715e24ce43394fe7aad34501ef538386e Mon Sep 17 00:00:00 2001
From: Thomas Haller <thaller@redhat.com>
Date: Mon, 4 Jan 2016 18:54:26 +0100
Subject: [PATCH 1/1] core: fix failure to configure routes due to wrong
device-route for IPv4 peer-addresses
As in the case of a OpenVPN connection, we might add an address like:
10.8.0.58/32 ptp 10.8.0.57
In this case, kernel would automatically add a device-route like:
10.8.0.57/32 via 0.0.0.0 dev 32 metric 0 mss 0 src rtprot-kernel scope link pref-src 10.8.0.58
nm_ip4_config_commit() checks all IP addresses to figure out
the present device-routes. Then the routes are synced by NMRouteManager.
Due to a bug, we would not consider the peer-address, but the local-address
and configure a route 10.8.0.58/32, instead of 10.8.0.57/32.
That stays mostly unnoticed, because usually the peer and the local-address are
in the same subnet, so that there is no difference (/32 is an example of the
peer-address being in a different subnet).
It also seems that due to a bug fixed by df4e5357521 this issue didn't surface.
Probably because we would not notice the 10.8.0.57/32 right away and thus
nm_route_manager_ip4_route_sync() would not wrongly delete it.
https://bugzilla.gnome.org/show_bug.cgi?id=759892
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=809195
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=809494
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=809526
https://bugs.archlinux.org/task/47535
https://bugzilla.redhat.com/show_bug.cgi?id=1294309
https://mail.gnome.org/archives/networkmanager-list/2015-December/msg00059.html
(cherry picked from commit 11aa07ed939193e85516c287a57dee1837242972)
---
src/nm-ip4-config.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/nm-ip4-config.c b/src/nm-ip4-config.c
index f625d35..61e29af 100644
--- a/src/nm-ip4-config.c
+++ b/src/nm-ip4-config.c
@@ -298,7 +298,8 @@ nm_ip4_config_commit (const NMIP4Config *config, int ifindex, gboolean routes_fu
route.ifindex = ifindex;
route.source = NM_IP_CONFIG_SOURCE_KERNEL;
- route.network = nm_utils_ip4_address_clear_host_address (addr->address, addr->plen);
+ route.network = nm_utils_ip4_address_clear_host_address (addr->peer_address ? : addr->address,
+ addr->plen);
route.plen = addr->plen;
route.pref_src = addr->address;
route.metric = default_route_metric;
--
2.5.0

View File

@ -1,42 +0,0 @@
From dd8ee9be472ddf799e63e035bf0c82f072dc1881 Mon Sep 17 00:00:00 2001
From: Thomas Haller <thaller@redhat.com>
Date: Thu, 21 Jan 2016 15:03:44 +0100
Subject: [PATCH 1/1] wifi: assert against returning cached
NMSupplicantInterface instances
nm_supplicant_manager_iface_get() returning a cached instance leads to
a crash when the first owner releases the object, as no ownership is
transferred.
That was fixed on master by commit f1fba3eb02c5d102a1b0e85c371dce81e5bd0d3b.
Instead of backporting the entire refactoring (which also asserts against
reuse), just disallow reusing here.
The assertion should not be hit. If it would we need to investigate.
Also, this way the assertion avoids a hard crash.
https://bugzilla.redhat.com/show_bug.cgi?id=1298007
(cherry picked from commit bd27102277e5d7e52d87bd26711ae6c431e08192)
---
src/supplicant-manager/nm-supplicant-manager.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/src/supplicant-manager/nm-supplicant-manager.c b/src/supplicant-manager/nm-supplicant-manager.c
index 083f2eb..e31e726 100644
--- a/src/supplicant-manager/nm-supplicant-manager.c
+++ b/src/supplicant-manager/nm-supplicant-manager.c
@@ -93,7 +93,10 @@ nm_supplicant_manager_iface_get (NMSupplicantManager * self,
iface);
}
} else {
- nm_log_dbg (LOGD_SUPPLICANT, "(%s): returning existing supplicant interface", ifname);
+ /* nm_supplicant_manager_iface_get() and release() implements no form of ref-counting
+ * to properly handle reusing a cached instance. It's also unclear whether that is
+ * even necessary or desired. Assert here and error out (rh #1298007). */
+ g_return_val_if_reached (NULL);
}
return iface;
--
2.5.0

View File

@ -8,8 +8,8 @@
%define ppp_version %(rpm -q ppp-devel >/dev/null && rpm -q --qf '%%{version}' ppp-devel || echo -n bad)
%define snapshot %{nil}
%define release_version 3
%define realversion 1.0.10
%define release_version 1
%define realversion 1.0.12
%define epoch_version 1
%define obsoletes_nmver 1:0.9.9.95-1
@ -77,7 +77,7 @@ Group: System Environment/Base
License: GPLv2+
URL: http://www.gnome.org/projects/NetworkManager/
Source: http://ftp.gnome.org/pub/GNOME/sources/NetworkManager/1.0/%{name}-%{realversion}.tar.xz
Source: https://download.gnome.org/sources/NetworkManager/1.0/%{name}-%{realversion}.tar.xz
Source1: NetworkManager.conf
Source2: 00-server.conf
Source3: 10-ibft-plugin.conf
@ -86,10 +86,6 @@ Source4: 20-connectivity-fedora.conf
# Not upstream.
Patch0: 0000-explain-dns1-dns2.patch
# nm-1-0 backports
Patch1: 0001-rh1294309-peer-device-route.patch
Patch2: 0002-wifi-avoid-crash-reusing-supplicant-rh1298007.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
%if 0%{?fedora} && 0%{?fedora} < 20
@ -365,8 +361,6 @@ by nm-connection-editor and nm-applet in a non-graphical environment.
%prep
%setup -q -n NetworkManager-%{realversion}
%patch0 -p1
%patch1 -p1
%patch2 -p1
%build
@ -685,6 +679,9 @@ fi
%endif
%changelog
* Sat Apr 2 2016 Lubomir Rintel <lkundrak@v3.sk> - 1:1.0.12-1
- Update to 1.0.12 release
* Wed Mar 2 2016 Thomas Haller <thaller@redhat.com> - 1:1.0.10-3
- wifi: avoid crash when reusing supplicant instance (rh #1298007, rh #1241198)

View File

@ -1 +1 @@
a8f54460a4708efd840358f32d0968fd NetworkManager-1.0.10.tar.xz
ebb273456a81ccf9dfaf2461061b0e96 NetworkManager-1.0.12.tar.xz