aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-skinny.c
diff options
context:
space:
mode:
authorJaap Keuter <jaap.keuter@xs4all.nl>2009-01-18 12:43:37 +0000
committerJaap Keuter <jaap.keuter@xs4all.nl>2009-01-18 12:43:37 +0000
commitf3ad87485b5589e9a70de78d34ec9123d46097a2 (patch)
treeffd05b6b924311ca1b2c6522b7ca0a7889656744 /epan/dissectors/packet-skinny.c
parent17df7f823e3232ac8057b2dd8762910c52b02b4b (diff)
Fix for bug 3192:
Version 17 of the Skinny protocol seems to report its version number in a previously reserved header field. The dissector now accepts this, even though it can't dissect all new messages yet. svn path=/trunk/; revision=27258
Diffstat (limited to 'epan/dissectors/packet-skinny.c')
-rw-r--r--epan/dissectors/packet-skinny.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/epan/dissectors/packet-skinny.c b/epan/dissectors/packet-skinny.c
index 0cabb8b76c..f39baa7af7 100644
--- a/epan/dissectors/packet-skinny.c
+++ b/epan/dissectors/packet-skinny.c
@@ -2552,18 +2552,18 @@ dissect_skinny(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
* SKINNY-Packet: {Header(Size, Reserved)|Data(MessageID, Message-Data)}
*/
/* Header fields */
- volatile guint32 hdr_data_length;
- guint32 hdr_reserved;
+ guint32 hdr_data_length;
+ guint32 hdr_version;
/* check, if this is really an SKINNY packet, they start with a length + 0 */
/* get relevant header information */
hdr_data_length = tvb_get_letohl(tvb, 0);
- hdr_reserved = tvb_get_letohl(tvb, 4);
+ hdr_version = tvb_get_letohl(tvb, 4);
/* data_size = MIN(8+hdr_data_length, tvb_length(tvb)) - 0xC; */
- if (hdr_data_length < 4 || hdr_reserved != 0) {
+ if (hdr_data_length < 4 || (hdr_version != 0 && hdr_version != 0x11)) {
/* Not an SKINNY packet, just happened to use the same port */
return FALSE;
}