Ethereal-users: Re: Re: [Ethereal-users] Issue with decode of H.245 UserInputIndication -Malform

Note: This archive is from the project's previous web site, ethereal.com. This list is no longer active.

Date: Tue, 7 Oct 2003 17:53:56 +0200
Martin Regner wrote:
>Ronnie Sahlberg wrote:
> > Can you provide a capture showing the problem with the decode?
> > 
> > 
> > > Trying out the new H.245 support in Ethereal 0.9.15 and may have found an
> > > issue with the decoding of H.245 UserInputIndication messages (UII).  The
> > > decode reports a malformed packet:
> > >
> > > H.245
> > >     MultimediaSystemControlMessage
> > >         PDU Type: .11. .... : Indication (3)
> > >             IndicationMessage
> > >                 Indication Type: .... 1101 : UserInputIndication (13)
> > >                     UserInputIndication
> > >                         signal
> > >                             UserInputIndication_signal
> > > [Malformed Packet: H245]
> > >
> > > I believe the packet is correctly formed because the UII is successfully
> > > decoded by the far end gateway.
> > >
> 
> 
> Yes there is a problem with Signal. Signal element is always an IA5 String with length 1, not a variable length. There is a fault in h245.c.
> 


ooops ... not IA5String, but restricted character string


> I can send a sample capture later on. I cannot find the capture right now.
> 
> I sent a patch for solving this and some other issues a couple of weeks ago. Andreas Sikkema didn't have time to look at it at that time. 
> 
> Some part of my patch is not needed anymore, due to changes done by someone else (regarding NonStandardData).
> 
> I'm out travelling right now, so I haven't been able to look more into the IA5String stuff that I tried to patch also with my patch.
> 

I have attached a sample capture and a patch that I think will solve the problem (It´s one of the patches I sent a couple of weeks ago).


/Martin

Attachment: extract.pcap
Description: Binary data

--- packet-h245.c	2003-09-06 03:17:10.000000000 +0200
+++ packet-h245.c_martin	2003-09-21 14:36:28.000000000 +0200
@@ -18418,7 +18418,7 @@
 static int
 dissect_h245_signalType(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
 {
-	offset=dissect_per_restricted_character_string(tvb, offset, pinfo, tree, hf_h245_signalType, 1, 128, "!#*0123456789ABCD", 17);
+	offset=dissect_per_restricted_character_string(tvb, offset, pinfo, tree, hf_h245_signalType, 1, 1, "!#*0123456789ABCD", 17);
 
 	return offset;
 }