]> git.ipfire.org Git - thirdparty/openvpn.git/commit
plugin: Extend the plug-in v3 API to identify the SSL implementation used
authorDavid Sommerseth <davids@redhat.com>
Wed, 3 Jul 2013 19:17:10 +0000 (21:17 +0200)
committerGert Doering <gert@greenie.muc.de>
Wed, 3 Jul 2013 19:22:12 +0000 (21:22 +0200)
commit570da542877a1f42ed6549a6ca3f54df9ec53c1f
tree6eabb7c11d52f3fe2b0f9bdcd1ae4936853cd87a
parent14566e4374229c39db96d60a88ffecc17273efa3
plugin: Extend the plug-in v3 API to identify the SSL implementation used

OpenVPN would segfault unexpectedly if it would be compiled against
PolarSSL
and the plug-in would expect OpenSSL, or vice-versa.  This segfault would
not appear before the plug-in would try to access functions which would
be available if the plug-in and OpenVPN uses the same SSL implementation.

This patch adds a member to the plug-in initialisation function, which
identifies the SSL implementation.

The log_v3 plug-in is updated accordingly + a simple fix to make it
buildable again using the ./build script.

A minor documentation error in the openvpn-plugin.h was also
corrected, where it mentioned OPENVPN_PLUGIN_VERSION instead of
OPENVPN_PLUGINv3_STRUCTVER.

 v2 - add const ovpnSSLAPI ssl_api at the end of
      struct openvpn_plugin_args_open_in and not in the "middle"

 v3 - fix bug in plug-in init, as the SSLAPI was located wrong in the
      args struct sent to the openvpn_plugin_open_v3() function.

 v4 - Ensure SSLAPI got a sane/known value if SSL is disabled or unknown

Signed-off-by: David Sommerseth <davids@redhat.com>
Acked-by: Gert Doering <gert@greenie.muc.de>
Message-Id: <1372879030-10576-1-git-send-email-dazo@users.sourceforge.net>
URL: http://article.gmane.org/gmane.network.openvpn.devel/7754
Signed-off-by: Gert Doering <gert@greenie.muc.de>
(cherry picked from commit 587df08abda3c8f1f85ccdba4d8b82a736c11e2d)
include/openvpn-plugin.h
sample/sample-plugins/log/build
sample/sample-plugins/log/log_v3.c
src/openvpn/plugin.c
src/openvpn/ssl_backend.h