The enclosed patch extends the way in which the xml dissector loads DTD
definitions. Rather than loading only a single dtd directory this patch
will cause the contents of *both* the ~/.wireshark/dtds (user) and the
/usr/local/share/wireshark/dtds (built-ins) to be loaded.
The current dtd parsing logic doesn't have any special handling for the
same DTD being defined more than once (and this patch doesn't change
that). Specifically this means you can't reliably override a built-in
DTD by installing an updated DTD in your ~/.wireshark/dtds directory.
Additionally, I wanted to create the ~/.wireshark/dtds directory if it
doesn't already exist but wasn't sure if there was a clean way to do it.
The required utilities seem to be available in 'file_utils.c' but that I
wasn't sure if a dissector should be using that functionality. Any
reason that file_utils can't be made more global?
Mike
Attachment:
alldtds.18765.patch.gz
Description: GNU Zip compressed data