From 9c5366446a335ca5b53ca3b8813a971ba2b01080 Mon Sep 17 00:00:00 2001 From: Clavister OpenSource Date: Thu, 1 Dec 2011 14:08:24 +0100 Subject: IKEv1 XAuth: Added plugin support for XAuth, which allows us to have plugins to talk to servers with different quirks for XAuth authentication. --- src/libstrongswan/plugins/plugin_feature.c | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'src/libstrongswan/plugins/plugin_feature.c') diff --git a/src/libstrongswan/plugins/plugin_feature.c b/src/libstrongswan/plugins/plugin_feature.c index 2a97205bb..b2bf41946 100644 --- a/src/libstrongswan/plugins/plugin_feature.c +++ b/src/libstrongswan/plugins/plugin_feature.c @@ -96,6 +96,9 @@ bool plugin_feature_matches(plugin_feature_t *a, plugin_feature_t *b) streq(a->arg.fetcher, b->arg.fetcher); case FEATURE_CUSTOM: return streq(a->arg.custom, b->arg.custom); + case FEATURE_XAUTH_SERVER: + case FEATURE_XAUTH_PEER: + return a->arg.xauth == b->arg.xauth; } } return FALSE; @@ -229,6 +232,14 @@ char* plugin_feature_get_string(plugin_feature_t *feature) return str; } break; + case FEATURE_XAUTH_SERVER: + case FEATURE_XAUTH_PEER: + if (asprintf(&str, "%N:%N", plugin_feature_names, feature->type, + xauth_method_type_short_names, feature->arg.xauth) > 0) + { + return str; + } + break; } if (!str) { -- cgit v1.2.3 From 6ebcbc654c5940d11be857ebb4d233caaaf311fa Mon Sep 17 00:00:00 2001 From: Martin Willi Date: Thu, 8 Dec 2011 16:53:27 +0100 Subject: Added auth_cfg option to select XAUTH backend to use --- src/libstrongswan/plugins/plugin_feature.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/libstrongswan/plugins/plugin_feature.c') diff --git a/src/libstrongswan/plugins/plugin_feature.c b/src/libstrongswan/plugins/plugin_feature.c index b2bf41946..6555e593b 100644 --- a/src/libstrongswan/plugins/plugin_feature.c +++ b/src/libstrongswan/plugins/plugin_feature.c @@ -234,8 +234,8 @@ char* plugin_feature_get_string(plugin_feature_t *feature) break; case FEATURE_XAUTH_SERVER: case FEATURE_XAUTH_PEER: - if (asprintf(&str, "%N:%N", plugin_feature_names, feature->type, - xauth_method_type_short_names, feature->arg.xauth) > 0) + if (asprintf(&str, "%N:%s", plugin_feature_names, feature->type, + feature->arg.xauth) > 0) { return str; } -- cgit v1.2.3 From 2ee83c277898f5098cc761c7685953185872f4ca Mon Sep 17 00:00:00 2001 From: Martin Willi Date: Mon, 19 Dec 2011 10:10:57 +0100 Subject: Fix XAuth plugin feature matching --- src/libstrongswan/plugins/plugin_feature.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/libstrongswan/plugins/plugin_feature.c') diff --git a/src/libstrongswan/plugins/plugin_feature.c b/src/libstrongswan/plugins/plugin_feature.c index 6555e593b..8b27c73c3 100644 --- a/src/libstrongswan/plugins/plugin_feature.c +++ b/src/libstrongswan/plugins/plugin_feature.c @@ -98,7 +98,7 @@ bool plugin_feature_matches(plugin_feature_t *a, plugin_feature_t *b) return streq(a->arg.custom, b->arg.custom); case FEATURE_XAUTH_SERVER: case FEATURE_XAUTH_PEER: - return a->arg.xauth == b->arg.xauth; + return streq(a->arg.xauth == b->arg.xauth); } } return FALSE; -- cgit v1.2.3 From 26a758ffcb378a10483d6a086b671e7cfeec3d14 Mon Sep 17 00:00:00 2001 From: Martin Willi Date: Mon, 19 Dec 2011 11:33:06 +0100 Subject: Fixed fix for XAuth plugin feature matching --- src/libstrongswan/plugins/plugin_feature.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/libstrongswan/plugins/plugin_feature.c') diff --git a/src/libstrongswan/plugins/plugin_feature.c b/src/libstrongswan/plugins/plugin_feature.c index 8b27c73c3..385e77b8b 100644 --- a/src/libstrongswan/plugins/plugin_feature.c +++ b/src/libstrongswan/plugins/plugin_feature.c @@ -98,7 +98,7 @@ bool plugin_feature_matches(plugin_feature_t *a, plugin_feature_t *b) return streq(a->arg.custom, b->arg.custom); case FEATURE_XAUTH_SERVER: case FEATURE_XAUTH_PEER: - return streq(a->arg.xauth == b->arg.xauth); + return streq(a->arg.xauth, b->arg.xauth); } } return FALSE; -- cgit v1.2.3 From 5d1677f52da06a74a5b480eb4c6e046bee9d127e Mon Sep 17 00:00:00 2001 From: Martin Willi Date: Mon, 19 Dec 2011 18:55:41 +0100 Subject: Added missing XAuth plugin feature enum names --- src/libstrongswan/plugins/plugin_feature.c | 2 ++ 1 file changed, 2 insertions(+) (limited to 'src/libstrongswan/plugins/plugin_feature.c') diff --git a/src/libstrongswan/plugins/plugin_feature.c b/src/libstrongswan/plugins/plugin_feature.c index 385e77b8b..330528885 100644 --- a/src/libstrongswan/plugins/plugin_feature.c +++ b/src/libstrongswan/plugins/plugin_feature.c @@ -40,6 +40,8 @@ ENUM(plugin_feature_names, FEATURE_NONE, FEATURE_CUSTOM, "CERT_ENCODE", "EAP_SERVER", "EAP_CLIENT", + "XAUTH_SERVER", + "XAUTH_CLIENT", "DATABASE", "FETCHER", "CUSTOM", -- cgit v1.2.3