Ethereal-dev: MMSE problem (was Re: [Ethereal-dev] Strange assertion)

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

From: "Olivier Biot" <ethereal@xxxxxxxxxx>
Date: Wed, 22 Dec 2004 19:58:10 +0100
Hello Christophe,

As a matter of fact, I looked at the packet with Ethereal, not tethereal. i could then jump to the reassembled packet and peek into it.

this way I could spot several errors, like the erratic address and an incorrect MMS version (the X-Mms-Previously-Sent-Date header was first defined in MMS 1.1). I could not find the User-Agent string of the MMS phone in the provided capture (the WSP Connect PDU was not present).

And I just realized I incorrectly formulated the address format error in my previsous post: the problem is the extraneous 0x00 octet between the MSISDN and the address type qualifier "/TYPE=PLMN" in the "To" header value.

Please note that it is normal that Ethereal takes lots of time dissecting this packet, as reassembly occurs over 92 packets!

[For the people having compiled Ethereal with profiling enabled, it would be interesting to see the profiling results with this packet capture, when the user repeatedly clicks on frame 112's WSP or MMSE content!]

Best regards,

Olivier

----- Original Message ----- From: CHARBONNIER Christophe

Thank you for your answer

But could you tell me how you "take a closer look" ??
I try to dissect the file with tethereal, with the "-V" option set to go deep inside the packets, but the only thing I can see is all the preceding packets well decoded, and then, the assertion raises on decoding of frame 112. But I have no information at all about this particular frame !

Without the -V option, I can see it's a MMS m-send-req frame, but that's all...

Anyway, I tried to understand a little closer about the code which raises the assertion: I found that the "dissect_mmse" function is guilty, when dissecting the "X-Mms-Previously-Sent-Date" header... But now, I cannot go any further because, as I told before, I am not able to see any of the already dissected information... (I suspect the phone used to send the MMS to not correctly format its MMSE-packets)

Any help on that would be appreciated

-----Original Message-----
From: Olivier Biot

Christophe,

This packet looks very odd. Upon closer inspection I suspect some code incorrectly translates the address from WAP Puah format (as used over PAP) to MSISDN format: take a closer look at the extraneous string "/TYPE=PLMN"
after the trailing zero octet.

Probably this is a capture of a prototype system. Anyway, the 500 server error in packet 114 confirms my findings (malformed MMSE packet). Try fixing that address isssue, and then perform another capture. Hopefully that one will yield positive results!

Best regards,

Olivier

----- Original Message -----
From: ronnie sahlberg

there were a couple of things wrong in the dissector which caused it
to dump core.
i have checked in fixes for the dissector so it does not dump core any
more.

thanks for the example capture.



On Tue, 21 Dec 2004 16:24:23 +0100, CHARBONNIER Christophe Christophe
Charbonnier wrote:
Hi everyone,

I have a MMSE transaction which makes (t)ethereal to stop on an
assertion:
=====================================================================
===
=======
** ERROR **: file proto.c: line 1296 (proto_tree_add_string):
assertion
failed: (hfinfo->type == FT_STRING || hfinfo->type == FT_STRINGZ)
=====================================================================
===
=======

With some little investigations, I figured out that hfinfo->type is
set to 15 (FT_ABSOLUTE_TIME [date/time]) on this particular frame
(number 112). The assertion is then understood.
But why is this packet wrong ??

Could some-one tell me more about it ???

The capture-file is attached...

Thank you for your help
Christophe