diff options
author | AndersBroman <anders.broman@ericsson.com> | 2014-05-20 12:54:20 +0200 |
---|---|---|
committer | Anders Broman <a.broman58@gmail.com> | 2014-05-21 20:17:29 +0000 |
commit | 2cfda31ff09893bd8c59acabc8faad7227f52ede (patch) | |
tree | a0bee1c33fe7bc2eeced9c2f7fe0bbe7628cebcd /epan/dissectors/packet-credssp.c | |
parent | bb01c7ac380a2978d8e1c5ca8fa7f2dd523a8323 (diff) |
Change the signature of dissector_try_heuristic() to return hdtbl_entry
which can be used to call the found heuristic dissector on the next pass.
Introduce call_heur_dissector_direct() to be used to call a heuristic
dissector which accepted the frame on the first pass.
Change-Id: I524edd717b7d92b510bd60acfeea686d5f2b4582
Reviewed-on: https://code.wireshark.org/review/1697
Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
Reviewed-by: Anders Broman <a.broman58@gmail.com>
Diffstat (limited to 'epan/dissectors/packet-credssp.c')
-rw-r--r-- | epan/dissectors/packet-credssp.c | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/epan/dissectors/packet-credssp.c b/epan/dissectors/packet-credssp.c index f22cfb37ea..cf95f40d63 100644 --- a/epan/dissectors/packet-credssp.c +++ b/epan/dissectors/packet-credssp.c @@ -113,6 +113,7 @@ static int dissect_credssp_T_negoToken(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { #line 45 "../../asn1/credssp/credssp.cnf" tvbuff_t *token_tvb = NULL; + heur_dtbl_entry_t *hdtbl_entry; offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, &token_tvb); @@ -120,7 +121,7 @@ dissect_credssp_T_negoToken(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int of if(token_tvb != NULL) dissector_try_heuristic(credssp_heur_subdissector_list, - token_tvb, actx->pinfo, proto_tree_get_root(tree), NULL); + token_tvb, actx->pinfo, proto_tree_get_root(tree), &hdtbl_entry, NULL); @@ -378,10 +379,12 @@ dissect_credssp_heur(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, if((length == 1) && (tvb_get_guint8(tvb, offset) == 2)) { if (have_tap_listener(exported_pdu_tap)) { exp_pdu_data_t *exp_pdu_data; - guint8 tags= EXP_PDU_TAG_IP_SRC_BIT | EXP_PDU_TAG_IP_DST_BIT | EXP_PDU_TAG_SRC_PORT_BIT | - EXP_PDU_TAG_DST_PORT_BIT | EXP_PDU_TAG_ORIG_FNO_BIT; + guint8 tags_bit_field; - exp_pdu_data = load_export_pdu_tags(pinfo, "credssp", -1, &tags, 1); + tags_bit_field = EXP_PDU_TAG_IP_SRC_BIT + EXP_PDU_TAG_IP_DST_BIT + EXP_PDU_TAG_SRC_PORT_BIT+ + EXP_PDU_TAG_DST_PORT_BIT + EXP_PDU_TAG_ORIG_FNO_BIT; + + exp_pdu_data = load_export_pdu_tags(pinfo, "credssp", -1, &tags_bit_field, 1); exp_pdu_data->tvb_captured_length = tvb_captured_length(tvb); exp_pdu_data->tvb_reported_length = tvb_reported_length(tvb); @@ -507,7 +510,7 @@ void proto_register_credssp(void) { "OCTET_STRING", HFILL }}, /*--- End of included file: packet-credssp-hfarr.c ---*/ -#line 150 "../../asn1/credssp/packet-credssp-template.c" +#line 152 "../../asn1/credssp/packet-credssp-template.c" }; /* List of subtrees */ @@ -525,7 +528,7 @@ void proto_register_credssp(void) { &ett_credssp_TSRequest, /*--- End of included file: packet-credssp-ettarr.c ---*/ -#line 156 "../../asn1/credssp/packet-credssp-template.c" +#line 158 "../../asn1/credssp/packet-credssp-template.c" }; |