diff --git a/src/charon-nm/nm/nm_service.c b/src/charon-nm/nm/nm_service.c index dba12764d..771466a63 100644 --- a/src/charon-nm/nm/nm_service.c +++ b/src/charon-nm/nm/nm_service.c @@ -974,6 +974,11 @@ static gboolean do_disconnect(gpointer plugin) enumerator->destroy(enumerator); charon->controller->terminate_ike(charon->controller, id, FALSE, controller_cb_empty, NULL, 0); + + /* clear secrets as we are asked for new secrets (where we'd find + * the cached secrets from earlier connections) before we clear + * them in connect() */ + priv->creds->clear(priv->creds); return FALSE; } }