mirror of
https://github.com/OpenVPN/openvpn.git
synced 2026-04-11 12:08:24 -04:00
We (and OpenSSL) already use calling free on null pointers in a number of places and also C99 standards says free(NULL) does nothing. The if (x) free(x) calls more often make code harder to read, instead of easier, remove these NULL checks in favour of directly calling free(x). The OpenSSL *_free methods are also safe to call with NULL and pkcs11h_certificate_freeCertificateIdList is also safe to be called with NULL. Signed-off-by: Arne Schwabe <arne@rfc2549.org> Acked-by: Gert Doering <gert@greenie.muc.de> Message-Id: <20201023113431.26691-5-arne@rfc2549.org> URL: https://www.mail-archive.com/openvpn-devel@lists.sourceforge.net/msg21216.html Signed-off-by: Gert Doering <gert@greenie.muc.de> |
||
|---|---|---|
| .. | ||
| client-connect | ||
| defer | ||
| keying-material-exporter-demo | ||
| log | ||
| simple | ||
| Makefile.am | ||
| Makefile.plugins | ||
| README | ||
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