[Openvpn-devel,v1] Introduce report_command_status helper function

Message ID 20231121104254.15701-1-frank@lichtenheld.com
State Accepted
Headers show
Series [Openvpn-devel,v1] Introduce report_command_status helper function | expand

Commit Message

Frank Lichtenheld Nov. 21, 2023, 10:42 a.m. UTC
From: Arne Schwabe <arne@rfc2549.org>

Instead of repeating near identical code several times
in manage.c, use a small helper function instead.

Change-Id: I91f739f5cb43386b2ce767cf3603a76e6b93e216
Acked-by: Frank Lichtenheld <frank@lichtenheld.com>
Signed-off-by: Arne Schwabe <arne@rfc2549.org>
---

This change was reviewed on Gerrit and approved by at least one
developer. I request to merge it to master.

Gerrit URL: https://gerrit.openvpn.net/c/openvpn/+/450
This mail reflects revision 1 of this Change.
Acked-by according to Gerrit (reflected above):
Frank Lichtenheld <frank@lichtenheld.com>

Comments

Gert Doering Nov. 21, 2023, 7:18 p.m. UTC | #1
Skimmed the code, test compiled, not excercised the management interface.

Obvious improvement.

"client-auth" morphed into "client_auth" here, which I took the liberty
to change back (checked with Arne, avoid a new round).

Your patch has been applied to the master branch.

commit 57172d84096cc03e4a5a0658b9abb15d4173859d (master)
Author: Arne Schwabe
Date:   Tue Nov 21 11:42:54 2023 +0100

     Introduce report_command_status helper function

     Acked-by: Frank Lichtenheld <frank@lichtenheld.com>
     Signed-off-by: Arne Schwabe <arne@rfc2549.org>
     Message-Id: <20231121104254.15701-1-frank@lichtenheld.com>
     URL: https://www.mail-archive.com/openvpn-devel@lists.sourceforge.net/msg27525.html
     Signed-off-by: Gert Doering <gert@greenie.muc.de>


--
kind regards,

Gert Doering

Patch

diff --git a/src/openvpn/manage.c b/src/openvpn/manage.c
index feb62b2..3cf392a 100644
--- a/src/openvpn/manage.c
+++ b/src/openvpn/manage.c
@@ -284,6 +284,24 @@ 
 #endif
 }
 
+
+/**
+ * Small function to report the success or failure of a command to
+ * the management interface
+ */
+static void
+report_command_status(const bool status, const char *command)
+{
+    if (status)
+    {
+        msg(M_CLIENT, "SUCCESS: %s command succeeded", command);
+    }
+    else
+    {
+        msg(M_CLIENT, "ERROR: %s command failed", command);
+    }
+}
+
 static void
 man_delete_unix_socket(struct management *man)
 {
@@ -974,14 +992,7 @@ 
                                         NULL,
                                         man->connection.in_extra);
                 man->connection.in_extra = NULL;
-                if (status)
-                {
-                    msg(M_CLIENT, "SUCCESS: client-auth command succeeded");
-                }
-                else
-                {
-                    msg(M_CLIENT, "ERROR: client-auth command failed");
-                }
+                report_command_status(status, "client_auth");
             }
             else
             {
@@ -1260,14 +1271,7 @@ 
     if (man->persist.callback.proxy_cmd)
     {
         const bool status = (*man->persist.callback.proxy_cmd)(man->persist.callback.arg, p);
-        if (status)
-        {
-            msg(M_CLIENT, "SUCCESS: proxy command succeeded");
-        }
-        else
-        {
-            msg(M_CLIENT, "ERROR: proxy command failed");
-        }
+        report_command_status(status, "proxy");
     }
     else
     {
@@ -1281,14 +1285,7 @@ 
     if (man->persist.callback.remote_cmd)
     {
         const bool status = (*man->persist.callback.remote_cmd)(man->persist.callback.arg, p);
-        if (status)
-        {
-            msg(M_CLIENT, "SUCCESS: remote command succeeded");
-        }
-        else
-        {
-            msg(M_CLIENT, "ERROR: remote command failed");
-        }
+        report_command_status(status, "remote");
     }
     else
     {