Wireshark  4.3.0
The Wireshark network protocol analyzer
packet-wap.h
1 /* packet-wap.h
2  *
3  * Declarations for WAP packet disassembly
4  *
5  * Wireshark - Network traffic analyzer
6  * By Gerald Combs <gerald@wireshark.org>
7  * Copyright 1998 Gerald Combs
8  *
9  * WAP dissector based on original work by Ben Fowler
10  * Updated by Neil Hunter <neil.hunter@energis-squared.com>
11  * WTLS support by Alexandre P. Ferreira (Splice IP)
12  *
13  * SPDX-License-Identifier: GPL-2.0-or-later
14  */
15 
16 #ifndef __PACKET_WAP_H__
17 #define __PACKET_WAP_H__
18 
19 #include <glib.h>
20 #include <epan/packet.h>
21 #include <epan/expert.h>
22 
23 /* Port Numbers as per IANA */
24 /* < URL:http://www.iana.org/assignments/port-numbers/ > */
25 #define UDP_PORT_WSP 9200 /* wap-wsp */
26 #define UDP_PORT_WSP_RANGE "2948,9200" /* wap-wsp */
27 #define UDP_PORT_WTP_WSP 9201 /* wap-wsp-wtp */
28 #define UDP_PORT_WTLS_WSP 9202 /* wap-wsp-s */
29 #define UDP_PORT_WTLS_WTP_WSP 9203 /* wap-wsp-wtp-s */
30 #define UDP_PORT_WSP_PUSH 2948 /* wap-wsp */
31 #define UDP_PORT_WTLS_WSP_PUSH 2949 /* wap-wsp-s */
32 #define UDP_PORT_WTLS_RANGE "2949,9202-9203" /* wap-wsp */
33 
34 /*
35  * Note:
36  * There are four dissectors for the WAP protocol:
37  * WTLS
38  * WTP
39  * WSP
40  * WMLC
41  * Which of these are necessary is determined by the port number above.
42  * I.e. port 9200 (wap-wsp) indicates WSP data and possibly WMLC (depending on
43  * the WSP PDU).
44  * Port 9203 (wap-wsp-wtp-s), on the other hand, has WTLS, WTP, WSP and
45  * possibly WMLC data in that order in the packet.
46  *
47  * Therefore the dissectors are chained as follows:
48  *
49  * Port Dissectors
50  * 9200 WSP -> WMLC
51  * 9201 WTP -> WSP -> WMLC
52  * 9202 WTLS -> WSP -> WMLC
53  * 9203 WTLS -> WTP -> WSP -> WMLC
54  *
55  * 2948 WSP -> WMLC (Push)
56  * 2949 WTLS -> WSP -> WMLC (Push)
57  *
58  * At present, only the unencrypted parts of WTLS can be analysed. Therefore
59  * the WTP and WSP dissectors are not called.
60  */
61 
62 /* Utility function for reading Uintvar encoded values */
63 guint tvb_get_guintvar (tvbuff_t *, guint , guint *, packet_info *, expert_field *);
64 
65 /*
66  * Misc TODO:
67  *
68  * WMLC Dissector
69  * Check Protocol display
70  * Check Protocol information display
71  * Check CONNECT/CONNECT REPLY headers
72  * Check add_headers code
73  * Check Content-Length code
74  *
75  */
76 
77 #endif /* packet-wap.h */
Definition: packet_info.h:44
Definition: expert.h:39
Definition: tvbuff-int.h:35