[arch-commits] Commit in networkmanager/trunk (2 files)

Jan Steffens heftig at archlinux.org
Tue Jan 5 22:45:26 UTC 2016


    Date: Tuesday, January 5, 2016 @ 23:45:26
  Author: heftig
Revision: 257531

Hotfix FS#47535

Added:
  networkmanager/trunk/0001-core-fix-failure-to-configure-routes-due-to-wrong-de.patch
Modified:
  networkmanager/trunk/PKGBUILD

-----------------------------------------------------------------+
 0001-core-fix-failure-to-configure-routes-due-to-wrong-de.patch |   54 ++++++++++
 PKGBUILD                                                        |    5 
 2 files changed, 58 insertions(+), 1 deletion(-)

Added: 0001-core-fix-failure-to-configure-routes-due-to-wrong-de.patch
===================================================================
--- 0001-core-fix-failure-to-configure-routes-due-to-wrong-de.patch	                        (rev 0)
+++ 0001-core-fix-failure-to-configure-routes-due-to-wrong-de.patch	2016-01-05 22:45:26 UTC (rev 257531)
@@ -0,0 +1,54 @@
+From 11aa07ed939193e85516c287a57dee1837242972 Mon Sep 17 00:00:00 2001
+From: Thomas Haller <thaller at redhat.com>
+Date: Mon, 4 Jan 2016 18:54:26 +0100
+Subject: [PATCH] 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
+---
+ 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.6.4
+

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2016-01-05 19:11:42 UTC (rev 257530)
+++ PKGBUILD	2016-01-05 22:45:26 UTC (rev 257531)
@@ -9,7 +9,7 @@
 pkgbase=networkmanager
 pkgname=(networkmanager libnm-glib)
 pkgver=1.0.10
-pkgrel=1
+pkgrel=2
 pkgdesc="Network Management daemon"
 arch=(i686 x86_64)
 license=(GPL2 LGPL2.1)
@@ -23,8 +23,10 @@
 #_commit=ba46efd07777350be737dbdac9df9becb86e8f77
 #source=("git://anongit.freedesktop.org/NetworkManager/NetworkManager#commit=$_commit"
 source=(http://ftp.gnome.org/pub/gnome/sources/NetworkManager/${pkgver:0:3}/NetworkManager-$pkgver.tar.xz
+        0001-core-fix-failure-to-configure-routes-due-to-wrong-de.patch
         NetworkManager.conf disable_set_hostname.patch)
 sha256sums=('1bcfce8441dfd9f432a100d06b54f3831a2275cccc3b74b1b4c09a011e179fbc'
+            '27d84d45046826a25e861a126099d9ad39e84408530c1bb898287e4543eb84f7'
             '2c6a647b5aec9f3c356d5d95251976a21297c6e64bd8d2a59339f8450a86cb3b'
             '25056837ea92e559f09563ed817e3e0cd9333be861b8914e45f62ceaae2e0460')
 
@@ -33,6 +35,7 @@
   ln -s /usr/bin/python2 path/python
 
   cd NetworkManager-$pkgver
+  patch -Np1 -i ../0001-core-fix-failure-to-configure-routes-due-to-wrong-de.patch
   patch -Np1 -i ../disable_set_hostname.patch
   NOCONFIGURE=1 ./autogen.sh
 }



More information about the arch-commits mailing list