#include "common.h"#include <assert.h>#include <netinet/in.h>#include <openssl/rand.h>#include <string.h>#include "payload.h"#include "transforms.h"#include "session.h"#include "encr.h"#include "message.h"#include "auth.h"#include "dh.h"#include "conf_utils.h"#include "enums.h"#include "integ.h"Functions | |
| static void | fillFixedPayloadHdr (uint8_t **next, uint8_t type, uint8_t *p) |
| Auxiliary function used to set next field value of previous payload and initialize current payload header. | |
| uint32_t | CreateEncryptedPayload (uint8_t **next, uint8_t inner_next, uint8_t *data, uint32_t dlen, uint8_t *sigdata, struct IKEv2Session *session, uint8_t *p) |
| Create an encrypted payload. | |
| uint32_t | CreateKEPayload (uint8_t **next, uint16_t DHGroup, struct IKEv2Session *session, uint8_t *p) |
| Function creates an KE-Payload. | |
| uint32_t | CreateSAPayload (uint8_t **next, struct Proposal *suppProp, uint8_t *p) |
| Creates SA payload. | |
| uint32_t | CreateNoncePayload (uint8_t **next, struct IKEv2Session *s, uint32_t len, uint8_t *p) |
| Creates a Nonce payload. | |
| uint32_t | CreateIDPayload (uint8_t **next, uint8_t initiator, uint8_t type, uint8_t *id, uint16_t idlen, uint8_t *p) |
| Creating IDR or IDI payload (depends on initiator param value). | |
| uint32_t | CreateAuthPayload (const struct ikev2_ctx *i2, uint8_t **next, struct IKEv2Session *session, uint8_t *id, uint16_t idlen, uint8_t *p) |
| Creating an AUTH payload. | |
| uint32_t | CreateCertPayload (const struct ikev2_ctx *i2, uint8_t **next, uint8_t type, uint8_t *p) |
| Create an CERT payload. | |
| uint32_t | CreateNotifyPayload (uint8_t **next, uint16_t type, uint8_t *ndata, uint16_t ndlen, uint8_t *p) |
| Creating an notify payload. | |
| uint32_t | CreateDeletePayload (uint8_t **next, uint8_t SProtocolID, uint8_t *SPIs, uint16_t count, uint8_t *p) |
| Creating an DELETE payload. | |
| uint32_t | CreateCertReqPayload (const struct ikev2_ctx *i2, uint8_t **next, uint8_t *p) |
| Creates an Certification Request Payload (CERT REQ). | |
| uint32_t | ParseEncryptedPayload (uint8_t **data, struct IKEv2Session *session, uint8_t *p) |
| Parses an encryption payload (without integrity checksum!!). | |
| Proposal * | ParseSAPayload (uint8_t *p) |
| Parse SA payload. | |
| BIGNUM * | ParseKEPayload (uint16_t *DHGroup, uint8_t *p) |
| Parse KE Payload. Extract KE data an DH group information from payload. | |
| BIGNUM * | ParseNoncePayload (uint8_t *p) |
| Parse nonce payload and extract nonce data. | |
| uint16_t | ParseIDPayload (uint8_t **data, uint8_t *p) |
| Parse an ID payload. | |
| int | ParseAuthPayload (uint8_t *AuthMethod, uint8_t **data, uint8_t *p) |
| Parses an AUTH payload. | |
| int | ParseCertPayload (uint8_t **cdata, uint32_t *cdlen, uint8_t *ctype, uint8_t *p) |
| Parse certificate payload. | |
| int | ParseNotifyPayload (uint8_t *p, uint16_t *data) |
| Parse notify payload. | |
| void | ParseCertReqPayload (const struct ikev2_ctx *i2, uint8_t *p) |
| Parse Certificate Request Parse. | |
|
||||||||||||||||||||||||||||
|
Creating an AUTH payload. IKEv2 context date carry necessary info about used authentication type.
|
|
||||||||||||||||||||
|
Create an CERT payload.
|
|
||||||||||||||||
|
Creates an Certification Request Payload (CERT REQ).
|
|
||||||||||||||||||||||||
|
Creating an DELETE payload.
|
|
||||||||||||||||||||||||||||||||
|
Create an encrypted payload. This is the most complex payload creation function. The work is performed in three main steps:
|
|
||||||||||||||||||||||||||||
|
Creating IDR or IDI payload (depends on initiator param value).
|
|
||||||||||||||||||||
|
Function creates an KE-Payload.
|
|
||||||||||||||||||||
|
Creates a Nonce payload. As a side effect session->Ni (for initiator) or session->Nr (for responder) field will be filled. Old value will be lost.
|
|
||||||||||||||||||||||||
|
Creating an notify payload.
|
|
||||||||||||||||
|
Creates SA payload.
|
|
||||||||||||||||
|
Auxiliary function used to set next field value of previous payload and initialize current payload header.
|
|
||||||||||||||||
|
Parses an AUTH payload.
|
|
||||||||||||||||||||
|
Parse certificate payload.
|
|
||||||||||||
|
Parse Certificate Request Parse.
|
|
||||||||||||||||
|
Parses an encryption payload (without integrity checksum!!).
|
|
||||||||||||
|
Parse an ID payload.
|
|
||||||||||||
|
Parse KE Payload. Extract KE data an DH group information from payload.
|
|
|
Parse nonce payload and extract nonce data.
|
|
||||||||||||
|
Parse notify payload.
|
|
|
Parse SA payload.
|