aboutsummaryrefslogtreecommitdiffstats
path: root/src/charon-cmd/cmd/cmd_connection.c
diff options
context:
space:
mode:
authorMartin Willi <martin@revosec.ch>2013-07-24 13:35:46 +0200
committerMartin Willi <martin@revosec.ch>2013-07-29 09:00:49 +0200
commit44bb1dc3da9683df5ba27bf7b56ff6c557307c81 (patch)
treee3252c11e21c7af5bbd56d6d8a4b8489b0d2aa56 /src/charon-cmd/cmd/cmd_connection.c
parent3a399574c214775fa271b3dc8a0619af1a007d64 (diff)
downloadstrongswan-44bb1dc3da9683df5ba27bf7b56ff6c557307c81.tar.bz2
strongswan-44bb1dc3da9683df5ba27bf7b56ff6c557307c81.tar.xz
charon-cmd: add --eap-identity and --xauth-username options
Diffstat (limited to 'src/charon-cmd/cmd/cmd_connection.c')
-rw-r--r--src/charon-cmd/cmd/cmd_connection.c25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/charon-cmd/cmd/cmd_connection.c b/src/charon-cmd/cmd/cmd_connection.c
index 2d995f0cd..5c459f99f 100644
--- a/src/charon-cmd/cmd/cmd_connection.c
+++ b/src/charon-cmd/cmd/cmd_connection.c
@@ -102,6 +102,11 @@ struct private_cmd_connection_t {
char *identity;
/**
+ * XAuth/EAP identity
+ */
+ char *xautheap;
+
+ /**
* Is a private key configured
*/
bool key_seen;
@@ -187,6 +192,22 @@ static void add_auth_cfg(private_cmd_connection_t *this, peer_cfg_t *peer_cfg,
if (local)
{
id = identification_create_from_string(this->identity);
+ if (this->xautheap)
+ {
+ switch (class)
+ {
+ case AUTH_CLASS_EAP:
+ auth->add(auth, AUTH_RULE_EAP_IDENTITY,
+ identification_create_from_string(this->xautheap));
+ break;
+ case AUTH_CLASS_XAUTH:
+ auth->add(auth, AUTH_RULE_XAUTH_IDENTITY,
+ identification_create_from_string(this->xautheap));
+ break;
+ default:
+ break;
+ }
+ }
}
else
{
@@ -411,6 +432,10 @@ METHOD(cmd_connection_t, handle, bool,
case CMD_OPT_IDENTITY:
this->identity = arg;
break;
+ case CMD_OPT_EAP_IDENTITY:
+ case CMD_OPT_XAUTH_USER:
+ this->xautheap = arg;
+ break;
case CMD_OPT_RSA:
case CMD_OPT_AGENT:
case CMD_OPT_PKCS12: