From e6b1a31106a98bea2f1347feeacaa082185405e4 Mon Sep 17 00:00:00 2001 From: Thomas Haller Date: Thu, 13 Apr 2017 17:28:22 +0200 Subject: [PATCH] vpn: avoid calling call_plugin_disconnect() without proxy Got an assertion due to priv-proxy unset. NMDevice: - _platform_link_cb_idle() - nm_device_unrealize() [NMDeviceTun] - nm_device_state_changed() - _set_state_full() NMVpnConnection: - _set_vpn_state() - call_plugin_disconnect() It seam to me, that can only happen if the NMVpnConnection never completed on_proxy_acquired() and is still in preparing state when being disconnected. Avoid that be checking whether we have a proxy. https://bugzilla.redhat.com/show_bug.cgi?id=1442064 (cherry picked from commit bc1d1c9df4c1d68233a3743dab030480aeed2831) --- src/vpn/nm-vpn-connection.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/vpn/nm-vpn-connection.c b/src/vpn/nm-vpn-connection.c index 464395dffa..ac86a7a96d 100644 --- a/src/vpn/nm-vpn-connection.c +++ b/src/vpn/nm-vpn-connection.c @@ -646,7 +646,8 @@ _set_vpn_state (NMVpnConnection *self, } /* Tear down and clean up the connection */ - call_plugin_disconnect (self); + if (priv->proxy) + call_plugin_disconnect (self); vpn_cleanup (self, parent_dev); /* fall through */ default: