ike_request_parse.c File Reference

IKE request parsing. More...

#include "ipsec/ipsec_misc.h"
#include "ike/ike.h"
#include "ike/ike_fsm.h"
#include "ike/ike_algorithms.h"
#include "ike/ike_request_parse.h"
#include "ike/ike_response_format.h"
#include "ike/ike_payload_parse.h"
#include "ike/ike_auth.h"
#include "ike/ike_certificate.h"
#include "ike/ike_key_exchange.h"
#include "ike/ike_key_material.h"
#include "ike/ike_misc.h"
#include "debug.h"

Go to the source code of this file.

Macros

#define TRACE_LEVEL   IKE_TRACE_LEVEL
 

Functions

error_t ikeParseIkeSaInitRequest (IkeContext *context, const uint8_t *message, size_t length)
 Parse incoming IKE_SA_INIT request. More...
 
error_t ikeParseIkeAuthRequest (IkeSaEntry *sa, const uint8_t *message, size_t length)
 Parse incoming IKE_AUTH request. More...
 
error_t ikeParseCreateChildSaRequest (IkeSaEntry *sa, const uint8_t *message, size_t length)
 Parse incoming CREATE_CHILD_SA request. More...
 
error_t ikeParseInfoRequest (IkeSaEntry *sa, const uint8_t *message, size_t length)
 Parse incoming INFORMATIONAL request. More...
 
void ikeProcessInitialChildSaCreateRequest (IkeSaEntry *sa, IkeMessagePayloads *payloads)
 Process initial Child SA creation request. More...
 
void ikeProcessChildSaCreateRequest (IkeSaEntry *sa, IkeChildSaEntry *oldChildSa, IkeMessagePayloads *payloads)
 Process Child SA creation request. More...
 
void ikeProcessChildSaRekeyRequest (IkeSaEntry *sa, IkeMessagePayloads *payloads)
 Process Child SA rekeying request. More...
 
void ikeProcessIkeSaRekeyRequest (IkeSaEntry *sa, IkeMessagePayloads *payloads)
 Process IKE SA rekeying request. More...
 

Detailed Description

IKE request parsing.

License

SPDX-License-Identifier: GPL-2.0-or-later

Copyright (C) 2022-2026 Oryx Embedded SARL. All rights reserved.

This file is part of CycloneIPSEC Open.

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.

Author
Oryx Embedded SARL (www.oryx-embedded.com)
Version
2.6.6

Definition in file ike_request_parse.c.

Macro Definition Documentation

◆ TRACE_LEVEL

#define TRACE_LEVEL   IKE_TRACE_LEVEL

Definition at line 32 of file ike_request_parse.c.

Function Documentation

◆ ikeParseCreateChildSaRequest()

error_t ikeParseCreateChildSaRequest ( IkeSaEntry *  sa,
const uint8_t *  message,
size_t  length 
)

Parse incoming CREATE_CHILD_SA request.

Parameters
[in]saPointer to the IKE SA
[in]messagePointer to the received IKE message
[in]lengthLength of the IKE message, in bytes
Returns
Error code

Definition at line 549 of file ike_request_parse.c.

◆ ikeParseIkeAuthRequest()

error_t ikeParseIkeAuthRequest ( IkeSaEntry *  sa,
const uint8_t *  message,
size_t  length 
)

Parse incoming IKE_AUTH request.

Parameters
[in]saPointer to the IKE SA
[in]messagePointer to the received IKE message
[in]lengthLength of the IKE message, in bytes
Returns
Error code

Definition at line 387 of file ike_request_parse.c.

◆ ikeParseIkeSaInitRequest()

error_t ikeParseIkeSaInitRequest ( IkeContext *  context,
const uint8_t *  message,
size_t  length 
)

Parse incoming IKE_SA_INIT request.

Parameters
[in]contextPointer to the IKE context
[in]messagePointer to the received IKE message
[in]lengthLength of the IKE message, in bytes
Returns
Error code

Definition at line 61 of file ike_request_parse.c.

◆ ikeParseInfoRequest()

error_t ikeParseInfoRequest ( IkeSaEntry *  sa,
const uint8_t *  message,
size_t  length 
)

Parse incoming INFORMATIONAL request.

Parameters
[in]saPointer to the IKE SA
[in]messagePointer to the received IKE message
[in]lengthLength of the IKE message, in bytes
Returns
Error code

Definition at line 649 of file ike_request_parse.c.

◆ ikeProcessChildSaCreateRequest()

void ikeProcessChildSaCreateRequest ( IkeSaEntry *  sa,
IkeChildSaEntry *  oldChildSa,
IkeMessagePayloads *  payloads 
)

Process Child SA creation request.

Parameters
[in]saPointer to the IKE SA
[in]oldChildSaPointer to the existing Child SA (for rekeying)
[in]payloadsPointer to the IKE message payloads

Definition at line 872 of file ike_request_parse.c.

◆ ikeProcessChildSaRekeyRequest()

void ikeProcessChildSaRekeyRequest ( IkeSaEntry *  sa,
IkeMessagePayloads *  payloads 
)

Process Child SA rekeying request.

Parameters
[in]saPointer to the IKE SA
[in]payloadsPointer to the IKE message payloads

Definition at line 1148 of file ike_request_parse.c.

◆ ikeProcessIkeSaRekeyRequest()

void ikeProcessIkeSaRekeyRequest ( IkeSaEntry *  sa,
IkeMessagePayloads *  payloads 
)

Process IKE SA rekeying request.

Parameters
[in]saPointer to the IKE SA
[in]payloadsPointer to the IKE message payloads

Definition at line 1218 of file ike_request_parse.c.

◆ ikeProcessInitialChildSaCreateRequest()

void ikeProcessInitialChildSaCreateRequest ( IkeSaEntry *  sa,
IkeMessagePayloads *  payloads 
)

Process initial Child SA creation request.

Parameters
[in]saPointer to the IKE SA
[in]payloadsPointer to the IKE message payloads

Definition at line 750 of file ike_request_parse.c.