On 20/05/2022 23:32, Arne Schwabe wrote:
This allows a server to indicate a temporary problem on the server and
allows the server to indicate how to proceed (i.e. move to the next server,
retry the same server, wait a certain time,...)

This adds options_utils.c/h to be able to unit test the new function.

Patch v2: Improve documentation, format man page better, comment that
           protocol-flags is not a user usable option.
---
  doc/man-sections/script-options.rst  |  36 ++++++++++
  src/openvpn/Makefile.am              |   1 +
  src/openvpn/init.c                   |   9 ++-
  src/openvpn/openvpn.vcxproj          |   2 +
  src/openvpn/openvpn.vcxproj.filters  |   3 
+20220520213250.3126372-4-a...@rfc2549.org
  src/openvpn/options.h                |   9 ++-
  src/openvpn/options_util.c           | 104 +++++++++++++++++++++++++++
  src/openvpn/options_util.h           |  33 +++++++++
  src/openvpn/push.c                   |  11 ++-
  src/openvpn/ssl.c                    |  13 ++--
  src/openvpn/ssl.h                    |   3 +
  tests/unit_tests/openvpn/Makefile.am |   1 +
  tests/unit_tests/openvpn/test_misc.c |  49 +++++++++++++
  13 files changed, 266 insertions(+), 8 deletions(-)
  create mode 100644 src/openvpn/options_util.c
  create mode 100644 src/openvpn/options_util.h


[...snip...]

diff --git a/src/openvpn/Makefile.am b/src/openvpn/Makefile.am
index 577294804..a619aac38 100644
--- a/src/openvpn/Makefile.am
+++ b/src/openvpn/Makefile.am
@@ -95,6 +95,7 @@ openvpn_SOURCES = \
        pkcs11_mbedtls.c \
        openvpn.c openvpn.h \
        options.c options.h \
+    options_util.c options_util.h \

Indent mismatch. Makefile.am uses tabs ... because traditional Make needed it. Since the rest of our Makefile.am files uses tabs, we continue with that for now.

[...snip...]

diff --git a/src/openvpn/options_util.c b/src/openvpn/options_util.c
new file mode 100644
index 000000000..d8a7e2343
--- /dev/null
+++ b/src/openvpn/options_util.c
@@ -0,0 +1,104 @@
+/*
+ *  OpenVPN -- An application to securely tunnel IP networks
+ *             over a single TCP/UDP port, with support for SSL/TLS-based
+ *             session authentication and key exchange,
+ *             packet encryption, packet authentication, and
+ *             packet compression.
+ *
+ *  Copyright (C) 2002-2022 OpenVPN Inc <sa...@openvpn.net>
+ *  Copyright (C) 2010-2021 Fox Crypto B.V. <open...@foxcrypto.com>
                               ^^^^^^^^^^^^^^
Does any of the code in this file come from Fox at all? If not, you could probably consider removing that last line.

[...snip...]

+const char *
+parse_auth_failed_temp(struct options *o, const struct buffer *buf)
+{

The code here looks nice and clean; unit tests runs fine as well.

diff --git a/src/openvpn/options_util.h b/src/openvpn/options_util.h
new file mode 100644
index 000000000..9785bb239
--- /dev/null
+++ b/src/openvpn/options_util.h
@@ -0,0 +1,33 @@
+/*
+ *  OpenVPN -- An application to securely tunnel IP networks
+ *             over a single TCP/UDP port, with support for SSL/TLS-based
+ *             session authentication and key exchange,
+ *             packet encryption, packet authentication, and
+ *             packet compression.
+ *
+ *  Copyright (C) 2002-2022 OpenVPN Inc <sa...@openvpn.net>
+ *  Copyright (C) 2010-2021 Fox Crypto B.V. <open...@foxcrypto.com>

Same copyright note as for the options_util.c.

[...snip...]

--- a/src/openvpn/ssl.h
+++ b/src/openvpn/ssl.h
@@ -93,6 +93,9 @@
   * result. */
  #define IV_PROTO_NCP_P2P         (1<<5)
+/** Support for AUTH_FAIL,TEMP messages */
+#define IV_PROTO_AUTH_FAIL_TEMP  (1<<6)
+

This conflicts with IV_PROTO_DNS_OPTION which has already been merged to git master.

[...snip...]

I've not yet tested this code in a functional test; it compiles fine without warnings and unit tests runs fine. Since some minor changes are need, I just wanted to get this feedback sent before I run some more testing.

One thing I spotted, and I'm not sure if it's my Thunderbird fooling me or what it is ... there were spurious indenting "errors" here and there. But the patch I pulled down directly from Patchwork had no such issues at all. I'll check that more carefully on my end. One issue I know is real I've commented here already.


--
kind regards,

David Sommerseth
OpenVPN Inc



_______________________________________________
Openvpn-devel mailing list
Openvpn-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/openvpn-devel

Reply via email to