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

IKEv2Session Struct Reference

IKEv2 Session data. This structure is also used as a element of linked list with all active IKEv2 sessions. More...

#include <session.h>


Data Fields

uint32_t timestamp
 last session activity time
IKEv2Sessionnext
 next session entry
int Type
 i am initator of responder?
uint64_t iSPI
 SPI of initiator.
uint64_t rSPI
 SPI of responder.
uint32_t State
 current state
uint32_t MsgID
 MsgID for next IKEv2 msg to send.
uint32_t recvMsgID
 MsgID for next msg received, which is not a response.
uint32_t Status
 Status of session.
int WaitResponse
 am i waiting for a response? (only for initiator)
uint32_t respMsgID
 MsgID for response.
ProtocolUsedTransforms
 used algorithms
DH * dh
 dh structure for temporary data needed by openssl
uint8_t * DHKey
 DH-Key for session.
uint32_t DHKeyLen
 Length of DH-Key.
uint32_t DHCounter
 INVALID_KE response counter, if 0 initator send EAP-Fail immediatly.
BIGNUM * Ni
 Nonce from initiator.
BIGNUM * Nr
 Nonce from responder.
uint8_t * fmsg
 first send msg, needed for auth
uint32_t fmlen
 length of fmsg
uint8_t * rmsg
 first received message, needed for verifying auth
uint32_t rmlen
 length of rmsg
int include_integ
 include integ checksum?
int expect_integ
 expect integ checksum in a next messages?
uint8_t * IDr
 used in only in initiator, stores IDr from SK{IDr}
int IDrLen
 IDr length.
uint8_t * pwd
 password (in case of password based auth)
uint16_t pwdlen
 length of pwd (in bytes)
int SK_ready
 SK_* keys ready?
uint8_t * SK_d
 Session key for further key derivation.
uint8_t * SK_ai
 Session key for initiator auth algo.
uint8_t * SK_ar
 Session key for responder auth algo.
uint8_t * SK_ei
 Session key for initiator encr algo.
uint8_t * SK_er
 Session key for responder encr algo.
uint8_t * SK_pi
 Session key for initiator AUTH generation.
uint8_t * SK_pr
 Session key for responder AUTH generation.
char * fastID
 EAP ID used for session matching in case of fast rekeying (base64).
uint8_t * fragdata
 recent fragments
uint32_t fdlen
 length of fragdata
uint32_t fragment
 which fragment is next
bool sendfrag
 send fragment?
uint8_t * integkey
 key for integrity algorithm
uint32_t iklen
 length of key
uint32_t integtype
 used algorithm for integrity check
uint8_t * ointegkey
 last key for integrity algorithm
uint32_t oiklen
 length of last key
uint8_t eapMsgID
 msg id for current EAP request
uint8_t * eapKeyData
 EAP exported keys data.
bool fFastReconnect
 fast reconnect?
bool fDHExchange
 DH exchange needed?


Detailed Description

IKEv2 Session data. This structure is also used as a element of linked list with all active IKEv2 sessions.


Field Documentation

DH* IKEv2Session::dh
 

dh structure for temporary data needed by openssl

uint32_t IKEv2Session::DHCounter
 

INVALID_KE response counter, if 0 initator send EAP-Fail immediatly.

uint8_t* IKEv2Session::DHKey
 

DH-Key for session.

uint32_t IKEv2Session::DHKeyLen
 

Length of DH-Key.

uint8_t* IKEv2Session::eapKeyData
 

EAP exported keys data.

uint8_t IKEv2Session::eapMsgID
 

msg id for current EAP request

int IKEv2Session::expect_integ
 

expect integ checksum in a next messages?

char* IKEv2Session::fastID
 

EAP ID used for session matching in case of fast rekeying (base64).

bool IKEv2Session::fDHExchange
 

DH exchange needed?

uint32_t IKEv2Session::fdlen
 

length of fragdata

bool IKEv2Session::fFastReconnect
 

fast reconnect?

uint32_t IKEv2Session::fmlen
 

length of fmsg

uint8_t* IKEv2Session::fmsg
 

first send msg, needed for auth

uint8_t* IKEv2Session::fragdata
 

recent fragments

uint32_t IKEv2Session::fragment
 

which fragment is next

uint8_t* IKEv2Session::IDr
 

used in only in initiator, stores IDr from SK{IDr}

int IKEv2Session::IDrLen
 

IDr length.

uint32_t IKEv2Session::iklen
 

length of key

int IKEv2Session::include_integ
 

include integ checksum?

uint8_t* IKEv2Session::integkey
 

key for integrity algorithm

uint32_t IKEv2Session::integtype
 

used algorithm for integrity check

uint64_t IKEv2Session::iSPI
 

SPI of initiator.

uint32_t IKEv2Session::MsgID
 

MsgID for next IKEv2 msg to send.

struct IKEv2Session* IKEv2Session::next
 

next session entry

BIGNUM* IKEv2Session::Ni
 

Nonce from initiator.

BIGNUM* IKEv2Session::Nr
 

Nonce from responder.

uint32_t IKEv2Session::oiklen
 

length of last key

uint8_t* IKEv2Session::ointegkey
 

last key for integrity algorithm

uint8_t* IKEv2Session::pwd
 

password (in case of password based auth)

uint16_t IKEv2Session::pwdlen
 

length of pwd (in bytes)

uint32_t IKEv2Session::recvMsgID
 

MsgID for next msg received, which is not a response.

uint32_t IKEv2Session::respMsgID
 

MsgID for response.

uint32_t IKEv2Session::rmlen
 

length of rmsg

uint8_t* IKEv2Session::rmsg
 

first received message, needed for verifying auth

uint64_t IKEv2Session::rSPI
 

SPI of responder.

bool IKEv2Session::sendfrag
 

send fragment?

uint8_t* IKEv2Session::SK_ai
 

Session key for initiator auth algo.

uint8_t* IKEv2Session::SK_ar
 

Session key for responder auth algo.

uint8_t* IKEv2Session::SK_d
 

Session key for further key derivation.

uint8_t* IKEv2Session::SK_ei
 

Session key for initiator encr algo.

uint8_t* IKEv2Session::SK_er
 

Session key for responder encr algo.

uint8_t* IKEv2Session::SK_pi
 

Session key for initiator AUTH generation.

uint8_t* IKEv2Session::SK_pr
 

Session key for responder AUTH generation.

int IKEv2Session::SK_ready
 

SK_* keys ready?

uint32_t IKEv2Session::State
 

current state

uint32_t IKEv2Session::Status
 

Status of session.

uint32_t IKEv2Session::timestamp
 

last session activity time

int IKEv2Session::Type
 

i am initator of responder?

struct Protocol* IKEv2Session::UsedTransforms
 

used algorithms

int IKEv2Session::WaitResponse
 

am i waiting for a response? (only for initiator)


The documentation for this struct was generated from the following file:
Project hosted by: SourceForge.net Logo