aboutsummaryrefslogtreecommitdiffstats
path: root/src/charon/sa/transactions/ike_auth.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/charon/sa/transactions/ike_auth.c')
-rw-r--r--src/charon/sa/transactions/ike_auth.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/src/charon/sa/transactions/ike_auth.c b/src/charon/sa/transactions/ike_auth.c
index faf0ef6e5..06eec335c 100644
--- a/src/charon/sa/transactions/ike_auth.c
+++ b/src/charon/sa/transactions/ike_auth.c
@@ -498,14 +498,6 @@ static status_t get_response(private_ike_auth_t *this, message_t *request,
ts_payload_t *tsr_request = NULL;
id_payload_t *idr_response;
- /* check message type */
- if (request->get_exchange_type(request) != IKE_AUTH)
- {
- this->logger->log(this->logger, ERROR,
- "IKE_AUTH response of invalid type, deleting IKE_SA");
- return DESTROY_ME;
- }
-
/* check if we already have built a response (retransmission) */
if (this->message)
{
@@ -528,6 +520,14 @@ static status_t get_response(private_ike_auth_t *this, message_t *request,
this->message = response;
*result = response;
+ /* check message type */
+ if (request->get_exchange_type(request) != IKE_AUTH)
+ {
+ this->logger->log(this->logger, ERROR,
+ "IKE_AUTH response of invalid type, deleting IKE_SA");
+ return DESTROY_ME;
+ }
+
/* Iterate over all payloads. */
payloads = request->get_payload_iterator(request);
while (payloads->has_next(payloads))