aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-pres.c
diff options
context:
space:
mode:
authorGraeme Lunt <graeme.lunt@smhs.co.uk>2010-06-29 18:09:03 +0000
committerGraeme Lunt <graeme.lunt@smhs.co.uk>2010-06-29 18:09:03 +0000
commit6fc0e7cb8c531730dd206102b25211ebfac60788 (patch)
tree60d97463e346b47e4196754f7b25fbb023533c8f /epan/dissectors/packet-pres.c
parent4095079e1cf06b2a576377e0b2d363fa424ef4d7 (diff)
Interpret single-ASN1-type as ASN.1 and not as an OCTET STRING.
svn path=/trunk/; revision=33375
Diffstat (limited to 'epan/dissectors/packet-pres.c')
-rw-r--r--epan/dissectors/packet-pres.c15
1 files changed, 6 insertions, 9 deletions
diff --git a/epan/dissectors/packet-pres.c b/epan/dissectors/packet-pres.c
index 3f4310933c..6dfb61d974 100644
--- a/epan/dissectors/packet-pres.c
+++ b/epan/dissectors/packet-pres.c
@@ -438,7 +438,7 @@ dissect_pres_Called_presentation_selector(gboolean implicit_tag _U_, tvbuff_t *t
static int
dissect_pres_Presentation_context_identifier(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 77 "pres.cnf"
+#line 76 "pres.cnf"
const char *name;
char *oid;
@@ -501,13 +501,13 @@ static const ber_sequence_t Context_list_item_sequence[] = {
static int
dissect_pres_Context_list_item(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 92 "pres.cnf"
+#line 91 "pres.cnf"
abstract_syntax_name_oid=NULL;
offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
Context_list_item_sequence, hf_index, ett_pres_Context_list_item);
-#line 95 "pres.cnf"
+#line 94 "pres.cnf"
register_ctx_id_and_oid(actx->pinfo, presentation_context_identifier, abstract_syntax_name_oid);
return offset;
@@ -651,9 +651,6 @@ dissect_pres_T_single_ASN1_type(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, in
proto_item *ti = proto_tree_add_text(tree, tvb, offset, -1,"dissector is not available");
expert_add_info_format(actx->pinfo, ti, PI_UNDECODED, PI_WARN, "Dissector is not available");
}
- offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
- NULL);
-
}
@@ -664,7 +661,7 @@ dissect_pres_T_single_ASN1_type(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, in
static int
dissect_pres_T_octet_aligned(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 53 "pres.cnf"
+#line 52 "pres.cnf"
tvbuff_t *next_tvb;
char *oid;
@@ -709,7 +706,7 @@ static const value_string pres_T_presentation_data_values_vals[] = {
};
static const ber_choice_t T_presentation_data_values_choice[] = {
- { 0, &hf_pres_single_ASN1_type, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_pres_T_single_ASN1_type },
+ { 0, &hf_pres_single_ASN1_type, BER_CLASS_CON, 0, 0, dissect_pres_T_single_ASN1_type },
{ 1, &hf_pres_octet_aligned , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_pres_T_octet_aligned },
{ 2, &hf_pres_arbitrary , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_pres_BIT_STRING },
{ 0, NULL, 0, 0, 0, NULL }
@@ -1777,7 +1774,7 @@ void proto_register_pres(void) {
NULL, HFILL }},
{ &hf_pres_single_ASN1_type,
{ "single-ASN1-type", "pres.single_ASN1_type",
- FT_BYTES, BASE_NONE, NULL, 0,
+ FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_pres_octet_aligned,
{ "octet-aligned", "pres.octet_aligned",