summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBeniamino Galvani <bgalvani@redhat.com>2016-08-25 21:07:24 +0200
committerBeniamino Galvani <bgalvani@redhat.com>2016-08-26 09:48:17 +0200
commit4cfec7f59a19fd6a3a4b3b615ef960920050ea76 (patch)
tree8392a3453b8e2704f38a4582a6ee402b43ce4fa4
parentdfd6e1de4441468e6fd97ef790698675f38da76c (diff)
downloadNetworkManager-4cfec7f59a19fd6a3a4b3b615ef960920050ea76.tar.gz
cli: connections: fail the activation if the ac deactivates
Since commit ac888de15103 ("cli/connections: fail the activation when the active connection disappears") we rely only on the disappearing of the active-connection to determine the failure of an activation. libnm can collapse a 'added' and a 'removed' signal if they are received closer enough and thus we may miss the removal of the active connection. Restore the detection of failure based on active-connection state.
-rw-r--r--clients/cli/connections.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/clients/cli/connections.c b/clients/cli/connections.c
index ea7c8a79df..3e85ca5bd8 100644
--- a/clients/cli/connections.c
+++ b/clients/cli/connections.c
@@ -2178,6 +2178,10 @@ active_connection_state_cb (NMActiveConnection *active, GParamSpec *pspec, Activ
g_print (_("Connection successfully activated (D-Bus active path: %s)\n"),
nm_object_get_path (NM_OBJECT (active)));
activate_connection_info_finish (info);
+ } else if (state == NM_ACTIVE_CONNECTION_STATE_DEACTIVATED) {
+ g_string_printf (nmc->return_text, _("Error: Connection activation failed."));
+ nmc->return_value = NMC_RESULT_ERROR_CON_ACTIVATION;
+ activate_connection_info_finish (info);
} else if (state == NM_ACTIVE_CONNECTION_STATE_ACTIVATING) {
/* activating master connection does not automatically activate any slaves, so their
* active connection state will not progress beyond ACTIVATING state.