OpenVPN
|
#include <openssl/x509.h>
#include <stdarg.h>
#include <stddef.h>
Go to the source code of this file.
Data Structures | |
struct | openvpn_plugin_string_list |
struct | openvpn_plugin_callbacks |
Used by the openvpn_plugin_open_v3() function to pass callback function pointers to the plug-in. More... | |
struct | openvpn_plugin_args_open_in |
Arguments used to transport variables to the plug-in. More... | |
struct | openvpn_plugin_args_open_return |
Arguments used to transport variables from the plug-in back to the OpenVPN process. More... | |
struct | openvpn_plugin_args_func_in |
Arguments used to transport variables to and from the plug-in. More... | |
struct | openvpn_plugin_args_func_return |
Arguments used to transport variables to and from the plug-in. More... | |
Typedefs | |
typedef X509 | openvpn_x509_cert_t |
typedef void * | openvpn_plugin_handle_t |
typedef void(* | plugin_log_t) (openvpn_plugin_log_flags_t flags, const char *plugin_name, const char *format,...) _ovpn_chk_fmt(3 |
typedef void(*) typedef void(* | plugin_vlog_t) (openvpn_plugin_log_flags_t flags, const char *plugin_name, const char *format, va_list arglist) _ovpn_chk_fmt(3 |
typedef void(*) typedef void(*) typedef void(* | plugin_secure_memzero_t) (void *data, size_t len) |
Export of secure_memzero() to be used inside plug-ins. More... | |
Enumerations | |
enum | openvpn_plugin_log_flags_t { PLOG_ERR = (1 << 0), PLOG_WARN = (1 << 1), PLOG_NOTE = (1 << 2), PLOG_DEBUG = (1 << 3), PLOG_ERRNO = (1 << 8), PLOG_NOMUTE = (1 << 9) } |
Definitions needed for the plug-in callback functions. More... | |
enum | ovpnSSLAPI { SSLAPI_NONE, SSLAPI_OPENSSL, SSLAPI_MBEDTLS } |
Used by the openvpn_plugin_open_v3() function to indicate to the plug-in what kind of SSL implementation OpenVPN uses. More... | |
#define __OPENVPN_X509_CERT_T_DECLARED |
Definition at line 39 of file openvpn-plugin.h.
#define _ovpn_chk_fmt | ( | a, | |
b | |||
) |
Definition at line 249 of file openvpn-plugin.h.
#define OPENVPN_EXPORT __declspec(dllexport) |
Definition at line 157 of file openvpn-plugin.h.
Referenced by atoi_null0(), auth_user_pass_verify(), get_env(), openvpn_plugin_client_connect_defer_v2(), openvpn_plugin_client_constructor_v1(), openvpn_plugin_client_destructor_v1(), openvpn_plugin_close_v1(), openvpn_plugin_func_v1(), openvpn_plugin_func_v2(), openvpn_plugin_func_v3(), openvpn_plugin_min_version_required_v1(), openvpn_plugin_open_v1(), openvpn_plugin_open_v3(), run_script(), show(), split_scrv1_password(), tls_final(), and x509_print_info().
#define OPENVPN_PLUGIN_AUTH_USER_PASS_VERIFY 5 |
Definition at line 125 of file openvpn-plugin.h.
Referenced by openvpn_plugin_func_v1(), openvpn_plugin_func_v3(), openvpn_plugin_open_v1(), openvpn_plugin_open_v3(), plugin_type_name(), show(), tls_session_user_pass_enabled(), verify_user_pass(), and verify_user_pass_plugin().
#define OPENVPN_PLUGIN_CLIENT_CONNECT 6 |
Definition at line 126 of file openvpn-plugin.h.
Referenced by multi_client_connect_call_plugin_v1(), openvpn_plugin_func_v2(), openvpn_plugin_open_v3(), and plugin_type_name().
#define OPENVPN_PLUGIN_CLIENT_CONNECT_V2 9 |
Definition at line 129 of file openvpn-plugin.h.
Referenced by multi_client_connect_call_plugin_v2(), openvpn_plugin_func_v1(), openvpn_plugin_func_v2(), openvpn_plugin_func_v3(), openvpn_plugin_open_v1(), openvpn_plugin_open_v3(), plugin_type_name(), and show().
#define OPENVPN_PLUGIN_CLIENT_DISCONNECT 7 |
Definition at line 127 of file openvpn-plugin.h.
Referenced by multi_client_disconnect_script(), openvpn_plugin_func_v2(), openvpn_plugin_func_v3(), openvpn_plugin_open_v1(), openvpn_plugin_open_v3(), plugin_type_name(), and show().
#define OPENVPN_PLUGIN_DEF OPENVPN_EXPORT |
Definition at line 179 of file openvpn-plugin.h.
#define OPENVPN_PLUGIN_DOWN 1 |
Definition at line 121 of file openvpn-plugin.h.
Referenced by do_close_tun(), openvpn_plugin_func_v1(), openvpn_plugin_func_v2(), openvpn_plugin_func_v3(), openvpn_plugin_open_v1(), openvpn_plugin_open_v3(), plugin_type_name(), and show().
#define OPENVPN_PLUGIN_ENABLE_PF 11 |
Definition at line 131 of file openvpn-plugin.h.
#define OPENVPN_PLUGIN_FUNC | ( | name | ) | name |
Definition at line 180 of file openvpn-plugin.h.
#define OPENVPN_PLUGIN_FUNC_DEFERRED 2 |
Definition at line 151 of file openvpn-plugin.h.
Referenced by auth_user_pass_verify(), cc_handle_deferred_v1(), multi_client_connect_call_plugin_v1(), multi_client_connect_call_plugin_v2(), openvpn_plugin_client_connect_defer_v2(), openvpn_plugin_client_connect_v2(), openvpn_plugin_func_v1(), plugin_call_ssl(), verify_user_pass(), verify_user_pass_plugin(), and verify_user_pass_script().
#define OPENVPN_PLUGIN_FUNC_ERROR 1 |
Definition at line 150 of file openvpn-plugin.h.
Referenced by auth_user_pass_verify(), cc_handle_deferred_v1(), openvpn_plugin_client_connect(), openvpn_plugin_client_connect_defer_v2(), openvpn_plugin_client_connect_v2(), openvpn_plugin_func_v1(), openvpn_plugin_func_v3(), openvpn_plugin_open_v3(), plugin_call_item(), plugin_call_ssl(), tls_final(), tls_verify(), verify_user_pass(), verify_user_pass_plugin(), verify_user_pass_script(), and write_cc_options_file().
#define OPENVPN_PLUGIN_FUNC_SUCCESS 0 |
Definition at line 149 of file openvpn-plugin.h.
Referenced by auth_user_pass_verify(), cc_handle_deferred_v1(), do_route(), key_method_2_read(), learn_address_script(), link_socket_connection_initiated(), multi_client_connect_call_plugin_v1(), multi_client_connect_call_plugin_v2(), multi_client_disconnect_script(), openvpn_plugin_client_connect_defer_v2(), openvpn_plugin_client_connect_v2(), openvpn_plugin_func_v1(), openvpn_plugin_func_v2(), openvpn_plugin_func_v3(), openvpn_plugin_open_v3(), plugin_call_item(), plugin_call_ssl(), plugin_open_item(), run_up_down(), tls_final(), tls_verify(), verify_cert_call_plugin(), verify_user_pass(), verify_user_pass_script(), and write_cc_options_file().
#define OPENVPN_PLUGIN_INIT_POST_DAEMON 3 |
Definition at line 802 of file openvpn-plugin.h.
Referenced by init_instance().
#define OPENVPN_PLUGIN_INIT_POST_UID_CHANGE 4 |
Definition at line 803 of file openvpn-plugin.h.
Referenced by init_instance().
#define OPENVPN_PLUGIN_INIT_PRE_CONFIG_PARSE 1 |
Definition at line 800 of file openvpn-plugin.h.
Referenced by openvpn_main().
#define OPENVPN_PLUGIN_INIT_PRE_DAEMON 2 /* default */ |
Definition at line 801 of file openvpn-plugin.h.
Referenced by init_instance(), and plugin_init_item().
#define OPENVPN_PLUGIN_IPCHANGE 3 |
Definition at line 123 of file openvpn-plugin.h.
Referenced by link_socket_connection_initiated(), openvpn_plugin_func_v2(), openvpn_plugin_func_v3(), openvpn_plugin_open_v1(), openvpn_plugin_open_v3(), plugin_type_name(), and show().
#define OPENVPN_PLUGIN_LEARN_ADDRESS 8 |
Definition at line 128 of file openvpn-plugin.h.
Referenced by learn_address_script(), openvpn_plugin_func_v2(), openvpn_plugin_func_v3(), openvpn_plugin_open_v1(), openvpn_plugin_open_v3(), plugin_type_name(), and show().
#define OPENVPN_PLUGIN_MASK | ( | x | ) | (1<<(x)) |
Definition at line 138 of file openvpn-plugin.h.
Referenced by openvpn_plugin_open_v1(), openvpn_plugin_open_v3(), plugin_call_item(), plugin_defined(), and plugin_mask_string().
#define OPENVPN_PLUGIN_N 13 |
Definition at line 133 of file openvpn-plugin.h.
Referenced by plugin_mask_string(), and plugin_supported_types().
#define OPENVPN_PLUGIN_ROUTE_PREDOWN 12 |
Definition at line 132 of file openvpn-plugin.h.
Referenced by do_close_tun(), and plugin_type_name().
#define OPENVPN_PLUGIN_ROUTE_UP 2 |
Definition at line 122 of file openvpn-plugin.h.
Referenced by do_route(), openvpn_plugin_func_v2(), openvpn_plugin_func_v3(), openvpn_plugin_open_v1(), openvpn_plugin_open_v3(), plugin_type_name(), and show().
#define OPENVPN_PLUGIN_TLS_FINAL 10 |
Definition at line 130 of file openvpn-plugin.h.
Referenced by key_method_2_read(), openvpn_plugin_func_v2(), openvpn_plugin_func_v3(), openvpn_plugin_open_v1(), openvpn_plugin_open_v3(), plugin_type_name(), and show().
#define OPENVPN_PLUGIN_TLS_VERIFY 4 |
Definition at line 124 of file openvpn-plugin.h.
Referenced by openvpn_plugin_func_v1(), openvpn_plugin_func_v2(), openvpn_plugin_func_v3(), openvpn_plugin_open_v1(), openvpn_plugin_open_v3(), plugin_type_name(), show(), and verify_cert_call_plugin().
#define OPENVPN_PLUGIN_UP 0 |
Definition at line 120 of file openvpn-plugin.h.
Referenced by do_open_tun(), openvpn_plugin_func_v1(), openvpn_plugin_func_v2(), openvpn_plugin_func_v3(), openvpn_plugin_open_v1(), openvpn_plugin_open_v3(), plugin_type_name(), and show().
#define OPENVPN_PLUGIN_VERSION 3 |
Definition at line 28 of file openvpn-plugin.h.
Referenced by plugin_init_item().
#define OPENVPN_PLUGINv3_STRUCTVER 4 |
Defines version of the v3 plugin argument structs.
Whenever one or more of these structs are modified, this constant must be updated. A changelog should be appended in this comment as well, to make it easier to see what information is available in the different versions.
Version Comment 1 Initial plugin v3 structures providing the same API as the v2 plugin interface, X509 certificate information + a logging API for plug-ins.
2 Added ssl_api member in struct openvpn_plugin_args_open_in which identifies the SSL implementation OpenVPN is compiled against.
3 Added ovpn_version, ovpn_version_major, ovpn_version_minor and ovpn_version_patch to provide the runtime version of OpenVPN to plug-ins.
4 Exported secure_memzero() as plugin_secure_memzero()
Definition at line 224 of file openvpn-plugin.h.
Referenced by openvpn_plugin_open_v3(), plugin_call_item(), and plugin_open_item().
#define OPENVPN_VERSION_MAJOR 2 |
Definition at line 54 of file openvpn-plugin.h.
#define OPENVPN_VERSION_MINOR 5 |
Definition at line 55 of file openvpn-plugin.h.
#define OPENVPN_VERSION_PATCH "_git" |
Definition at line 56 of file openvpn-plugin.h.
typedef void* openvpn_plugin_handle_t |
Definition at line 144 of file openvpn-plugin.h.
typedef X509 openvpn_x509_cert_t |
Definition at line 40 of file openvpn-plugin.h.
typedef void(* plugin_log_t) (openvpn_plugin_log_flags_t flags, const char *plugin_name, const char *format,...) _ovpn_chk_fmt(3 |
Definition at line 252 of file openvpn-plugin.h.
typedef void(*) typedef void(*) typedef void(* plugin_secure_memzero_t) (void *data, size_t len) |
Export of secure_memzero() to be used inside plug-ins.
data | Pointer to data to zeroise |
len | Length of data, in bytes |
Definition at line 269 of file openvpn-plugin.h.
typedef void(*) typedef void(* plugin_vlog_t) (openvpn_plugin_log_flags_t flags, const char *plugin_name, const char *format, va_list arglist) _ovpn_chk_fmt(3 |
Definition at line 256 of file openvpn-plugin.h.
Definitions needed for the plug-in callback functions.
Enumerator | |
---|---|
PLOG_ERR | |
PLOG_WARN | |
PLOG_NOTE | |
PLOG_DEBUG | |
PLOG_ERRNO | |
PLOG_NOMUTE |
Definition at line 229 of file openvpn-plugin.h.
enum ovpnSSLAPI |
Used by the openvpn_plugin_open_v3() function to indicate to the plug-in what kind of SSL implementation OpenVPN uses.
This is to avoid SEGV issues when OpenVPN is complied against mbed TLS and the plug-in against OpenSSL.
Enumerator | |
---|---|
SSLAPI_NONE | |
SSLAPI_OPENSSL | |
SSLAPI_MBEDTLS |
Definition at line 301 of file openvpn-plugin.h.
OPENVPN_PLUGIN_DEF void OPENVPN_PLUGIN_FUNC() openvpn_plugin_abort_v1 | ( | openvpn_plugin_handle_t | handle | ) |
Definition at line 610 of file auth-pam.c.
References COMMAND_EXIT, down_root_context::foreground_fd, auth_pam_context::foreground_fd, and send_control().
OPENVPN_PLUGIN_DEF void* OPENVPN_PLUGIN_FUNC() openvpn_plugin_client_constructor_v1 | ( | openvpn_plugin_handle_t | handle | ) |
Definition at line 590 of file sample-client-connect.c.
References MODULE, OPENVPN_EXPORT, ovpn_note, PLOG_NOTE, and plugin_log.
OPENVPN_PLUGIN_DEF void OPENVPN_PLUGIN_FUNC() openvpn_plugin_client_destructor_v1 | ( | openvpn_plugin_handle_t | handle, |
void * | per_client_context | ||
) |
Definition at line 597 of file sample-client-connect.c.
References free, session::key, MODULE, OPENVPN_EXPORT, ovpn_note, PLOG_NOTE, and plugin_log.
OPENVPN_PLUGIN_DEF void OPENVPN_PLUGIN_FUNC() openvpn_plugin_close_v1 | ( | openvpn_plugin_handle_t | handle | ) |
This cleans up the last part of the plug-in, allows it to shut down cleanly and release the plug-in global context buffer.
handle | Pointer to the plug-in global context buffer, which need to be released by this function |
Definition at line 604 of file sample-client-connect.c.
References down_root_context::background_pid, auth_pam_context::background_pid, COMMAND_EXIT, DEBUG, down_root_context::foreground_fd, auth_pam_context::foreground_fd, free, free_context(), MODULE, OPENVPN_EXPORT, PLOG_ERR, PLOG_ERRNO, PLOG_NOTE, plugin_log, send_control(), down_root_context::verb, and auth_pam_context::verb.
OPENVPN_PLUGIN_DEF int OPENVPN_PLUGIN_FUNC() openvpn_plugin_func_v1 | ( | openvpn_plugin_handle_t | handle, |
const int | type, | ||
const char * | argv[], | ||
const char * | envp[] | ||
) |
This function is called by OpenVPN each time the OpenVPN reaches a point where plug-in calls should happen.
It only happens for those plug-in hooks enabled in openvpn_plugin_open_v3().
For the arguments, see the include/openvpn-plugin.h file for details on the function parameters
args | Pointer to a struct with details about the plug-in call from the main OpenVPN process. |
returndata | Pointer to a struct where the plug-in can provide information back to OpenVPN to be processed |
Definition at line 176 of file log.c.
References down_root_context::background_pid, close_fds_except(), down_root_context::command, COMMAND_RUN_SCRIPT, COMMAND_VERIFY, daemonize(), DEBUG, down_root_server(), down_root_context::foreground_fd, auth_pam_context::foreground_fd, free, get_env(), MODULE, OPENVPN_EXPORT, OPENVPN_PLUGIN_AUTH_USER_PASS_VERIFY, OPENVPN_PLUGIN_CLIENT_CONNECT_V2, OPENVPN_PLUGIN_DOWN, OPENVPN_PLUGIN_FUNC_DEFERRED, OPENVPN_PLUGIN_FUNC_ERROR, OPENVPN_PLUGIN_FUNC_SUCCESS, OPENVPN_PLUGIN_TLS_VERIFY, OPENVPN_PLUGIN_UP, ovpn_base64_decode, ovpn_base64_encode, ovpn_log, plugin_context::password, PLOG_ERR, PLOG_ERRNO, PLOG_NOTE, plugin_log, PLUGIN_NAME, recv_control(), RESPONSE_DEFER, RESPONSE_INIT_SUCCEEDED, RESPONSE_SCRIPT_SUCCEEDED, RESPONSE_VERIFY_SUCCEEDED, send_control(), send_string(), set_signals(), show(), status, plugin_context::username, down_root_context::verb, and auth_pam_context::verb.
OPENVPN_PLUGIN_DEF int OPENVPN_PLUGIN_FUNC() openvpn_plugin_func_v2 | ( | openvpn_plugin_handle_t | handle, |
const int | type, | ||
const char * | argv[], | ||
const char * | envp[], | ||
void * | per_client_context, | ||
struct openvpn_plugin_string_list ** | return_list | ||
) |
Definition at line 521 of file sample-client-connect.c.
References MODULE, OPENVPN_EXPORT, OPENVPN_PLUGIN_CLIENT_CONNECT, openvpn_plugin_client_connect(), openvpn_plugin_client_connect_defer_v2(), OPENVPN_PLUGIN_CLIENT_CONNECT_V2, openvpn_plugin_client_connect_v2(), OPENVPN_PLUGIN_CLIENT_DISCONNECT, OPENVPN_PLUGIN_DOWN, OPENVPN_PLUGIN_FUNC_SUCCESS, OPENVPN_PLUGIN_IPCHANGE, OPENVPN_PLUGIN_LEARN_ADDRESS, OPENVPN_PLUGIN_ROUTE_UP, OPENVPN_PLUGIN_TLS_FINAL, OPENVPN_PLUGIN_TLS_VERIFY, OPENVPN_PLUGIN_UP, PLOG_NOTE, and plugin_log.
OPENVPN_PLUGIN_DEF int OPENVPN_PLUGIN_FUNC() openvpn_plugin_func_v3 | ( | const int | version, |
struct openvpn_plugin_args_func_in const * | arguments, | ||
struct openvpn_plugin_args_func_return * | retptr | ||
) |
Definition at line 312 of file simple.c.
References openvpn_plugin_args_func_in::argv, auth_user_pass_verify(), openvpn_plugin_args_func_in::current_cert, openvpn_plugin_args_func_in::current_cert_depth, openvpn_plugin_args_func_in::envp, get_env(), openvpn_plugin_args_func_in::handle, MODULE, OPENVPN_EXPORT, OPENVPN_PLUGIN_AUTH_USER_PASS_VERIFY, OPENVPN_PLUGIN_CLIENT_CONNECT_V2, OPENVPN_PLUGIN_CLIENT_DISCONNECT, OPENVPN_PLUGIN_DOWN, OPENVPN_PLUGIN_FUNC_ERROR, OPENVPN_PLUGIN_FUNC_SUCCESS, OPENVPN_PLUGIN_IPCHANGE, OPENVPN_PLUGIN_LEARN_ADDRESS, OPENVPN_PLUGIN_ROUTE_UP, OPENVPN_PLUGIN_STRUCTVER_MIN, OPENVPN_PLUGIN_TLS_FINAL, OPENVPN_PLUGIN_TLS_VERIFY, OPENVPN_PLUGIN_UP, plugin_context::password, openvpn_plugin_args_func_in::per_client_context, PLOG_NOTE, plugin_log, show(), tls_final(), tls_verify(), openvpn_plugin_args_func_in::type, plugin_context::username, and x509_print_info().
OPENVPN_PLUGIN_DEF int OPENVPN_PLUGIN_FUNC() openvpn_plugin_min_version_required_v1 | ( | void | ) |
Definition at line 155 of file simple.c.
References OPENVPN_EXPORT, and OPENVPN_PLUGIN_VERSION_MIN.
OPENVPN_PLUGIN_DEF openvpn_plugin_handle_t OPENVPN_PLUGIN_FUNC() openvpn_plugin_open_v1 | ( | unsigned int * | type_mask, |
const char * | argv[], | ||
const char * | envp[] | ||
) |
Definition at line 73 of file log.c.
References down_root_context::command, down_root_context::foreground_fd, free_context(), get_env(), OPENVPN_EXPORT, OPENVPN_PLUGIN_AUTH_USER_PASS_VERIFY, OPENVPN_PLUGIN_CLIENT_CONNECT_V2, OPENVPN_PLUGIN_CLIENT_DISCONNECT, OPENVPN_PLUGIN_DOWN, OPENVPN_PLUGIN_IPCHANGE, OPENVPN_PLUGIN_LEARN_ADDRESS, OPENVPN_PLUGIN_MASK, OPENVPN_PLUGIN_ROUTE_UP, OPENVPN_PLUGIN_TLS_FINAL, OPENVPN_PLUGIN_TLS_VERIFY, OPENVPN_PLUGIN_UP, plugin_context::password, string_array_len(), plugin_context::username, and down_root_context::verb.
OPENVPN_PLUGIN_DEF openvpn_plugin_handle_t OPENVPN_PLUGIN_FUNC() openvpn_plugin_open_v2 | ( | unsigned int * | type_mask, |
const char * | argv[], | ||
const char * | envp[], | ||
struct openvpn_plugin_string_list ** | return_list | ||
) |
OPENVPN_PLUGIN_DEF int OPENVPN_PLUGIN_FUNC() openvpn_plugin_open_v3 | ( | const int | v3structver, |
struct openvpn_plugin_args_open_in const * | args, | ||
struct openvpn_plugin_args_open_return * | ret | ||
) |
This function is called when OpenVPN loads the plug-in.
The purpose is to initialize the plug-in and tell OpenVPN which plug-in hooks this plug-in wants to be involved in
For the arguments, see the include/openvpn-plugin.h file for details on the function parameters
v3structver | An integer containing the API version of the plug-in structs OpenVPN uses |
args | A pointer to the argument struct for information and features provided by OpenVPN to the plug-in |
ret | A pointer to the struct OpenVPN uses to receive information back from the plug-in |
Definition at line 122 of file sample-client-connect.c.
References openvpn_plugin_args_open_in::argv, atoi_null0(), auth_pam_context::background_pid, openvpn_plugin_args_open_in::callbacks, CLIENT, close_fds_except(), daemonize(), name_value_list::data, openvpn_plugin_args_open_in::envp, auth_pam_context::foreground_fd, free, get_env(), openvpn_plugin_args_open_return::handle, name_value_list::len, plugin::log, plugin::mask, MODULE, N_NAME_VALUE, name_value::name, OPENVPN_EXPORT, OPENVPN_PLUGIN_AUTH_USER_PASS_VERIFY, OPENVPN_PLUGIN_CLIENT_CONNECT, OPENVPN_PLUGIN_CLIENT_CONNECT_V2, OPENVPN_PLUGIN_CLIENT_DISCONNECT, OPENVPN_PLUGIN_DOWN, OPENVPN_PLUGIN_FUNC_ERROR, OPENVPN_PLUGIN_FUNC_SUCCESS, OPENVPN_PLUGIN_IPCHANGE, OPENVPN_PLUGIN_LEARN_ADDRESS, OPENVPN_PLUGIN_MASK, OPENVPN_PLUGIN_ROUTE_UP, OPENVPN_PLUGIN_STRUCTVER_MIN, OPENVPN_PLUGIN_TLS_FINAL, OPENVPN_PLUGIN_TLS_VERIFY, OPENVPN_PLUGIN_UP, OPENVPN_PLUGINv3_STRUCTVER, ovpn_base64_decode, ovpn_base64_encode, ovpn_log, ovpn_note, openvpn_plugin_args_open_in::ovpn_version, openvpn_plugin_args_open_in::ovpn_version_major, openvpn_plugin_args_open_in::ovpn_version_minor, openvpn_plugin_args_open_in::ovpn_version_patch, ovpn_vlog, pam_server(), plugin_context::password, PLOG_ERR, PLOG_ERRNO, PLOG_NOTE, plugin_base64_decode, plugin_log, openvpn_plugin_callbacks::plugin_log, PLUGIN_NAME, plugin_secure_memzero, openvpn_plugin_callbacks::plugin_secure_memzero, openvpn_plugin_callbacks::plugin_vlog, recv_control(), RESPONSE_INIT_SUCCEEDED, SERVER, set_signals(), openvpn_plugin_args_open_in::ssl_api, SSLAPI_OPENSSL, status, string_array_len(), plugin_context::test_deferred_auth, plugin_context::test_packet_filter, plugin::type, openvpn_plugin_args_open_return::type_mask, plugin_context::username, name_value::value, plugin_context::verb, and auth_pam_context::verb.
OPENVPN_PLUGIN_DEF int OPENVPN_PLUGIN_FUNC() openvpn_plugin_select_initialization_point_v1 | ( | void | ) |