Ethereal-dev: [Ethereal-dev] patch for packet-dhcpv6.c

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

From: "Muhammad Muquit" <muquit@xxxxxxxxxx>
Date: Sun, 15 Aug 2004 19:12:17 -0500
The patch is against ethereal 0.10.6 pre-release and contains the following:

* In OPTION_DOMAIN_LIST (24), DNS domains will be shown as decoded domains
  instead of showing them as encoded bytes.

* Code is added to support a new option OPTION_CLIENT_FQDN as defined
  in the IETF draft "draft-volz-dhc-dhcpv6-fqdn-00.txt".  As the option code
  is not assigned yet, I used the next number 42 for unassinged codes.

* There were two checks at the beginning of dhcpv6_option(), which cause
  infinite loop if a packet is little bit out of ordinary. I commented
  them out for the time being. They are inside #if 0 right now. Please fix
  them who understands the code well. I don't have time to figure out the
  code right now, sorry.

  I'm attaching a capture "soli-adv-bad.cap" to test this.  If you load this
  packet in any unpatched ethereal, the advertise packet will cause
  infinite loop. If you load the bad packet with patched ethereal (or any
  ethereal compiled without the 2 checks I told above), you'll see "IA
  Address" is 2 bytes short.

  I'm also attaching a good "soli-ad-req-rep.cap", load it in old and
  patched ethereal to see the difference.

TODO:
    - error messages are written to stderr. change them for GUI.
    - compile and test on win32.
    - check if there's any buffer overflow or infinite loop in the code.

$ gunzip packet-dhcpv6.c.gz

  save the original copy 

$ cp packet-dhcpv6.c ethereal-0.10.6/epan/dissectors/packet-dhcpv6.c


Thanks.


--
Muhammad A Muquit . http://www.muquit.com/

Attachment: packet-dhcpv6.c.gz
Description: GNU Zip compressed data

Attachment: soli-adv-bad.cap
Description: Binary data

Attachment: soli-adv-req-rep-good.cap
Description: Binary data