aboutsummaryrefslogtreecommitdiffstats
path: root/packet-h245.c
diff options
context:
space:
mode:
authorsahlberg <sahlberg@f5534014-38df-0310-8fa8-9805f1628bb7>2003-11-22 11:12:19 +0000
committersahlberg <sahlberg@f5534014-38df-0310-8fa8-9805f1628bb7>2003-11-22 11:12:19 +0000
commit82be091182a495ff0cf7f0f9b43ce71ca94f9a30 (patch)
treee8ae03254def03d0df1824f9bf385c4df253f64c /packet-h245.c
parentc52dfc230d750d3feba73505c1bc7a73ee2686c6 (diff)
Change the way signalType is dissected to be
compatible with and dissect the packets from Martin R and Paul H. I still think ethereal was correct before this patch and that this patch is not compatible with teh standard. Anyway, that doesnt matter much. With this patch ethereal will dissect the packets properly. Time to study x691 again. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@9066 f5534014-38df-0310-8fa8-9805f1628bb7
Diffstat (limited to 'packet-h245.c')
-rw-r--r--packet-h245.c21
1 files changed, 19 insertions, 2 deletions
diff --git a/packet-h245.c b/packet-h245.c
index e5c6a1e1a6..034ce6fda5 100644
--- a/packet-h245.c
+++ b/packet-h245.c
@@ -7,7 +7,7 @@
*
* Maintained by Andreas Sikkema (andreas.sikkema@philips.com)
*
- * $Id: packet-h245.c,v 1.41 2003/10/27 22:28:47 guy Exp $
+ * $Id: packet-h245.c,v 1.42 2003/11/22 11:12:19 sahlberg Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@ethereal.com>
@@ -17980,7 +17980,24 @@ dissect_h245_FunctionNotUnderstood(tvbuff_t *tvb, int offset, packet_info *pinfo
static int
dissect_h245_signalType(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
{
- offset=dissect_per_restricted_character_string(tvb, offset, pinfo, tree, hf_h245_signalType, 1, 1, "!#*0123456789ABCD", 17);
+ /* XXX this is just wrong.
+ * the definition in the ASN.1 file is :
+ * signalType IA5String (SIZE (1) ^ FROM ("0123456789#*ABCD!"))
+ * which means the 17 characters are encoded as 8-bit values
+ * between 0x00 and 0x10
+ *
+ * however, captures from real world applications show that
+ * the field is encoded instead as :
+ * signalType IA5String (SIZE (1))
+ * ie a single character ascii value from 0x00 to 0xff.
+ *
+ * the code is changed under protest.
+ * i still think it is the one commented out that is the correct one
+ */
+ /*offset=dissect_per_restricted_character_string(tvb, offset, pinfo, tree, hf_h245_signalType, 1, 1, "!#*0123456789ABCD", 17);*/
+
+ offset=dissect_per_IA5String(tvb, offset, pinfo, tree, hf_h245_signalType, 1, 1);
+
return offset;
}