zrtp_session_info_t Struct Reference
[Types and DefinitionsZRTP Connections]

zrtp session information structure

libzrtp, since v0.80 takes data incapsulating approach and hides all private date inside zrtp_session_t structure. Developers shouldn't access them directly. zrtp_session_get() should be used instead to fill zrtp_session_info_t structure. zrtp_session_info_t contains all needed information in safe and easy to use form. More...

#include <zrtp.h>

Collaboration diagram for zrtp_session_info_t:

Collaboration graph
[legend]

Data Fields

zrtp_id_t id
 Session unique identifier for debug purposes.
zrtp_string16_t zid
 Local ZID.
zrtp_string16_t peer_zid
 Remote ZID.
zrtp_string16_t peer_clientid
 Character name identified remote ZRTP endpoint.
zrtp_string16_t peer_version
 ZRTP Protocol version supported by the remote endpoint.
uint8_t sas_is_ready
 Indicates that SAS related data is available for reading.
zrtp_string16_t sas1
 First Short Authentication String.
zrtp_string16_t sas2
 Second Short Authentication string.
zrtp_string32_t sasbin
 Binary SAS digest (ZRTP_SAS_DIGEST_LENGTH bytes).
uint32_t cached_flags
 Bit-map to summarize shared secrets "Cached" flags.
uint32_t matches_flags
 Bit-map to summarize shared secrets "Matched" flags.
uint32_t wrongs_flags
 Bit-map to summarize shared secrets "Wrong" flags.
uint32_t sas_is_verified
 SAS Verification flag.
uint8_t sas_is_base256
 Indicates base256 SAS encoding.
uint32_t secrets_ttl
 actual lifetime of the secrets
zrtp_string32_t hash_name
 Hash crypto component name used in ZRTP calculations.
zrtp_string32_t cipher_name
 Cipher crypto component name used in ZRTP encryption.
zrtp_string32_t auth_name
 SRTP Authentication crypto component name used in ZRTP exchange.
zrtp_string32_t sas_name
 SAS scheme crypto component name used in ZRTP exchange.
zrtp_string32_t pk_name
 Publik Key Exchange name used in ZRTP exchange.

Detailed Description

zrtp session information structure

libzrtp, since v0.80 takes data incapsulating approach and hides all private date inside zrtp_session_t structure. Developers shouldn't access them directly. zrtp_session_get() should be used instead to fill zrtp_session_info_t structure. zrtp_session_info_t contains all needed information in safe and easy to use form.


Field Documentation

uint32_t cached_flags

Bit-map to summarize shared secrets "Cached" flags.

1 at appropriate bit means that the secrets was found in the cache and restored successfully. Value equal to 0 indicates that secret for the remote endpoint was not found in the cache and was generated randomly. Use ZRTP_BIT_RS1, ZRTP_BIT_RS2, ZRTP_BIT_AUX and ZRTP_BIT_PBX bit-masks to get "cached" value for the appropriate secret.

uint32_t matches_flags

Bit-map to summarize shared secrets "Matched" flags.

1 at appropriate bit means that the secret, locally computed by your ZRTP endpoint is equal to the secret, received from the remote endpoint. Secrets may not match if one of the endpoints doesn't use cache of the shared secrets, if the cache was deleted or in case of an attack. Use ZRTP_BIT_RS1, ZRTP_BIT_RS2, ZRTP_BIT_AUX and ZRTP_BIT_PBX bit-masks to get "cached" value for the appropriate secret.

zrtp_string16_t peer_zid

Remote ZID.

Extracted from the Hello packet of the very first ZRTP stream. Uniquely identifies the remote ZRTP peer.

zrtp_string16_t sas2

Second Short Authentication string.

Note:
Second SAS is available for base256 authentication only (sas_is_base256 is set). In other case, sas1 contains base32 value and sas2 is empty.

uint8_t sas_is_ready

Indicates that SAS related data is available for reading.

Note:
As SAS is computed in SECURE state only, it may contain unknown values in other states. Check sas_is_ready before displaying SAS to the user.

uint32_t sas_is_verified

SAS Verification flag.

The SAS Verified flag (V) is set based on the user indicating that SAS comparison has been successfully performed. Each party sends the SAS Verified flag from the previous session in the Confirm message of the current session.

See also:
  • ZRTP RFC section. "7.1. SAS Verified Flag" for more information about Verification Flag.
  • zrtp_verified_set()

uint32_t secrets_ttl

actual lifetime of the secrets

This variable contains the interval for retaining secrets within an established session. In accordance with ZRTP RFC this value is calculated as the minimal of local and remote TTLs after confirmation. Value is given in seconds and can be read in the SECURE state.

uint32_t wrongs_flags

Bit-map to summarize shared secrets "Wrong" flags.

1 at appropriate bit means that the secret was restored from the cache, but doesn't match to the remote endpoint's secret. Such situation may happen if the remote endpoint lost cache or in case of attach. Use ZRTP_BIT_RS1, ZRTP_BIT_RS2, ZRTP_BIT_AUX and ZRTP_BIT_PBX bit-masks to get "cached" value for the appropriate secret.

zrtp_string16_t zid

Local ZID.

The unique 12-characters string that identifies the local ZRTP endpoint.This ID allows remote peers to recognize this ZRTP endpoint.


The documentation for this struct was generated from the following file:

Generated on Wed Dec 9 17:31:06 2009 for libzrtp  zfone