[Openvpn-devel] Declare Windows version of openvpn_execve() before use

Message ID 1540436716-5725-1-git-send-email-selva.nair@gmail.com
State Accepted
Headers show
Series [Openvpn-devel] Declare Windows version of openvpn_execve() before use | expand

Commit Message

Selva Nair Oct. 24, 2018, 4:05 p.m. UTC
From: Selva Nair <selva.nair@gmail.com>

commit bf97c00f7dba441b504881f38e40afcbb610a39f moved
the generic openvpn_execve() to run_command.c and made it static.
But the Windows version is still in win32.c and is called from
run_command.c

Fix by declaring the function in win32.h

Signed-off-by: Selva Nair <selva.nair@gmail.com>
---
This is an easy way out. In the spirit of commit bf97c00f7db, the
entire win32 version of openvpn_execve() could move to run_command.c
and become static. That will also require pulling wide_cmd_line()
and env_block() out of win32.c.

 src/openvpn/win32.h | 7 +++++++
 1 file changed, 7 insertions(+)

Comments

Gert Doering Oct. 28, 2018, 7:06 a.m. UTC | #1
Acked-by: Gert Doering <gert@greenie.muc.de>

"taking the quick fix for now".  Test built on mingw/ubuntu 16.04.

Your patch has been applied to the master branch.

commit 253f015558d3ce3c74a4806748c8d4fcab96fb5e
Author: Selva Nair
Date:   Wed Oct 24 23:05:16 2018 -0400

     Declare Windows version of openvpn_execve() before use

     Signed-off-by: Selva Nair <selva.nair@gmail.com>
     Acked-by: Gert Doering <gert@greenie.muc.de>
     Message-Id: <1540436716-5725-1-git-send-email-selva.nair@gmail.com>
     URL: https://www.mail-archive.com/openvpn-devel@lists.sourceforge.net/msg17825.html
     Signed-off-by: Gert Doering <gert@greenie.muc.de>


--
kind regards,

Gert Doering

Patch

diff --git a/src/openvpn/win32.h b/src/openvpn/win32.h
index b5cbe25..4b4524f 100644
--- a/src/openvpn/win32.h
+++ b/src/openvpn/win32.h
@@ -27,6 +27,7 @@ 
 
 #include "mtu.h"
 #include "openvpn-msg.h"
+#include "argv.h"
 
 /* location of executables */
 #define SYS_PATH_ENV_VAR_NAME "SystemRoot"  /* environmental variable name that normally contains the system path */
@@ -316,5 +317,11 @@  const char *win32_version_string(struct gc_arena *gc, bool add_name);
 bool send_msg_iservice(HANDLE pipe, const void *data, size_t size,
                        ack_message_t *ack, const char *context);
 
+/*
+ * Attempt to simulate fork/execve on Windows
+ */
+int
+openvpn_execve(const struct argv *a, const struct env_set *es, const unsigned int flags);
+
 #endif /* ifndef OPENVPN_WIN32_H */
 #endif /* ifdef _WIN32 */