Custom vendor-specific diameter dictionary xml

asked 2019-06-04 12:00:09 +0000

Hi there,

I'm struggling with adding a vendor-specific diameter dictionary on Debian Linux

$ wireshark -v
Wireshark 2.6.8 (Git v2.6.8 packaged as 2.6.8-1.1)

Copyright 1998-2019 Gerald Combs <[email protected]> and contributors.
License GPLv2+: GNU GPL version 2 or later <http://www.gnu.org/licenses/old-licenses/gpl-2.0.html>
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Compiled (64-bit) with Qt 5.11.3, with libpcap, with POSIX capabilities (Linux),
with libnl 3, with GLib 2.58.3, with zlib 1.2.11, with SMI 0.4.8, with c-ares
1.14.0, with Lua 5.2.4, with GnuTLS 3.6.7, with Gcrypt 1.8.4, with MIT Kerberos,
with MaxMind DB resolver, with nghttp2 1.37.0, with LZ4, with Snappy, with
libxml2 2.9.4, with QtMultimedia, with SBC, with SpanDSP, without bcg729.

Running on Linux 4.19.0-4-amd64, with Intel(R) Core(TM) i5-7300U CPU @ 2.60GHz
(with SSE4.2), with 15901 MB of physical memory, with locale en_US.UTF-8, with
libpcap version 1.8.1, with GnuTLS 3.6.7, with Gcrypt 1.8.4, with zlib 1.2.11,
binary plugins supported (0 loaded).

Built using gcc 8.3.0.

I've tried to add

  • <!ENTITY Acision SYSTEM "Acision.xml"> and &Acision; directly to diameter.xml and / or Custom.xml

I guess the problem might be that the AVP name are duplicated in TGPP / dictionary.xml

e.g.

in dictionary.xml is

<avp name="Content-Class" code="1220" may-encrypt="no" protected="mustnot" vendor-bit="must" vendor-id="TGPP">
       <type type-name="Enumerated"/>
       <enum name="text" code="0"/>
       <enum name="image-basic" code="1"/>
       <enum name="image-rich" code="2"/>
       <enum name="video-basic" code="3"/>
       <enum name="video-rich" code="4"/>
       <enum name="megapixel" code="5"/>
       <enum name="content-basic" code="6"/>
       <enum name="content-rich" code="7"/>
</avp>

while in vendor-specific and included Acision.xml is

  <avp name="Content-Class" code="1220" mandatory="must" vendor-id="10415">
       <type type-name="Enumerated"/>
       <enum name="Picture" code="101"/>
       <enum name="Audio" code="102" />
       <enum name="Video" code="103" />
       <enum name="Text" code="104" />
       <enum name="RingTone" code="105" />
       <enum name="Multi" code="106" />
       <enum name="Empty" code="107" />
       <enum name="Other" code="108" />
  </avp>

The first will be always the chosen one.

Is it possible to set some higher priority to the vendor-specific dictionary?

Thank you

edit retag flag offensive close merge delete

Comments

Why not just add the missing enums to dictionary.xml?

Anders gravatar imageAnders ( 2019-06-04 15:35:20 +0000 )edit

I am trying to find the "correct" approach. Include should work. Also as you see name and code are same and just the vendor ID is different. So if added directly to directory.xml, how? and would it prevail the upgrade of wireshark? I guess, not.

bartelp gravatar imagebartelp ( 2019-06-04 16:03:05 +0000 )edit