vpn: consolidate nm_vpn_connection_fail() and nm_vpn_connection_disconnect()
This commit is contained in:
@@ -1607,21 +1607,13 @@ nm_vpn_connection_get_ip6_internal_gateway (NMVPNConnection *connection)
|
|||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
nm_vpn_connection_fail (NMVPNConnection *connection,
|
nm_vpn_connection_stop (NMVPNConnection *connection,
|
||||||
|
gboolean fail,
|
||||||
NMVPNConnectionStateReason reason)
|
NMVPNConnectionStateReason reason)
|
||||||
{
|
{
|
||||||
g_return_if_fail (NM_IS_VPN_CONNECTION (connection));
|
g_return_if_fail (NM_IS_VPN_CONNECTION (connection));
|
||||||
|
|
||||||
_set_vpn_state (connection, STATE_FAILED, reason);
|
_set_vpn_state (connection, fail ? STATE_FAILED : STATE_DISCONNECTED, reason);
|
||||||
}
|
|
||||||
|
|
||||||
void
|
|
||||||
nm_vpn_connection_disconnect (NMVPNConnection *connection,
|
|
||||||
NMVPNConnectionStateReason reason)
|
|
||||||
{
|
|
||||||
g_return_if_fail (NM_IS_VPN_CONNECTION (connection));
|
|
||||||
|
|
||||||
_set_vpn_state (connection, STATE_DISCONNECTED, reason);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
gboolean
|
gboolean
|
||||||
@@ -1661,7 +1653,7 @@ plugin_need_secrets_cb (DBusGProxy *proxy, DBusGProxyCall *call, void *user_dat
|
|||||||
priv->secrets_idx + 1,
|
priv->secrets_idx + 1,
|
||||||
g_quark_to_string (error->domain),
|
g_quark_to_string (error->domain),
|
||||||
error->message);
|
error->message);
|
||||||
nm_vpn_connection_fail (self, NM_VPN_CONNECTION_STATE_REASON_NO_SECRETS);
|
_set_vpn_state (self, STATE_FAILED, NM_VPN_CONNECTION_STATE_REASON_NO_SECRETS);
|
||||||
g_error_free (error);
|
g_error_free (error);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -1673,7 +1665,7 @@ plugin_need_secrets_cb (DBusGProxy *proxy, DBusGProxyCall *call, void *user_dat
|
|||||||
nm_log_err (LOGD_VPN, "(%s/%s) final secrets request failed to provide sufficient secrets",
|
nm_log_err (LOGD_VPN, "(%s/%s) final secrets request failed to provide sufficient secrets",
|
||||||
nm_connection_get_uuid (priv->connection),
|
nm_connection_get_uuid (priv->connection),
|
||||||
nm_connection_get_id (priv->connection));
|
nm_connection_get_id (priv->connection));
|
||||||
nm_vpn_connection_fail (self, NM_VPN_CONNECTION_STATE_REASON_NO_SECRETS);
|
_set_vpn_state (self, STATE_FAILED, NM_VPN_CONNECTION_STATE_REASON_NO_SECRETS);
|
||||||
} else {
|
} else {
|
||||||
nm_log_dbg (LOGD_VPN, "(%s/%s) service indicated additional secrets required",
|
nm_log_dbg (LOGD_VPN, "(%s/%s) service indicated additional secrets required",
|
||||||
nm_connection_get_uuid (priv->connection),
|
nm_connection_get_uuid (priv->connection),
|
||||||
@@ -1705,7 +1697,7 @@ plugin_new_secrets_cb (DBusGProxy *proxy, DBusGProxyCall *call, void *user_data
|
|||||||
nm_connection_get_id (priv->connection),
|
nm_connection_get_id (priv->connection),
|
||||||
g_quark_to_string (error->domain),
|
g_quark_to_string (error->domain),
|
||||||
error->message);
|
error->message);
|
||||||
nm_vpn_connection_fail (self, NM_VPN_CONNECTION_STATE_REASON_NO_SECRETS);
|
_set_vpn_state (self, STATE_FAILED, NM_VPN_CONNECTION_STATE_REASON_NO_SECRETS);
|
||||||
g_error_free (error);
|
g_error_free (error);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1730,7 +1722,7 @@ get_secrets_cb (NMSettingsConnection *connection,
|
|||||||
if (error) {
|
if (error) {
|
||||||
nm_log_err (LOGD_VPN, "Failed to request VPN secrets #%d: (%d) %s",
|
nm_log_err (LOGD_VPN, "Failed to request VPN secrets #%d: (%d) %s",
|
||||||
priv->secrets_idx + 1, error->code, error->message);
|
priv->secrets_idx + 1, error->code, error->message);
|
||||||
nm_vpn_connection_fail (self, NM_VPN_CONNECTION_STATE_REASON_NO_SECRETS);
|
_set_vpn_state (self, STATE_FAILED, NM_VPN_CONNECTION_STATE_REASON_NO_SECRETS);
|
||||||
} else {
|
} else {
|
||||||
/* Cache the username for later */
|
/* Cache the username for later */
|
||||||
if (agent_username) {
|
if (agent_username) {
|
||||||
@@ -1814,7 +1806,7 @@ get_secrets (NMVPNConnection *self,
|
|||||||
nm_log_err (LOGD_VPN, "failed to request VPN secrets #%d: (%d) %s",
|
nm_log_err (LOGD_VPN, "failed to request VPN secrets #%d: (%d) %s",
|
||||||
priv->secrets_idx + 1, error->code, error->message);
|
priv->secrets_idx + 1, error->code, error->message);
|
||||||
}
|
}
|
||||||
nm_vpn_connection_fail (self, NM_VPN_CONNECTION_STATE_REASON_NO_SECRETS);
|
_set_vpn_state (self, STATE_FAILED, NM_VPN_CONNECTION_STATE_REASON_NO_SECRETS);
|
||||||
g_clear_error (&error);
|
g_clear_error (&error);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -77,9 +77,8 @@ const char * nm_vpn_connection_get_banner (NMVPNConnection *connect
|
|||||||
|
|
||||||
gboolean nm_vpn_connection_deactivate (NMVPNConnection *connection,
|
gboolean nm_vpn_connection_deactivate (NMVPNConnection *connection,
|
||||||
NMVPNConnectionStateReason reason);
|
NMVPNConnectionStateReason reason);
|
||||||
void nm_vpn_connection_fail (NMVPNConnection *connection,
|
void nm_vpn_connection_stop (NMVPNConnection *connection,
|
||||||
NMVPNConnectionStateReason reason);
|
gboolean fail,
|
||||||
void nm_vpn_connection_disconnect (NMVPNConnection *connection,
|
|
||||||
NMVPNConnectionStateReason reason);
|
NMVPNConnectionStateReason reason);
|
||||||
|
|
||||||
NMIP4Config * nm_vpn_connection_get_ip4_config (NMVPNConnection *connection);
|
NMIP4Config * nm_vpn_connection_get_ip4_config (NMVPNConnection *connection);
|
||||||
|
@@ -136,7 +136,7 @@ nm_vpn_manager_activate_connection (NMVPNManager *manager,
|
|||||||
existing = find_active_vpn_connection (manager,
|
existing = find_active_vpn_connection (manager,
|
||||||
nm_active_connection_get_connection (NM_ACTIVE_CONNECTION (vpn)));
|
nm_active_connection_get_connection (NM_ACTIVE_CONNECTION (vpn)));
|
||||||
if (existing)
|
if (existing)
|
||||||
nm_vpn_connection_disconnect (vpn, NM_VPN_CONNECTION_STATE_REASON_USER_DISCONNECTED);
|
nm_vpn_connection_stop (vpn, FALSE, NM_VPN_CONNECTION_STATE_REASON_USER_DISCONNECTED);
|
||||||
|
|
||||||
return nm_vpn_service_activate (service, vpn, error);
|
return nm_vpn_service_activate (service, vpn, error);
|
||||||
}
|
}
|
||||||
|
@@ -140,10 +140,7 @@ nm_vpn_service_connections_stop (NMVPNService *service,
|
|||||||
NMVPNConnection *vpn = NM_VPN_CONNECTION (iter->data);
|
NMVPNConnection *vpn = NM_VPN_CONNECTION (iter->data);
|
||||||
|
|
||||||
g_signal_handlers_disconnect_by_func (vpn, G_CALLBACK (connection_vpn_state_changed), service);
|
g_signal_handlers_disconnect_by_func (vpn, G_CALLBACK (connection_vpn_state_changed), service);
|
||||||
if (fail)
|
nm_vpn_connection_stop (vpn, fail, reason);
|
||||||
nm_vpn_connection_fail (vpn, reason);
|
|
||||||
else
|
|
||||||
nm_vpn_connection_disconnect (vpn, reason);
|
|
||||||
g_object_unref (vpn);
|
g_object_unref (vpn);
|
||||||
}
|
}
|
||||||
g_clear_pointer (&priv->connections, g_slist_free);
|
g_clear_pointer (&priv->connections, g_slist_free);
|
||||||
|
Reference in New Issue
Block a user