23 #define ZRTP_MAX_CHANNEL_NUMBER 64 25 #define MAX_AUX_SECRET_LENGTH 64 27 #define PACKET_STORAGE_CAPACITY 5 30 #define HELLO_MESSAGE_STORE_ID 0 31 #define COMMIT_MESSAGE_STORE_ID 1 32 #define DHPART_MESSAGE_STORE_ID 2 33 #define CONFIRM_MESSAGE_STORE_ID 3 34 #define GOCLEAR_MESSAGE_STORE_ID 4 43 #ifdef ZIDCACHE_ENABLED 49 #include <bctoolbox/crypto.h> 50 #include <bctoolbox/port.h> 56 #include "bctoolbox/logging.h" 59 #define snprintf _snprintf 63 #define BZRTP_TIMER_ON 1 64 #define BZRTP_TIMER_OFF 2 67 #define HELLO_BASE_RETRANSMISSION_STEP 50 68 #define HELLO_CAP_RETRANSMISSION_STEP 200 69 #define HELLO_MAX_RETRANSMISSION_NUMBER 20 71 #define NON_HELLO_BASE_RETRANSMISSION_STEP 150 72 #define NON_HELLO_CAP_RETRANSMISSION_STEP 1200 73 #define NON_HELLO_MAX_RETRANSMISSION_NUMBER 10 75 #define CLEARACK_BASE_RETRANSMISSION_STEP 5000 76 #define CLEARACK_MAX_RETRANSMISSION_NUMBER 20 80 #define BZRTP_MINIMUM_MTU 600 82 #define BZRTP_DEFAULT_MTU 1452 89 #define ZRTP_CLIENT_IDENTIFIERv1_0a "LINPHONE-ZRTPCPP" 90 #define ZRTP_CLIENT_IDENTIFIERv1_0b "BZRTP" 92 #define ZRTP_CLIENT_IDENTIFIERv1_1 "BZRTPv1.1" 94 #define ZRTP_CLIENT_IDENTIFIER ZRTP_CLIENT_IDENTIFIERv1_1 116 #define RETAINED_SECRET_LENGTH 32 170 #ifdef GOCLEAR_ENABLED 206 void (*sasFunction)(
uint32_t sas,
char * output,
int outputSize);
245 #ifdef GOCLEAR_ENABLED 270 #ifdef ZIDCACHE_ENABLED size_t mtu
Definition: typedef.h:301
uint16_t offset
Definition: typedef.h:143
uint8_t * peerHelloHash
Definition: typedef.h:184
uint8_t * mackeyi
Definition: typedef.h:212
bctbx_rng_context_t * RNGContext
Definition: typedef.h:237
uint8_t * packetString
Definition: typedef.h:150
struct cachedSecrets_struct cachedSecrets_t
A set of cached secrets retrieved from the cache as defined.
bzrtpTimer_t timer
Definition: typedef.h:163
uint8_t hc
Definition: typedef.h:258
bzrtpStateMachine_t stateMachine
Definition: typedef.h:162
#define PACKET_STORAGE_CAPACITY
Definition: typedef.h:27
bctbx_mutex_t * zidCacheMutex
Definition: typedef.h:275
uint8_t cacheMismatchFlag
Definition: typedef.h:285
const char * pgpWordsOdd[]
Definition: pgpwords.c:284
uint8_t isInitialised
Definition: typedef.h:242
All the callback functions provided by the client needed by the ZRTP engine.
Definition: bzrtp.h:175
cachedSecretsHash_t initiatorCachedSecretHash
Definition: typedef.h:283
uint8_t sc
Definition: typedef.h:266
size_t auxsecretLength
Definition: typedef.h:126
fragmentReassembly_t incomingFragmentedPacket
Definition: typedef.h:224
uint8_t hashLength
Definition: typedef.h:193
Timer structure : The timer mechanism receives a tick giving a current time in ms a timer object will...
Definition: typedef.h:108
uint8_t * KDFContext
Definition: typedef.h:210
A set of cached secrets retrieved from the cache as defined.
Definition: typedef.h:120
unsigned short uint16_t
Definition: stdint.h:79
uint8_t * pbxsecret
Definition: typedef.h:127
uint8_t sasAlgo
Definition: typedef.h:198
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
bzrtpCallbacks_t zrtpCallbacks
Definition: typedef.h:252
uint8_t * auxsecret
Definition: typedef.h:125
uint8_t * rs2
Definition: typedef.h:123
bzrtpSrtpSecrets_t srtpSecrets
Definition: typedef.h:216
uint16_t selfMessageSequenceNumber
Definition: typedef.h:188
uint8_t * s0
Definition: typedef.h:209
#define ZRTP_MAX_CHANNEL_NUMBER
Definition: typedef.h:23
char * selfURI
Definition: typedef.h:277
uint8_t keyAgreementAlgo
Definition: typedef.h:239
uint8_t * rs1
Definition: typedef.h:121
uint8_t peerPVS
Definition: typedef.h:286
bctbx_list_t * fragments
Definition: typedef.h:151
uint8_t cc
Definition: typedef.h:260
uint8_t rs1Length
Definition: typedef.h:122
void * zidCache
Definition: typedef.h:273
uint8_t keyAgreementAlgo
Definition: typedef.h:197
uint8_t * ZRTPSess
Definition: typedef.h:294
uint16_t messageLength
Definition: typedef.h:149
uint8_t status
Definition: typedef.h:109
cachedSecrets_t cachedSecret
Definition: typedef.h:282
uint16_t messageId
Definition: typedef.h:148
uint8_t * transientAuxSecret
Definition: typedef.h:290
struct cachedSecretsHash_struct cachedSecretsHash_t
The hash of cached secret truncated to the 64 leftmost bits aux secret ID is not part of it because c...
structure of the ZRTP engine context Store current state, timers, HMAC and encryption keys ...
Definition: typedef.h:235
unsigned int uint32_t
Definition: stdint.h:80
uint8_t * zrtpkeyi
Definition: typedef.h:214
uint8_t ZRTPSessLength
Definition: typedef.h:295
uint8_t cipherAlgo
Definition: typedef.h:194
int timerStep
Definition: typedef.h:112
size_t pbxsecretLength
Definition: typedef.h:128
const char * pgpWordsEven[]
Definition: pgpwords.c:24
unsigned __int64 uint64_t
Definition: stdint.h:90
uint8_t previouslyVerifiedSas
Definition: typedef.h:129
char * peerURI
Definition: typedef.h:279
uint8_t isSecure
Definition: typedef.h:168
uint8_t kc
Definition: typedef.h:264
uint16_t KDFContextLength
Definition: typedef.h:211
uint8_t cipherKeyLength
Definition: typedef.h:195
uint8_t role
Definition: typedef.h:161
struct bzrtpTimer_struct bzrtpTimer_t
Timer structure : The timer mechanism receives a tick giving a current time in ms a timer object will...
size_t transientAuxSecretLength
Definition: typedef.h:291
uint8_t authTagAlgo
Definition: typedef.h:196
uint8_t sasLength
Definition: typedef.h:199
uint8_t isMainChannel
Definition: typedef.h:169
uint8_t hashAlgo
Definition: typedef.h:192
int zuid
Definition: typedef.h:276
The zrtp context of a channel.
Definition: typedef.h:157
Definition: typedef.h:147
uint8_t * zrtpkeyr
Definition: typedef.h:215
uint8_t rs2Length
Definition: typedef.h:124
uint8_t isSecure
Definition: typedef.h:243
uint32_t selfSSRC
Definition: typedef.h:165
uint8_t * mackeyr
Definition: typedef.h:213
uint8_t * exportedKey
Definition: typedef.h:296
Definition: typedef.h:142
int(* bzrtpStateMachine_t)(bzrtpEvent_t)
the state function pointer definition
Definition: stateMachine.h:57
uint16_t length
Definition: typedef.h:144
bzrtpPacket_t * pingPacket
Definition: typedef.h:227
uint64_t timeReference
Definition: typedef.h:249
uint8_t peerSupportMultiChannel
Definition: typedef.h:244
uint8_t firingCount
Definition: typedef.h:111
uint8_t exportedKeyLength
Definition: typedef.h:297
uint64_t firingTime
Definition: typedef.h:110
void * keyAgreementContext
Definition: typedef.h:238
void * clientData
Definition: typedef.h:159
uint16_t selfSequenceNumber
Definition: typedef.h:187
uint16_t peerSequenceNumber
Definition: typedef.h:189
uint32_t peerBzrtpVersion
Definition: typedef.h:281
The hash of cached secret truncated to the 64 leftmost bits aux secret ID is not part of it because c...
Definition: typedef.h:136
uint8_t ac
Definition: typedef.h:262
struct fragmentInfo_struct fragmentInfo_t
cachedSecretsHash_t responderCachedSecretHash
Definition: typedef.h:284
struct fragmentReassembly_struct fragmentReassembly_t