Wireshark-dev: Re: [Wireshark-dev] Adding libxml2 as optional Wireshark dependency
On 5 April 2017 at 15:30, Ahmad Fatoum <ahmad@xxxxxx> wrote:
I can't comment on the Windows binary distribution issue but Pascal's suggestion of using SUSE's sounds promising. I will attempt building on Windows and comment on the Gerrit issue later today.
Ethernet POWERLINK specifies XML Device Description (XDD) as its sole format [1].
I see the format specifies an xsd, are you using LibXml2 in "validation" mode to ensure the device XML files are well-formed?
EDS (Windows .ini-like format) files are used occasionally, owing to its CANopen roots, but are much less common in usage. Commercial tools as well as openPOWERLINK generate XML files.
The revised dissector [2] also supports EDS via Glib's GKeyFile unconditionally.
[1] http://www.ethernet-powerlink.org/en/downloads/technical-doc uments/action/open-download/ download/epsg-311-v110-ds-xml- device-description/?no_cache=1
[2] https://github.com/epl-viz/dissector (Needs to be converted back to a static dissector)
On Wed, Apr 5, 2017 at 3:38 PM, Graham Bloice <graham.bloice@xxxxxxxxxxxxx> wrote:
Thanks for the post,
On 5 April 2017 at 14:11, Ahmad Fatoum <ahmad@xxxxxx> wrote:
Hello everyone,
I was advised on Gerrit to post this issue here as to garner wider input.
This concerns proposed Change-Id I13c0a2f408fb5c21bad7ab3d7971e0fa8ed7d783 [1] intending to add libxml2 as optional dependency to Wireshark.
I am currently preparing to submit upstream, changes I did to the EPL v2 dissector (packet-epl.c).A significant change is the ability to optionally read in user-supplied XML device descriptions and to extract type/description/mapping information for aiding the dissection. See this previous submission of mine to the mailing list: https://www.wireshark.or
g/lists/wireshark-dev/201701/m sg00154.html
Seeing as there also has been interest for libxml2 support in dissectors in the past:
https://www.wireshark.org/list
s/wireshark-dev/201005/msg0010 8.html https://ask.wireshark.org/ques
tions/36063/using-libxml2-in-m y-own-dissector
I think, it would be a good idea to have this as optional dependency as Glib's GMarkup may be inadequate or inconvenient for parsing actual XML.
Looking forward to your feedback.
Best regards,
Ahmad Fatoum
1. Where will the Windows binaries come from and are these supported long term? The libXml2 downloads page indicates another site provides Windows binaries [1]. The binaries at that site in the 64 bit directory seem to be the most recent and are labelled as libXml2-2.9.3 [2]. The current release of libXml2 is 2.9.4 which has a number of security fixes among other bug fixes and enhancements [3] so it would appear that the Windows binaries are not being maintained.
2. According to the diagram at [1], libXml2 depends on iconv and zlib. We currently build our own zlib, will that be suitable for the libXml2 dependency? What will be the source of the iconv binary (iconv-1.14 is available in the same download area as libXml2 [2])?
3. The readme.txt in the download area ([2]) has some "interesting" text:These are experimental 64bit binaries. For completeness, 32bit binaries built using the same method are also included. The libraries in these packages are made using GCC (MinGW) toolchain. It is presently not possible to use these libraries with any recent version of the Microsoft Visual C compiler because of conflicting C-runtimes. To help you resist the temptation, the import libraries (.LIB) are not provided at all. If you need these libraries in an environment which mandates the use of the Microsoft toolchain, you will have to build them from source yourself.and inspection of the download shows this is true, so it appears that we'll need to rebuild to obtain the import .lib file.4. Microsoft have a Visual Studio porting effort underway called vcpkg [4], that does include libXml2, but unfortunately is only for VS2015 or later. If we move to VS2015 for main releases (post 2.4 release) then this may be a viable source for libXml2 and other packages we use. It might be possible to use this to build VS2013 libXml2.
5. Are there any manufacturers or tools that produce XML device description files for the EPL dissector such that choosing XML as the input format is the most sensible choice, or would another format be just as applicable?
[4]: https://github.com/Microsoft/vcpkg
--
Graham Bloice
--
Graham Bloice
- References:
- [Wireshark-dev] Adding libxml2 as optional Wireshark dependency
- From: Ahmad Fatoum
- Re: [Wireshark-dev] Adding libxml2 as optional Wireshark dependency
- From: Graham Bloice
- Re: [Wireshark-dev] Adding libxml2 as optional Wireshark dependency
- From: Ahmad Fatoum
- [Wireshark-dev] Adding libxml2 as optional Wireshark dependency
- Prev by Date: Re: [Wireshark-dev] Adding libxml2 as optional Wireshark dependency
- Next by Date: Re: [Wireshark-dev] Adding libxml2 as optional Wireshark dependency
- Previous by thread: Re: [Wireshark-dev] Adding libxml2 as optional Wireshark dependency
- Next by thread: Re: [Wireshark-dev] Adding decryption keys at "runtime" (dissection time)
- Index(es):