openvpn/sample/sample-plugins
Greg Cox a385a3e8a2 More explicit versioning compatibility in sample-plugins/defer/simple.c
While not required, adding openvpn_plugin_min_version_required_v1 helps
by making an example for others to copy, and helps to explicitly call
attention to the difference between the API version number and the
struct version number in v3 calls.
Acked-by: David Sommerseth <davids@openvpn.net>
Message-Id: <1611778909-20630-2-git-send-email-gcox@mozilla.com>
URL: https://www.mail-archive.com/openvpn-devel@lists.sourceforge.net/msg21508.html

Signed-off-by: Gert Doering <gert@greenie.muc.de>
2021-01-30 10:44:58 +01:00
..
client-connect Remove NULL checks before calling free 2020-10-24 21:49:40 +02:00
defer More explicit versioning compatibility in sample-plugins/defer/simple.c 2021-01-30 10:44:58 +01:00
keying-material-exporter-demo sample-plugins: Partially autotoolize the sample-plugins build 2020-09-16 16:22:44 +02:00
log sample-plugins: Partially autotoolize the sample-plugins build 2020-09-16 16:22:44 +02:00
simple sample-plugins: Partially autotoolize the sample-plugins build 2020-09-16 16:22:44 +02:00
Makefile.am sample-plugins: Partially autotoolize the sample-plugins build 2020-09-16 16:22:44 +02:00
Makefile.plugins Add demo plugin that excercises "CLIENT_CONNECT" and "CLIENT_CONNECT_V2" paths 2020-09-18 07:54:10 +02:00
README Add demo plugin that excercises "CLIENT_CONNECT" and "CLIENT_CONNECT_V2" paths 2020-09-18 07:54:10 +02: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/simple.c  -- using the --auth-user-pass-verify callback,
                   test deferred authentication.
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