zrtp_conn_ctx Struct Reference
[libzrtp types]

ZRTP session context Describes the state of the ZRTP session. Stores data necessary and sufficient for processing ZRTP sessions. Encapsulates ZRTP streams and all crypto-data. More...

#include <zrtp.h>

Collaboration diagram for zrtp_conn_ctx:

[legend]

Data Fields

uint32_t id
zrtp_string16_t zid
 Local-side ZID The unique 12-characters string that identifies the local ZRTP endpoint. It must be generated by the user application on installation and used permanently for every ZRTP session. This ID allows remote peers to recognize this ZRTP endpoint.
zrtp_string16_t peer_zid
 Remote-side ZID Extracted from the Hello packet of the very first ZRTP stream. Uniquely identifies the remote ZRTP peer. Used in combination with the local zid to restore secrets and other data from the previous call. Available for reading after the discovering phase.
zrtp_profile_t profile
zrtp_secrets_t secrets
 Set of retained secrets and flags for the current ZRTP session. libzrtp uploads secrets and flags from the cache on the very first stream within every ZRTP session.
zrtp_string64_t zrtpsess
zrtp_sas_values_t sas_values
 Short authentication strings Depending on the SAS scheme used in negotiation, sas_values may contain:
  • 4-char value in .str1 fields (for base32 scheme);
  • 8-12-char strings in .str1 and str2 (for base256 scheme). Except for character representations, sas_values contain a binary digest as well. SAS stringcan be read after switching to SECURE.

zrtp_global_ctx_t * zrtp_global
void * ctx_usr_data
uint8_t _is_initiator
zrtp_hash_t * _hash
zrtp_cipher_t * _blockcipher
zrtp_auth_tag_length_t * _authtaglength
zrtp_sas_scheme_t * _sasscheme
zrtp_stream_ctx_t _streams [ZRTP_MAX_STREAMS_PER_SESSION]
zrtp_mutex_t * _streams_protector
zrtp_mutex_t * _init_protector
mlist_t _mlist

Detailed Description

ZRTP session context Describes the state of the ZRTP session. Stores data necessary and sufficient for processing ZRTP sessions. Encapsulates ZRTP streams and all crypto-data.

Definition at line 352 of file zrtp.h.


Field Documentation

uint32_t zrtp_conn_ctx::id

Session unique identifier for debug purposes

Definition at line 355 of file zrtp.h.

zrtp_string16_t zrtp_conn_ctx::zid

Local-side ZID The unique 12-characters string that identifies the local ZRTP endpoint. It must be generated by the user application on installation and used permanently for every ZRTP session. This ID allows remote peers to recognize this ZRTP endpoint.

Definition at line 364 of file zrtp.h.

zrtp_string16_t zrtp_conn_ctx::peer_zid

Remote-side ZID Extracted from the Hello packet of the very first ZRTP stream. Uniquely identifies the remote ZRTP peer. Used in combination with the local zid to restore secrets and other data from the previous call. Available for reading after the discovering phase.

ZRTP profile, defined crypto options and behavior for every stream within cirrent session

Definition at line 375 of file zrtp.h.

zrtp_profile_t zrtp_conn_ctx::profile

Definition at line 376 of file zrtp.h.

zrtp_secrets_t zrtp_conn_ctx::secrets

Set of retained secrets and flags for the current ZRTP session. libzrtp uploads secrets and flags from the cache on the very first stream within every ZRTP session.

ZRTP session key used to extand ZRTP session without additional DH exchange

Definition at line 385 of file zrtp.h.

zrtp_string64_t zrtp_conn_ctx::zrtpsess

Definition at line 386 of file zrtp.h.

zrtp_sas_values_t zrtp_conn_ctx::sas_values

Short authentication strings Depending on the SAS scheme used in negotiation, sas_values may contain:

Back-pointer to the ZRTP global data

Definition at line 398 of file zrtp.h.

zrtp_global_ctx_t* zrtp_conn_ctx::zrtp_global

Back-pointer to user data associated with this session context.

Definition at line 400 of file zrtp.h.

void* zrtp_conn_ctx::ctx_usr_data

Definition at line 401 of file zrtp.h.

uint8_t zrtp_conn_ctx::_is_initiator

Define endpoint Signaling role. Different from ZRTP Initiator/Responder role

Definition at line 404 of file zrtp.h.

zrtp_hash_t* zrtp_conn_ctx::_hash

Hash component used within current session

Definition at line 407 of file zrtp.h.

zrtp_cipher_t* zrtp_conn_ctx::_blockcipher

Cipher component used within current session

Definition at line 410 of file zrtp.h.

zrtp_auth_tag_length_t* zrtp_conn_ctx::_authtaglength

SRTP authentication component used within current session

Definition at line 413 of file zrtp.h.

zrtp_sas_scheme_t* zrtp_conn_ctx::_sasscheme

SAS scheme component used within current session

Definition at line 416 of file zrtp.h.

zrtp_stream_ctx_t zrtp_conn_ctx::_streams[ZRTP_MAX_STREAMS_PER_SESSION]

List of ZRTP streams attached to the session.

Definition at line 423 of file zrtp.h.

zrtp_mutex_t* zrtp_conn_ctx::_streams_protector

This object is used to synchronize all stream list operations

Definition at line 426 of file zrtp.h.

zrtp_mutex_t* zrtp_conn_ctx::_init_protector

Prevents race conditions if streams start simultaneously.

Definition at line 429 of file zrtp.h.

mlist_t zrtp_conn_ctx::_mlist

Definition at line 431 of file zrtp.h.


The documentation for this struct was generated from the following file:
This file is part of the documentation for Zfone.
Copyright ©  2006-2008 Philip R. Zimmermann. All rights reserved.
Generated on Mon November 10 2008 by doxygen 1.5.7-20060202. Written by Viktor Krikun, © 2006-2008