From: Martin Willi Date: Mon, 19 Dec 2011 12:32:41 +0000 (+0100) Subject: Factories honor charon IKEv1/IKEv2 protocol support flags X-Git-Tag: 5.0.0~338^2~9^2~162 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=7d0a3a427d6ce15e4d410fde53d97a4336b5a2a7;p=thirdparty%2Fstrongswan.git Factories honor charon IKEv1/IKEv2 protocol support flags --- diff --git a/src/libcharon/sa/authenticator.c b/src/libcharon/sa/authenticator.c index d7a4b3eef1..ea1889a61e 100644 --- a/src/libcharon/sa/authenticator.c +++ b/src/libcharon/sa/authenticator.c @@ -45,6 +45,8 @@ ENUM_NEXT(auth_method_names, AUTH_XAUTH_INIT_PSK, AUTH_HYBRID_RESP_RSA, AUTH_ECD ); ENUM_END(auth_method_names, AUTH_HYBRID_RESP_RSA); +#ifdef USE_IKEV2 + /** * Described in header. */ @@ -106,6 +108,10 @@ authenticator_t *authenticator_create_verifier( } } +#endif /* USE_IKEV2 */ + +#ifdef USE_IKEV1 + /** * Described in header. */ @@ -137,3 +143,5 @@ authenticator_t *authenticator_create_v1(ike_sa_t *ike_sa, bool initiator, return NULL; } } + +#endif /* USE_IKEV1 */ diff --git a/src/libcharon/sa/keymat.c b/src/libcharon/sa/keymat.c index bcf131fd0b..d04d966ad3 100644 --- a/src/libcharon/sa/keymat.c +++ b/src/libcharon/sa/keymat.c @@ -26,12 +26,19 @@ keymat_t *keymat_create(ike_version_t version, bool initiator) switch (version) { case IKEV1: +#ifdef USE_IKEV1 return &keymat_v1_create(initiator)->keymat; +#endif + break; case IKEV2: +#ifdef USE_IKEV2 return &keymat_v2_create(initiator)->keymat; +#endif + break; default: - return NULL; + break; } + return NULL; } /** diff --git a/src/libcharon/sa/task_manager.c b/src/libcharon/sa/task_manager.c index 70f732fab5..c42008ba91 100644 --- a/src/libcharon/sa/task_manager.c +++ b/src/libcharon/sa/task_manager.c @@ -26,11 +26,18 @@ task_manager_t *task_manager_create(ike_sa_t *ike_sa) switch (ike_sa->get_version(ike_sa)) { case IKEV1: +#ifdef USE_IKEV1 return &task_manager_v1_create(ike_sa)->task_manager; +#endif + break; case IKEV2: +#ifdef USE_IKEV2 return &task_manager_v2_create(ike_sa)->task_manager; +#endif + break; default: - return NULL; + break; } + return NULL; }