OpenVPN
|
#include "config.h"
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <stdarg.h>
#include <unistd.h>
#include <stdbool.h>
#include <fcntl.h>
#include <sys/types.h>
#include <sys/wait.h>
#include "openvpn-plugin.h"
Go to the source code of this file.
Data Structures | |
struct | plugin_context |
struct | plugin_per_client_context |
Macros | |
#define | OPENVPN_PLUGIN_VERSION_MIN 3 |
#define | OPENVPN_PLUGIN_STRUCTVER_MIN 5 |
Functions | |
static void | plog (const struct plugin_context *ctx, int flags, char *fmt,...) |
static const char * | get_env (const char *name, const char *envp[]) |
static const char * | np (const char *str) |
static int | atoi_null0 (const char *str) |
OPENVPN_EXPORT int | openvpn_plugin_min_version_required_v1 () |
OPENVPN_EXPORT int | openvpn_plugin_open_v3 (const int v3structver, struct openvpn_plugin_args_open_in const *args, struct openvpn_plugin_args_open_return *ret) |
static bool | do_auth_user_pass (struct plugin_context *context, const char *username, const char *password) |
static int | auth_user_pass_verify (struct plugin_context *context, struct plugin_per_client_context *pcc, const char *argv[], const char *envp[]) |
OPENVPN_EXPORT int | openvpn_plugin_func_v3 (const int v3structver, struct openvpn_plugin_args_func_in const *args, struct openvpn_plugin_args_func_return *ret) |
OPENVPN_EXPORT void * | openvpn_plugin_client_constructor_v1 (openvpn_plugin_handle_t handle) |
OPENVPN_EXPORT void | openvpn_plugin_client_destructor_v1 (openvpn_plugin_handle_t handle, void *per_client_context) |
OPENVPN_EXPORT void | openvpn_plugin_close_v1 (openvpn_plugin_handle_t handle) |
Variables | |
static char * | MODULE = "multi-auth" |
static plugin_vlog_t | _plugin_vlog_func = NULL |
#define OPENVPN_PLUGIN_STRUCTVER_MIN 5 |
Definition at line 108 of file multi-auth.c.
#define OPENVPN_PLUGIN_VERSION_MIN 3 |
Definition at line 107 of file multi-auth.c.
|
static |
Definition at line 159 of file multi-auth.c.
Referenced by openvpn_plugin_open_v3().
|
static |
Definition at line 289 of file multi-auth.c.
References do_auth_user_pass(), get_env(), plugin_context::password, plog(), plugin_context::username, and write.
Referenced by openvpn_plugin_func_v3().
|
static |
Definition at line 258 of file multi-auth.c.
References np(), plugin_context::password, plog(), and plugin_context::username.
Referenced by auth_user_pass_verify().
|
static |
Definition at line 123 of file multi-auth.c.
Referenced by auth_user_pass_verify().
|
static |
Definition at line 146 of file multi-auth.c.
Referenced by ce_management_query_proxy(), ce_management_query_remote(), do_auth_user_pass(), management_client_auth(), and print_key_filename().
OPENVPN_EXPORT void * openvpn_plugin_client_constructor_v1 | ( | openvpn_plugin_handle_t | handle | ) |
Definition at line 408 of file multi-auth.c.
References plog().
OPENVPN_EXPORT void openvpn_plugin_client_destructor_v1 | ( | openvpn_plugin_handle_t | handle, |
void * | per_client_context | ||
) |
Definition at line 416 of file multi-auth.c.
References plog().
OPENVPN_EXPORT void openvpn_plugin_close_v1 | ( | openvpn_plugin_handle_t | handle | ) |
Definition at line 424 of file multi-auth.c.
References plog().
OPENVPN_EXPORT int openvpn_plugin_func_v3 | ( | const int | v3structver, |
struct openvpn_plugin_args_func_in const * | args, | ||
struct openvpn_plugin_args_func_return * | ret | ||
) |
Definition at line 382 of file multi-auth.c.
References argv::argv, auth_user_pass_verify(), MODULE, OPENVPN_PLUGIN_STRUCTVER_MIN, and plog().
OPENVPN_EXPORT int openvpn_plugin_min_version_required_v1 | ( | ) |
Definition at line 173 of file multi-auth.c.
References OPENVPN_PLUGIN_VERSION_MIN.
OPENVPN_EXPORT int openvpn_plugin_open_v3 | ( | const int | v3structver, |
struct openvpn_plugin_args_open_in const * | args, | ||
struct openvpn_plugin_args_open_return * | ret | ||
) |
Definition at line 180 of file multi-auth.c.
References _plugin_vlog_func, atoi_null0(), MODULE, OPENVPN_PLUGIN_STRUCTVER_MIN, and plog().
|
static |
Definition at line 76 of file multi-auth.c.
References _plugin_vlog_func, plugin_context::authid, and MODULE.
Referenced by auth_user_pass_verify(), do_auth_user_pass(), openvpn_plugin_client_constructor_v1(), openvpn_plugin_client_destructor_v1(), openvpn_plugin_close_v1(), openvpn_plugin_func_v3(), and openvpn_plugin_open_v3().
|
static |
Definition at line 74 of file multi-auth.c.
Referenced by openvpn_plugin_open_v3(), and plog().
|
static |
Definition at line 60 of file multi-auth.c.
Referenced by openvpn_plugin_func_v3(), openvpn_plugin_open_v3(), and plog().