diff options
author | Anders Broman <anders.broman@ericsson.com> | 2006-11-29 06:44:07 +0000 |
---|---|---|
committer | Anders Broman <anders.broman@ericsson.com> | 2006-11-29 06:44:07 +0000 |
commit | 6c9ce8acf8610f9c5ff99215eb3650ec0b6e0688 (patch) | |
tree | 8ec6fc9d92c3351e1dec0eec3a14a7a1290a6155 /wiretap/atm.c | |
parent | 35482921b20efde6d5856cad5df217bfabd323c8 (diff) |
Froim Rene Pilz:
This patch consists also the last issues. Additionally it solves:
- For the SSCOP frames the AAL5 decoding was not performed due to an earlier patch. This caused that no SSCOP message was properly decoded.
- As the detection between a LANE frame and a SSCOP frame is rather hard a switch within the atm dissector is included which enforce SSCOP dissecting over a LANE frame. At the moment I do not see a better solution for that.
svn path=/trunk/; revision=20013
Diffstat (limited to 'wiretap/atm.c')
-rw-r--r-- | wiretap/atm.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/wiretap/atm.c b/wiretap/atm.c index 7882e73898..e7021cb9f3 100644 --- a/wiretap/atm.c +++ b/wiretap/atm.c @@ -74,6 +74,7 @@ atm_guess_traffic_type(const guint8 *pd, guint32 len, * guessing based on the contents, if we have enough data * to guess. */ + if (len >= 3) { if (pd[0] == 0xaa && pd[1] == 0xaa && pd[2] == 0x03) { /* @@ -81,7 +82,8 @@ atm_guess_traffic_type(const guint8 *pd, guint32 len, * multiplexed RFC 1483 traffic. */ pseudo_header->atm.type = TRAF_LLCMX; - } else if (len < 16) { + } else if ((pseudo_header->atm.aal5t_len && + pseudo_header->atm.aal5t_len < 16) || len<16) { /* * As this cannot be a LANE Ethernet frame (less * than 2 bytes of LANE header + 14 bytes of |