Hi Anders,
Le 24/11/2010 17:39, Anders Broman a écrit :
Hi,
Does it work better with revision
35020 or later?
It's working fine now.
Thanks,
Pascal.
Regards
Anders
Hi,
since revision 35005 and the commit of the ReLOAD framing
dissector the UDP heuristic dissector I use (LTE-RLC) no longer
works. My RLC PDU is seen as a ReLOAD packet.
When looking at the code, the function
dissect_reload_framing_heur() calls
dissect_reload_framing_message() that does almost no checks:
/* First, make sure we have enough data to do the check. */
if (effective_length < MIN_HDR_LENGTH)
return 0;
/* Get the type */
type = tvb_get_guint8(tvb, 0);
if (type == DATA) {
/* in the data type, check the reload token to be sure this
is a reLoad packet */
message_length = (tvb_get_ntohs(tvb, 1 + 4)<<8)+
tvb_get_guint8(tvb, 1 + 4 + 2);
if (message_length < MIN_RELOADDATA_HDR_LENGTH) {
return 0;
}
relo_token = tvb_get_ntohl(tvb,1 + 4 + 3);
if (relo_token != RELOAD_TOKEN) {
return 0;
}
}
The LTE-RLC heuristic dissector adds the "rlc-lte" string at the
beginning of the UDP packet and unfortunately it is caught by the
code above.
I'm not familiar with this protocol but I guess there is probably
a way to avoid breaking other dissectors. Adding the following
patch helps on my side but I'm not sure it is fully valid and it
still seems weak to me:
Index: epan/dissectors/packet-reload-framing.c
===================================================================
--- epan/dissectors/packet-reload-framing.c (revision 35018)
+++ epan/dissectors/packet-reload-framing.c (working copy)
@@ -143,9 +143,10 @@
if (relo_token != RELOAD_TOKEN) {
return 0;
}
+ } else if (type != ACK) {
+ return 0;
}
-
/* The message seems to be a valid reLOAD framing message! */
col_set_str(pinfo->cinfo, COL_PROTOCOL, "RELOAD Frame");
Thanks,
Pascal.
___________________________________________________________________________
Sent via: Wireshark-dev mailing list <wireshark-dev@xxxxxxxxxxxxx>
Archives: http://www.wireshark.org/lists/wireshark-dev
Unsubscribe: https://wireshark.org/mailman/options/wireshark-dev
mailto:wireshark-dev-request@xxxxxxxxxxxxx?subject=unsubscribe
|