[network-manager-iodine] Correctly reinitialize private data for new connections



commit cdb5db0685e51a3ebdb33b20ae3a5b576dcefdfe
Author: Mickaël Thomas <mickael9 gmail com>
Date:   Sat Feb 4 18:18:38 2017 +0100

    Correctly reinitialize private data for new connections
    
    This got broken by a9fad49eceb1928fb7dd5ff63f4b4b384f35c81a
    
    Signed-off-by: Guido Günther <agx sigxcpu org>

 src/nm-iodine-service.c |    8 +++++++-
 1 files changed, 7 insertions(+), 1 deletions(-)
---
diff --git a/src/nm-iodine-service.c b/src/nm-iodine-service.c
index abac37b..96d94f7 100644
--- a/src/nm-iodine-service.c
+++ b/src/nm-iodine-service.c
@@ -392,6 +392,9 @@ iodine_watch_cb (GPid pid, gint status, gpointer user_data)
        } else {
                nm_vpn_service_plugin_disconnect (NM_VPN_SERVICE_PLUGIN (plugin), NULL);
        }
+
+       g_variant_builder_clear(&priv->ip4config);
+       priv->failure = -1;
 }
 
 static gboolean
@@ -523,8 +526,11 @@ real_connect (NMVpnServicePlugin *plugin,
               GError **error)
 {
        NMSettingVpn *s_vpn;
+       NMIodinePluginPrivate *priv = NM_IODINE_PLUGIN_GET_PRIVATE (plugin);
        gint ret = -1;
 
+       g_variant_builder_init(&priv->ip4config, G_VARIANT_TYPE_VARDICT);
+
        s_vpn = nm_connection_get_setting_vpn (connection);
        g_assert (s_vpn);
        if (!nm_iodine_properties_validate (s_vpn, error))
@@ -538,6 +544,7 @@ real_connect (NMVpnServicePlugin *plugin,
                return TRUE;
 
  out:
+       g_variant_builder_clear(&priv->ip4config);
        return FALSE;
 }
 
@@ -605,7 +612,6 @@ nm_iodine_plugin_init (NMIodinePlugin *plugin)
 {
        NMIodinePluginPrivate *priv = NM_IODINE_PLUGIN_GET_PRIVATE (plugin);
 
-       g_variant_builder_init (&priv->ip4config, G_VARIANT_TYPE_VARDICT);
        priv->failure = -1;
 }
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]