diff options
-rw-r--r-- | openvpn-plugin.h | 14 | ||||
-rw-r--r-- | plugin.c | 4 | ||||
-rw-r--r-- | plugin/examples/log_v3.c | 4 |
3 files changed, 18 insertions, 4 deletions
diff --git a/openvpn-plugin.h b/openvpn-plugin.h index 13913a8..5c82daf 100644 --- a/openvpn-plugin.h +++ b/openvpn-plugin.h @@ -168,6 +168,20 @@ struct openvpn_plugin_string_list /* openvpn_plugin_{open,func}_v3() related structs */ +/* 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. + * + */ +#define OPENVPN_PLUGINv3_STRUCTVER 1 + /** * Arguments used to transport variables to the plug-in. * The struct openvpn_plugin_args_open_in is only used @@ -305,7 +305,7 @@ plugin_open_item (struct plugin *p, struct openvpn_plugin_args_open_return retargs; CLEAR(retargs); - if ((*p->open3)(OPENVPN_PLUGIN_VERSION, &args, &retargs) == OPENVPN_PLUGIN_FUNC_SUCCESS) { + if ((*p->open3)(OPENVPN_PLUGINv3_STRUCTVER, &args, &retargs) == OPENVPN_PLUGIN_FUNC_SUCCESS) { p->plugin_type_mask = retargs.type_mask; p->plugin_handle = retargs.handle; retlist = retargs.return_list; @@ -377,7 +377,7 @@ plugin_call_item (const struct plugin *p, struct openvpn_plugin_args_func_return retargs; CLEAR(retargs); - status = (*p->func3)(OPENVPN_PLUGIN_VERSION, &args, &retargs); + status = (*p->func3)(OPENVPN_PLUGINv3_STRUCTVER, &args, &retargs); retlist = retargs.return_list; } else if (p->func2) status = (*p->func2)(p->plugin_handle, type, (const char **)a.argv, envp, per_client_context, retlist); diff --git a/plugin/examples/log_v3.c b/plugin/examples/log_v3.c index 4974ef2..bf2f1dc 100644 --- a/plugin/examples/log_v3.c +++ b/plugin/examples/log_v3.c @@ -72,14 +72,14 @@ get_env (const char *name, const char *envp[]) } OPENVPN_EXPORT int -openvpn_plugin_open_v3 (const int apiver, +openvpn_plugin_open_v3 (const int v3structver, struct openvpn_plugin_args_open_in const *args, struct openvpn_plugin_args_open_return *ret) { struct plugin_context *context = NULL; /* Check that we are API compatible */ - if( apiver != OPENVPN_PLUGIN_VERSION ) { + if( v3structver != OPENVPN_PLUGINv3_STRUCTVER ) { return OPENVPN_PLUGIN_FUNC_ERROR; } |