19 #ifndef STATEMACHINE_H 20 #define STATEMACHINE_H 26 #define BZRTP_EVENT_INIT 0 27 #define BZRTP_EVENT_MESSAGE 1 28 #define BZRTP_EVENT_TIMER 2 29 #define BZRTP_EVENT_GOCLEAR 3 30 #define BZRTP_EVENT_ACCEPT_GOCLEAR 4 31 #define BZRTP_EVENT_BACKTOSECURE 5 34 #define BZRTP_ERROR_UNSUPPORTEDZRTPVERSION 0xe001 35 #define BZRTP_ERROR_UNMATCHINGPACKETREPETITION 0xe002 36 #define BZRTP_ERROR_CACHEMISMATCH 0xe004 uint8_t eventType
Definition: stateMachine.h:46
int state_keyAgreement_responderSendingDHPart1(bzrtpEvent_t event)
For DHM mode only, responder send DHPart1 packet.
Definition: stateMachine.c:691
struct bzrtpEvent_struct bzrtpEvent_t
The event type, used as a parameter for the state function.
int state_keyAgreement_sendingCommit(bzrtpEvent_t event)
For any kind of key agreement (DHM, Mult, PreShared), we keep sending commit.
Definition: stateMachine.c:381
unsigned short uint16_t
Definition: stdint.h:79
Store all zrtpPacket informations according to type a specific structure type is mapped to the void *...
Definition: packetParser.h:134
unsigned char uint8_t
Definition: stdint.h:78
int state_sending_GoClear(bzrtpEvent_t event)
GoClear initiator send a GoClear message.
Definition: stateMachine.c:1648
bzrtpPacket_t * bzrtpPacket
Definition: stateMachine.h:49
structure of the ZRTP engine context Store current state, timers, HMAC and encryption keys ...
Definition: typedef.h:235
int state_confirmation_initiatorSendingConfirm2(bzrtpEvent_t event)
Initiator send the confirm2 message.
Definition: stateMachine.c:1264
The event type, used as a parameter for the state function.
Definition: stateMachine.h:45
int state_confirmation_responderSendingConfirm1(bzrtpEvent_t event)
Responder send the confirm1 message.
Definition: stateMachine.c:1043
int state_discovery_waitingForHelloAck(bzrtpEvent_t event)
We are now waiting for the HelloACK packet from peer or a Commit packet.
Definition: stateMachine.c:245
int state_secure(bzrtpEvent_t event)
We are in secure state.
Definition: stateMachine.c:1428
int bzrtp_updateCachedSecrets(bzrtpContext_t *zrtpContext, bzrtpChannelContext_t *zrtpChannelContext)
Compute the new rs1 and update the cached secrets according to rfc section 4.6.1. ...
Definition: stateMachine.c:2751
int state_keyAgreement_initiatorSendingDHPart2(bzrtpEvent_t event)
For DHM mode only, initiator send DHPart2 packet.
Definition: stateMachine.c:905
uint16_t bzrtpPacketStringLength
Definition: stateMachine.h:48
The zrtp context of a channel.
Definition: typedef.h:157
uint8_t * bzrtpPacketString
Definition: stateMachine.h:47
int(* bzrtpStateMachine_t)(bzrtpEvent_t)
the state function pointer definition
Definition: stateMachine.h:57
int state_discovery_init(bzrtpEvent_t event)
This is the initial state On first call, we will create the Hello message and start sending it until ...
Definition: stateMachine.c:51
bzrtpChannelContext_t * zrtpChannelContext
Definition: stateMachine.h:51
bzrtpContext_t * zrtpContext
Definition: stateMachine.h:50
int state_clear(bzrtpEvent_t event)
We are in clear state.
Definition: stateMachine.c:1860
int state_discovery_waitingForHello(bzrtpEvent_t event)
Arrives in this state coming from init upon reception on Hello ACK, we are now waiting for the Hello ...
Definition: stateMachine.c:175