2008-11-14 Dan Williams <dcbw@redhat.com>
authorDan Williams <dcbw@redhat.com>
Fri, 14 Nov 2008 15:23:08 +0000 (15:23 +0000)
committerDan Williams <dcbw@redhat.com>
Fri, 14 Nov 2008 15:23:08 +0000 (15:23 +0000)
* vpn-manager/nm-vpn-connection.c
- (plugin_state_changed): clear VPN secrets on error to ensure they
are always requested from the settings service (rh #429287)

git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4282 4912f4e0-d625-0410-9fb7-b9a5a253dbdc

ChangeLog
src/vpn-manager/nm-vpn-connection.c

index 46af245..a4f4191 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2008-11-14  Dan Williams  <dcbw@redhat.com>
+
+       * vpn-manager/nm-vpn-connection.c
+               - (plugin_state_changed): clear VPN secrets on error to ensure they
+                       are always requested from the settings service (rh #429287)
+
 2008-11-13  Dan Williams  <dcbw@redhat.com>
 
        * libnm-util/crypto.c
index 8c0a7a9..c29f48d 100644 (file)
@@ -284,7 +284,7 @@ plugin_state_changed (DBusGProxy *proxy,
                                  gpointer user_data)
 {
        NMVPNConnection *connection = NM_VPN_CONNECTION (user_data);
-       NMVPNConnectionPrivate *priv;
+       NMVPNConnectionPrivate *priv = NM_VPN_CONNECTION_GET_PRIVATE (connection);
 
        nm_info ("VPN plugin state changed: %d", state);
 
@@ -297,9 +297,6 @@ plugin_state_changed (DBusGProxy *proxy,
        case NM_VPN_CONNECTION_STATE_CONNECT:
        case NM_VPN_CONNECTION_STATE_IP_CONFIG_GET:
        case NM_VPN_CONNECTION_STATE_ACTIVATED:
-
-               priv = NM_VPN_CONNECTION_GET_PRIVATE (connection);
-
                nm_info ("VPN plugin state change reason: %d", priv->failure_reason);
                nm_vpn_connection_set_vpn_state (connection,
                                                 NM_VPN_CONNECTION_STATE_FAILED,
@@ -311,6 +308,11 @@ plugin_state_changed (DBusGProxy *proxy,
        default:
                break;
        }
+
+       /* Clear connection secrets too so the auth dialogs get asked
+        * for them next time.
+        */
+       nm_connection_clear_secrets (priv->connection);
 }
 
 static const char *