Main Page | Data Structures | File List | Data Fields | Globals | Related Pages

IKEv2.c File Reference

#include "common.h"
#include <stdlib.h>
#include <assert.h>
#include <netinet/in.h>
#include <openssl/rand.h>
#include "IKEv2.h"
#include "state.h"
#include "session.h"

Functions

int IKEv2BeginSession (struct ikev2_ctx *i2, struct IKEv2Session **session, uint32_t type)
 Begin new IKEv2 session.
int IKEv2EndSession (struct ikev2_ctx *i2, struct IKEv2Session *session)
 End an existing IKEv2 session.
void * IKEv2GetSession (struct ikev2_ctx *i2, uint8_t *in)
 Check, if for a packet a new session should be initialized otherwise find the existing session.
int IKEv2ProcessMsg (const struct ikev2_ctx *i2, uint8_t *in, uint8_t **out, uint32_t *olen, struct IKEv2Session *session)
 Process IKEv2 Message.

Function Documentation

int IKEv2BeginSession struct ikev2_ctx i2,
struct IKEv2Session **  session,
uint32_t  type
 

Begin new IKEv2 session.

Parameters:
*i2 IKEv2 context, which contains list of all IKEv2 sessions
**session new IKEv2 session
type responder or initiator session
Returns:
0 on success, 1 otherwise

int IKEv2EndSession struct ikev2_ctx i2,
struct IKEv2Session session
 

End an existing IKEv2 session.

Parameters:
*i2 IKEv2 context which contains list of all sessions
*session sesion to delete
Returns:
always success (0)

void* IKEv2GetSession struct ikev2_ctx i2,
uint8_t *  in
 

Check, if for a packet a new session should be initialized otherwise find the existing session.

Parameters:
*i2 IKEv2 context
*in ptr to message

int IKEv2ProcessMsg const struct ikev2_ctx i2,
uint8_t *  in,
uint8_t **  out,
uint32_t *  olen,
struct IKEv2Session session
 

Process IKEv2 Message.

Parameters:
*i2 IKEv2 context data
*in incoming data
**out outcoming data
*olen outcoming data length
*session current session data
Returns:
0 on success


Project hosted by: SourceForge.net Logo