summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--openvpn-plugin.h14
-rw-r--r--plugin.c4
-rw-r--r--plugin/examples/log_v3.c4
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
diff --git a/plugin.c b/plugin.c
index 03e7df3..56bd37f 100644
--- a/plugin.c
+++ b/plugin.c
@@ -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;
}