summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPacho Ramos <pacho@gentoo.org>2015-10-03 13:51:54 +0200
committerPacho Ramos <pacho@gentoo.org>2015-10-03 13:52:56 +0200
commit32923fba19c5b92210481ed853cc0bdfb705c7a6 (patch)
treee3283c5db22a24de941b04408b15ed426d70a8cd /net-misc/networkmanager/files
parentapp-portage/kuroo4: add slot to dev-db/sqlite dependency (diff)
downloadgentoo-32923fba19c5b92210481ed853cc0bdfb705c7a6.tar.gz
gentoo-32923fba19c5b92210481ed853cc0bdfb705c7a6.tar.bz2
gentoo-32923fba19c5b92210481ed853cc0bdfb705c7a6.zip
net-misc/networkmanager: Fix VPN problems due to wrong MTU (#559908 by Markos Chandras and Lubomir Rintel).
Package-Manager: portage-2.2.22
Diffstat (limited to 'net-misc/networkmanager/files')
-rw-r--r--net-misc/networkmanager/files/networkmanager-1.0.6-vpn-mtu.patch53
1 files changed, 53 insertions, 0 deletions
diff --git a/net-misc/networkmanager/files/networkmanager-1.0.6-vpn-mtu.patch b/net-misc/networkmanager/files/networkmanager-1.0.6-vpn-mtu.patch
new file mode 100644
index 000000000000..6159972cb767
--- /dev/null
+++ b/net-misc/networkmanager/files/networkmanager-1.0.6-vpn-mtu.patch
@@ -0,0 +1,53 @@
+From 105e30efbaf422401902575749efdcd18706ace1 Mon Sep 17 00:00:00 2001
+From: Lubomir Rintel <lkundrak@v3.sk>
+Date: Mon, 28 Sep 2015 20:57:09 +0200
+Subject: vpn-connection: set the MTU for the VPN IP interface
+
+The 9b79e6c73 commit moved setting of the MTU from IP4Config to NMDevice, but
+VPN connections don't have a NMDevice instance (yet). Set the MTU also from the
+VPN connection. Also, copying of the MTU to the IP4Config is no longer needed
+as the ip4_config_commit no longer sets the MTU.
+
+Fixes: 9b79e6c732ffb2fb105647c1465070d36a6cc180
+
+https://bugzilla.gnome.org/show_bug.cgi?id=754781
+(cherry picked from commit e0fa48f224abcb73a1a129f10050f7cd942ee629)
+
+diff --git a/src/vpn-manager/nm-vpn-connection.c b/src/vpn-manager/nm-vpn-connection.c
+index f0e6149..e2d3103 100644
+--- a/src/vpn-manager/nm-vpn-connection.c
++++ b/src/vpn-manager/nm-vpn-connection.c
+@@ -980,6 +980,9 @@ nm_vpn_connection_apply_config (NMVpnConnection *connection)
+ TRUE))
+ return FALSE;
+ }
++
++ if (priv->mtu && priv->mtu != nm_platform_link_get_mtu (NM_PLATFORM_GET, priv->ip_ifindex))
++ nm_platform_link_set_mtu (NM_PLATFORM_GET, priv->ip_ifindex, priv->mtu);
+ }
+
+ apply_parent_device_config (connection);
+@@ -1149,10 +1152,6 @@ process_generic_config (NMVpnConnection *connection,
+ }
+ }
+
+- /* MTU; this is a per-connection value, though NM's API treats it
+- * like it's IP4-specific. So we store it for now and retrieve it
+- * later in ip4_config_get.
+- */
+ priv->mtu = 0;
+ val = (GValue *) g_hash_table_lookup (config_hash, NM_VPN_PLUGIN_CONFIG_MTU);
+ if (val) {
+@@ -1328,9 +1327,6 @@ nm_vpn_connection_ip4_config_get (DBusGProxy *proxy,
+ if (val)
+ nm_ip4_config_set_mss (config, g_value_get_uint (val));
+
+- if (priv->mtu)
+- nm_ip4_config_set_mtu (config, priv->mtu, NM_IP_CONFIG_SOURCE_VPN);
+-
+ val = (GValue *) g_hash_table_lookup (config_hash, NM_VPN_PLUGIN_IP4_CONFIG_DOMAIN);
+ if (val)
+ nm_ip4_config_add_domain (config, g_value_get_string (val));
+--
+cgit v0.10.2
+