diff options
author | etxrab <etxrab@f5534014-38df-0310-8fa8-9805f1628bb7> | 2009-06-27 13:37:03 +0000 |
---|---|---|
committer | etxrab <etxrab@f5534014-38df-0310-8fa8-9805f1628bb7> | 2009-06-27 13:37:03 +0000 |
commit | 994a32f04972e3473ddebffcfa72313ad07b9986 (patch) | |
tree | 42c33550b7b45708ffc4573a80d856b08dc04e59 /asn1/h248 | |
parent | 5d814bd9a0010cff8a5c6153075884546bc332c5 (diff) |
From yin sun:
h248 term wildcard enhancement
git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@28861 f5534014-38df-0310-8fa8-9805f1628bb7
Diffstat (limited to 'asn1/h248')
-rw-r--r-- | asn1/h248/h248.cnf | 4 | ||||
-rw-r--r-- | asn1/h248/packet-h248-template.c | 2 |
2 files changed, 5 insertions, 1 deletions
diff --git a/asn1/h248/h248.cnf b/asn1/h248/h248.cnf index 1be341659f..5f87b43e42 100644 --- a/asn1/h248/h248.cnf +++ b/asn1/h248/h248.cnf @@ -285,6 +285,8 @@ TransactionPending/transactionId tpend_transactionId proto_tree_add_item(tree,hf_h248_term_wild_position,new_tvb,0,1,FALSE); wild_term = tvb_get_guint8(new_tvb,0) & 0x80 ? GCP_WILDCARD_CHOOSE : GCP_WILDCARD_ALL; + /* limitation: assume only one wildcard is used */ + wild_card = tvb_get_guint8(new_tvb,0); #.END @@ -304,7 +306,9 @@ TransactionPending/transactionId tpend_transactionId curr_info.term = gcp_cmd_add_term(curr_info.msg, curr_info.trx, curr_info.cmd, curr_info.term, wild_term, keep_persistent_data); if (h248_term_handle) { + actx->pinfo->private_data = &wild_card; call_dissector(h248_term_handle, new_tvb, actx->pinfo, tree); + wild_card = 0xFF; } } else { curr_info.term->len = 0; diff --git a/asn1/h248/packet-h248-template.c b/asn1/h248/packet-h248-template.c index 488163e800..dafa9c3f88 100644 --- a/asn1/h248/packet-h248-template.c +++ b/asn1/h248/packet-h248-template.c @@ -660,7 +660,7 @@ static const value_string wildcard_levels[] = { static h248_curr_info_t curr_info = {NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL}; static guint32 error_code; static gcp_wildcard_t wild_term; - +static guint8 wild_card = 0xFF; /* place to store wildcardField */ extern void h248_param_ber_integer(proto_tree* tree, tvbuff_t* tvb, packet_info* pinfo, int hfid, h248_curr_info_t* u _U_, void* implicit) { asn1_ctx_t asn1_ctx; |