diff options
Diffstat (limited to 'src/charon/sa/transactions/ike_auth.c')
-rw-r--r-- | src/charon/sa/transactions/ike_auth.c | 16 |
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)) |