forked from osmocom/wireshark
convert to proto_tree_add_subtree[_format]
Change-Id: Idd1b20ab32c0960ea52c6f3bc5346462c37c5684 Reviewed-on: https://code.wireshark.org/review/2853 Reviewed-by: Michael Mann <mmann78@netscape.net>
This commit is contained in:
parent
dd424c6225
commit
93517043e9
|
@ -367,8 +367,7 @@ dissect_portcontrol_pdu(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, gui
|
|||
start_opcode_offset = offset;
|
||||
if(try_val_to_str(ropcode, pcp_ropcode_vals) != NULL)
|
||||
{
|
||||
opcode_ti = proto_tree_add_text(pcp_tree, tvb, offset, 0, "%s", op_str);
|
||||
opcode_tree = proto_item_add_subtree(opcode_ti, ett_opcode);
|
||||
opcode_tree = proto_tree_add_subtree(pcp_tree, tvb, offset, 0, ett_opcode, &opcode_ti, op_str);
|
||||
}
|
||||
|
||||
switch(ropcode) {
|
||||
|
|
|
@ -460,7 +460,6 @@ dissect_nbns_query(tvbuff_t *tvb, int offset, int nbns_data_offset,
|
|||
int data_offset;
|
||||
int data_start;
|
||||
proto_tree *q_tree;
|
||||
proto_item *tq;
|
||||
|
||||
name = (char *)wmem_alloc(wmem_packet_scope(), MAX_NAME_LEN);
|
||||
data_start = data_offset = offset;
|
||||
|
@ -476,10 +475,9 @@ dissect_nbns_query(tvbuff_t *tvb, int offset, int nbns_data_offset,
|
|||
col_append_fstr(cinfo, COL_INFO, " %s %s", type_name, name);
|
||||
|
||||
if (nbns_tree != NULL) {
|
||||
tq = proto_tree_add_text(nbns_tree, tvb, offset, len,
|
||||
"%s: type %s, class %s", name, type_name,
|
||||
q_tree = proto_tree_add_subtree_format(nbns_tree, tvb, offset, len,
|
||||
ett_nbns_qd, NULL, "%s: type %s, class %s", name, type_name,
|
||||
dns_class_name(dns_class));
|
||||
q_tree = proto_item_add_subtree(tq, ett_nbns_qd);
|
||||
|
||||
add_name_and_type(q_tree, tvb, offset, name_len, "Name", name,
|
||||
name_type);
|
||||
|
@ -1025,21 +1023,19 @@ dissect_query_records(tvbuff_t *tvb, int cur_off, int nbns_data_offset,
|
|||
int count, column_info *cinfo, proto_tree *nbns_tree)
|
||||
{
|
||||
int start_off, add_off;
|
||||
proto_tree *qatree = NULL;
|
||||
proto_item *ti = NULL;
|
||||
proto_tree *qatree;
|
||||
proto_item *ti;
|
||||
|
||||
start_off = cur_off;
|
||||
if (nbns_tree != NULL) {
|
||||
ti = proto_tree_add_text(nbns_tree, tvb, start_off, -1, "Queries");
|
||||
qatree = proto_item_add_subtree(ti, ett_nbns_qry);
|
||||
}
|
||||
qatree = proto_tree_add_subtree(nbns_tree, tvb, start_off, -1, ett_nbns_qry, &ti, "Queries");
|
||||
|
||||
while (count-- > 0) {
|
||||
add_off = dissect_nbns_query(tvb, cur_off, nbns_data_offset,
|
||||
cinfo, qatree);
|
||||
cur_off += add_off;
|
||||
}
|
||||
if (ti != NULL)
|
||||
proto_item_set_len(ti, cur_off - start_off);
|
||||
|
||||
proto_item_set_len(ti, cur_off - start_off);
|
||||
|
||||
return cur_off - start_off;
|
||||
}
|
||||
|
@ -1050,21 +1046,19 @@ dissect_answer_records(tvbuff_t *tvb, int cur_off, int nbns_data_offset,
|
|||
int opcode, const char *name)
|
||||
{
|
||||
int start_off, add_off;
|
||||
proto_tree *qatree = NULL;
|
||||
proto_item *ti = NULL;
|
||||
proto_tree *qatree;
|
||||
proto_item *ti;
|
||||
|
||||
start_off = cur_off;
|
||||
if (nbns_tree != NULL) {
|
||||
ti = proto_tree_add_text(nbns_tree, tvb, start_off, -1, "%s", name);
|
||||
qatree = proto_item_add_subtree(ti, ett_nbns_ans);
|
||||
}
|
||||
qatree = proto_tree_add_subtree(nbns_tree, tvb, start_off, -1, ett_nbns_ans, &ti, name);
|
||||
|
||||
while (count-- > 0) {
|
||||
add_off = dissect_nbns_answer(tvb, cur_off, nbns_data_offset,
|
||||
cinfo, qatree, opcode);
|
||||
cur_off += add_off;
|
||||
}
|
||||
if (ti != NULL)
|
||||
proto_item_set_len(ti, cur_off - start_off);
|
||||
|
||||
proto_item_set_len(ti, cur_off - start_off);
|
||||
return cur_off - start_off;
|
||||
}
|
||||
|
||||
|
|
|
@ -508,7 +508,7 @@ dissect_sss_request(tvbuff_t *tvb, packet_info *pinfo, proto_tree *ncp_tree, ncp
|
|||
|
||||
switch (subfunc) {
|
||||
case 1:
|
||||
aitem = proto_tree_add_text(ncp_tree, tvb, foffset, tvb_length_remaining(tvb, foffset), "Packet Type: %s", val_to_str(subfunc, sss_func_enum, "Unknown (%d)"));
|
||||
aitem = proto_tree_add_text(ncp_tree, tvb, foffset, -1, "Packet Type: %s", val_to_str(subfunc, sss_func_enum, "Unknown (%d)"));
|
||||
atree = proto_item_add_subtree(aitem, ett_sss);
|
||||
proto_tree_add_item(atree, hf_ping_version, tvb, foffset, 4, ENC_LITTLE_ENDIAN);
|
||||
foffset += 4;
|
||||
|
|
|
@ -41,14 +41,11 @@ static int hf_incarnation = -1;
|
|||
static void
|
||||
dissect_ncs(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
|
||||
{
|
||||
proto_tree *ncs_tree = NULL;
|
||||
proto_tree *ncs_tree;
|
||||
proto_item *ti;
|
||||
|
||||
if (tree) {
|
||||
ti = proto_tree_add_item(tree, proto_ncs, tvb, 0, -1, ENC_NA);
|
||||
ncs_tree = proto_item_add_subtree(ti, ett_ncs);
|
||||
}
|
||||
|
||||
ti = proto_tree_add_item(tree, proto_ncs, tvb, 0, -1, ENC_NA);
|
||||
ncs_tree = proto_item_add_subtree(ti, ett_ncs);
|
||||
|
||||
col_set_str(pinfo->cinfo, COL_PROTOCOL, "NCS");
|
||||
col_set_str(pinfo->cinfo, COL_INFO, "Novell Cluster Services Heartbeat");
|
||||
|
|
|
@ -1373,19 +1373,15 @@ static int
|
|||
dissect_execute_cdb_cdb(tvbuff_t *tvb, int offset, packet_info *pinfo,
|
||||
proto_tree *parent_tree, gint devtype)
|
||||
{
|
||||
proto_item* item = NULL;
|
||||
proto_tree* tree = NULL;
|
||||
proto_tree* tree;
|
||||
guint32 cdb_len;
|
||||
guint32 cdb_len_full;
|
||||
|
||||
cdb_len = tvb_get_ntohl(tvb, offset);
|
||||
cdb_len_full = rpc_roundup(cdb_len);
|
||||
|
||||
if (parent_tree) {
|
||||
item = proto_tree_add_text(parent_tree, tvb, offset,
|
||||
4+cdb_len_full, "CDB");
|
||||
tree = proto_item_add_subtree(item, ett_ndmp_execute_cdb_cdb);
|
||||
}
|
||||
tree = proto_tree_add_subtree(parent_tree, tvb, offset,
|
||||
4+cdb_len_full, ett_ndmp_execute_cdb_cdb, NULL, "CDB");
|
||||
|
||||
proto_tree_add_uint(tree, hf_ndmp_execute_cdb_cdb_len, tvb, offset, 4,
|
||||
cdb_len);
|
||||
|
@ -1431,20 +1427,15 @@ static int
|
|||
dissect_execute_cdb_payload(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree,
|
||||
const char *name, int hf_len, gboolean isreq)
|
||||
{
|
||||
proto_item* item = NULL;
|
||||
proto_tree* tree = NULL;
|
||||
proto_tree* tree;
|
||||
guint32 payload_len;
|
||||
guint32 payload_len_full;
|
||||
|
||||
payload_len = tvb_get_ntohl(tvb, offset);
|
||||
payload_len_full = rpc_roundup(payload_len);
|
||||
|
||||
if (parent_tree) {
|
||||
item = proto_tree_add_text(parent_tree, tvb, offset,
|
||||
4+payload_len_full, "%s", name);
|
||||
tree = proto_item_add_subtree(item,
|
||||
ett_ndmp_execute_cdb_payload);
|
||||
}
|
||||
tree = proto_tree_add_subtree(parent_tree, tvb, offset,
|
||||
4+payload_len_full, ett_ndmp_execute_cdb_payload, NULL, name);
|
||||
|
||||
proto_tree_add_uint(tree, hf_len, tvb, offset, 4, payload_len);
|
||||
offset += 4;
|
||||
|
@ -1538,19 +1529,15 @@ dissect_execute_cdb_request_tape(tvbuff_t *tvb, int offset, packet_info *pinfo,
|
|||
static int
|
||||
dissect_execute_cdb_sns(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree)
|
||||
{
|
||||
proto_item* item = NULL;
|
||||
proto_tree* tree = NULL;
|
||||
proto_tree* tree;
|
||||
guint32 sns_len;
|
||||
guint32 sns_len_full;
|
||||
|
||||
sns_len = tvb_get_ntohl(tvb, offset);
|
||||
sns_len_full = rpc_roundup(sns_len);
|
||||
|
||||
if (parent_tree) {
|
||||
item = proto_tree_add_text(parent_tree, tvb, offset,
|
||||
4+sns_len_full, "Sense data");
|
||||
tree = proto_item_add_subtree(item, ett_ndmp_execute_cdb_sns);
|
||||
}
|
||||
tree = proto_tree_add_subtree(parent_tree, tvb, offset,
|
||||
4+sns_len_full, ett_ndmp_execute_cdb_sns, NULL, "Sense data");
|
||||
|
||||
proto_tree_add_uint(tree, hf_ndmp_execute_cdb_sns_len, tvb, offset, 4,
|
||||
sns_len);
|
||||
|
@ -1910,16 +1897,12 @@ static int
|
|||
dissect_ndmp_addr(tvbuff_t *tvb, int offset, packet_info *pinfo _U_,
|
||||
proto_tree *parent_tree)
|
||||
{
|
||||
proto_item* item = NULL;
|
||||
proto_tree* tree = NULL;
|
||||
proto_tree* tree;
|
||||
guint32 type;
|
||||
|
||||
type=tvb_get_ntohl(tvb, offset);
|
||||
if (parent_tree) {
|
||||
item = proto_tree_add_text(parent_tree, tvb, offset, 4,
|
||||
tree = proto_tree_add_subtree_format(parent_tree, tvb, offset, 4, ett_ndmp_addr, NULL,
|
||||
"Type: %s ", val_to_str(type, addr_type_vals,"Unknown addr type (0x%02x)") );
|
||||
tree = proto_item_add_subtree(item, ett_ndmp_addr);
|
||||
}
|
||||
|
||||
/*address type*/
|
||||
proto_tree_add_item(tree, hf_ndmp_addr_type, tvb, offset, 4, ENC_BIG_ENDIAN);
|
||||
|
@ -2365,17 +2348,14 @@ static const value_string file_fs_type_vals[] = {
|
|||
static int
|
||||
dissect_file_name(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, void* data _U_)
|
||||
{
|
||||
proto_item* item = NULL;
|
||||
proto_tree* tree = NULL;
|
||||
proto_item* item;
|
||||
proto_tree* tree;
|
||||
int old_offset=offset;
|
||||
guint32 type;
|
||||
const char *name;
|
||||
|
||||
if (parent_tree) {
|
||||
item = proto_tree_add_text(parent_tree, tvb, offset, -1,
|
||||
"File");
|
||||
tree = proto_item_add_subtree(item, ett_ndmp_file_name);
|
||||
}
|
||||
tree = proto_tree_add_subtree(parent_tree, tvb, offset, -1,
|
||||
ett_ndmp_file_name, &item, "File");
|
||||
|
||||
/* file type */
|
||||
type=tvb_get_ntohl(tvb, offset);
|
||||
|
@ -2477,16 +2457,13 @@ static const value_string file_type_vals[] = {
|
|||
static int
|
||||
dissect_file_stats(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, void* data _U_)
|
||||
{
|
||||
proto_item* item = NULL;
|
||||
proto_tree* tree = NULL;
|
||||
proto_item* item;
|
||||
proto_tree* tree;
|
||||
int old_offset=offset;
|
||||
nstime_t ns;
|
||||
|
||||
if (parent_tree) {
|
||||
item = proto_tree_add_text(parent_tree, tvb, offset, -1,
|
||||
"Stats:");
|
||||
tree = proto_item_add_subtree(item, ett_ndmp_file_stats);
|
||||
}
|
||||
tree = proto_tree_add_subtree(parent_tree, tvb, offset, -1,
|
||||
ett_ndmp_file_stats, &item, "Stats:");
|
||||
|
||||
/* invalids */
|
||||
offset = dissect_file_invalids(tvb, offset, pinfo, tree);
|
||||
|
@ -2547,15 +2524,12 @@ dissect_file_stats(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *pa
|
|||
static int
|
||||
dissect_ndmp_file(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, void* data _U_)
|
||||
{
|
||||
proto_item* item = NULL;
|
||||
proto_tree* tree = NULL;
|
||||
proto_item* item;
|
||||
proto_tree* tree;
|
||||
int old_offset=offset;
|
||||
|
||||
if (parent_tree) {
|
||||
item = proto_tree_add_text(parent_tree, tvb, offset, -1,
|
||||
"File:");
|
||||
tree = proto_item_add_subtree(item, ett_ndmp_file);
|
||||
}
|
||||
tree = proto_tree_add_subtree(parent_tree, tvb, offset, -1,
|
||||
ett_ndmp_file, &item, "File:");
|
||||
|
||||
/* file names */
|
||||
offset = dissect_rpc_array(tvb, pinfo, tree, offset,
|
||||
|
@ -3036,7 +3010,6 @@ static int
|
|||
dissect_ndmp_cmd(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, struct ndmp_header *nh)
|
||||
{
|
||||
int i;
|
||||
proto_item *cmd_item=NULL;
|
||||
proto_tree *cmd_tree=NULL;
|
||||
|
||||
offset=dissect_ndmp_header(tvb, offset, pinfo, tree, nh);
|
||||
|
@ -3057,9 +3030,7 @@ dissect_ndmp_cmd(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree
|
|||
|
||||
if (tvb_reported_length_remaining(tvb, offset) > 0) {
|
||||
if(tree){
|
||||
cmd_item = proto_tree_add_text(tree, tvb, offset, -1, "%s",
|
||||
msg_vals[i].strptr);
|
||||
cmd_tree = proto_item_add_subtree(cmd_item, ett_ndmp);
|
||||
cmd_tree = proto_tree_add_subtree(tree, tvb, offset, -1, ett_ndmp, NULL, msg_vals[i].strptr);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -3092,8 +3063,7 @@ dissect_ndmp_message(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void*
|
|||
ndmp_frag_info* nfi;
|
||||
proto_item *ndmp_item = NULL;
|
||||
proto_tree *ndmp_tree = NULL;
|
||||
proto_item *hdr_item = NULL;
|
||||
proto_tree *hdr_tree = NULL;
|
||||
proto_tree *hdr_tree;
|
||||
wmem_map_t *frags;
|
||||
conversation_t *conversation;
|
||||
proto_item *vers_item;
|
||||
|
@ -3267,11 +3237,10 @@ dissect_ndmp_message(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void*
|
|||
ndmp_item = proto_tree_add_item(tree, proto_ndmp, tvb, 0, -1, ENC_NA);
|
||||
ndmp_tree = proto_item_add_subtree(ndmp_item, ett_ndmp);
|
||||
}
|
||||
hdr_item = proto_tree_add_text(ndmp_tree, tvb, 0, 4,
|
||||
"Fragment header: %s%u %s",
|
||||
hdr_tree = proto_tree_add_subtree_format(ndmp_tree, tvb, 0, 4,
|
||||
ett_ndmp_fraghdr, NULL, "Fragment header: %s%u %s",
|
||||
(ndmp_rm & RPC_RM_LASTFRAG) ? "Last fragment, " : "",
|
||||
ndmp_rm & RPC_RM_FRAGLEN, plurality(ndmp_rm & RPC_RM_FRAGLEN, "byte", "bytes"));
|
||||
hdr_tree = proto_item_add_subtree(hdr_item, ett_ndmp_fraghdr);
|
||||
proto_tree_add_boolean(hdr_tree, hf_ndmp_lastfrag, tvb, 0, 4, ndmp_rm);
|
||||
proto_tree_add_uint(hdr_tree, hf_ndmp_fraglen, tvb, 0, 4, ndmp_rm);
|
||||
|
||||
|
@ -3384,11 +3353,10 @@ dissect_ndmp_message(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void*
|
|||
}
|
||||
|
||||
/* Add the record marker information to the tree */
|
||||
hdr_item = proto_tree_add_text(ndmp_tree, tvb, 0, 4,
|
||||
"Fragment header: %s%u %s",
|
||||
hdr_tree = proto_tree_add_subtree_format(ndmp_tree, tvb, 0, 4,
|
||||
ett_ndmp_fraghdr, NULL, "Fragment header: %s%u %s",
|
||||
(ndmp_rm & RPC_RM_LASTFRAG) ? "Last fragment, " : "",
|
||||
ndmp_rm & RPC_RM_FRAGLEN, plurality(ndmp_rm & RPC_RM_FRAGLEN, "byte", "bytes"));
|
||||
hdr_tree = proto_item_add_subtree(hdr_item, ett_ndmp_fraghdr);
|
||||
proto_tree_add_boolean(hdr_tree, hf_ndmp_lastfrag, tvb, 0, 4, ndmp_rm);
|
||||
proto_tree_add_uint(hdr_tree, hf_ndmp_fraglen, tvb, 0, 4, ndmp_rm);
|
||||
|
||||
|
|
|
@ -148,9 +148,7 @@ dissect_negoex_verify_message(tvbuff_t *tvb,
|
|||
guint32 offset;
|
||||
guint32 checksum_vector_offset;
|
||||
guint32 checksum_vector_count;
|
||||
proto_item *pi;
|
||||
proto_tree *checksum;
|
||||
proto_item *pi_chk;
|
||||
proto_tree *checksum_vector;
|
||||
|
||||
offset = start_off;
|
||||
|
@ -160,8 +158,7 @@ dissect_negoex_verify_message(tvbuff_t *tvb,
|
|||
offset += 16;
|
||||
|
||||
/* Checksum */
|
||||
pi = proto_tree_add_text(tree, tvb, offset, 20, "Checksum");
|
||||
checksum = proto_item_add_subtree(pi, ett_negoex_checksum);
|
||||
checksum = proto_tree_add_subtree(tree, tvb, offset, 20, ett_negoex_checksum, NULL, "Checksum");
|
||||
|
||||
/* cbHeaderLength */
|
||||
proto_tree_add_item(checksum, hf_negoex_header_len, tvb, offset, 4, ENC_LITTLE_ENDIAN);
|
||||
|
@ -179,11 +176,10 @@ dissect_negoex_verify_message(tvbuff_t *tvb,
|
|||
checksum_vector_offset = tvb_get_letohl(tvb, offset);
|
||||
checksum_vector_count = tvb_get_letohs(tvb, offset + 4);
|
||||
|
||||
pi_chk = proto_tree_add_text(checksum, tvb, offset, 8,
|
||||
"Checksum Vector: %u at %u",
|
||||
checksum_vector = proto_tree_add_subtree_format(checksum, tvb, offset, 8,
|
||||
ett_negoex_checksum_vector, NULL, "Checksum Vector: %u at %u",
|
||||
checksum_vector_count,
|
||||
checksum_vector_offset);
|
||||
checksum_vector = proto_item_add_subtree(pi_chk, ett_negoex_checksum_vector);
|
||||
|
||||
proto_tree_add_item(checksum_vector, hf_negoex_checksum_vector_offset, tvb,
|
||||
offset, 4, ENC_LITTLE_ENDIAN);
|
||||
|
@ -211,7 +207,6 @@ dissect_negoex_exchange_message(tvbuff_t *tvb,
|
|||
guint32 offset;
|
||||
guint32 exchange_vector_offset;
|
||||
guint32 exchange_vector_count;
|
||||
proto_item *pi;
|
||||
proto_tree *exchange_vector;
|
||||
|
||||
offset = start_off;
|
||||
|
@ -224,9 +219,9 @@ dissect_negoex_exchange_message(tvbuff_t *tvb,
|
|||
exchange_vector_offset = tvb_get_letohl(tvb, offset);
|
||||
exchange_vector_count = tvb_get_letohs(tvb, offset + 4);
|
||||
|
||||
pi = proto_tree_add_text(tree, tvb, offset, 8, "Exchange: %u bytes at %u",
|
||||
exchange_vector = proto_tree_add_subtree_format(tree, tvb, offset, 8,
|
||||
ett_negoex_exchange, NULL, "Exchange: %u bytes at %u",
|
||||
exchange_vector_count, exchange_vector_offset);
|
||||
exchange_vector = proto_item_add_subtree(pi, ett_negoex_exchange);
|
||||
|
||||
proto_tree_add_item(exchange_vector, hf_negoex_exchange_vector_offset, tvb,
|
||||
offset, 4, ENC_LITTLE_ENDIAN);
|
||||
|
@ -263,7 +258,6 @@ dissect_negoex_nego_message(tvbuff_t *tvb,
|
|||
guint16 authscheme_vector_count;
|
||||
guint32 extension_vector_offset;
|
||||
guint32 extension_vector_count;
|
||||
proto_item *pi, *ext_pi;
|
||||
proto_tree *authscheme_vector;
|
||||
proto_tree *extension_vector;
|
||||
guint32 i;
|
||||
|
@ -283,9 +277,9 @@ dissect_negoex_nego_message(tvbuff_t *tvb,
|
|||
authscheme_vector_offset = tvb_get_letohl(tvb, offset);
|
||||
authscheme_vector_count = tvb_get_letohs(tvb, offset + 4);
|
||||
|
||||
pi = proto_tree_add_text(tree, tvb, offset, 8, "AuthSchemes: %u at %u",
|
||||
authscheme_vector = proto_tree_add_subtree_format(tree, tvb, offset, 8,
|
||||
ett_negoex_authscheme_vector, NULL, "AuthSchemes: %u at %u",
|
||||
authscheme_vector_count, authscheme_vector_offset);
|
||||
authscheme_vector = proto_item_add_subtree(pi, ett_negoex_authscheme_vector);
|
||||
proto_tree_add_item(authscheme_vector, hf_negoex_authscheme_vector_offset,
|
||||
tvb, offset, 4, ENC_LITTLE_ENDIAN);
|
||||
offset += 4;
|
||||
|
@ -307,9 +301,9 @@ dissect_negoex_nego_message(tvbuff_t *tvb,
|
|||
extension_vector_offset = tvb_get_letohl(tvb, offset);
|
||||
extension_vector_count = tvb_get_letohs(tvb, offset + 4);
|
||||
|
||||
ext_pi = proto_tree_add_text(tree, tvb, offset, 8, "Extensions: %u at %u",
|
||||
extension_vector = proto_tree_add_subtree_format(tree, tvb, offset, 8,
|
||||
ett_negoex_extension_vector, NULL, "Extensions: %u at %u",
|
||||
extension_vector_count, extension_vector_count);
|
||||
extension_vector = proto_item_add_subtree(ext_pi, ett_negoex_extension_vector);
|
||||
|
||||
proto_tree_add_item(extension_vector, hf_negoex_extension_vector_offset,
|
||||
tvb, offset, 4, ENC_LITTLE_ENDIAN);
|
||||
|
@ -325,7 +319,6 @@ dissect_negoex_nego_message(tvbuff_t *tvb,
|
|||
|
||||
for (i = 0; i < extension_vector_count; i++) {
|
||||
guint32 byte_vector_offset, byte_vector_count;
|
||||
proto_item *bv_pi;
|
||||
proto_tree *bv_tree;
|
||||
|
||||
/*
|
||||
|
@ -335,11 +328,10 @@ dissect_negoex_nego_message(tvbuff_t *tvb,
|
|||
byte_vector_offset = tvb_get_letohl(tvb, offset);
|
||||
byte_vector_count = tvb_get_letohs(tvb, offset + 4);
|
||||
|
||||
bv_pi = proto_tree_add_text(extension_vector, tvb,
|
||||
bv_tree = proto_tree_add_subtree_format(extension_vector, tvb,
|
||||
extension_vector_offset + i * 8, 8,
|
||||
"Extension: %u bytes at %u",
|
||||
ett_negoex_byte_vector, NULL, "Extension: %u bytes at %u",
|
||||
byte_vector_count, byte_vector_offset);
|
||||
bv_tree = proto_item_add_subtree(bv_pi, ett_negoex_byte_vector);
|
||||
|
||||
proto_tree_add_item(bv_tree, hf_negoex_extension, tvb,
|
||||
byte_vector_offset, byte_vector_count, ENC_NA);
|
||||
|
@ -383,7 +375,6 @@ dissect_negoex(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
|
|||
proto_tree *negoex_msg_tree;
|
||||
proto_tree *negoex_hdr_tree;
|
||||
proto_item *msg;
|
||||
proto_item *hdr;
|
||||
tvbuff_t *msg_tvb;
|
||||
guint32 start_offset;
|
||||
|
||||
|
@ -394,18 +385,14 @@ dissect_negoex(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
|
|||
message_type = tvb_get_letohl(tvb, offset + 8);
|
||||
|
||||
/* Add the message type tree ... set its length below */
|
||||
msg = proto_tree_add_text(negoex_tree, tvb, offset, -1,
|
||||
"NEGOEX %s",
|
||||
negoex_msg_tree = proto_tree_add_subtree_format(negoex_tree, tvb, offset, -1,
|
||||
ett_negoex_msg, &msg, "NEGOEX %s",
|
||||
val_to_str_const(message_type,
|
||||
negoex_message_types,
|
||||
"Unknown NEGOEX message type"));
|
||||
|
||||
/* Add a subtree for the message */
|
||||
negoex_msg_tree = proto_item_add_subtree(msg, ett_negoex_msg);
|
||||
|
||||
/* Add a subtree for the header */
|
||||
hdr = proto_tree_add_text(negoex_msg_tree, tvb, offset, 40, "Header");
|
||||
negoex_hdr_tree = proto_item_add_subtree(hdr, ett_negoex_hdr);
|
||||
negoex_hdr_tree = proto_tree_add_subtree(negoex_msg_tree, tvb, offset, 40, ett_negoex_hdr, NULL, "Header");
|
||||
|
||||
/* Signature, NEGOEXTS */
|
||||
proto_tree_add_item(negoex_hdr_tree, hf_negoex_sig,
|
||||
|
|
|
@ -340,8 +340,8 @@ dissect_netanalyzer_transparent(tvbuff_t *tvb, packet_info *pinfo, proto_tree *t
|
|||
* as normally the transparent mode is used for low level analysis
|
||||
* where dissecting the frame's content wouldn't make much sense
|
||||
* use data dissector instead */
|
||||
ti = proto_tree_add_text(tree, tvb, 4, tvb_length(tvb)-4, "Raw packet data");
|
||||
transparent_payload_tree = proto_item_add_subtree(ti, ett_netanalyzer_transparent);
|
||||
transparent_payload_tree = proto_tree_add_subtree(tree, tvb, 4, tvb_length(tvb)-4,
|
||||
ett_netanalyzer_transparent, NULL, "Raw packet data");
|
||||
next_tvb = tvb_new_subset_remaining(tvb, 4);
|
||||
call_dissector(data_dissector_handle, next_tvb, pinfo, transparent_payload_tree);
|
||||
|
||||
|
|
|
@ -354,7 +354,6 @@ netbios_add_name(const char* label, tvbuff_t *tvb, int offset, proto_tree *tree)
|
|||
{/* add a name field display tree. Display the name and station type in sub-tree */
|
||||
|
||||
proto_tree *field_tree;
|
||||
proto_item *tf;
|
||||
char name_str[(NETBIOS_NAME_LEN - 1)*4 + 1];
|
||||
int name_type;
|
||||
const char *name_type_str;
|
||||
|
@ -362,10 +361,9 @@ netbios_add_name(const char* label, tvbuff_t *tvb, int offset, proto_tree *tree)
|
|||
/* decode the name field */
|
||||
name_type = get_netbios_name( tvb, offset, name_str, (NETBIOS_NAME_LEN - 1)*4 + 1);
|
||||
name_type_str = netbios_name_type_descr(name_type);
|
||||
tf = proto_tree_add_text( tree, tvb, offset, NETBIOS_NAME_LEN,
|
||||
"%s: %s<%02x> (%s)", label, name_str, name_type, name_type_str);
|
||||
field_tree = proto_tree_add_subtree_format( tree, tvb, offset, NETBIOS_NAME_LEN,
|
||||
ett_netb_name, NULL, "%s: %s<%02x> (%s)", label, name_str, name_type, name_type_str);
|
||||
|
||||
field_tree = proto_item_add_subtree( tf, ett_netb_name);
|
||||
proto_tree_add_string_format( field_tree, hf_netb_nb_name, tvb, offset,
|
||||
15, name_str, "%s", name_str);
|
||||
proto_tree_add_uint_format( field_tree, hf_netb_nb_name_type, tvb, offset + 15, 1, name_type,
|
||||
|
|
|
@ -2240,7 +2240,6 @@ dissect_v9_v10_data(tvbuff_t *tvb, packet_info *pinfo, proto_tree *pdutree, int
|
|||
v9_v10_tmplt_t *tmplt_p;
|
||||
v9_v10_tmplt_t tmplt_key;
|
||||
proto_tree *data_tree;
|
||||
proto_item *data_item;
|
||||
guint pdu_len;
|
||||
|
||||
if (length == 0) {
|
||||
|
@ -2254,9 +2253,8 @@ dissect_v9_v10_data(tvbuff_t *tvb, packet_info *pinfo, proto_tree *pdutree, int
|
|||
/* Note: If the flow contains variable length fields then */
|
||||
/* tmplt_p->length will be less then actual length of the flow. */
|
||||
while (length >= tmplt_p->length) {
|
||||
data_item = proto_tree_add_text(pdutree, tvb,
|
||||
offset, tmplt_p->length, "Flow %d", count++);
|
||||
data_tree = proto_item_add_subtree(data_item, ett_dataflowset);
|
||||
data_tree = proto_tree_add_subtree_format(pdutree, tvb, offset, tmplt_p->length,
|
||||
ett_dataflowset, NULL, "Flow %d", count++);
|
||||
|
||||
pdu_len = dissect_v9_v10_pdu(tvb, pinfo, data_tree, offset, tmplt_p, hdrinfo_p);
|
||||
|
||||
|
@ -3175,8 +3173,7 @@ dissect_v9_v10_pdu_data(tvbuff_t *tvb, packet_info *pinfo, proto_tree *pdutree,
|
|||
const value_string *x_vs;
|
||||
int x_hf;
|
||||
|
||||
ti = proto_tree_add_text(pdutree, tvb, offset, length, "Forwarding Status");
|
||||
fwdstattree = proto_item_add_subtree(ti, ett_fwdstat);
|
||||
fwdstattree = proto_tree_add_subtree(pdutree, tvb, offset, length, ett_fwdstat, NULL, "Forwarding Status");
|
||||
|
||||
forwarding_status = tvb_get_guint8(tvb, offset)>>6;
|
||||
switch(forwarding_status) {
|
||||
|
@ -5250,8 +5247,7 @@ dissect_v9_v10_template_fields(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree
|
|||
}
|
||||
}
|
||||
|
||||
field_item = proto_tree_add_text(tmplt_tree, tvb, offset, 4+((pen_str!=NULL)?4:0), "Field (%u/%u)", i+1, count);
|
||||
field_tree = proto_item_add_subtree(field_item, ett_field);
|
||||
field_tree = proto_tree_add_subtree_format(tmplt_tree, tvb, offset, 4+((pen_str!=NULL)?4:0), ett_field, &field_item, "Field (%u/%u)", i+1, count);
|
||||
if (fields_type == TF_SCOPES) {
|
||||
proto_item_append_text(field_item, " [Scope]");
|
||||
}
|
||||
|
@ -5333,8 +5329,7 @@ dissect_v9_v10_options_template(tvbuff_t *tvb, packet_info *pinfo, proto_tree *p
|
|||
|
||||
id = tvb_get_ntohs(tvb, offset);
|
||||
|
||||
tmplt_item = proto_tree_add_text(pdutree, tvb, offset, -1, "Options Template (Id = %u)", id);
|
||||
tmplt_tree = proto_item_add_subtree(tmplt_item, ett_template);
|
||||
tmplt_tree = proto_tree_add_subtree_format(pdutree, tvb, offset, -1, ett_template, &tmplt_item, "Options Template (Id = %u)", id);
|
||||
|
||||
proto_tree_add_item(tmplt_tree, hf_cflow_template_id, tvb, offset, 2, ENC_BIG_ENDIAN);
|
||||
offset += 2;
|
||||
|
@ -5471,7 +5466,6 @@ dissect_v9_v10_data_template(tvbuff_t *tvb, packet_info *pinfo, proto_tree *pdut
|
|||
v9_v10_tmplt_t *tmplt_p;
|
||||
v9_v10_tmplt_t tmplt;
|
||||
proto_tree *tmplt_tree;
|
||||
proto_item *tmplt_item;
|
||||
proto_item *ti;
|
||||
guint16 id;
|
||||
guint16 count;
|
||||
|
@ -5481,10 +5475,9 @@ dissect_v9_v10_data_template(tvbuff_t *tvb, packet_info *pinfo, proto_tree *pdut
|
|||
id = tvb_get_ntohs(tvb, offset);
|
||||
count = tvb_get_ntohs(tvb, offset + 2);
|
||||
|
||||
tmplt_item = proto_tree_add_text(pdutree, tvb, offset,
|
||||
tmplt_tree = proto_tree_add_subtree_format(pdutree, tvb, offset,
|
||||
4 + 4 * count /* hdrsiz + count*2*(sizeof guint16)*/,
|
||||
"Template (Id = %u, Count = %u)", id, count);
|
||||
tmplt_tree = proto_item_add_subtree(tmplt_item, ett_template);
|
||||
ett_template, NULL, "Template (Id = %u, Count = %u)", id, count);
|
||||
|
||||
proto_tree_add_item(tmplt_tree, hf_cflow_template_id, tvb,
|
||||
offset, 2, ENC_BIG_ENDIAN);
|
||||
|
|
|
@ -140,8 +140,7 @@ dissect_netlink_attributes(tvbuff_t *tvb, header_field_info *hfi_type, int ett,
|
|||
|
||||
end_offset = (offset + rta_len + 3) & ~3;
|
||||
|
||||
ti = proto_tree_add_text(tree, tvb, offset, end_offset - offset, "Attribute");
|
||||
attr_tree = proto_item_add_subtree(ti, ett);
|
||||
attr_tree = proto_tree_add_subtree(tree, tvb, offset, end_offset - offset, ett, &ti, "Attribute");
|
||||
|
||||
proto_tree_add_text(attr_tree, tvb, offset, 2, "Len: %d", rta_len);
|
||||
offset += 2;
|
||||
|
@ -225,11 +224,9 @@ dissect_netlink(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *_data
|
|||
|
||||
pkt_end_offset = offset + pkt_len;
|
||||
|
||||
ti = proto_tree_add_text(tree, tvb, offset, pkt_len, "Netlink message");
|
||||
fh_msg = proto_item_add_subtree(ti, ett_netlink_msg);
|
||||
fh_msg = proto_tree_add_subtree(tree, tvb, offset, pkt_len, ett_netlink_msg, NULL, "Netlink message");
|
||||
|
||||
ti = proto_tree_add_text(fh_msg, tvb, offset, 16, "Header");
|
||||
fh_hdr = proto_item_add_subtree(ti, ett_netlink_msghdr);
|
||||
fh_hdr = proto_tree_add_subtree(fh_msg, tvb, offset, 16, ett_netlink_msghdr, NULL, "Header");
|
||||
|
||||
proto_tree_add_item(fh_hdr, &hfi_netlink_hdr_len, tvb, offset, 4, encoding);
|
||||
offset += 4;
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -164,20 +164,15 @@ dissect_nfsacl_secattr(tvbuff_t *tvb, int offset, packet_info *pinfo _U_,
|
|||
{
|
||||
guint32 aclcnt, dfaclcnt;
|
||||
guint32 i;
|
||||
proto_item *entry_item = NULL;
|
||||
proto_tree *entry_tree = NULL;
|
||||
proto_tree *entry_tree;
|
||||
|
||||
offset = dissect_nfsacl_mask(tvb, offset, tree);
|
||||
offset = dissect_rpc_uint32(tvb, tree, hf_nfsacl_aclcnt, offset);
|
||||
|
||||
aclcnt = tvb_get_ntohl(tvb, offset);
|
||||
|
||||
entry_item = proto_tree_add_text(tree, tvb, offset, 4,
|
||||
"Total ACL entries: %d", aclcnt);
|
||||
|
||||
if (entry_item)
|
||||
entry_tree = proto_item_add_subtree(entry_item,
|
||||
ett_nfsacl_aclent_entries);
|
||||
entry_tree = proto_tree_add_subtree_format(tree, tvb, offset, 4,
|
||||
ett_nfsacl_aclent_entries, NULL, "Total ACL entries: %d", aclcnt);
|
||||
|
||||
offset += 4;
|
||||
|
||||
|
@ -193,12 +188,8 @@ dissect_nfsacl_secattr(tvbuff_t *tvb, int offset, packet_info *pinfo _U_,
|
|||
|
||||
dfaclcnt = tvb_get_ntohl(tvb, offset);
|
||||
|
||||
entry_item = proto_tree_add_text(tree, tvb, offset, 4,
|
||||
"Total default ACL entries: %d", dfaclcnt);
|
||||
|
||||
if (entry_item)
|
||||
entry_tree = proto_item_add_subtree(entry_item,
|
||||
ett_nfsacl_aclent_entries);
|
||||
entry_tree = proto_tree_add_subtree_format(tree, tvb, offset, 4,
|
||||
ett_nfsacl_aclent_entries, NULL, "Total default ACL entries: %d", dfaclcnt);
|
||||
|
||||
offset += 4;
|
||||
|
||||
|
@ -411,33 +402,26 @@ dissect_nfsacl3_getacl_reply(tvbuff_t *tvb, int offset, packet_info *pinfo _U_,
|
|||
proto_tree *tree, void* data _U_)
|
||||
{
|
||||
guint32 status;
|
||||
proto_item *entry_item = NULL;
|
||||
proto_tree *entry_tree = NULL;
|
||||
proto_item *entry_item;
|
||||
proto_tree *entry_tree;
|
||||
|
||||
status = tvb_get_ntohl(tvb, offset + 0);
|
||||
|
||||
if (tree)
|
||||
proto_tree_add_uint(tree, hf_nfs_status, tvb, offset + 0, 4,
|
||||
proto_tree_add_uint(tree, hf_nfs_status, tvb, offset + 0, 4,
|
||||
status);
|
||||
|
||||
offset += 4;
|
||||
|
||||
if (tree)
|
||||
{
|
||||
entry_item = proto_tree_add_item(tree, hf_nfsacl_entry, tvb,
|
||||
entry_item = proto_tree_add_item(tree, hf_nfsacl_entry, tvb,
|
||||
offset + 0, -1, ENC_NA);
|
||||
if (entry_item)
|
||||
entry_tree = proto_item_add_subtree(entry_item, ett_nfsacl_entry);
|
||||
}
|
||||
entry_tree = proto_item_add_subtree(entry_item, ett_nfsacl_entry);
|
||||
|
||||
if (entry_tree)
|
||||
offset = dissect_nfs3_post_op_attr(tvb, offset, pinfo, entry_tree, "attr");
|
||||
offset = dissect_nfs3_post_op_attr(tvb, offset, pinfo, entry_tree, "attr");
|
||||
|
||||
if (status != ACL3_OK)
|
||||
return offset;
|
||||
|
||||
if (entry_tree)
|
||||
offset = dissect_nfsacl_secattr(tvb, offset, pinfo, entry_tree);
|
||||
offset = dissect_nfsacl_secattr(tvb, offset, pinfo, entry_tree);
|
||||
|
||||
return offset;
|
||||
}
|
||||
|
@ -447,22 +431,16 @@ dissect_nfsacl3_setacl_call(tvbuff_t *tvb, int offset, packet_info *pinfo _U_,
|
|||
proto_tree *tree, void* data)
|
||||
|
||||
{
|
||||
proto_item *acl_item = NULL;
|
||||
proto_tree *acl_tree = NULL;
|
||||
proto_item *acl_item;
|
||||
proto_tree *acl_tree;
|
||||
|
||||
offset = dissect_nfs3_fh(tvb, offset, pinfo, tree, "fhandle", NULL, (rpc_call_info_value*)data);
|
||||
|
||||
if (tree)
|
||||
{
|
||||
acl_item = proto_tree_add_item(tree, hf_nfsacl_entry, tvb, offset + 0,
|
||||
acl_item = proto_tree_add_item(tree, hf_nfsacl_entry, tvb, offset + 0,
|
||||
-1, ENC_NA);
|
||||
acl_tree = proto_item_add_subtree(acl_item, ett_nfsacl_entry);
|
||||
|
||||
if (acl_item)
|
||||
acl_tree = proto_item_add_subtree(acl_item, ett_nfsacl_entry);
|
||||
}
|
||||
|
||||
if (acl_tree)
|
||||
offset = dissect_nfsacl_secattr(tvb, offset, pinfo, acl_tree);
|
||||
offset = dissect_nfsacl_secattr(tvb, offset, pinfo, acl_tree);
|
||||
|
||||
return offset;
|
||||
}
|
||||
|
|
|
@ -298,7 +298,6 @@ static void dissect_nhrp_hdr(tvbuff_t *tvb,
|
|||
guint total_len = tvb_reported_length(tvb);
|
||||
guint16 ipcsum, rx_chksum;
|
||||
|
||||
proto_item *nhrp_tree_item;
|
||||
proto_tree *nhrp_tree;
|
||||
proto_item *shtl_tree_item;
|
||||
proto_tree *shtl_tree;
|
||||
|
@ -306,8 +305,7 @@ static void dissect_nhrp_hdr(tvbuff_t *tvb,
|
|||
proto_tree *sstl_tree;
|
||||
proto_item *ti;
|
||||
|
||||
nhrp_tree_item = proto_tree_add_text(tree, tvb, offset, 20, "NHRP Fixed Header");
|
||||
nhrp_tree = proto_item_add_subtree(nhrp_tree_item, ett_nhrp_hdr);
|
||||
nhrp_tree = proto_tree_add_subtree(tree, tvb, offset, 20, ett_nhrp_hdr, NULL, "NHRP Fixed Header");
|
||||
|
||||
hdr->ar_pktsz = tvb_get_ntohs(tvb, 10);
|
||||
if (total_len > hdr->ar_pktsz) {
|
||||
|
@ -472,8 +470,7 @@ static void dissect_cie_list(tvbuff_t *tvb,
|
|||
guint cli_saddr_len = tvb_get_guint8(tvb, offset + 9);
|
||||
guint cli_prot_len = tvb_get_guint8(tvb, offset + 10);
|
||||
guint cie_len = 12 + cli_addr_len + cli_saddr_len + cli_prot_len;
|
||||
proto_item *cie_tree_item = proto_tree_add_text(tree, tvb, offset, cie_len, "Client Information Entry");
|
||||
proto_tree *cie_tree = proto_item_add_subtree(cie_tree_item, ett_nhrp_cie);
|
||||
proto_tree *cie_tree = proto_tree_add_subtree(tree, tvb, offset, cie_len, ett_nhrp_cie, NULL, "Client Information Entry");
|
||||
|
||||
if (isReq) {
|
||||
proto_tree_add_item(cie_tree, hf_nhrp_code, tvb, offset, 1, ENC_BIG_ENDIAN);
|
||||
|
@ -587,7 +584,6 @@ static void dissect_nhrp_mand(tvbuff_t *tvb,
|
|||
gboolean isErr = FALSE;
|
||||
gboolean isInd = FALSE;
|
||||
|
||||
proto_item *nhrp_tree_item;
|
||||
proto_tree *nhrp_tree;
|
||||
|
||||
tvb_ensure_bytes_exist(tvb, offset, mandLen);
|
||||
|
@ -611,8 +607,7 @@ static void dissect_nhrp_mand(tvbuff_t *tvb,
|
|||
isInd = TRUE;
|
||||
break;
|
||||
}
|
||||
nhrp_tree_item = proto_tree_add_text(tree, tvb, offset, mandLen, "NHRP Mandatory Part");
|
||||
nhrp_tree = proto_item_add_subtree(nhrp_tree_item, ett_nhrp_mand);
|
||||
nhrp_tree = proto_tree_add_subtree(tree, tvb, offset, mandLen, ett_nhrp_mand, NULL, "NHRP Mandatory Part");
|
||||
|
||||
*srcLen = tvb_get_guint8(tvb, offset);
|
||||
proto_tree_add_item(nhrp_tree, hf_nhrp_src_proto_len, tvb, offset, 1, ENC_BIG_ENDIAN);
|
||||
|
@ -728,8 +723,7 @@ static void dissect_nhrp_mand(tvbuff_t *tvb,
|
|||
if (isInd) {
|
||||
gboolean save_in_error_pkt;
|
||||
gint pkt_len = mandEnd - offset;
|
||||
proto_item *ind_tree_item = proto_tree_add_text(tree, tvb, offset, pkt_len, "Packet Causing Indication");
|
||||
proto_tree *ind_tree = proto_item_add_subtree(ind_tree_item, ett_nhrp_indication);
|
||||
proto_tree *ind_tree = proto_tree_add_subtree(tree, tvb, offset, pkt_len, ett_nhrp_indication, NULL, "Packet Causing Indication");
|
||||
gboolean dissected;
|
||||
tvbuff_t *sub_tvb;
|
||||
|
||||
|
@ -837,7 +831,6 @@ static void dissect_nhrp_ext(tvbuff_t *tvb,
|
|||
|
||||
while ((offset + 4) <= extEnd)
|
||||
{
|
||||
proto_item *nhrp_tree_item;
|
||||
proto_tree *nhrp_tree;
|
||||
gint extTypeC = tvb_get_ntohs(tvb, offset);
|
||||
gint extType = extTypeC & 0x3FFF;
|
||||
|
@ -846,15 +839,14 @@ static void dissect_nhrp_ext(tvbuff_t *tvb,
|
|||
if ((extType == NHRP_EXT_NAT_ADDRESS) && (len == 8)) {
|
||||
/* Assume it's not really a Cisco NAT extension, but a device
|
||||
* capabilities extension instead (see RFC 2735). */
|
||||
nhrp_tree_item = proto_tree_add_text(tree, tvb, offset,
|
||||
len + 4, "Device Capabilities Extension");
|
||||
nhrp_tree = proto_tree_add_subtree(tree, tvb, offset,
|
||||
len + 4, ett_nhrp_ext, NULL, "Device Capabilities Extension");
|
||||
}
|
||||
else {
|
||||
nhrp_tree_item = proto_tree_add_text(tree, tvb, offset,
|
||||
len + 4, "%s",
|
||||
nhrp_tree = proto_tree_add_subtree(tree, tvb, offset,
|
||||
len + 4, ett_nhrp_ext, NULL,
|
||||
val_to_str(extType, ext_type_vals, "Unknown (%u)"));
|
||||
}
|
||||
nhrp_tree = proto_item_add_subtree(nhrp_tree_item, ett_nhrp_ext);
|
||||
proto_tree_add_boolean(nhrp_tree, hf_nhrp_ext_C, tvb, offset, 2, extTypeC);
|
||||
proto_tree_add_item(nhrp_tree, hf_nhrp_ext_type, tvb, offset, 2, ENC_BIG_ENDIAN);
|
||||
offset += 2;
|
||||
|
@ -867,16 +859,14 @@ static void dissect_nhrp_ext(tvbuff_t *tvb,
|
|||
if ((extType == NHRP_EXT_NAT_ADDRESS) && (len == 8)) {
|
||||
/* Assume it's not really a Cisco NAT extension, but a device
|
||||
* capabilities extension instead (see RFC 2735). */
|
||||
proto_item *devcap_item;
|
||||
proto_tree *devcap_tree;
|
||||
proto_item *cap_item;
|
||||
proto_tree *cap_tree;
|
||||
|
||||
devcap_item = proto_tree_add_text(nhrp_tree, tvb, offset, len,
|
||||
"Extension Data: Src is %sVPN-aware; Dst is %sVPN-aware",
|
||||
devcap_tree = proto_tree_add_subtree_format(nhrp_tree, tvb, offset, len,
|
||||
ett_nhrp_devcap_ext, NULL, "Extension Data: Src is %sVPN-aware; Dst is %sVPN-aware",
|
||||
tvb_get_ntohl(tvb, offset) & 1 ? "" : "non-",
|
||||
tvb_get_ntohl(tvb, offset + 4) & 1 ? "" : "non-");
|
||||
devcap_tree = proto_item_add_subtree(devcap_item, ett_nhrp_devcap_ext);
|
||||
cap_item = proto_tree_add_item(devcap_tree, hf_nhrp_devcap_ext_srccap, tvb, offset, 4, ENC_BIG_ENDIAN);
|
||||
cap_tree = proto_item_add_subtree(cap_item, ett_nhrp_devcap_ext_srccap);
|
||||
proto_tree_add_item(cap_tree, hf_nhrp_devcap_ext_srccap_V, tvb, offset, 4, ENC_BIG_ENDIAN);
|
||||
|
@ -905,13 +895,11 @@ static void dissect_nhrp_ext(tvbuff_t *tvb,
|
|||
expert_add_info_format(pinfo, ti, &ei_nhrp_ext_malformed, "Incomplete Authentication Extension");
|
||||
}
|
||||
else {
|
||||
proto_item *auth_item;
|
||||
proto_tree *auth_tree;
|
||||
|
||||
auth_item = proto_tree_add_text(nhrp_tree, tvb, offset, len,
|
||||
"Extension Data: SPI=%u: Data=%s", tvb_get_ntohs(tvb, offset + 2),
|
||||
auth_tree = proto_tree_add_subtree_format(nhrp_tree, tvb, offset, len,
|
||||
ett_nhrp_auth_ext, NULL, "Extension Data: SPI=%u: Data=%s", tvb_get_ntohs(tvb, offset + 2),
|
||||
tvb_bytes_to_ep_str(tvb, offset + 4, len - 4));
|
||||
auth_tree = proto_item_add_subtree(auth_item, ett_nhrp_auth_ext);
|
||||
proto_tree_add_item(auth_tree, hf_nhrp_auth_ext_reserved, tvb, offset, 2, ENC_BIG_ENDIAN);
|
||||
proto_tree_add_item(auth_tree, hf_nhrp_auth_ext_spi, tvb, offset + 2, 2, ENC_BIG_ENDIAN);
|
||||
if (srcLen == 4)
|
||||
|
@ -936,15 +924,13 @@ static void dissect_nhrp_ext(tvbuff_t *tvb,
|
|||
expert_add_info_format(pinfo, ti, &ei_nhrp_ext_malformed, "Incomplete Vendor-Private Extension");
|
||||
}
|
||||
else {
|
||||
proto_item *vendor_item;
|
||||
proto_tree *vendor_tree;
|
||||
gchar manuf[3];
|
||||
|
||||
tvb_memcpy(tvb, manuf, offset, 3);
|
||||
vendor_item = proto_tree_add_text(nhrp_tree, tvb, offset, len,
|
||||
"Extension Data: Vendor ID=%s, Data=%s", get_manuf_name(manuf),
|
||||
vendor_tree = proto_tree_add_subtree_format(nhrp_tree, tvb, offset, len,
|
||||
ett_nhrp_vendor_ext, NULL, "Extension Data: Vendor ID=%s, Data=%s", get_manuf_name(manuf),
|
||||
tvb_bytes_to_ep_str(tvb, offset + 3, len - 3));
|
||||
vendor_tree = proto_item_add_subtree(vendor_item, ett_nhrp_vendor_ext);
|
||||
proto_tree_add_bytes_format_value(vendor_tree, hf_nhrp_vendor_ext_id, tvb,
|
||||
offset, 3, manuf, "%s", get_manuf_name(manuf));
|
||||
if (len > 3) {
|
||||
|
|
|
@ -191,7 +191,6 @@ nlsp_dissect_clvs(tvbuff_t *tvb, proto_tree *tree, int offset,
|
|||
guint8 code;
|
||||
guint8 length;
|
||||
int q;
|
||||
proto_item *ti;
|
||||
proto_tree *clv_tree;
|
||||
|
||||
while ( len > 0 ) {
|
||||
|
@ -218,34 +217,16 @@ nlsp_dissect_clvs(tvbuff_t *tvb, proto_tree *tree, int offset,
|
|||
q++;
|
||||
}
|
||||
if ( opts[q].dissect ) {
|
||||
if (tree) {
|
||||
/* adjust by 2 for code/len octets */
|
||||
ti = proto_tree_add_text(tree, tvb, offset - 2,
|
||||
length + 2, "%s (%u)",
|
||||
/* adjust by 2 for code/len octets */
|
||||
clv_tree = proto_tree_add_subtree_format(tree, tvb, offset - 2,
|
||||
length + 2, *opts[q].tree_id, NULL, "%s (%u)",
|
||||
opts[q].tree_text, length );
|
||||
clv_tree = proto_item_add_subtree(ti,
|
||||
*opts[q].tree_id );
|
||||
} else {
|
||||
clv_tree = NULL;
|
||||
}
|
||||
opts[q].dissect(tvb, clv_tree, offset,
|
||||
length);
|
||||
} else {
|
||||
if (tree) {
|
||||
#if 0 /* XXX: ?? */
|
||||
ti = proto_tree_add_text(tree, tvb, offset - 2,
|
||||
proto_tree_add_text(tree, tvb, offset - 2,
|
||||
length + 2, "Unknown code %u (%u)",
|
||||
code, length);
|
||||
clv_tree = proto_item_add_subtree(ti,
|
||||
unknown_tree_id );
|
||||
} else {
|
||||
clv_tree = NULL;
|
||||
#else
|
||||
proto_tree_add_text(tree, tvb, offset - 2,
|
||||
length + 2, "Unknown code %u (%u)",
|
||||
code, length);
|
||||
#endif
|
||||
}
|
||||
}
|
||||
offset += length;
|
||||
len -= length;
|
||||
|
@ -1104,7 +1085,7 @@ static void
|
|||
dissect_csnp_lsp_entries(tvbuff_t *tvb, proto_tree *tree, int offset,
|
||||
int length)
|
||||
{
|
||||
proto_tree *subtree,*ti;
|
||||
proto_tree *subtree;
|
||||
|
||||
while (length > 0) {
|
||||
if (length < 16) {
|
||||
|
@ -1113,15 +1094,13 @@ dissect_csnp_lsp_entries(tvbuff_t *tvb, proto_tree *tree, int offset,
|
|||
return;
|
||||
}
|
||||
|
||||
ti = proto_tree_add_text(tree, tvb, offset, 16,
|
||||
"LSP-ID: %s, Sequence: 0x%08x, Lifetime: %5us, Checksum: 0x%04x",
|
||||
subtree = proto_tree_add_subtree_format(tree, tvb, offset, 16,
|
||||
ett_nlsp_csnp_lsp_entry, NULL, "LSP-ID: %s, Sequence: 0x%08x, Lifetime: %5us, Checksum: 0x%04x",
|
||||
tvb_ether_to_str(tvb, offset+2), /* XXX - rest of system ID */
|
||||
tvb_get_ntohl(tvb, offset+10),
|
||||
tvb_get_ntohs(tvb, offset),
|
||||
tvb_get_ntohs(tvb, offset+14));
|
||||
|
||||
subtree = proto_item_add_subtree(ti, ett_nlsp_csnp_lsp_entry);
|
||||
|
||||
proto_tree_add_text(subtree, tvb, offset+2, 6,
|
||||
"LSP ID source ID: %s",
|
||||
tvb_ether_to_str(tvb, offset+2));
|
||||
|
@ -1153,7 +1132,7 @@ static void
|
|||
dissect_psnp_lsp_entries(tvbuff_t *tvb, proto_tree *tree, int offset,
|
||||
int length)
|
||||
{
|
||||
proto_tree *subtree,*ti;
|
||||
proto_tree *subtree;
|
||||
|
||||
while (length > 0) {
|
||||
if (length < 16) {
|
||||
|
@ -1162,15 +1141,13 @@ dissect_psnp_lsp_entries(tvbuff_t *tvb, proto_tree *tree, int offset,
|
|||
return;
|
||||
}
|
||||
|
||||
ti = proto_tree_add_text(tree, tvb, offset, 16,
|
||||
"LSP-ID: %s, Sequence: 0x%08x, Lifetime: %5us, Checksum: 0x%04x",
|
||||
subtree = proto_tree_add_subtree_format(tree, tvb, offset, 16,
|
||||
ett_nlsp_psnp_lsp_entry, NULL, "LSP-ID: %s, Sequence: 0x%08x, Lifetime: %5us, Checksum: 0x%04x",
|
||||
tvb_ether_to_str(tvb, offset+2), /* XXX - rest of system ID */
|
||||
tvb_get_ntohl(tvb, offset+10),
|
||||
tvb_get_ntohs(tvb, offset),
|
||||
tvb_get_ntohs(tvb, offset+14));
|
||||
|
||||
subtree = proto_item_add_subtree(ti, ett_nlsp_psnp_lsp_entry);
|
||||
|
||||
proto_tree_add_text(subtree, tvb, offset+2, 6,
|
||||
"LSP ID source ID: %s",
|
||||
tvb_ether_to_str(tvb, offset+2));
|
||||
|
|
|
@ -938,19 +938,17 @@ static void decode_tlv(proto_tree *tree,
|
|||
guint offset,
|
||||
guint length)
|
||||
{
|
||||
proto_item *property_item;
|
||||
proto_tree *property_tree;
|
||||
guint8 property_type;
|
||||
guint16 property_length;
|
||||
/* guint64 property_index;*/
|
||||
|
||||
/* add text to the frame tree */
|
||||
property_item = proto_tree_add_text(tree,
|
||||
property_tree = proto_tree_add_subtree(tree,
|
||||
tvb,
|
||||
offset,
|
||||
length,
|
||||
length, ett_body, NULL,
|
||||
"NOE Message Body");
|
||||
property_tree = proto_item_add_subtree(property_item, ett_body);
|
||||
|
||||
while(length > 0)
|
||||
{
|
||||
|
@ -961,7 +959,7 @@ static void decode_tlv(proto_tree *tree,
|
|||
|
||||
if (property_type >= P_ARRAY)
|
||||
{
|
||||
proto_tree_add_item(property_item, hf_noe_aindx, tvb, offset, 1, ENC_NA);
|
||||
proto_tree_add_item(property_tree, hf_noe_aindx, tvb, offset, 1, ENC_NA);
|
||||
offset += 1;
|
||||
length -= 1;
|
||||
}
|
||||
|
@ -1030,17 +1028,15 @@ static void decode_getproperty_tlv(proto_tree *tree,
|
|||
guint offset,
|
||||
guint length)
|
||||
{
|
||||
proto_item *body_item;
|
||||
proto_tree *body_tree;
|
||||
guint8 body_type;
|
||||
|
||||
/* add text to the frame tree */
|
||||
body_item = proto_tree_add_text(tree,
|
||||
body_tree = proto_tree_add_subtree(tree,
|
||||
tvb,
|
||||
offset,
|
||||
length,
|
||||
length, ett_property, NULL,
|
||||
"NOE Message Body");
|
||||
body_tree = proto_item_add_subtree(body_item, ett_property);
|
||||
|
||||
while(length > 0)
|
||||
{
|
||||
|
@ -1052,7 +1048,7 @@ static void decode_getproperty_tlv(proto_tree *tree,
|
|||
|
||||
if (body_type >= P_ARRAY)
|
||||
{
|
||||
proto_tree_add_item(body_item, hf_noe_aindx, tvb, offset, 1, ENC_NA);
|
||||
proto_tree_add_item(body_tree, hf_noe_aindx, tvb, offset, 1, ENC_NA);
|
||||
offset += 1;
|
||||
length -= 1;
|
||||
}
|
||||
|
|
|
@ -383,13 +383,12 @@ decode_ip_element(nsip_ip_element_info_t *element, build_info_t *bi, proto_tree
|
|||
guint16 udp_port;
|
||||
guint32 ip4_addr;
|
||||
struct e_in6_addr ip6_addr;
|
||||
proto_item *tf = NULL;
|
||||
proto_tree *field_tree = NULL;
|
||||
proto_item *tf;
|
||||
proto_tree *field_tree;
|
||||
|
||||
field_tree = proto_tree_add_subtree(element_tree, bi->tvb, bi->offset,
|
||||
element->total_length, ett_nsip_ip_element, &tf, "IP Element");
|
||||
if (bi->nsip_tree) {
|
||||
tf = proto_tree_add_text(element_tree, bi->tvb, bi->offset,
|
||||
element->total_length, "IP Element");
|
||||
field_tree = proto_item_add_subtree(tf, ett_nsip_ip_element);
|
||||
|
||||
/* IP address */
|
||||
switch (element->version) {
|
||||
|
@ -448,11 +447,10 @@ decode_ip_elements(nsip_ip_element_info_t *element, nsip_ie_t *ie, build_info_t
|
|||
proto_item *tf;
|
||||
proto_tree *field_tree;
|
||||
|
||||
tf = proto_tree_add_text(bi->nsip_tree, bi->tvb, ie_start_offset,
|
||||
ie->total_length,
|
||||
field_tree = proto_tree_add_subtree_format(bi->nsip_tree, bi->tvb, ie_start_offset,
|
||||
ie->total_length, ett_nsip_ip_element_list, &tf,
|
||||
"List of IP%u Elements (%u Elements)",
|
||||
element->version, num_elements);
|
||||
field_tree = proto_item_add_subtree(tf, ett_nsip_ip_element_list);
|
||||
|
||||
for (i = 0; i < num_elements; i++) {
|
||||
decode_ip_element(element, bi, field_tree);
|
||||
|
@ -505,17 +503,15 @@ decode_iei_num_ip6_endpoints(nsip_ie_t *ie, build_info_t *bi, int ie_start_offse
|
|||
static void
|
||||
decode_iei_reset_flag(nsip_ie_t *ie, build_info_t *bi, int ie_start_offset) {
|
||||
guint8 flag;
|
||||
proto_item *tf;
|
||||
proto_tree *field_tree;
|
||||
|
||||
flag = tvb_get_guint8(bi->tvb, bi->offset);
|
||||
if (bi->nsip_tree) {
|
||||
|
||||
tf = proto_tree_add_text(bi->nsip_tree, bi->tvb, ie_start_offset,
|
||||
ie->total_length,
|
||||
field_tree = proto_tree_add_subtree_format(bi->nsip_tree, bi->tvb, ie_start_offset,
|
||||
ie->total_length, ett_nsip_reset_flag, NULL,
|
||||
"Reset Flag: %#02x", flag);
|
||||
|
||||
field_tree = proto_item_add_subtree(tf, ett_nsip_reset_flag);
|
||||
proto_tree_add_boolean(field_tree, hf_nsip_reset_flag, bi->tvb,
|
||||
bi->offset, 1,
|
||||
flag & NSIP_MASK_RESET_FLAG);
|
||||
|
@ -575,17 +571,15 @@ decode_iei_transaction_id(nsip_ie_t *ie, build_info_t *bi, int ie_start_offset)
|
|||
static void
|
||||
decode_iei_end_flag(nsip_ie_t *ie, build_info_t *bi, int ie_start_offset) {
|
||||
guint8 flag;
|
||||
proto_item *tf;
|
||||
proto_tree *field_tree;
|
||||
|
||||
if (bi->nsip_tree) {
|
||||
flag = tvb_get_guint8(bi->tvb, bi->offset);
|
||||
|
||||
tf = proto_tree_add_text(bi->nsip_tree, bi->tvb, ie_start_offset,
|
||||
ie->total_length,
|
||||
field_tree = proto_tree_add_subtree_format(bi->nsip_tree, bi->tvb, ie_start_offset,
|
||||
ie->total_length, ett_nsip_end_flag, NULL,
|
||||
"End Flag: %#02x", flag);
|
||||
|
||||
field_tree = proto_item_add_subtree(tf, ett_nsip_end_flag);
|
||||
proto_tree_add_boolean(field_tree, hf_nsip_end_flag, bi->tvb,
|
||||
bi->offset, 1,
|
||||
flag & NSIP_MASK_END_FLAG);
|
||||
|
@ -602,17 +596,15 @@ decode_iei_end_flag(nsip_ie_t *ie, build_info_t *bi, int ie_start_offset) {
|
|||
static void
|
||||
decode_iei_control_bits(nsip_ie_t *ie, build_info_t *bi, int ie_start_offset) {
|
||||
guint8 control_bits;
|
||||
proto_item *tf;
|
||||
proto_tree *field_tree;
|
||||
|
||||
control_bits = tvb_get_guint8(bi->tvb, bi->offset);
|
||||
|
||||
if (bi->nsip_tree) {
|
||||
tf = proto_tree_add_text(bi->nsip_tree, bi->tvb, ie_start_offset,
|
||||
ie->total_length,
|
||||
field_tree = proto_tree_add_subtree_format(bi->nsip_tree, bi->tvb, ie_start_offset,
|
||||
ie->total_length, ett_nsip_control_bits, NULL,
|
||||
"NS SDU Control bits: %#02x", control_bits);
|
||||
|
||||
field_tree = proto_item_add_subtree(tf, ett_nsip_control_bits);
|
||||
proto_tree_add_boolean(field_tree, hf_nsip_control_bits_r, bi->tvb,
|
||||
bi->offset, 1,
|
||||
control_bits & NSIP_MASK_CONTROL_BITS_R);
|
||||
|
|
|
@ -157,7 +157,6 @@ dissect_nstrace(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
|
|||
guint8 flagoffset, flagval;
|
||||
guint8 src_vmname_len = 0, dst_vmname_len = 0;
|
||||
guint8 variable_ns_len = 0;
|
||||
guint flagval32;
|
||||
|
||||
wmem_strbuf_append(flags_strbuf, "None");
|
||||
|
||||
|
@ -179,9 +178,7 @@ dissect_nstrace(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
|
|||
case NSPR_HEADER_VERSION300:
|
||||
case NSPR_HEADER_VERSION206:
|
||||
flagoffset = pnstr->ns_activity_offset;
|
||||
flagval32 = tvb_get_letohl(tvb, flagoffset);
|
||||
flagitem = proto_tree_add_uint_format(ns_tree, hf_ns_activity, tvb, flagoffset, 4, flagval32,
|
||||
"Activity Flags: 0x%04x", flagval32);
|
||||
flagitem = proto_tree_add_item(ns_tree, hf_ns_activity, tvb, flagoffset, 4, ENC_LITTLE_ENDIAN);
|
||||
flagtree = proto_item_add_subtree(flagitem, ett_ns_activity_flags);
|
||||
proto_tree_add_item(flagtree, hf_ns_activity_perf_collection, tvb, flagoffset, 4, ENC_LITTLE_ENDIAN);
|
||||
proto_tree_add_item(flagtree, hf_ns_activity_pcb_zombie, tvb, flagoffset, 4, ENC_LITTLE_ENDIAN);
|
||||
|
@ -374,7 +371,7 @@ proto_register_ns(void)
|
|||
},
|
||||
|
||||
{ &hf_ns_activity,
|
||||
{ "NetScaler Activity", "nstrace.activity",
|
||||
{ "Activity Flags", "nstrace.activity",
|
||||
FT_UINT32, BASE_HEX, NULL, 0x0,
|
||||
NULL, HFILL}
|
||||
},
|
||||
|
|
|
@ -1295,10 +1295,9 @@ dissect_ntlmssp_target_info_list(tvbuff_t *tvb, packet_info *pinfo, proto_tree *
|
|||
content_offset = len_offset + 2;
|
||||
item_length = content_length + 4;
|
||||
|
||||
target_info_tf = proto_tree_add_text(tree, tvb, item_offset, item_length, "Attribute: %s",
|
||||
val_to_str_ext(item_type, &ntlm_name_types_ext, "Unknown (%d)"));
|
||||
target_info_tree = proto_tree_add_subtree_format(tree, tvb, item_offset, item_length, *tif_p->ett, &target_info_tf,
|
||||
"Attribute: %s", val_to_str_ext(item_type, &ntlm_name_types_ext, "Unknown (%d)"));
|
||||
|
||||
target_info_tree = proto_item_add_subtree (target_info_tf, *tif_p->ett);
|
||||
proto_tree_add_item (target_info_tree, *tif_p->hf_item_type, tvb, type_offset, 2, ENC_LITTLE_ENDIAN);
|
||||
proto_tree_add_item (target_info_tree, *tif_p->hf_item_length, tvb, len_offset, 2, ENC_LITTLE_ENDIAN);
|
||||
|
||||
|
@ -2241,7 +2240,6 @@ decrypt_verifier(tvbuff_t *tvb, int offset, guint32 encrypted_block_length,
|
|||
packet_info *pinfo, proto_tree *tree, gpointer key)
|
||||
{
|
||||
proto_tree *decr_tree;
|
||||
proto_item *tf;
|
||||
conversation_t *conversation;
|
||||
guint8* sign_key;
|
||||
rc4_state_struct *rc4_state;
|
||||
|
@ -2368,11 +2366,11 @@ decrypt_verifier(tvbuff_t *tvb, int offset, guint32 encrypted_block_length,
|
|||
"Decrypted NTLMSSP Verifier");
|
||||
|
||||
/* Show the decrypted payload in the tree */
|
||||
tf = proto_tree_add_text(tree, decr_tvb, 0, -1,
|
||||
decr_tree = proto_tree_add_subtree_format(tree, decr_tvb, 0, -1,
|
||||
ett_ntlmssp, NULL,
|
||||
"Decrypted Verifier (%d byte%s)",
|
||||
encrypted_block_length,
|
||||
plurality(encrypted_block_length, "", "s"));
|
||||
decr_tree = proto_item_add_subtree (tf, ett_ntlmssp);
|
||||
|
||||
if (( conv_ntlmssp_info->flags & NTLMSSP_NEGOTIATE_EXTENDED_SECURITY)) {
|
||||
proto_tree_add_item (decr_tree, hf_ntlmssp_verf_hmacmd5,
|
||||
|
|
Loading…
Reference in New Issue