Ethereal

Re: [Ethereal-dev] H.225/ASN1 problem
Google
 
Web Ethereal.com

Home | Introduction | Documentation | Lists | FAQ | Development | Wiki | Bugs

Ethereal-dev: June 2006


Hello,

The problem seems to be in the per decoder, probably dissect_per_octet_string

in the case
} else if ((min_len==max_len)&&(min_len<65536)) { /* 16.7 if length is fixed and less than to 64k*/
...
if (is_per_byte_aligned){
BYTE_ALIGN_OFFSET(offset);


val_start is not updated, and if the offset was not aligned from the start, val_start points to the previous byte

                if (is_per_byte_aligned){
                        BYTE_ALIGN_OFFSET(offset);
+                       val_start = offset>>3;
                        val_length = min_len;
                        offset+=min_len*8;

seems to fix it, but it would be better if somewone with deeper knolwdge about packet-ber takes a look at it

btw it would be nice to replace "per_aligment_type_callback" with "per_alignment_type_callback" in the sources


Cvetan Ivanov wrote:
Hello,

While trying few captures with the current svn, I noticed that ip addresses and GUIDs are decoded incorrectly.

example:

we have source signall address element that looks like this:

00 01 02 03 04 05 06

where 0 means ipAddress and the IP should be 1.2.3.4 port 0x0506
but it's decoded instead as 0.1.2.3 port 0x0506

the same thing goes for the CallIdentifier -

00 01 02 .... (17 bytes) is decoded like guid 000102..., and it should be 010203...

Tested on two different linux systems. Unfortunatrly I'm not too much into asn1 and don't have idea how to debug this further.


best regards,

Cvetan


-- Cvetan Ivanov System Administrator SpectrumNet Jsc. +35929657613 Office

Powered by MHonArc 2.6.10