diff options
author | Luis Ontanon <luis.ontanon@gmail.com> | 2005-12-06 18:52:17 +0000 |
---|---|---|
committer | Luis Ontanon <luis.ontanon@gmail.com> | 2005-12-06 18:52:17 +0000 |
commit | d6c5410b182fb8c70a488b0457d933f70d3de3e7 (patch) | |
tree | 0710000471604953aba4c9cb2d65876aefbd61cd /asn1/h248/h248.cnf | |
parent | 581faf7625b81b2ac4e23569761cbbde4fc079e7 (diff) |
- Fix few issues with context analysis
- Add used terminations tree to the context analysis tree
Regenerate Dissector
svn path=/trunk/; revision=16703
Diffstat (limited to 'asn1/h248/h248.cnf')
-rw-r--r-- | asn1/h248/h248.cnf | 33 |
1 files changed, 22 insertions, 11 deletions
diff --git a/asn1/h248/h248.cnf b/asn1/h248/h248.cnf index 8b28acf7b0..642f2580b1 100644 --- a/asn1/h248/h248.cnf +++ b/asn1/h248/h248.cnf @@ -228,16 +228,6 @@ ServiceChangeReply/terminationID terminationIDList cmd = h248_cmd(msg,trx,ctx,H248_CMD_AUDITVAL_REPLY,offset); #.END - -#.FN_BODY WildcardField - tvbuff_t* new_tvb; - offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,&new_tvb); - tree = proto_item_add_subtree(get_ber_last_created_item(),ett_wildcard); - proto_tree_add_item(tree,hf_h248_term_wild_type,new_tvb,0,1,FALSE); - proto_tree_add_item(tree,hf_h248_term_wild_level,new_tvb,0,1,FALSE); - proto_tree_add_item(tree,hf_h248_term_wild_position,new_tvb,0,1,FALSE); -#.END - #.FN_BODY ErrorDescriptor/errorCode offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_h248_error_code, &error_code); expert_add_info_format(pinfo, get_ber_last_created_item(), PI_RESPONSE_CODE, PI_WARN, "Errored Command"); @@ -251,11 +241,32 @@ ServiceChangeReply/terminationID terminationIDList return offset; #.END +#.FN_HDR TerminationID + term = ep_new0(h248_term_t); + +#.END + +#.FN_BODY WildcardField + tvbuff_t* new_tvb; + offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index, &new_tvb); + tree = proto_item_add_subtree(get_ber_last_created_item(),ett_wildcard); + proto_tree_add_item(tree,hf_h248_term_wild_type,new_tvb,0,1,FALSE); + proto_tree_add_item(tree,hf_h248_term_wild_level,new_tvb,0,1,FALSE); + proto_tree_add_item(tree,hf_h248_term_wild_position,new_tvb,0,1,FALSE); +#.END + #.FN_BODY TerminationID/id tvbuff_t* new_tvb; offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index, &new_tvb); - h248_cmd_add_str(cmd,bytes_to_str(tvb_get_ptr(tvb,0,tvb->length),tvb->length)); + term->len = tvb_length(new_tvb); + + if (term->len) { + term->buffer = ep_tvb_memdup(new_tvb,0,term->len); + term->str = bytes_to_str(term->buffer,term->len); + } + + h248_cmd_add_term(cmd, term); if (new_tvb && h248_term_handle) { call_dissector(h248_term_handle, new_tvb, pinfo, tree); |