Ethereal-dev: [Ethereal-dev] WTP/WSP Patch 2
Note: This archive is from the project's previous web site, ethereal.com. This list is no longer active.
From: Georg von Zezschwitz <gvz@xxxxxxxxxx>
Date: Sun, 27 Jul 2003 15:43:28 +0200
Hi, this patch needs a bit more of explanations (and probably discusssions ?): When Segmented Results / Segmented Invokes arrive in WTP and the packet is not complete (e.g. because of a smaller snaplength), ethereal tries to WSP-decode these segments. The result looks like this: 3 0.023111 139.7.29.17 -> 10.249.63.232 WTP+WSP WSP ConnectReply 4 0.048595 139.7.29.17 -> 10.249.47.133 MMSE MMS m-send-conf 5 0.065333 10.249.15.212 -> 139.7.29.17 WTP+WSP WSP Unknown PDU type (0x92) 6 0.069829 10.249.13.135 -> 139.7.29.17 WTP+WSP WSP Unknown PDU type (0x12) 7 0.070704 139.7.29.17 -> 10.249.13.135 WTP+WSP WTP Ack 8 0.074328 10.249.14.228 -> 139.7.29.17 MMSE MMS m-send-req 9 0.088568 10.249.15.64 -> 139.7.29.17 WTP+WSP WSP Unknown PDU type (0xb6) 10 0.090068 139.7.29.17 -> 10.249.15.64 WTP+WSP WTP Ack 11 0.174016 10.249.15.14 -> 139.7.29.17 WTP+WSP WTP Ack 12 0.235729 10.249.30.192 -> 139.7.29.17 WTP+WSP WSP Unknown PDU type (0x0c) 13 0.240351 10.249.13.81 -> 139.7.29.17 WTP+WSP WTP Segmented Invoke I changed packet-wtp not to use the WSP dissector on Segmented Results/Segmented Invokes. The result looks like this: 3 0.023111 139.7.29.17 -> 10.249.63.232 WTP+WSP WSP ConnectReply 4 0.048595 139.7.29.17 -> 10.249.47.133 MMSE MMS m-send-conf 5 0.065333 10.249.15.212 -> 139.7.29.17 WTP+WSP Segmented Invoke (4) 6 0.069829 10.249.13.135 -> 139.7.29.17 WTP+WSP Segmented Invoke (37) 7 0.070704 139.7.29.17 -> 10.249.13.135 WTP+WSP WTP Ack 8 0.074328 10.249.14.228 -> 139.7.29.17 MMSE MMS m-send-req 9 0.088568 10.249.15.64 -> 139.7.29.17 WTP+WSP Segmented Invoke (6) 10 0.090068 139.7.29.17 -> 10.249.15.64 WTP+WSP WTP Ack 11 0.174016 10.249.15.14 -> 139.7.29.17 WTP+WSP WTP Ack 12 0.235729 10.249.30.192 -> 139.7.29.17 WTP+WSP Segmented Invoke (11) 13 0.240351 10.249.13.81 -> 139.7.29.17 WTP+WSP WTP Segmented Invoke (last) I do not know somebody guesses of a better approach. Regards, Georg
Attachment:
testcase2.bin
Description: Binary data
Index: packet-wtp.c =================================================================== RCS file: /cvsroot/ethereal/packet-wtp.c,v retrieving revision 1.49 diff -u -u -r1.49 packet-wtp.c --- packet-wtp.c 30 Jun 2003 23:24:39 -0000 1.49 +++ packet-wtp.c 27 Jul 2003 13:40:59 -0000 @@ -82,8 +82,8 @@ { 2, "Result" }, { 3, "Ack" }, { 4, "Abort" }, - { 5, "Segmented Invoke" }, - { 6, "Segmented Result" }, + { 5, "Segmented Invoke (last)" }, + { 6, "Segmented Result (last)" }, { 7, "Negative Ack" }, { 0, NULL } }; @@ -641,8 +641,16 @@ * Normal packet, or not all the fragment data is available; * call next dissector. */ - wsp_tvb = tvb_new_subset(tvb, dataOffset, -1, -1); - call_dissector(wsp_handle, wsp_tvb, pinfo, tree); + if ((pdut != SEGMENTED_INVOKE && pdut != SEGMENTED_RESULT) || !psn) { + wsp_tvb = tvb_new_subset(tvb, dataOffset, -1, -1); + call_dissector(wsp_handle, wsp_tvb, pinfo, tree); + } else { + if (check_col(pinfo->cinfo, COL_INFO)) + col_set_str(pinfo->cinfo, COL_INFO, + pdut == SEGMENTED_INVOKE ? + "Segmented Invoke" : "Segmented Result"); + col_append_fstr(pinfo->cinfo, COL_INFO, " (%d)", psn); + } } } }
- Follow-Ups:
- Re: [Ethereal-dev] WTP/WSP Patch 2
- From: Guy Harris
- Re: [Ethereal-dev] WTP/WSP Patch 2
- Prev by Date: [Ethereal-dev] WTP/WSP Patch 1
- Next by Date: [Ethereal-dev] packet-isakmp.c
- Previous by thread: Re: [Ethereal-dev] WTP/WSP Patch 1
- Next by thread: Re: [Ethereal-dev] WTP/WSP Patch 2
- Index(es):