openvpn/sample/sample-plugins
Frank Lichtenheld df3ac55125 plugins: Clean up -Wconversion warnings
Most of the are actually the same ones copied to every
single plugin.

Some drive-by fixes of other warnings and some
conversion cleanups that had no warnings because
they were suppressed by casts.

Change-Id: Id61df43bd79fc794a55e107daa0218c8441c2b2c
Signed-off-by: Frank Lichtenheld <frank@lichtenheld.com>
Acked-by: Gert Doering <gert@greenie.muc.de>
Message-Id: <20250725124415.20645-1-gert@greenie.muc.de>
URL: https://www.mail-archive.com/openvpn-devel@lists.sourceforge.net/msg32330.html
Signed-off-by: Gert Doering <gert@greenie.muc.de>
2025-07-25 17:33:56 +02:00
..
client-connect plugins: Clean up -Wconversion warnings 2025-07-25 17:33:56 +02:00
defer plugins: Clean up -Wconversion warnings 2025-07-25 17:33:56 +02:00
keying-material-exporter-demo plugins: Clean up -Wconversion warnings 2025-07-25 17:33:56 +02:00
log plugins: Clean up -Wconversion warnings 2025-07-25 17:33:56 +02:00
simple plugins: Clean up -Wconversion warnings 2025-07-25 17:33:56 +02:00
Makefile.am Update copyright statements to 2025 2025-05-31 22:38:38 +02:00
Makefile.plugins Update copyright statements to 2025 2025-05-31 22:38:38 +02:00
README plugins: Remove defer/simple.c sample plugin 2022-03-15 16:38:16 +01:00

OpenVPN plug-in examples.

Examples provided:

* authentication and logging
simple/simple.c -- using the --auth-user-pass-verify callback, verify
                   that the username/password is "foo"/"bar".
defer/multi-auth.c
                -- using the --auth-user-pass-verify callback,
                   test deferred authentication. Can be used to test multiple
                   authentication plugins in the same server config.
log/log.c       -- Extended variant of simple/simple.c which adds more
                   logging of what is happening inside the plug-in
log/log_v3.c    -- A variant of log/log.c, which makes use of the
                   OpenVPN plug-in v3 API.  This will also log even more
                   information related to certificates in use.

* client-connect (and logging)
client-connect/sample-client-connect -- demonstrate how to use the
                   CLIENT_CONNECT and CLIENT_CONNECT_V2 hooks to achieve
                   "per client configuration / logging / ..." actions,
                   both in synchronous and async/deferred mode

* cryptography related
simple/base64.c -- Example using the OpenVPN exported base64 encode/decode
                   functions
keying-material-exporter-demo/keyingmaterialexporter.c
                -- Example based on TLS Keying Material Exporters over HTTP [RFC-5705]
                   (openvpn/doc/keying-material-exporter.txt).  For more details, see
                   keying-material-exporter-demo/README


To build on *BSD/Linux platforms (requires GNU Make):

   gmake                   (builds a default set of plug-ins)
   gmake simple/simple.so

To build on Windows platform (MinGW):

   cd simple; ./winbuild simple.so

To use in OpenVPN, add to config file:

  plugin simple.so (Linux/BSD/etc.)
  plugin simple.dll