2001-02-13 00:17:55 +00:00
|
|
|
/* packet-wap.h
|
2000-11-04 03:30:41 +00:00
|
|
|
*
|
|
|
|
* Declarations for WAP packet disassembly
|
|
|
|
*
|
2004-07-18 00:24:25 +00:00
|
|
|
* $Id$
|
2000-11-04 03:30:41 +00:00
|
|
|
*
|
|
|
|
* Ethereal - Network traffic analyzer
|
2001-12-03 02:10:31 +00:00
|
|
|
* By Gerald Combs <gerald@ethereal.com>
|
2000-11-04 03:30:41 +00:00
|
|
|
* Copyright 1998 Gerald Combs
|
|
|
|
*
|
2001-02-13 00:17:55 +00:00
|
|
|
* WAP dissector based on original work by Ben Fowler
|
|
|
|
* Updated by Neil Hunter <neil.hunter@energis-squared.com>
|
|
|
|
* WTLS support by Alexandre P. Ferreira (Splice IP)
|
2002-08-28 21:04:11 +00:00
|
|
|
*
|
2000-11-04 03:30:41 +00:00
|
|
|
* This program is free software; you can redistribute it and/or
|
|
|
|
* modify it under the terms of the GNU General Public License
|
|
|
|
* as published by the Free Software Foundation; either version 2
|
|
|
|
* of the License, or (at your option) any later version.
|
2002-08-28 21:04:11 +00:00
|
|
|
*
|
2000-11-04 03:30:41 +00:00
|
|
|
* This program is distributed in the hope that it will be useful,
|
|
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
* GNU General Public License for more details.
|
2002-08-28 21:04:11 +00:00
|
|
|
*
|
2000-11-04 03:30:41 +00:00
|
|
|
* You should have received a copy of the GNU General Public License
|
|
|
|
* along with this program; if not, write to the Free Software
|
|
|
|
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef __PACKET_WAP_H__
|
|
|
|
#define __PACKET_WAP_H__
|
|
|
|
|
2001-02-13 00:17:55 +00:00
|
|
|
#include <glib.h>
|
2002-01-21 07:37:49 +00:00
|
|
|
#include <epan/packet.h>
|
2001-02-13 00:17:55 +00:00
|
|
|
|
2000-11-04 03:30:41 +00:00
|
|
|
/* Port Numbers as per IANA */
|
2004-02-28 22:56:36 +00:00
|
|
|
/* < URL:http://www.iana.org/assignments/port-numbers/ > */
|
2000-11-04 03:30:41 +00:00
|
|
|
#define UDP_PORT_WSP 9200 /* wap-wsp */
|
|
|
|
#define UDP_PORT_WTP_WSP 9201 /* wap-wsp-wtp */
|
|
|
|
#define UDP_PORT_WTLS_WSP 9202 /* wap-wsp-s */
|
2001-09-28 18:59:30 +00:00
|
|
|
#define UDP_PORT_WTLS_WTP_WSP 9203 /* wap-wsp-wtp-s */
|
|
|
|
#define UDP_PORT_WSP_PUSH 2948 /* wap-wsp */
|
2001-10-19 21:34:28 +00:00
|
|
|
#define UDP_PORT_WTLS_WSP_PUSH 2949 /* wap-wsp-s */
|
2000-11-04 03:30:41 +00:00
|
|
|
|
2001-02-13 00:17:55 +00:00
|
|
|
/*
|
|
|
|
* Note:
|
|
|
|
* There are four dissectors for the WAP protocol:
|
|
|
|
* WTLS
|
|
|
|
* WTP
|
|
|
|
* WSP
|
|
|
|
* WMLC
|
|
|
|
* Which of these are necessary is determined by the port number above.
|
|
|
|
* I.e. port 9200 (wap-wsp) indicates WSP data and possibly WMLC (depending on
|
|
|
|
* the WSP PDU).
|
|
|
|
* Port 9203 (wap-wsp-wtp-s), on the other hand, has WTLS, WTP, WSP and
|
|
|
|
* possibly WMLC data in that order in the packet.
|
|
|
|
*
|
|
|
|
* Therefore the dissectors are chained as follows:
|
|
|
|
*
|
|
|
|
* Port Dissectors
|
|
|
|
* 9200 WSP -> WMLC
|
|
|
|
* 9201 WTP -> WSP -> WMLC
|
|
|
|
* 9202 WTLS -> WSP -> WMLC
|
|
|
|
* 9203 WTLS -> WTP -> WSP -> WMLC
|
|
|
|
*
|
2001-09-28 18:59:30 +00:00
|
|
|
* 2948 WSP -> WMLC (Push)
|
|
|
|
* 2949 WTLS -> WSP -> WMLC (Push)
|
|
|
|
*
|
2001-02-13 00:17:55 +00:00
|
|
|
* At present, only the unencrypted parts of WTLS can be analysed. Therefore
|
|
|
|
* the WTP and WSP dissectors are not called.
|
|
|
|
*/
|
|
|
|
|
2000-11-04 03:30:41 +00:00
|
|
|
#define HF_EMPTY ( -1 )
|
|
|
|
#define ETT_EMPTY ( -1 )
|
|
|
|
|
|
|
|
enum
|
|
|
|
{
|
|
|
|
bo_big_endian = 0,
|
|
|
|
bo_little_endian = 1
|
|
|
|
};
|
|
|
|
|
2001-02-13 00:17:55 +00:00
|
|
|
/* Utility function for reading Uintvar encoded values */
|
|
|
|
guint tvb_get_guintvar (tvbuff_t *, guint , guint *);
|
|
|
|
|
|
|
|
/* Character set encoding */
|
|
|
|
extern const value_string vals_character_sets[];
|
|
|
|
|
|
|
|
/*
|
|
|
|
* Misc TODO:
|
|
|
|
*
|
|
|
|
* WMLC Dissector
|
|
|
|
* Check Protocol display
|
|
|
|
* Check Protocol information display
|
|
|
|
* Check CONNECT/CONNECT REPLY headers
|
|
|
|
* Check add_headers code
|
|
|
|
* Check Content-Length code
|
2002-08-28 21:04:11 +00:00
|
|
|
*
|
2001-02-13 00:17:55 +00:00
|
|
|
*/
|
|
|
|
|
2000-11-04 03:30:41 +00:00
|
|
|
#endif /* packet-wap.h */
|