aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-zrtp.c
diff options
context:
space:
mode:
authorBill Meier <wmeier@newsguy.com>2013-01-26 18:54:53 +0000
committerBill Meier <wmeier@newsguy.com>2013-01-26 18:54:53 +0000
commit0960e508e4fdac8449dec1a901c146b977e17b7f (patch)
tree56ca52ea32e5ca23f6df21eb4d8e6b9c43d698d0 /epan/dissectors/packet-zrtp.c
parent33df8647d5c610b657d8c68b0982e4f95f348f99 (diff)
Comment out cases of unused hf array entries found by checkhf.
svn path=/trunk/; revision=47302
Diffstat (limited to 'epan/dissectors/packet-zrtp.c')
-rw-r--r--epan/dissectors/packet-zrtp.c534
1 files changed, 262 insertions, 272 deletions
diff --git a/epan/dissectors/packet-zrtp.c b/epan/dissectors/packet-zrtp.c
index 059f6237c9..314463b7e7 100644
--- a/epan/dissectors/packet-zrtp.c
+++ b/epan/dissectors/packet-zrtp.c
@@ -43,7 +43,6 @@ static int proto_zrtp = -1;
static int hf_zrtp_rtpversion = -1;
static int hf_zrtp_rtppadding = -1;
static int hf_zrtp_rtpextension = -1;
-static int hf_zrtp_id = -1;
static int hf_zrtp_sequence = -1;
static int hf_zrtp_cookie = -1;
static int hf_zrtp_source_id = -1;
@@ -170,7 +169,7 @@ typedef struct _value_string_keyval {
} value_string_keyval;
-const value_zrtp_versions valid_zrtp_versions[]=
+const value_zrtp_versions valid_zrtp_versions[] =
{
{"1.1x"},
{"1.0x"},
@@ -182,54 +181,54 @@ const value_zrtp_versions valid_zrtp_versions[]=
const value_string_keyval zrtp_hash_type_vals[] =
{
- { "S256", "SHA-256 Hash"},
- { "S384", "SHA-384 Hash"},
- { "N256", "SHA-3 256-bit hash"},
- { "N384", "SHA-3 384 bit hash"},
- { NULL, NULL }
+ { "S256", "SHA-256 Hash"},
+ { "S384", "SHA-384 Hash"},
+ { "N256", "SHA-3 256-bit hash"},
+ { "N384", "SHA-3 384 bit hash"},
+ { NULL, NULL }
};
const value_string_keyval zrtp_cipher_type_vals[] =
{
- { "AES1", "AES-CM with 128 bit keys"},
- { "AES2", "AES-CM with 192 bit keys"},
- { "AES3", "AES-CM with 256 bit keys"},
+ { "AES1", "AES-CM with 128 bit keys"},
+ { "AES2", "AES-CM with 192 bit keys"},
+ { "AES3", "AES-CM with 256 bit keys"},
{ "2FS1", "TwoFish with 128 bit keys"},
{ "2FS2", "TwoFish with 192 bit keys"},
{ "2FS3", "TwoFish with 256 bit keys"},
{ "CAM1", "Camellia with 128 bit keys"},
{ "CAM2", "Camellia with 192 bit keys"},
{ "CAM3", "Camellia with 256 bit keys"},
- { NULL, NULL }
+ { NULL, NULL }
};
const value_string_keyval zrtp_auth_tag_vals[] =
{
- { "HS32", "HMAC-SHA1 32 bit authentication tag"},
- { "HS80", "HMAC-SHA1 80 bit authentication tag"},
- { "SK32", "Skein-512-MAC 32 bit authentication tag"},
- { "SK64", "Skein-512-MAC 64 bit authentication tag"},
- { NULL, NULL }
+ { "HS32", "HMAC-SHA1 32 bit authentication tag"},
+ { "HS80", "HMAC-SHA1 80 bit authentication tag"},
+ { "SK32", "Skein-512-MAC 32 bit authentication tag"},
+ { "SK64", "Skein-512-MAC 64 bit authentication tag"},
+ { NULL, NULL }
};
const value_string_keyval zrtp_sas_type_vals[] =
{
- { "B32 ", "Short authentication string using base 32"},
- { "B256", "Short authentication string using base 256"},
- { NULL, NULL }
+ { "B32 ", "Short authentication string using base 32"},
+ { "B256", "Short authentication string using base 256"},
+ { NULL, NULL }
};
const value_string_keyval zrtp_key_agreement_vals[] =
{
- { "DH2k", "DH mode with p=2048 bit prime"},
- { "DH3k", "DH mode with p=3072 bit prime"},
- { "DH4k", "DH mode with p=4096 bit prime"},
- { "Prsh", "Preshared non-DH mode using shared secret"},
- { "EC25", "Elliptic Curve DH-256"},
- { "EC38", "Elliptic Curve DH-384"},
- { "EC52", "Elliptic Curve DH-521"},
- { "Mult", "Multistream mode"},
- { NULL, NULL }
+ { "DH2k", "DH mode with p=2048 bit prime"},
+ { "DH3k", "DH mode with p=3072 bit prime"},
+ { "DH4k", "DH mode with p=4096 bit prime"},
+ { "Prsh", "Preshared non-DH mode using shared secret"},
+ { "EC25", "Elliptic Curve DH-256"},
+ { "EC38", "Elliptic Curve DH-384"},
+ { "EC52", "Elliptic Curve DH-521"},
+ { "Mult", "Multistream mode"},
+ { NULL, NULL }
};
const value_string zrtp_error_vals[] =
@@ -270,13 +269,13 @@ dissect_Conf2ACK(packet_info *pinfo);
static void
dissect_HelloACK( packet_info *pinfo);
static void
-dissect_GoClear(tvbuff_t *tvb,packet_info *pinfo, proto_tree *zrtp_tree);
+dissect_GoClear(tvbuff_t *tvb, packet_info *pinfo, proto_tree *zrtp_tree);
static void
dissect_Error(tvbuff_t *tvb, packet_info *pinfo, proto_tree *zrtp_tree);
static void
-dissect_Confirm(tvbuff_t *tvb, packet_info *pinfo, proto_tree *zrtp_tree,int part);
+dissect_Confirm(tvbuff_t *tvb, packet_info *pinfo, proto_tree *zrtp_tree, int part);
static void
-dissect_DHPart(tvbuff_t *tvb, packet_info *pinfo, proto_tree *zrtp_tree,int part);
+dissect_DHPart(tvbuff_t *tvb, packet_info *pinfo, proto_tree *zrtp_tree, int part);
static void
dissect_SASrelay(tvbuff_t *tvb, packet_info *pinfo, proto_tree *zrtp_tree);
static void
@@ -288,10 +287,10 @@ dissect_PingACK(tvbuff_t *tvb, packet_info *pinfo, proto_tree *zrtp_tree);
static const gchar *
-key_to_val(const gchar *key, int keylen, const value_string_keyval *kv, const gchar *fmt){
- int i=0;
+key_to_val(const gchar *key, int keylen, const value_string_keyval *kv, const gchar *fmt) {
+ int i = 0;
while (kv[i].key) {
- if (!strncmp(kv[i].key, key, keylen)){
+ if (!strncmp(kv[i].key, key, keylen)) {
return(kv[i].val);
}
i++;
@@ -300,11 +299,11 @@ key_to_val(const gchar *key, int keylen, const value_string_keyval *kv, const gc
}
static const gchar *
-check_valid_version(const gchar *version){
- int i=0;
+check_valid_version(const gchar *version) {
+ int i = 0;
int match_size = (version[0] == '0') ? 4 : 3;
while (valid_zrtp_versions[i].version) {
- if (!strncmp(valid_zrtp_versions[i].version, version, match_size)){
+ if (!strncmp(valid_zrtp_versions[i].version, version, match_size)) {
return(valid_zrtp_versions[i].version);
}
i++;
@@ -316,125 +315,125 @@ check_valid_version(const gchar *version){
static void
dissect_zrtp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
{
- proto_tree *zrtp_tree;
- proto_tree *zrtp_msg_tree;
- proto_tree *zrtp_msg_data_tree;
- proto_tree *checksum_tree;
- proto_item *ti;
- int linelen;
- int checksum_offset;
- unsigned char message_type[9];
- unsigned int prime_offset = 0;
- unsigned int msg_offset = 12;
- guint32 sent_crc, calc_crc;
+ proto_tree *zrtp_tree;
+ proto_tree *zrtp_msg_tree;
+ proto_tree *zrtp_msg_data_tree;
+ proto_tree *checksum_tree;
+ proto_item *ti;
+ int linelen;
+ int checksum_offset;
+ unsigned char message_type[9];
+ unsigned int prime_offset = 0;
+ unsigned int msg_offset = 12;
+ guint32 sent_crc, calc_crc;
col_set_str(pinfo->cinfo, COL_PROTOCOL, "ZRTP");
col_set_str(pinfo->cinfo, COL_INFO, "Unknown ZRTP Packet");
- ti = proto_tree_add_protocol_format(tree,proto_zrtp,tvb,0,-1,"ZRTP protocol");
- zrtp_tree = proto_item_add_subtree(ti,ett_zrtp);
+ ti = proto_tree_add_protocol_format(tree, proto_zrtp, tvb, 0, -1, "ZRTP protocol");
+ zrtp_tree = proto_item_add_subtree(ti, ett_zrtp);
- proto_tree_add_item(zrtp_tree,hf_zrtp_rtpversion,tvb,prime_offset+0,1,ENC_BIG_ENDIAN);
- proto_tree_add_item(zrtp_tree,hf_zrtp_rtppadding,tvb,prime_offset+0,1,ENC_BIG_ENDIAN);
- proto_tree_add_item(zrtp_tree,hf_zrtp_rtpextension,tvb,prime_offset+0,1,ENC_BIG_ENDIAN);
+ proto_tree_add_item(zrtp_tree, hf_zrtp_rtpversion, tvb, prime_offset+0, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_item(zrtp_tree, hf_zrtp_rtppadding, tvb, prime_offset+0, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_item(zrtp_tree, hf_zrtp_rtpextension, tvb, prime_offset+0, 1, ENC_BIG_ENDIAN);
- proto_tree_add_item(zrtp_tree,hf_zrtp_sequence,tvb,prime_offset+2,2,ENC_BIG_ENDIAN);
+ proto_tree_add_item(zrtp_tree, hf_zrtp_sequence, tvb, prime_offset+2, 2, ENC_BIG_ENDIAN);
- proto_tree_add_item(zrtp_tree,hf_zrtp_cookie,tvb,prime_offset+4,4,ENC_ASCII|ENC_NA);
+ proto_tree_add_item(zrtp_tree, hf_zrtp_cookie, tvb, prime_offset+4, 4, ENC_ASCII|ENC_NA);
- proto_tree_add_item(zrtp_tree,hf_zrtp_source_id,tvb,prime_offset+8,4,ENC_BIG_ENDIAN);
+ proto_tree_add_item(zrtp_tree, hf_zrtp_source_id, tvb, prime_offset+8, 4, ENC_BIG_ENDIAN);
- linelen = tvb_reported_length_remaining(tvb,msg_offset);
+ linelen = tvb_reported_length_remaining(tvb, msg_offset);
checksum_offset = linelen-4;
- ti = proto_tree_add_protocol_format(zrtp_tree,proto_zrtp,tvb,msg_offset,linelen-4,"Message");
- zrtp_msg_tree = proto_item_add_subtree(ti,ett_zrtp_msg);
+ ti = proto_tree_add_protocol_format(zrtp_tree, proto_zrtp, tvb, msg_offset, linelen-4, "Message");
+ zrtp_msg_tree = proto_item_add_subtree(ti, ett_zrtp_msg);
- proto_tree_add_item(zrtp_msg_tree,hf_zrtp_signature,tvb,msg_offset+0,2,ENC_BIG_ENDIAN);
+ proto_tree_add_item(zrtp_msg_tree, hf_zrtp_signature, tvb, msg_offset+0, 2, ENC_BIG_ENDIAN);
- proto_tree_add_item(zrtp_msg_tree,hf_zrtp_msg_length,tvb,msg_offset+2,2,ENC_BIG_ENDIAN);
+ proto_tree_add_item(zrtp_msg_tree, hf_zrtp_msg_length, tvb, msg_offset+2, 2, ENC_BIG_ENDIAN);
- tvb_memcpy(tvb,(void *)message_type,msg_offset+4,8);
+ tvb_memcpy(tvb, (void *)message_type, msg_offset+4, 8);
message_type[8] = '\0';
- proto_tree_add_item(zrtp_msg_tree,hf_zrtp_msg_type,tvb,msg_offset+4,8,ENC_ASCII|ENC_NA);
+ proto_tree_add_item(zrtp_msg_tree, hf_zrtp_msg_type, tvb, msg_offset+4, 8, ENC_ASCII|ENC_NA);
- linelen = tvb_reported_length_remaining(tvb,msg_offset+12);
+ linelen = tvb_reported_length_remaining(tvb, msg_offset+12);
- if (!strncmp(message_type,"Hello ",8)){
- ti = proto_tree_add_protocol_format(zrtp_msg_tree,proto_zrtp,tvb,msg_offset+12,linelen-4,"Data");
- zrtp_msg_data_tree = proto_item_add_subtree(ti,ett_zrtp_msg_data);
- dissect_Hello(tvb,pinfo,zrtp_msg_data_tree);
- } else if (!strncmp(message_type,"HelloACK",8)){
+ if (!strncmp(message_type, "Hello ", 8)) {
+ ti = proto_tree_add_protocol_format(zrtp_msg_tree, proto_zrtp, tvb, msg_offset+12, linelen-4, "Data");
+ zrtp_msg_data_tree = proto_item_add_subtree(ti, ett_zrtp_msg_data);
+ dissect_Hello(tvb, pinfo, zrtp_msg_data_tree);
+ } else if (!strncmp(message_type, "HelloACK", 8)) {
dissect_HelloACK(pinfo);
- } else if (!strncmp(message_type,"Commit ",8)){
- ti = proto_tree_add_protocol_format(zrtp_msg_tree,proto_zrtp,tvb,msg_offset+12,linelen-4,"Data");
- zrtp_msg_data_tree = proto_item_add_subtree(ti,ett_zrtp_msg_data);
- dissect_Commit(tvb,pinfo,zrtp_msg_data_tree);
- } else if (!strncmp(message_type,"DHPart1 ",8)){
- ti = proto_tree_add_protocol_format(zrtp_msg_tree,proto_zrtp,tvb,msg_offset+12,linelen-4,"Data");
- zrtp_msg_data_tree = proto_item_add_subtree(ti,ett_zrtp_msg_data);
- dissect_DHPart(tvb,pinfo,zrtp_msg_data_tree,1);
- } else if (!strncmp(message_type,"DHPart2 ",8)){
- ti = proto_tree_add_protocol_format(zrtp_msg_tree,proto_zrtp,tvb,msg_offset+12,linelen-4,"Data");
- zrtp_msg_data_tree = proto_item_add_subtree(ti,ett_zrtp_msg_data);
- dissect_DHPart(tvb,pinfo,zrtp_msg_data_tree,2);
- } else if (!strncmp(message_type,"Confirm1",8)){
- ti = proto_tree_add_protocol_format(zrtp_msg_tree,proto_zrtp,tvb,msg_offset+12,linelen-4,"Data");
- zrtp_msg_data_tree = proto_item_add_subtree(ti,ett_zrtp_msg_data);
- dissect_Confirm(tvb,pinfo,zrtp_msg_data_tree,1);
- } else if (!strncmp(message_type,"Confirm2",8)){
- ti = proto_tree_add_protocol_format(zrtp_msg_tree,proto_zrtp,tvb,msg_offset+12,linelen-4,"Data");
- zrtp_msg_data_tree = proto_item_add_subtree(ti,ett_zrtp_msg_data);
- dissect_Confirm(tvb,pinfo,zrtp_msg_data_tree,2);
- } else if (!strncmp(message_type,"Conf2ACK",8)){
+ } else if (!strncmp(message_type, "Commit ", 8)) {
+ ti = proto_tree_add_protocol_format(zrtp_msg_tree, proto_zrtp, tvb, msg_offset+12, linelen-4, "Data");
+ zrtp_msg_data_tree = proto_item_add_subtree(ti, ett_zrtp_msg_data);
+ dissect_Commit(tvb, pinfo, zrtp_msg_data_tree);
+ } else if (!strncmp(message_type, "DHPart1 ", 8)) {
+ ti = proto_tree_add_protocol_format(zrtp_msg_tree, proto_zrtp, tvb, msg_offset+12, linelen-4, "Data");
+ zrtp_msg_data_tree = proto_item_add_subtree(ti, ett_zrtp_msg_data);
+ dissect_DHPart(tvb, pinfo, zrtp_msg_data_tree, 1);
+ } else if (!strncmp(message_type, "DHPart2 ", 8)) {
+ ti = proto_tree_add_protocol_format(zrtp_msg_tree, proto_zrtp, tvb, msg_offset+12, linelen-4, "Data");
+ zrtp_msg_data_tree = proto_item_add_subtree(ti, ett_zrtp_msg_data);
+ dissect_DHPart(tvb, pinfo, zrtp_msg_data_tree, 2);
+ } else if (!strncmp(message_type, "Confirm1", 8)) {
+ ti = proto_tree_add_protocol_format(zrtp_msg_tree, proto_zrtp, tvb, msg_offset+12, linelen-4, "Data");
+ zrtp_msg_data_tree = proto_item_add_subtree(ti, ett_zrtp_msg_data);
+ dissect_Confirm(tvb, pinfo, zrtp_msg_data_tree, 1);
+ } else if (!strncmp(message_type, "Confirm2", 8)) {
+ ti = proto_tree_add_protocol_format(zrtp_msg_tree, proto_zrtp, tvb, msg_offset+12, linelen-4, "Data");
+ zrtp_msg_data_tree = proto_item_add_subtree(ti, ett_zrtp_msg_data);
+ dissect_Confirm(tvb, pinfo, zrtp_msg_data_tree, 2);
+ } else if (!strncmp(message_type, "Conf2ACK", 8)) {
dissect_Conf2ACK(pinfo);
- } else if (!strncmp(message_type,"Error ",8)){
- ti = proto_tree_add_protocol_format(zrtp_msg_tree,proto_zrtp,tvb,msg_offset+12,linelen-4,"Data");
- zrtp_msg_data_tree = proto_item_add_subtree(ti,ett_zrtp_msg_data);
- dissect_Error(tvb,pinfo,zrtp_msg_data_tree);
- } else if (!strncmp(message_type,"ErrorACK",8)){
+ } else if (!strncmp(message_type, "Error ", 8)) {
+ ti = proto_tree_add_protocol_format(zrtp_msg_tree, proto_zrtp, tvb, msg_offset+12, linelen-4, "Data");
+ zrtp_msg_data_tree = proto_item_add_subtree(ti, ett_zrtp_msg_data);
+ dissect_Error(tvb, pinfo, zrtp_msg_data_tree);
+ } else if (!strncmp(message_type, "ErrorACK", 8)) {
dissect_ErrorACK(pinfo);
- } else if (!strncmp(message_type,"GoClear ",8)){
- ti = proto_tree_add_protocol_format(zrtp_msg_tree,proto_zrtp,tvb,msg_offset+12,linelen-4,"Data");
- zrtp_msg_data_tree = proto_item_add_subtree(ti,ett_zrtp_msg_data);
- dissect_GoClear(tvb,pinfo,zrtp_msg_data_tree);
- } else if (!strncmp(message_type,"ClearACK",8)){
+ } else if (!strncmp(message_type, "GoClear ", 8)) {
+ ti = proto_tree_add_protocol_format(zrtp_msg_tree, proto_zrtp, tvb, msg_offset+12, linelen-4, "Data");
+ zrtp_msg_data_tree = proto_item_add_subtree(ti, ett_zrtp_msg_data);
+ dissect_GoClear(tvb, pinfo, zrtp_msg_data_tree);
+ } else if (!strncmp(message_type, "ClearACK", 8)) {
dissect_ClearACK(pinfo);
- } else if (!strncmp(message_type,"SASrelay",8)){
- ti = proto_tree_add_protocol_format(zrtp_msg_tree,proto_zrtp,tvb,msg_offset+12,linelen-4,"Data");
- zrtp_msg_data_tree = proto_item_add_subtree(ti,ett_zrtp_msg_data);
- dissect_SASrelay(tvb,pinfo,zrtp_msg_data_tree);
- } else if (!strncmp(message_type,"RelayACK",8)){
+ } else if (!strncmp(message_type, "SASrelay", 8)) {
+ ti = proto_tree_add_protocol_format(zrtp_msg_tree, proto_zrtp, tvb, msg_offset+12, linelen-4, "Data");
+ zrtp_msg_data_tree = proto_item_add_subtree(ti, ett_zrtp_msg_data);
+ dissect_SASrelay(tvb, pinfo, zrtp_msg_data_tree);
+ } else if (!strncmp(message_type, "RelayACK", 8)) {
dissect_RelayACK(pinfo);
- } else if (!strncmp(message_type,"Ping ",8)){
- ti = proto_tree_add_protocol_format(zrtp_msg_tree,proto_zrtp,tvb,msg_offset+12,linelen-4,"Data");
- zrtp_msg_data_tree = proto_item_add_subtree(ti,ett_zrtp_msg_data);
- dissect_Ping(tvb,pinfo,zrtp_msg_data_tree);
- } else if (!strncmp(message_type,"PingACK ",8)){
- ti = proto_tree_add_protocol_format(zrtp_msg_tree,proto_zrtp,tvb,msg_offset+12,linelen-4,"Data");
- zrtp_msg_data_tree = proto_item_add_subtree(ti,ett_zrtp_msg_data);
- dissect_PingACK(tvb,pinfo,zrtp_msg_data_tree);
+ } else if (!strncmp(message_type, "Ping ", 8)) {
+ ti = proto_tree_add_protocol_format(zrtp_msg_tree, proto_zrtp, tvb, msg_offset+12, linelen-4, "Data");
+ zrtp_msg_data_tree = proto_item_add_subtree(ti, ett_zrtp_msg_data);
+ dissect_Ping(tvb, pinfo, zrtp_msg_data_tree);
+ } else if (!strncmp(message_type, "PingACK ", 8)) {
+ ti = proto_tree_add_protocol_format(zrtp_msg_tree, proto_zrtp, tvb, msg_offset+12, linelen-4, "Data");
+ zrtp_msg_data_tree = proto_item_add_subtree(ti, ett_zrtp_msg_data);
+ dissect_PingACK(tvb, pinfo, zrtp_msg_data_tree);
}
- sent_crc = tvb_get_ntohl(tvb,msg_offset+checksum_offset);
- calc_crc = ~crc32c_calculate(tvb_get_ptr(tvb,0,msg_offset+checksum_offset),msg_offset+checksum_offset,CRC32C_PRELOAD);
+ sent_crc = tvb_get_ntohl(tvb, msg_offset+checksum_offset);
+ calc_crc = ~crc32c_calculate(tvb_get_ptr(tvb, 0, msg_offset+checksum_offset), msg_offset+checksum_offset, CRC32C_PRELOAD);
if (sent_crc == calc_crc) {
ti = proto_tree_add_uint_format_value(zrtp_tree, hf_zrtp_checksum, tvb, msg_offset+checksum_offset, 4, sent_crc,
"0x%04x [correct]", sent_crc);
checksum_tree = proto_item_add_subtree(ti, ett_zrtp_checksum);
- ti = proto_tree_add_boolean(checksum_tree, hf_zrtp_checksum_good, tvb, msg_offset+checksum_offset, 4, TRUE);
+ ti = proto_tree_add_boolean(checksum_tree, hf_zrtp_checksum_good, tvb, msg_offset+checksum_offset, 4, TRUE);
PROTO_ITEM_SET_GENERATED(ti);
- ti = proto_tree_add_boolean(checksum_tree, hf_zrtp_checksum_bad, tvb, msg_offset+checksum_offset, 4, FALSE);
+ ti = proto_tree_add_boolean(checksum_tree, hf_zrtp_checksum_bad, tvb, msg_offset+checksum_offset, 4, FALSE);
PROTO_ITEM_SET_GENERATED(ti);
} else {
ti = proto_tree_add_uint_format_value(zrtp_tree, hf_zrtp_checksum, tvb, msg_offset+checksum_offset, 4, sent_crc,
"0x%04x [incorrect, should be 0x%04x]", sent_crc, calc_crc);
checksum_tree = proto_item_add_subtree(ti, ett_zrtp_checksum);
- ti = proto_tree_add_boolean(checksum_tree, hf_zrtp_checksum_good, tvb, msg_offset+checksum_offset, 4, FALSE);
+ ti = proto_tree_add_boolean(checksum_tree, hf_zrtp_checksum_good, tvb, msg_offset+checksum_offset, 4, FALSE);
PROTO_ITEM_SET_GENERATED(ti);
- ti = proto_tree_add_boolean(checksum_tree, hf_zrtp_checksum_bad, tvb, msg_offset+checksum_offset, 4, TRUE);
+ ti = proto_tree_add_boolean(checksum_tree, hf_zrtp_checksum_bad, tvb, msg_offset+checksum_offset, 4, TRUE);
PROTO_ITEM_SET_GENERATED(ti);
}
@@ -488,254 +487,254 @@ dissect_HelloACK(packet_info *pinfo) {
static void
dissect_Ping(tvbuff_t *tvb, packet_info *pinfo, proto_tree *zrtp_tree) {
- unsigned int data_offset=24;
+ unsigned int data_offset = 24;
col_set_str(pinfo->cinfo, COL_INFO, "Ping Packet");
- proto_tree_add_item(zrtp_tree,hf_zrtp_msg_ping_version,tvb,data_offset,4,ENC_ASCII|ENC_NA);
- proto_tree_add_item(zrtp_tree,hf_zrtp_msg_ping_endpointhash,tvb,data_offset+4,8,ENC_BIG_ENDIAN);
+ proto_tree_add_item(zrtp_tree, hf_zrtp_msg_ping_version, tvb, data_offset, 4, ENC_ASCII|ENC_NA);
+ proto_tree_add_item(zrtp_tree, hf_zrtp_msg_ping_endpointhash, tvb, data_offset+4, 8, ENC_BIG_ENDIAN);
}
static void
dissect_PingACK(tvbuff_t *tvb, packet_info *pinfo, proto_tree *zrtp_tree) {
- unsigned int data_offset=24;
+ unsigned int data_offset = 24;
col_set_str(pinfo->cinfo, COL_INFO, "PingACK Packet");
- proto_tree_add_item(zrtp_tree,hf_zrtp_msg_ping_version,tvb,data_offset,4,ENC_ASCII|ENC_NA);
- proto_tree_add_item(zrtp_tree,hf_zrtp_msg_pingack_endpointhash,tvb,data_offset+4,8,ENC_BIG_ENDIAN);
- proto_tree_add_item(zrtp_tree,hf_zrtp_msg_ping_endpointhash,tvb,data_offset+12,8,ENC_BIG_ENDIAN);
- proto_tree_add_item(zrtp_tree,hf_zrtp_msg_ping_ssrc,tvb,data_offset+20,4,ENC_BIG_ENDIAN);
+ proto_tree_add_item(zrtp_tree, hf_zrtp_msg_ping_version, tvb, data_offset, 4, ENC_ASCII|ENC_NA);
+ proto_tree_add_item(zrtp_tree, hf_zrtp_msg_pingack_endpointhash, tvb, data_offset+4, 8, ENC_BIG_ENDIAN);
+ proto_tree_add_item(zrtp_tree, hf_zrtp_msg_ping_endpointhash, tvb, data_offset+12, 8, ENC_BIG_ENDIAN);
+ proto_tree_add_item(zrtp_tree, hf_zrtp_msg_ping_ssrc, tvb, data_offset+20, 4, ENC_BIG_ENDIAN);
}
static void
dissect_GoClear(tvbuff_t *tvb, packet_info *pinfo, proto_tree *zrtp_tree) {
- unsigned int data_offset=24;
+ unsigned int data_offset = 24;
col_set_str(pinfo->cinfo, COL_INFO, "GoClear Packet");
/* Now we should clear the SRT(C)P session... */
- proto_tree_add_item(zrtp_tree,hf_zrtp_msg_hmac,tvb,data_offset+0,8,ENC_NA);
+ proto_tree_add_item(zrtp_tree, hf_zrtp_msg_hmac, tvb, data_offset+0, 8, ENC_NA);
}
static void
dissect_Error(tvbuff_t *tvb, packet_info *pinfo, proto_tree *zrtp_tree) {
- unsigned int data_offset=24;
+ unsigned int data_offset = 24;
col_set_str(pinfo->cinfo, COL_INFO, "Error Packet");
- proto_tree_add_item(zrtp_tree,hf_zrtp_msg_error,tvb,data_offset,4,ENC_BIG_ENDIAN);
+ proto_tree_add_item(zrtp_tree, hf_zrtp_msg_error, tvb, data_offset, 4, ENC_BIG_ENDIAN);
}
static void
-dissect_Confirm(tvbuff_t *tvb, packet_info *pinfo, proto_tree *zrtp_tree,int part) {
- unsigned int data_offset=24;
- int linelen;
+dissect_Confirm(tvbuff_t *tvb, packet_info *pinfo, proto_tree *zrtp_tree, int part) {
+ unsigned int data_offset = 24;
+ int linelen;
col_add_fstr(pinfo->cinfo, COL_INFO, (part == 1) ? "Confirm1 Packet" : "Confirm2 Packet");
- proto_tree_add_item(zrtp_tree,hf_zrtp_msg_hmac,tvb,data_offset+0,8,ENC_NA);
- proto_tree_add_item(zrtp_tree,hf_zrtp_msg_cfb,tvb,data_offset+8,16,ENC_NA);
- linelen = tvb_reported_length_remaining(tvb,data_offset+24);
- proto_tree_add_protocol_format(zrtp_tree,proto_zrtp,tvb,data_offset+24,linelen-4,"Encrypted Data");
+ proto_tree_add_item(zrtp_tree, hf_zrtp_msg_hmac, tvb, data_offset+0, 8, ENC_NA);
+ proto_tree_add_item(zrtp_tree, hf_zrtp_msg_cfb, tvb, data_offset+8, 16, ENC_NA);
+ linelen = tvb_reported_length_remaining(tvb, data_offset+24);
+ proto_tree_add_protocol_format(zrtp_tree, proto_zrtp, tvb, data_offset+24, linelen-4, "Encrypted Data");
}
static void
dissect_SASrelay(tvbuff_t *tvb, packet_info *pinfo, proto_tree *zrtp_tree) {
- unsigned int data_offset=24;
- int linelen;
+ unsigned int data_offset = 24;
+ int linelen;
col_set_str(pinfo->cinfo, COL_INFO, "SASrelay Packet");
- proto_tree_add_item(zrtp_tree,hf_zrtp_msg_hmac,tvb,data_offset+0,8,ENC_NA);
- proto_tree_add_item(zrtp_tree,hf_zrtp_msg_cfb,tvb,data_offset+8,16,ENC_NA);
- linelen = tvb_reported_length_remaining(tvb,data_offset+24);
- proto_tree_add_protocol_format(zrtp_tree,proto_zrtp,tvb,data_offset+24,linelen-4,"Encrypted Data");
+ proto_tree_add_item(zrtp_tree, hf_zrtp_msg_hmac, tvb, data_offset+0, 8, ENC_NA);
+ proto_tree_add_item(zrtp_tree, hf_zrtp_msg_cfb, tvb, data_offset+8, 16, ENC_NA);
+ linelen = tvb_reported_length_remaining(tvb, data_offset+24);
+ proto_tree_add_protocol_format(zrtp_tree, proto_zrtp, tvb, data_offset+24, linelen-4, "Encrypted Data");
}
static void
-dissect_DHPart(tvbuff_t *tvb, packet_info *pinfo, proto_tree *zrtp_tree,int part) {
- unsigned int msg_offset=12;
- unsigned int data_offset=56;
- int linelen, pvr_len;
+dissect_DHPart(tvbuff_t *tvb, packet_info *pinfo, proto_tree *zrtp_tree, int part) {
+ unsigned int msg_offset = 12;
+ unsigned int data_offset = 56;
+ int linelen, pvr_len;
col_add_fstr(pinfo->cinfo, COL_INFO, (part == 1) ? "DHPart1 Packet" : "DHPart2 Packet");
- proto_tree_add_item(zrtp_tree,hf_zrtp_msg_hash_image,tvb,msg_offset+12,32,ENC_NA);
- proto_tree_add_item(zrtp_tree,hf_zrtp_msg_rs1ID,tvb,data_offset+0,8,ENC_NA);
- proto_tree_add_item(zrtp_tree,hf_zrtp_msg_rs2ID,tvb,data_offset+8,8,ENC_NA);
- proto_tree_add_item(zrtp_tree,hf_zrtp_msg_auxs,tvb,data_offset+16,8,ENC_NA);
- proto_tree_add_item(zrtp_tree,hf_zrtp_msg_pbxs,tvb,data_offset+24,8,ENC_NA);
- linelen = tvb_reported_length_remaining(tvb,data_offset+32);
+ proto_tree_add_item(zrtp_tree, hf_zrtp_msg_hash_image, tvb, msg_offset+12, 32, ENC_NA);
+ proto_tree_add_item(zrtp_tree, hf_zrtp_msg_rs1ID, tvb, data_offset+0, 8, ENC_NA);
+ proto_tree_add_item(zrtp_tree, hf_zrtp_msg_rs2ID, tvb, data_offset+8, 8, ENC_NA);
+ proto_tree_add_item(zrtp_tree, hf_zrtp_msg_auxs, tvb, data_offset+16, 8, ENC_NA);
+ proto_tree_add_item(zrtp_tree, hf_zrtp_msg_pbxs, tvb, data_offset+24, 8, ENC_NA);
+ linelen = tvb_reported_length_remaining(tvb, data_offset+32);
pvr_len = linelen-8-4;
- proto_tree_add_protocol_format(zrtp_tree,proto_zrtp,tvb,data_offset+32,pvr_len,(part==1)?"pvr Data":"pvi Data");
- proto_tree_add_item(zrtp_tree,hf_zrtp_msg_hmac,tvb,data_offset+32+pvr_len,8,ENC_NA);
+ proto_tree_add_protocol_format(zrtp_tree, proto_zrtp, tvb, data_offset+32, pvr_len, (part==1) ? "pvr Data" : "pvi Data");
+ proto_tree_add_item(zrtp_tree, hf_zrtp_msg_hmac, tvb, data_offset+32+pvr_len, 8, ENC_NA);
}
static void
dissect_Commit(tvbuff_t *tvb, packet_info *pinfo, proto_tree *zrtp_tree) {
- unsigned int msg_offset=12;
- unsigned int data_offset=56;
+ unsigned int msg_offset = 12;
+ unsigned int data_offset = 56;
unsigned char value[5];
- int key_type = 0;
+ int key_type = 0;
/*
0 - other type
1 - "Mult"
2 - "Prsh"
*/
- unsigned int offset;
+ unsigned int offset;
col_set_str(pinfo->cinfo, COL_INFO, "Commit Packet");
- proto_tree_add_item(zrtp_tree,hf_zrtp_msg_hash_image,tvb,msg_offset+12,32,ENC_NA);
+ proto_tree_add_item(zrtp_tree, hf_zrtp_msg_hash_image, tvb, msg_offset+12, 32, ENC_NA);
/* ZID */
- proto_tree_add_item(zrtp_tree,hf_zrtp_msg_zid,tvb,data_offset+0,12,ENC_NA);
- tvb_memcpy(tvb,(void *)value,data_offset+12,4);
- value[4]='\0';
- proto_tree_add_string_format(zrtp_tree,hf_zrtp_msg_hash,tvb,data_offset+12,4,value,
- "Hash: %s",key_to_val(value,4,zrtp_hash_type_vals,"Unknown hash type %s"));
- tvb_memcpy(tvb,(void *)value,data_offset+16,4);
- value[4]='\0';
- proto_tree_add_string_format(zrtp_tree,hf_zrtp_msg_cipher,tvb,data_offset+16,4,value,"Cipher: %s",
- key_to_val(value,4,zrtp_cipher_type_vals,"Unknown cipher type %s"));
- tvb_memcpy(tvb,(void *)value,data_offset+20,4);
- value[4]='\0';
- proto_tree_add_string_format(zrtp_tree,hf_zrtp_msg_at,tvb,data_offset+20,4,value,
- "Auth tag: %s",key_to_val(value,4,zrtp_auth_tag_vals,"Unknown auth tag %s"));
- tvb_memcpy(tvb,(void *)value,data_offset+24,4);
- value[4]='\0';
- proto_tree_add_string_format(zrtp_tree,hf_zrtp_msg_keya,tvb,data_offset+24,4,value,
- "Key agreement: %s",key_to_val(value,4,zrtp_key_agreement_vals,"Unknown key agreement %s"));
-
- if(!strncmp(value, "Mult", 4)){
+ proto_tree_add_item(zrtp_tree, hf_zrtp_msg_zid, tvb, data_offset+0, 12, ENC_NA);
+ tvb_memcpy(tvb, (void *)value, data_offset+12, 4);
+ value[4] = '\0';
+ proto_tree_add_string_format(zrtp_tree, hf_zrtp_msg_hash, tvb, data_offset+12, 4, value,
+ "Hash: %s", key_to_val(value, 4, zrtp_hash_type_vals, "Unknown hash type %s"));
+ tvb_memcpy(tvb, (void *)value, data_offset+16, 4);
+ value[4] = '\0';
+ proto_tree_add_string_format(zrtp_tree, hf_zrtp_msg_cipher, tvb, data_offset+16, 4, value, "Cipher: %s",
+ key_to_val(value, 4, zrtp_cipher_type_vals, "Unknown cipher type %s"));
+ tvb_memcpy(tvb, (void *)value, data_offset+20, 4);
+ value[4] = '\0';
+ proto_tree_add_string_format(zrtp_tree, hf_zrtp_msg_at, tvb, data_offset+20, 4, value,
+ "Auth tag: %s", key_to_val(value, 4, zrtp_auth_tag_vals, "Unknown auth tag %s"));
+ tvb_memcpy(tvb, (void *)value, data_offset+24, 4);
+ value[4] = '\0';
+ proto_tree_add_string_format(zrtp_tree, hf_zrtp_msg_keya, tvb, data_offset+24, 4, value,
+ "Key agreement: %s", key_to_val(value, 4, zrtp_key_agreement_vals, "Unknown key agreement %s"));
+
+ if(!strncmp(value, "Mult", 4)) {
key_type = 1;
- } else if (!strncmp(value, "Prsh", 4)){
+ } else if (!strncmp(value, "Prsh", 4)) {
key_type = 2;
}
- tvb_memcpy(tvb,(void *)value,data_offset+28,4);
- value[4]='\0';
- proto_tree_add_string_format(zrtp_tree,hf_zrtp_msg_sas,tvb,data_offset+28,4,value,
- "SAS type: %s",key_to_val(value,4,zrtp_sas_type_vals,"Unknown SAS type %s"));
+ tvb_memcpy(tvb, (void *)value, data_offset+28, 4);
+ value[4] = '\0';
+ proto_tree_add_string_format(zrtp_tree, hf_zrtp_msg_sas, tvb, data_offset+28, 4, value,
+ "SAS type: %s", key_to_val(value, 4, zrtp_sas_type_vals, "Unknown SAS type %s"));
- switch(key_type){
+ switch (key_type) {
case 1: /*
- Mult
- */
- proto_tree_add_item(zrtp_tree,hf_zrtp_msg_nonce,tvb,data_offset+32,16,ENC_NA);
+ Mult
+ */
+ proto_tree_add_item(zrtp_tree, hf_zrtp_msg_nonce, tvb, data_offset+32, 16, ENC_NA);
offset = 48;
break;
case 2: /*
- Prsh
- */
- proto_tree_add_item(zrtp_tree,hf_zrtp_msg_nonce,tvb,data_offset+32,16,ENC_NA);
- proto_tree_add_item(zrtp_tree,hf_zrtp_msg_key_id,tvb,data_offset+48,8,ENC_NA);
+ Prsh
+ */
+ proto_tree_add_item(zrtp_tree, hf_zrtp_msg_nonce, tvb, data_offset+32, 16, ENC_NA);
+ proto_tree_add_item(zrtp_tree, hf_zrtp_msg_key_id, tvb, data_offset+48, 8, ENC_NA);
offset = 56;
break;
default: /*
- other
- */
- proto_tree_add_item(zrtp_tree,hf_zrtp_msg_hvi,tvb,data_offset+32, 32, ENC_NA);
+ other
+ */
+ proto_tree_add_item(zrtp_tree, hf_zrtp_msg_hvi, tvb, data_offset+32, 32, ENC_NA);
offset = 64;
break;
}
- proto_tree_add_item(zrtp_tree,hf_zrtp_msg_hmac,tvb,data_offset+offset,8,ENC_NA);
+ proto_tree_add_item(zrtp_tree, hf_zrtp_msg_hmac, tvb, data_offset+offset, 8, ENC_NA);
}
static void
dissect_Hello(tvbuff_t *tvb, packet_info *pinfo, proto_tree *zrtp_tree) {
- proto_item *ti;
- unsigned int msg_offset = 12;
- unsigned int data_offset = 88;
- guint8 val_b;
- unsigned int i;
- unsigned int run_offset;
- unsigned int hc,cc,ac,kc,sc;
- unsigned int vhc,vcc,vac,vkc,vsc;
- unsigned char value[5];
- unsigned char version_str[5];
- proto_tree *tmp_tree;
+ proto_item *ti;
+ unsigned int msg_offset = 12;
+ unsigned int data_offset = 88;
+ guint8 val_b;
+ unsigned int i;
+ unsigned int run_offset;
+ unsigned int hc, cc, ac, kc, sc;
+ unsigned int vhc, vcc, vac, vkc, vsc;
+ unsigned char value[5];
+ unsigned char version_str[5];
+ proto_tree *tmp_tree;
col_set_str(pinfo->cinfo, COL_INFO, "Hello Packet");
- tvb_memcpy(tvb,version_str,msg_offset+12,4);
- version_str[4]='\0';
- if (check_valid_version(version_str) == NULL){
+ tvb_memcpy(tvb, version_str, msg_offset+12, 4);
+ version_str[4] = '\0';
+ if (check_valid_version(version_str) == NULL) {
col_set_str(pinfo->cinfo, COL_INFO, "Unsupported version of ZRTP protocol");
}
- proto_tree_add_item(zrtp_tree,hf_zrtp_msg_version,tvb,msg_offset+12,4,ENC_ASCII|ENC_NA);
- proto_tree_add_item(zrtp_tree,hf_zrtp_msg_client_id,tvb,msg_offset+16,16,ENC_ASCII|ENC_NA);
- proto_tree_add_item(zrtp_tree,hf_zrtp_msg_hash_image,tvb,msg_offset+32,32,ENC_NA);
- proto_tree_add_item(zrtp_tree,hf_zrtp_msg_zid,tvb,msg_offset+64,12,ENC_NA);
- proto_tree_add_item(zrtp_tree,hf_zrtp_msg_sigcap,tvb,data_offset+0,1,ENC_BIG_ENDIAN);
- proto_tree_add_item(zrtp_tree,hf_zrtp_msg_mitm,tvb,data_offset+0,1,ENC_BIG_ENDIAN);
- proto_tree_add_item(zrtp_tree,hf_zrtp_msg_passive,tvb,data_offset+0,1,ENC_BIG_ENDIAN);
-
- val_b = tvb_get_guint8(tvb,data_offset+1);
+ proto_tree_add_item(zrtp_tree, hf_zrtp_msg_version, tvb, msg_offset+12, 4, ENC_ASCII|ENC_NA);
+ proto_tree_add_item(zrtp_tree, hf_zrtp_msg_client_id, tvb, msg_offset+16, 16, ENC_ASCII|ENC_NA);
+ proto_tree_add_item(zrtp_tree, hf_zrtp_msg_hash_image, tvb, msg_offset+32, 32, ENC_NA);
+ proto_tree_add_item(zrtp_tree, hf_zrtp_msg_zid, tvb, msg_offset+64, 12, ENC_NA);
+ proto_tree_add_item(zrtp_tree, hf_zrtp_msg_sigcap, tvb, data_offset+0, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_item(zrtp_tree, hf_zrtp_msg_mitm, tvb, data_offset+0, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_item(zrtp_tree, hf_zrtp_msg_passive, tvb, data_offset+0, 1, ENC_BIG_ENDIAN);
+
+ val_b = tvb_get_guint8(tvb, data_offset+1);
hc = val_b & 0x0F;
vhc = hc;
- val_b = tvb_get_guint8(tvb,data_offset+2);
+ val_b = tvb_get_guint8(tvb, data_offset+2);
cc = val_b & 0xF0;
ac = val_b & 0x0F;
vcc = cc >> 4;
vac = ac;
- val_b = tvb_get_guint8(tvb,data_offset+3);
+ val_b = tvb_get_guint8(tvb, data_offset+3);
kc = val_b & 0xF0;
sc = val_b & 0x0F;
vkc = kc >> 4;
vsc = sc;
- ti=proto_tree_add_uint_format(zrtp_tree,hf_zrtp_msg_hash_count,tvb,data_offset+1,1,hc,"Hash type count = %d",vhc);
- tmp_tree = proto_item_add_subtree(ti,ett_zrtp_msg_hc);
+ ti = proto_tree_add_uint_format(zrtp_tree, hf_zrtp_msg_hash_count, tvb, data_offset+1, 1, hc, "Hash type count = %d", vhc);
+ tmp_tree = proto_item_add_subtree(ti, ett_zrtp_msg_hc);
run_offset = data_offset+4;
- for(i=0;i<vhc;i++){
- tvb_memcpy(tvb,(void *)value,run_offset,4);
- value[4]='\0';
- proto_tree_add_string_format(tmp_tree,hf_zrtp_msg_hash,tvb,run_offset,4,value,
- "Hash[%d]: %s",i,key_to_val(value,4,zrtp_hash_type_vals,"Unknown hash type %s"));
- run_offset+=4;
+ for (i=0; i<vhc; i++) {
+ tvb_memcpy(tvb, (void *)value, run_offset, 4);
+ value[4] = '\0';
+ proto_tree_add_string_format(tmp_tree, hf_zrtp_msg_hash, tvb, run_offset, 4, value,
+ "Hash[%d]: %s", i, key_to_val(value, 4, zrtp_hash_type_vals, "Unknown hash type %s"));
+ run_offset += 4;
}
- ti=proto_tree_add_uint_format(zrtp_tree,hf_zrtp_msg_cipher_count,tvb,data_offset+2,1,cc,"Cipher type count = %d",vcc);
- tmp_tree = proto_item_add_subtree(ti,ett_zrtp_msg_cc);
- for(i=0;i<vcc;i++){
- tvb_memcpy(tvb,(void *)value,run_offset,4);
- value[4]='\0';
- proto_tree_add_string_format(tmp_tree,hf_zrtp_msg_cipher,tvb,run_offset,4,value,"Cipher[%d]: %s",i,
- key_to_val(value,4,zrtp_cipher_type_vals,"Unknown cipher type %s"));
- run_offset+=4;
+ ti = proto_tree_add_uint_format(zrtp_tree, hf_zrtp_msg_cipher_count, tvb, data_offset+2, 1, cc, "Cipher type count = %d", vcc);
+ tmp_tree = proto_item_add_subtree(ti, ett_zrtp_msg_cc);
+ for (i=0; i<vcc; i++) {
+ tvb_memcpy(tvb, (void *)value, run_offset, 4);
+ value[4] = '\0';
+ proto_tree_add_string_format(tmp_tree, hf_zrtp_msg_cipher, tvb, run_offset, 4, value, "Cipher[%d]: %s", i,
+ key_to_val(value, 4, zrtp_cipher_type_vals, "Unknown cipher type %s"));
+ run_offset += 4;
}
- ti=proto_tree_add_uint_format(zrtp_tree,hf_zrtp_msg_authtag_count,tvb,data_offset+2,1,ac,"Auth tag count = %d",vac);
- tmp_tree = proto_item_add_subtree(ti,ett_zrtp_msg_ac);
- for(i=0;i<vac;i++){
- tvb_memcpy(tvb,(void *)value,run_offset,4);
- value[4]='\0';
- proto_tree_add_string_format(tmp_tree,hf_zrtp_msg_at,tvb,run_offset,4,value,
- "Auth tag[%d]: %s",i,key_to_val(value,4,zrtp_auth_tag_vals,"Unknown auth tag %s"));
- run_offset+=4;
+ ti = proto_tree_add_uint_format(zrtp_tree, hf_zrtp_msg_authtag_count, tvb, data_offset+2, 1, ac, "Auth tag count = %d", vac);
+ tmp_tree = proto_item_add_subtree(ti, ett_zrtp_msg_ac);
+ for (i=0; i<vac; i++) {
+ tvb_memcpy(tvb, (void *)value, run_offset, 4);
+ value[4] = '\0';
+ proto_tree_add_string_format(tmp_tree, hf_zrtp_msg_at, tvb, run_offset, 4, value,
+ "Auth tag[%d]: %s", i, key_to_val(value, 4, zrtp_auth_tag_vals, "Unknown auth tag %s"));
+ run_offset += 4;
}
- ti=proto_tree_add_uint_format(zrtp_tree,hf_zrtp_msg_key_count,tvb,data_offset+3,1,kc,"Key agreement type count = %d",vkc);
- tmp_tree = proto_item_add_subtree(ti,ett_zrtp_msg_kc);
- for(i=0;i<vkc;i++){
- tvb_memcpy(tvb,(void *)value,run_offset,4);
- value[4]='\0';
- proto_tree_add_string_format(tmp_tree,hf_zrtp_msg_keya,tvb,run_offset,4,value,
- "Key agreement[%d]: %s",i,key_to_val(value,4,zrtp_key_agreement_vals,"Unknown key agreement %s"));
- run_offset+=4;
+ ti = proto_tree_add_uint_format(zrtp_tree, hf_zrtp_msg_key_count, tvb, data_offset+3, 1, kc, "Key agreement type count = %d", vkc);
+ tmp_tree = proto_item_add_subtree(ti, ett_zrtp_msg_kc);
+ for (i=0; i<vkc; i++) {
+ tvb_memcpy(tvb, (void *)value, run_offset, 4);
+ value[4] = '\0';
+ proto_tree_add_string_format(tmp_tree, hf_zrtp_msg_keya, tvb, run_offset, 4, value,
+ "Key agreement[%d]: %s", i, key_to_val(value, 4, zrtp_key_agreement_vals, "Unknown key agreement %s"));
+ run_offset += 4;
}
- ti=proto_tree_add_uint_format(zrtp_tree,hf_zrtp_msg_sas_count,tvb,data_offset+3,1,sc,"SAS type count = %d",vsc);
- tmp_tree = proto_item_add_subtree(ti,ett_zrtp_msg_sc);
- for(i=0;i<vsc;i++){
- tvb_memcpy(tvb,(void *)value,run_offset,4);
- value[4]='\0';
- proto_tree_add_string_format(tmp_tree,hf_zrtp_msg_sas,tvb,run_offset,4,value,
- "SAS type[%d]: %s",i,key_to_val(value,4,zrtp_sas_type_vals,"Unknown SAS type %s"));
- run_offset+=4;
+ ti = proto_tree_add_uint_format(zrtp_tree, hf_zrtp_msg_sas_count, tvb, data_offset+3, 1, sc, "SAS type count = %d", vsc);
+ tmp_tree = proto_item_add_subtree(ti, ett_zrtp_msg_sc);
+ for (i=0; i<vsc; i++) {
+ tvb_memcpy(tvb, (void *)value, run_offset, 4);
+ value[4] = '\0';
+ proto_tree_add_string_format(tmp_tree, hf_zrtp_msg_sas, tvb, run_offset, 4, value,
+ "SAS type[%d]: %s", i, key_to_val(value, 4, zrtp_sas_type_vals, "Unknown SAS type %s"));
+ run_offset += 4;
}
- proto_tree_add_item(zrtp_tree,hf_zrtp_msg_hmac,tvb,run_offset,8,ENC_NA);
+ proto_tree_add_item(zrtp_tree, hf_zrtp_msg_hmac, tvb, run_offset, 8, ENC_NA);
}
void
@@ -769,15 +768,6 @@ proto_register_zrtp(void)
}
},
- {&hf_zrtp_id,
- {
- "ID", "zrtp.id",
- FT_UINT8, BASE_HEX,
- NULL, 0x0,
- NULL, HFILL
- }
- },
-
{&hf_zrtp_sequence,
{
"Sequence", "zrtp.sequence",