diff options
author | Clavister OpenSource <opensource@clavister.com> | 2011-12-01 14:08:24 +0100 |
---|---|---|
committer | Clavister OpenSource <opensource@clavister.com> | 2012-03-20 17:31:11 +0100 |
commit | 9c5366446a335ca5b53ca3b8813a971ba2b01080 (patch) | |
tree | ec0813ef43377f18751dd36f4399b78795b57229 /src/libstrongswan/plugins/plugin_feature.h | |
parent | 781f4c88988f23f5a6f155a59076b37164c954c9 (diff) | |
download | strongswan-9c5366446a335ca5b53ca3b8813a971ba2b01080.tar.bz2 strongswan-9c5366446a335ca5b53ca3b8813a971ba2b01080.tar.xz |
IKEv1 XAuth: Added plugin support for XAuth, which allows us to have plugins to talk to servers with different quirks for XAuth authentication.
Diffstat (limited to 'src/libstrongswan/plugins/plugin_feature.h')
-rw-r--r-- | src/libstrongswan/plugins/plugin_feature.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/libstrongswan/plugins/plugin_feature.h b/src/libstrongswan/plugins/plugin_feature.h index b1500feba..89c954471 100644 --- a/src/libstrongswan/plugins/plugin_feature.h +++ b/src/libstrongswan/plugins/plugin_feature.h @@ -25,6 +25,7 @@ typedef struct plugin_feature_t plugin_feature_t; #include <library.h> #include <eap/eap.h> +#include <xauth/xauth.h> #include <plugins/plugin.h> /** @@ -135,6 +136,10 @@ struct plugin_feature_t { FEATURE_FETCHER, /** custom feature, described with a string */ FEATURE_CUSTOM, + /** XAuth server implementation */ + FEATURE_XAUTH_SERVER, + /** XAuth peer implementation */ + FEATURE_XAUTH_PEER, } type; /** More specific data for each type */ union { @@ -182,6 +187,8 @@ struct plugin_feature_t { char *fetcher; /** FEATURE_CUSTOM */ char *custom; + /** FEATURE_XAUTH_SERVER/CLIENT */ + xauth_type_t xauth; /** FEATURE_REGISTER */ struct { @@ -266,6 +273,8 @@ struct plugin_feature_t { #define _PLUGIN_FEATURE_DATABASE(kind, type) __PLUGIN_FEATURE(kind, DATABASE, .database = type) #define _PLUGIN_FEATURE_FETCHER(kind, type) __PLUGIN_FEATURE(kind, FETCHER, .fetcher = type) #define _PLUGIN_FEATURE_CUSTOM(kind, name) __PLUGIN_FEATURE(kind, CUSTOM, .custom = name) +#define _PLUGIN_FEATURE_XAUTH_SERVER(kind, type) __PLUGIN_FEATURE(kind, XAUTH_SERVER, .xauth = type) +#define _PLUGIN_FEATURE_XAUTH_PEER(kind, type) __PLUGIN_FEATURE(kind, XAUTH_PEER, .xauth = type) #define __PLUGIN_FEATURE_REGISTER(type, _f) (plugin_feature_t){ FEATURE_REGISTER, FEATURE_##type, .arg.reg.f = _f } #define __PLUGIN_FEATURE_REGISTER_BUILDER(type, _f, _final) (plugin_feature_t){ FEATURE_REGISTER, FEATURE_##type, .arg.reg = {.f = _f, .final = _final, }} |