From Graeme Reid: H.450 support.

svn path=/trunk/; revision=8520
This commit is contained in:
Guy Harris 2003-09-23 18:40:54 +00:00
parent 51805d0c41
commit d128a62ebb
6 changed files with 41 additions and 26 deletions

View File

@ -1849,6 +1849,10 @@ Emanuele Caratti <wiz [AT] libero.it> {
Full TACACS+ dissection
}
Graeme Reid <graeme.reid [AT] norwoodsystems.com> {
H.450 support
}
And assorted fixes and enhancements by the people listed above and by:
Pavel Roskin <proski [AT] gnu.org>

View File

@ -1,7 +1,7 @@
# Makefile.am
# Automake file for Ethereal
#
# $Id: Makefile.am,v 1.628 2003/09/20 09:41:48 guy Exp $
# $Id: Makefile.am,v 1.629 2003/09/23 18:40:54 guy Exp $
#
# Ethereal - Network traffic analyzer
# By Gerald Combs <gerald@ethereal.com>
@ -224,6 +224,7 @@ DISSECTOR_SRC = \
packet-h245.c \
packet-h261.c \
packet-h263.c \
packet-h450.c \
packet-hclnfsd.c \
packet-hpext.c \
packet-hsrp.c \

View File

@ -1,7 +1,7 @@
## Makefile for building ethereal.exe with Microsoft C and nmake
## Use: $(MAKE) /$(MAKEFLAGS) -f makefile.nmake
#
# $Id: Makefile.nmake,v 1.338 2003/09/20 08:56:56 guy Exp $
# $Id: Makefile.nmake,v 1.339 2003/09/23 18:40:54 guy Exp $
include config.nmake
include <win32.mak>
@ -165,6 +165,7 @@ DISSECTOR_SRC = \
packet-h245.c \
packet-h261.c \
packet-h263.c \
packet-h450.c \
packet-hclnfsd.c \
packet-hpext.c \
packet-hsrp.c \

View File

@ -2100,6 +2100,7 @@ B<http://www.ethereal.com>.
Hans Viens <hviens [AT] mediatrix.com>
Kevin A. Noll <knoll [AT] poss.com>
Emanuele Caratti <wiz [AT] libero.it>
Graeme Reid <graeme.reid [AT] norwoodsystems.com>
Pavel Roskin <proski [AT] gnu.org>
Georgi Guninski <guninski [AT] guninski.com>
Jason Copenhaver <jcopenha [AT] typedef.org>

View File

@ -4,7 +4,7 @@
*
* Maintained by Andreas Sikkema (andreas.sikkema@philips.com)
*
* $Id: packet-h225.c,v 1.12 2003/09/02 21:37:44 guy Exp $
* $Id: packet-h225.c,v 1.13 2003/09/23 18:40:54 guy Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@ethereal.com>
@ -472,7 +472,6 @@ static int hf_h225_tunnelledSignallingMessage = -1;
static int hf_h225_messageContent_item = -1;
static int hf_h225_messageContent = -1;
static int hf_h225_H323_UU_PDU = -1;
static int hf_h225_h4501SupplementaryService_item = -1;
static int hf_h225_h4501SupplementaryService = -1;
static int hf_h225_h245Tunneling = -1;
static int hf_h225_h245Control = -1;
@ -767,6 +766,7 @@ static gint ett_h225_user_data = -1;
static dissector_handle_t h245_handle=NULL;
static dissector_handle_t h245dg_handle=NULL;
static dissector_handle_t h4501_handle=NULL;
static guint32 ipv4_address;
static guint32 ipv4_port;
@ -3639,7 +3639,7 @@ static per_choice_t AliasAddress_choice[] = {
dissect_h225_MobileUIM },
{ 0, NULL, 0, NULL }
};
static int
int
dissect_h225_AliasAddress(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
{
offset=dissect_per_choice(tvb, offset, pinfo, tree, hf_h225_AliasAddress, ett_h225_AliasAddress, AliasAddress_choice, "AliasAddress", NULL);
@ -7603,6 +7603,30 @@ dissect_h225_messageContent(tvbuff_t *tvb, int offset, packet_info *pinfo, proto
}
static int
dissect_h225_h4501SupplementaryService_item(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
{
tvbuff_t *h4501_tvb;
guint32 h4501_offset=0;
guint32 h4501_len=0;
offset=dissect_per_octet_string(tvb, offset, pinfo, tree, -1, -1, -1, &h4501_offset, &h4501_len);
if(h4501_len){
h4501_tvb = tvb_new_subset(tvb, h4501_offset, h4501_len, h4501_len);
call_dissector(h4501_handle, h4501_tvb, pinfo, tree);
}
return offset;
}
static int
dissect_h225_h4501SupplementaryService(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
{
offset=dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_h225_h4501SupplementaryService, ett_h225_h4501SupplementaryService, dissect_h225_h4501SupplementaryService_item);
return offset;
}
static per_sequence_t tunnelledSignallingMessage_sequence[] = {
{ "tunnelledProtocolID", EXTENSION_ROOT, NOT_OPTIONAL,
dissect_h225_TunnelledProtocol },
@ -7622,22 +7646,6 @@ dissect_h225_tunnelledSignallingMessage(tvbuff_t *tvb, int offset, packet_info *
}
static int
dissect_h225_h4501SupplementaryService_item(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
{
offset=dissect_per_octet_string(tvb, offset, pinfo, tree, hf_h225_h4501SupplementaryService_item, -1, -1, NULL, NULL);
return offset;
}
static int
dissect_h225_h4501SupplementaryService(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
{
offset=dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_h225_h4501SupplementaryService, ett_h225_h4501SupplementaryService, dissect_h225_h4501SupplementaryService_item);
return offset;
}
static int
dissect_h225_h245Tunneling(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
{
@ -9485,9 +9493,6 @@ proto_register_h225(void)
{ &hf_h225_H323_UU_PDU,
{ "H323_UU_PDU", "h225.H323_UU_PDU", FT_NONE, BASE_NONE,
NULL, 0, "H323_UU_PDU sequence", HFILL }},
{ &hf_h225_h4501SupplementaryService_item,
{ "h4501SupplementaryService_item", "h225.h4501SupplementaryService_item", FT_BYTES, BASE_HEX,
NULL, 0, "h4501SupplementaryService_item octet string", HFILL }},
{ &hf_h225_h4501SupplementaryService,
{ "h4501SupplementaryService", "h225.h4501SupplementaryService", FT_NONE, BASE_NONE,
NULL, 0, "h4501SupplementaryService sequence of", HFILL }},
@ -9860,6 +9865,7 @@ proto_reg_handoff_h225(void)
h245_handle = find_dissector("h245");
h245dg_handle = find_dissector("h245dg");
h4501_handle = find_dissector("h4501");
dissector_add("udp.port", UDP_PORT_RAS1, h225ras_handle);
dissector_add("udp.port", UDP_PORT_RAS2, h225ras_handle);

View File

@ -1,8 +1,8 @@
/* packet-h225.h
* Routines for H.245 packet dissection
* Routines for H.225 packet dissection
* 2003 Tomas Kukosa
*
* $Id: packet-h225.h,v 1.1 2003/08/23 08:23:24 guy Exp $
* $Id: packet-h225.h,v 1.2 2003/09/23 18:40:54 guy Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@ethereal.com>
@ -24,3 +24,5 @@
*/
extern int dissect_h225_TransportAddress(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree);
extern int dissect_h225_AliasAddress(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree);