]> git.ipfire.org Git - thirdparty/openvpn.git/commitdiff
Separate handling of non-deferred return values for client-connect-scripts.
authorGert Doering <gert@greenie.muc.de>
Mon, 20 Jul 2020 07:08:02 +0000 (09:08 +0200)
committerGert Doering <gert@greenie.muc.de>
Mon, 20 Jul 2020 09:45:55 +0000 (11:45 +0200)
(Only) on "CC_RET_SUCCESS", run multi_client_connect_post().

On "CC_RET_FAILURE", add missing log line, do not call ..._post().

Signed-off-by: Gert Doering <gert@greenie.muc.de>
Acked-by: Arne Schwabe <arne@rfc2549.org>
Message-Id: <20200720070802.18819-1-gert@greenie.muc.de>
URL: https://www.mail-archive.com/openvpn-devel@lists.sourceforge.net/msg20488.html
Signed-off-by: Gert Doering <gert@greenie.muc.de>
src/openvpn/multi.c

index d9456f34f820429be8b5535be06b0410bb470022..622eb2eeb19905be92f745f4d0cd9a09da071daa 100644 (file)
@@ -2171,13 +2171,19 @@ multi_client_connect_script_deferred(struct multi_context *m,
         ret = CC_RET_DEFERRED;
     }
 
-    if (ret != CC_RET_DEFERRED)
+    if (ret == CC_RET_SUCCEEDED)
     {
         ccs_delete_deferred_ret_file(mi);
         multi_client_connect_post(m, mi, ccs->config_file,
                                   option_types_found);
         ccs_delete_config_file(mi);
     }
+    if (ret == CC_RET_FAILED)
+    {
+        msg(M_INFO, "MULTI: deferred --client-connect script returned CC_RET_FAILED");
+        ccs_delete_deferred_ret_file(mi);
+        ccs_delete_config_file(mi);
+    }
     return ret;
 }