|
Hi Yury,
The MIME multipart dissector Anders and
myself have contributed is RFC compliant, and contains its operation mode in the
comment section at the top of the source file:
* General format of a MIME multipart
document:
* [ preamble line-end ] * dash-boundary transport-padding line-end * body-part * *encapsulation * close-delimiter transport-padding * [ line-end epilogue ] * * Where: * dash-boundary := "--" boundary * encapsulation := delimiter transport-padding line-end body-part * delimiter := line-end body-part * close-delimiter := delimiter "--" * body-part := MIME-part-headers [ line-end *OCTET ] * transport-padding := *LWSP-char * * Note that line-end is often a LF instead of a CRLF. As you can see, you MUST add a line-end
sequence if you add bytes *before* the first boundary sequence. Should you not
do so, then you cannot detect the end of your preamble! Also note that you MUST
NOT add a line-end sequence after the final boundary sequence... unless you want
to transmit an epilogue.
Regards,
Olivier
----- Original Message ----- From: Chernishov Yury | Hello! | | I check my implementation of SIP client. | You completely right, that it was error in our code! | That's mean, that ethereal works o'k with SIP header. | Now I check second problem (error with boundary). | | Best Regards! | Yury. | | | -----Original Message----- | From: Anders Broman | | Hi, | I checked in a change to packet-sip.c to remove any spaces before the | parameter in the line ( space after ; ) : | Content-type: multypart/mixed ; boundary.... | Are you saying this didn't work ? I coundn't test it as packet 3 in your | trace isn't decoded because of the wrongly coded(?) SIP URI. | Could you apply your changes to the latest CVS version of packet-sip.c and | try it, or send a diff -u file and I could try it out. | | Best regards | Anders | | -----Original Message----- | From: Chernishov Yury | | Hi! | | Does SIP-T part works for you? I mean multupart/mixed dissection. | As far as I can judge, packet-multupart.c receive wrong data | from packet-sip.c about "boundary" value | (the problem is "space" character before "bondary" value)! | Therefore packet-multipart.c can not separate | different multipart from each other correctly! | | Can somebody send me trace for ethereal, if it works for you? | | | | | -----Original Message----- | From: Jeff Morriss| | Anders Broman (AL/EAB) wrote: | | > Hi, | > Note that this is only affecting SIP-T. | > With the present code a line in the GUI containing a SIP/application/isup | would look like : | > | > 13 0.302286 10.28.2.11 10.28.1.11 SIP/ISUP Status: 183 Session | Progress, ISUP:reserved | > Without "ISUP" it'd look : | > | > 13 0.302286 10.28.2.11 10.28.1.11 SIP/ISUP Status: 183 Session | Progress, reserved | > | > I thought with the former it was clearer that "reserved" belonged to the | ISUP dissection rather than to SIP. | > But feel free to change it if you like, I have no strong preferenses | either way. | | Oops, my bad. I thought this change was in 'dissect_isup()', not in | 'dissect_application_isup()' (I keep forgetting that there are multiple | entry points in the ISUP dissector). Sorry for the noise. |
Powered by MHonArc 2.6.10