PROF_V2_PUB,
PROF_V2_EAP,
PROF_V2_PUB_EAP,
+ PROF_V2_PSK,
PROF_V1_PUB,
PROF_V1_PUB_AM,
PROF_V1_XAUTH,
"ikev2-pub",
"ikev2-eap",
"ikev2-pub-eap",
+ "ikev2-psk",
"ikev1-pub",
"ikev1-pub-am",
"ikev1-xauth",
case PROF_V2_PUB:
case PROF_V2_EAP:
case PROF_V2_PUB_EAP:
+ case PROF_V2_PSK:
ike.version = IKEV2;
break;
case PROF_V1_PUB_AM:
add_auth_cfg(this, peer_cfg, TRUE, AUTH_CLASS_EAP);
add_auth_cfg(this, peer_cfg, FALSE, AUTH_CLASS_ANY);
break;
+ case PROF_V2_PSK:
+ add_auth_cfg(this, peer_cfg, TRUE, AUTH_CLASS_PSK);
+ add_auth_cfg(this, peer_cfg, FALSE, AUTH_CLASS_PSK);
+ break;
case PROF_V1_PUB:
case PROF_V1_PUB_AM:
add_auth_cfg(this, peer_cfg, TRUE, AUTH_CLASS_PUBKEY);
shared = shared_key_create(type, chunk_clone(chunk_from_str(pwd)));
memwipe(pwd, strlen(pwd));
/* cache password in case it is required more than once */
- this->creds->add_shared(this->creds, shared, NULL);
+ this->creds->add_shared(this->creds, shared, me->clone(me),
+ other->clone(other), NULL);
return shared->get_ref(shared);
}