summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Haller <thaller@redhat.com>2015-09-02 11:07:34 +0200
committerThomas Haller <thaller@redhat.com>2015-09-02 11:07:49 +0200
commite9f17c83a17ccce621224e949e7363ec985657a3 (patch)
tree80c2b0f547544de3a17e69f19ec14cf6b9bbe0b7
parent447799e3b5a1d42aa7b23d8fa35bf23d862a7bb4 (diff)
downloadNetworkManager-e9f17c83a17ccce621224e949e7363ec985657a3.tar.gz
fixup! core: separate active and applied connection
-rw-r--r--src/devices/wifi/nm-device-wifi.c15
-rw-r--r--src/nm-activation-request.c8
-rw-r--r--src/nm-activation-request.h2
-rw-r--r--src/nm-active-connection.c15
-rw-r--r--src/nm-active-connection.h2
-rw-r--r--src/settings/nm-settings-connection.c2
6 files changed, 30 insertions, 14 deletions
diff --git a/src/devices/wifi/nm-device-wifi.c b/src/devices/wifi/nm-device-wifi.c
index 3a3de47633..27f2a84ce2 100644
--- a/src/devices/wifi/nm-device-wifi.c
+++ b/src/devices/wifi/nm-device-wifi.c
@@ -484,15 +484,8 @@ deactivate (NMDevice *device)
NMDeviceWifi *self = NM_DEVICE_WIFI (device);
NMDeviceWifiPrivate *priv = NM_DEVICE_WIFI_GET_PRIVATE (self);
int ifindex = nm_device_get_ifindex (device);
- NMConnection *applied_connection;
NM80211Mode old_mode = priv->mode;
- applied_connection = nm_device_get_applied_connection (device);
- if (applied_connection) {
- /* Clear wireless secrets tries when deactivating */
- g_object_set_data (G_OBJECT (applied_connection), WIRELESS_SECRETS_TRIES, NULL);
- }
-
if (priv->periodic_source_id) {
g_source_remove (priv->periodic_source_id);
priv->periodic_source_id = 0;
@@ -1829,7 +1822,6 @@ handle_8021x_or_psk_auth_fail (NMDeviceWifi *self,
{
NMDevice *device = NM_DEVICE (self);
NMActRequest *req;
- NMConnection *connection;
const char *setting_name = NULL;
gboolean handled = FALSE;
@@ -1838,13 +1830,10 @@ handle_8021x_or_psk_auth_fail (NMDeviceWifi *self,
req = nm_device_get_act_request (NM_DEVICE (self));
g_return_val_if_fail (req != NULL, FALSE);
- connection = nm_act_request_get_applied_connection (req);
- g_assert (connection);
-
if ( need_new_8021x_secrets (self, old_state, &setting_name)
|| need_new_wpa_psk (self, old_state, &setting_name)) {
- nm_connection_clear_secrets (connection);
+ nm_act_request_clear_secrets (req);
_LOGI (LOGD_DEVICE | LOGD_WIFI,
"Activation: (wifi) disconnected during association, asking for new key");
@@ -2108,7 +2097,7 @@ handle_auth_or_fail (NMDeviceWifi *self,
nm_device_state_changed (NM_DEVICE (self), NM_DEVICE_STATE_NEED_AUTH, NM_DEVICE_STATE_REASON_NONE);
- nm_connection_clear_secrets (applied_connection);
+ nm_act_request_clear_secrets (req);
setting_name = nm_connection_need_secrets (applied_connection, NULL);
if (setting_name) {
NMSecretAgentGetSecretsFlags flags = NM_SECRET_AGENT_GET_SECRETS_FLAG_ALLOW_INTERACTION;
diff --git a/src/nm-activation-request.c b/src/nm-activation-request.c
index 87b8ce62b4..c4bd7a0573 100644
--- a/src/nm-activation-request.c
+++ b/src/nm-activation-request.c
@@ -249,6 +249,14 @@ nm_act_request_cancel_secrets (NMActRequest *self, NMActRequestGetSecretsCallId
}
}
+void
+nm_act_request_clear_secrets (NMActRequest *self)
+{
+ g_return_if_fail (NM_IS_ACT_REQUEST (self));
+
+ nm_active_connection_clear_secrets ((NMActiveConnection *) self);
+}
+
/********************************************************************/
static void
diff --git a/src/nm-activation-request.h b/src/nm-activation-request.h
index 0f903134c9..35f1caf7fb 100644
--- a/src/nm-activation-request.h
+++ b/src/nm-activation-request.h
@@ -80,5 +80,7 @@ NMActRequestGetSecretsCallId nm_act_request_get_secrets (NMActRequest *req,
void nm_act_request_cancel_secrets (NMActRequest *req, NMActRequestGetSecretsCallId call_id);
+void nm_act_request_clear_secrets (NMActRequest *self);
+
#endif /* __NETWORKMANAGER_ACTIVATION_REQUEST_H__ */
diff --git a/src/nm-active-connection.c b/src/nm-active-connection.c
index 79cbad322b..cf07ac1566 100644
--- a/src/nm-active-connection.c
+++ b/src/nm-active-connection.c
@@ -310,6 +310,21 @@ nm_active_connection_is_modified (NMActiveConnection *self)
/*******************************************************************/
+void
+nm_active_connection_clear_secrets (NMActiveConnection *self)
+{
+ NMActiveConnectionPrivate *priv;
+
+ g_return_if_fail (NM_IS_ACTIVE_CONNECTION (self));
+
+ priv = NM_ACTIVE_CONNECTION_GET_PRIVATE (self);
+
+ nm_connection_clear_secrets ((NMConnection *) priv->settings_connection);
+ nm_connection_clear_secrets (priv->applied_connection);
+}
+
+/*******************************************************************/
+
const char *
nm_active_connection_get_specific_object (NMActiveConnection *self)
{
diff --git a/src/nm-active-connection.h b/src/nm-active-connection.h
index 24b4a7d8cc..5030dba40a 100644
--- a/src/nm-active-connection.h
+++ b/src/nm-active-connection.h
@@ -149,4 +149,6 @@ void nm_active_connection_set_assumed (NMActiveConnection *self,
gboolean nm_active_connection_get_assumed (NMActiveConnection *self);
+void nm_active_connection_clear_secrets (NMActiveConnection *self);
+
#endif /* __NETWORKMANAGER_ACTIVE_CONNECTION_H__ */
diff --git a/src/settings/nm-settings-connection.c b/src/settings/nm-settings-connection.c
index 4ead3519a0..f49ac7a537 100644
--- a/src/settings/nm-settings-connection.c
+++ b/src/settings/nm-settings-connection.c
@@ -960,7 +960,7 @@ agent_secrets_done_cb (NMAgentManager *manager,
*
* Returns: a call ID which may be used to cancel the ongoing secrets request
**/
-guint32
+guint32
nm_settings_connection_get_secrets (NMSettingsConnection *self,
NMAuthSubject *subject,
const char *setting_name,