aboutsummaryrefslogtreecommitdiffstats
path: root/epan
AgeCommit message (Collapse)AuthorFilesLines
2016-06-19[Automatic update for 2016-06-19]Gerald Combs2-23/+223
Update manuf, services enterprise-numbers, translations, and other items. Change-Id: Idd2d53a32188f2e607351da874b1a68a4811ed57 Reviewed-on: https://code.wireshark.org/review/16014 Reviewed-by: Gerald Combs <gerald@wireshark.org>
2016-06-19Revert "tap: change glib functions to wmem."Pascal Quantin8-56/+44
This reverts commit 2e9f3c5d366eaa7139fc877b5301392166b3f985. It breaks the registration of codec, dissector and libwiretap plugins. Change-Id: I4ef91dd192f765adf87ea9fe9f3693e25dbd24de Reviewed-on: https://code.wireshark.org/review/16012 Petri-Dish: Pascal Quantin <pascal.quantin@gmail.com> Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
2016-06-19Add modelinesJoerg Mayer1-0/+13
Change-Id: I3d5ed2e671ec761f3628fb8de6f393fdc915165e Reviewed-on: https://code.wireshark.org/review/16011 Reviewed-by: Jörg Mayer <jmayer@loplof.de>
2016-06-19Calculate and print CWmin and CWmax in addition to ECWmin and ECWmaxJoerg Mayer1-3/+22
This also changes the summary presentation to make it more compact Change-Id: I27ef8b2da280e36cff84dcb97d6d40dc0015a74b Reviewed-on: https://code.wireshark.org/review/16000 Reviewed-by: Jörg Mayer <jmayer@loplof.de>
2016-06-19cmake: add PIDL dissector generation supportPeter Wu3-30/+171
The dissectors list is generated based on regex magic on pidl/Makefile. A dssetup.cnf file is added because all other protocols already have this file. The srvsvc and wkssvc protocols cannot be built for some reason, so just disable it (this mirrors the original Makefile). Add frsrpc and samr to PIDL_DISSECTOR_SRC list which was missing compared to autotools. Tested with an out-of-tree and in-tree build with cmake (make and ninja): cmake -GNinja && ninja -v pidl-dissectors touch epan/dissectors/pidl/dfs/dfs.idl && ninja generate_dissector-dcerpc-dfs cmake . && make -C epan/dissectors/pidl generate_dissector-dcerpc-dfs Change-Id: Id8bf34e76c20053a8a393024560d90a048473e03 Reviewed-on: https://code.wireshark.org/review/15962 Petri-Dish: Peter Wu <peter@lekensteyn.nl> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Anders Broman <a.broman58@gmail.com>
2016-06-18DCE/RPC: fix array of pointers with NULLBinh Trinh16-20/+70
Change-Id: Ie89f8fd4ec744d427d41866206d5a6784c5b224f Reviewed-on: https://code.wireshark.org/review/16004 Petri-Dish: Jaap Keuter <jaap.keuter@xs4all.nl> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Michael Mann <mmann78@netscape.net>
2016-06-18ZigBee dissector added support for the Power Negotiation bitChris Brandson2-0/+8
An update to R22 adds the Power Negotiation bit to the Parent Information of the End Device Timeout Response Change-Id: I3d423e1088821ccaba98183e2be7f2152bd659d1 Reviewed-on: https://code.wireshark.org/review/16001 Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com> Petri-Dish: Pascal Quantin <pascal.quantin@gmail.com> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Michael Mann <mmann78@netscape.net>
2016-06-18GTPv2: Use proto_tree_add_bitmaskMichael Mann1-14/+9
Change-Id: I236a3513237a7a977389438adaf381542281943d Reviewed-on: https://code.wireshark.org/review/15997 Reviewed-by: Michael Mann <mmann78@netscape.net>
2016-06-17MKA: tvbrange for all subtrees correctedSamiran Saha1-15/+16
* Incorrect tvbrabge was affecting highlight on selection. * AN & Confidentiality Offset dissection fixed. Change-Id: Ibc4422322b765b0073471345f6e0bc3b1aeba2f9 Reviewed-on: https://code.wireshark.org/review/15996 Reviewed-by: Anders Broman <a.broman58@gmail.com>
2016-06-17ssh: add RSA host key printingKenny Root1-3/+20
Adds a dissector for the ssh-rsa type of public key where the modulus and public exponent are extracted out. Change-Id: I10b1f2d6f41878d9f7ffe5d399b9b7d4f69ad96e Reviewed-on: https://code.wireshark.org/review/15975 Reviewed-by: Anders Broman <a.broman58@gmail.com>
2016-06-17ssh: add hostkey informationKenny Root1-6/+56
Adds a framework for hostkey to be printed out separately from the rest of the key exchange. This will allow for individual key information to be presented separately in subsequent changes. Change-Id: I27433772ef1a9e1c45f388809017ed07cf6e41fa Reviewed-on: https://code.wireshark.org/review/15974 Petri-Dish: Anders Broman <a.broman58@gmail.com> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Anders Broman <a.broman58@gmail.com>
2016-06-17Diameter-3GPP: add AVP 21 RAT-Type decodingBinh Trinh1-0/+42
Change-Id: Ibede796a52bb382525bc1f430d5fdecd555c233f Reviewed-on: https://code.wireshark.org/review/15993 Reviewed-by: Michael Mann <mmann78@netscape.net> Petri-Dish: Michael Mann <mmann78@netscape.net> Reviewed-by: Anders Broman <a.broman58@gmail.com>
2016-06-17Add an expert item to asure that aifsn is at least 2Joerg Mayer1-0/+7
Change-Id: If7105ba2e476acca8a02ce740decc4966b0af1bb Reviewed-on: https://code.wireshark.org/review/15998 Reviewed-by: Jörg Mayer <jmayer@loplof.de>
2016-06-17tap: change glib functions to wmem.Dario Lombardo8-44/+56
Change-Id: I878ae6b121a669f9b7f4e1e57bc079f0cb44c0bf Reviewed-on: https://code.wireshark.org/review/15270 Petri-Dish: Dario Lombardo <lomato@gmail.com> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Evan Huus <eapache@gmail.com> Reviewed-by: Anders Broman <a.broman58@gmail.com>
2016-06-17GTPV2: add decoding of ECI into enodebid and cellidBinh Trinh1-1/+24
Change-Id: If46cc354e202ff9a126580bf742d747e42678f83 Reviewed-on: https://code.wireshark.org/review/15994 Petri-Dish: Anders Broman <a.broman58@gmail.com> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Anders Broman <a.broman58@gmail.com>
2016-06-17tshark JSON and Elasticsearch outputMartin Kacer2-1/+587
Added ouput -T for json|ek Added -j switch fo filter EK json|ek fields. Added -x switch to work with json|ek to insert raw fields. Bug: 11754 Change-Id: Iad5a9092b843c074b0b774d1745fa14fca09f6b7 Reviewed-on: https://code.wireshark.org/review/15869 Reviewed-by: Jaap Keuter <jaap.keuter@xs4all.nl> Petri-Dish: Jaap Keuter <jaap.keuter@xs4all.nl> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Anders Broman <a.broman58@gmail.com>
2016-06-17idl2wrs: fix more bad strndupsPeter Wu1-11/+11
Fixed another g_strndup case that truncated the name and replaced more by strdups when possible. Change-Id: Id7ce4d82da9fb1d0071bc7a6b4e7c2062bf77f55 Reviewed-on: https://code.wireshark.org/review/15988 Reviewed-by: Anders Broman <a.broman58@gmail.com>
2016-06-17mswsp: Remove null check (CID1355407)João Valverde1-10/+1
value->type is already asserted as not null (and probably shouldn't be). Change-Id: I574d3e7e0d5c636e6b731c1c817f2e457447afc1 Reviewed-on: https://code.wireshark.org/review/15990 Petri-Dish: João Valverde <j@v6e.pt> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Anders Broman <a.broman58@gmail.com>
2016-06-16LDSS: Add an assertion (CID280539,CID280540)João Valverde1-0/+2
Change-Id: I18082a4d45f0c320b8ee0e11139295eb1aee2c89 Reviewed-on: https://code.wireshark.org/review/15968 Petri-Dish: João Valverde <j@v6e.pt> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: João Valverde <j@v6e.pt>
2016-06-16CANopen: Check array bounds for untrusted index (CID 1356262)João Valverde1-4/+33
Change-Id: If5ca51e5703fa4137ab9f388a99d613752d3b0d0 Reviewed-on: https://code.wireshark.org/review/15983 Reviewed-by: Michael Mann <mmann78@netscape.net> Petri-Dish: Michael Mann <mmann78@netscape.net> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: João Valverde <j@v6e.pt>
2016-06-16ldap: added modify-increment operation identification in packet dissection ↵Victor Barratault4-1/+4
and generate the modified dissector dissector Change-Id: Iad745b9e0e8ab0bc055da7f26ec0822433897db7 Reviewed-on: https://code.wireshark.org/review/15977 Reviewed-by: Michael Mann <mmann78@netscape.net> Petri-Dish: Michael Mann <mmann78@netscape.net> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Anders Broman <a.broman58@gmail.com>
2016-06-16DEC DNART: Fix Dead Store (Dead assignement/Dead increment) Warning found by ↵Alexis La Goutte1-2/+0
Clang Change-Id: Ic2d333b418928351f32673890c9c432c7bfa0f16 Reviewed-on: https://code.wireshark.org/review/15982 Reviewed-by: Anders Broman <a.broman58@gmail.com>
2016-06-16SITA: Fix Dead Store (Dead assignement/Dead increment) Warning found by ClangAlexis La Goutte1-1/+1
Change-Id: I2565b0bee66f934561df506e87a35fdd14590f92 Reviewed-on: https://code.wireshark.org/review/15981 Reviewed-by: Anders Broman <a.broman58@gmail.com>
2016-06-16DCE/RPC proto_tree_add_boolean -> proto_tree_add_bitmask_valueMichael Mann6-154/+224
Change-Id: I88398aa1923e86bb83b97cc3904529a5810f6c40 Reviewed-on: https://code.wireshark.org/review/15978 Petri-Dish: Michael Mann <mmann78@netscape.net> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Michael Mann <mmann78@netscape.net>
2016-06-16Add Cisco ttag dissectorJaap Keuter5-0/+143
Add dissector for Cisco ttag protocol. Bug: 12518 Change-Id: Id17293a80b2b6827fd2d5c7ead098784c35a28ef Reviewed-on: https://code.wireshark.org/review/15964 Petri-Dish: Michael Mann <mmann78@netscape.net> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Jaap Keuter <jaap.keuter@xs4all.nl>
2016-06-16ssh: set packet lengths correctlyKenny Root1-1/+6
Each SSH packet was being set to be the remaining length of the frame. This change sets the packet lengths correctly for each SSH packet. Change-Id: Id9c2331d875465cd5e6bb788d420e0025f5d496e Reviewed-on: https://code.wireshark.org/review/15966 Petri-Dish: Anders Broman <a.broman58@gmail.com> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
2016-06-16ssh: packets after SSH_MSG_NEWKEYS are encryptedKenny Root1-1/+4
According to RFC 4253 section 7.3, once the SSH_MSG_NEWKEYS is received all packets after that will be encrypted using the negotiated keys. This can happen in the middle of a frame, so account for the offset in the frame where this happens. Change-Id: Ibc3b06a4bdfe38ae15b0e65afac6f5d3646cb58d Reviewed-on: https://code.wireshark.org/review/15965 Petri-Dish: Anders Broman <a.broman58@gmail.com> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
2016-06-16DCE/RPC proto_tree_add_boolean -> proto_tree_add_bitmask_with_flagsMichael Mann13-2314/+518
Change-Id: I8891ec90244ffd9609d8443df631a7c8e6453b7e Reviewed-on: https://code.wireshark.org/review/15942 Petri-Dish: Michael Mann <mmann78@netscape.net> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Michael Mann <mmann78@netscape.net>
2016-06-16MKA: Fix for GCM-AES-256 dissection & Added Enumeration for macsec-cipher-suiteSamiran Saha1-4/+12
Change-Id: Ief38f949d3e30754a65fbfeaa64cbbd2f5646a9b Reviewed-on: https://code.wireshark.org/review/15969 Petri-Dish: Alexis La Goutte <alexis.lagoutte@gmail.com> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Anders Broman <a.broman58@gmail.com>
2016-06-16NSH: Correct the display of the NSH header fieldsThomas Shen1-4/+4
Change-Id: I3be75d20a3f00091aa3077e475f9ddb00eeca06c Reviewed-on: https://code.wireshark.org/review/15963 Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com> Petri-Dish: Alexis La Goutte <alexis.lagoutte@gmail.com> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Anders Broman <a.broman58@gmail.com>
2016-06-16Typing error line 4928 of packet-dns.cVictor Barratault1-1/+1
Change-Id: I1a6409262614a87c159236375223707c85114650 Reviewed-on: https://code.wireshark.org/review/15972 Reviewed-by: Martin Kaiser <wireshark@kaiser.cx>
2016-06-16qt: move free_stat_tables from SimpleStatisticsDialog::fillTree to ↵Dario Lombardo16-47/+73
~SimpleStatisticsDialog. Add a reference count to stat_tap_table_ui to prevent bad deallocations. Bug: 12437 Change-Id: Ib9b1f929d08a574c306dc755ec416ab94a3fd6d3 Reviewed-on: https://code.wireshark.org/review/15920 Reviewed-by: Peter Wu <peter@lekensteyn.nl> Petri-Dish: Peter Wu <peter@lekensteyn.nl> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Anders Broman <a.broman58@gmail.com>
2016-06-16Update the X11 dissector to use the latest mesa and xcbproto.Jeff Morriss6-13/+107
Change-Id: Ia1395cffaebbcf6585b9167861d8c3b4d86cf821 Reviewed-on: https://code.wireshark.org/review/15923 Petri-Dish: Alexis La Goutte <alexis.lagoutte@gmail.com> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Anders Broman <a.broman58@gmail.com>
2016-06-16X11: Fix last indent issue on X11 generatorAlexis La Goutte2-4678/+4678
and regenerate X11 dissector Change-Id: If2c781d346713f5a2a2e97de84c0fedcfd1958af Reviewed-on: https://code.wireshark.org/review/15944 Reviewed-by: Anders Broman <a.broman58@gmail.com>
2016-06-16x11: Regenerate dissector after indent change on g2b8caf31ccaAlexis La Goutte1-565/+565
Change-Id: Iac1522998c5983b417a0083b9c607a60e7f66e8c Reviewed-on: https://code.wireshark.org/review/15943 Reviewed-by: Anders Broman <a.broman58@gmail.com>
2016-06-16Don't call g_ascii_strcasecmp() with an NULL string.AndersBroman1-8/+8
Change-Id: I6efbdcb51efe5f2db233827e32e2105db6322d6c Reviewed-on: https://code.wireshark.org/review/15946 Reviewed-by: Anders Broman <a.broman58@gmail.com>
2016-06-16mongo: return the number of bytes we actually consumedMartin Kaiser1-2/+3
even if the document length is 0, we consumed at least 4 bytes for the length field bug: 12534 Change-Id: I2f1612bf575b558c1bcc0afe8202b202747846e3 Reviewed-on: https://code.wireshark.org/review/15934 Reviewed-by: Anders Broman <a.broman58@gmail.com>
2016-06-15idl2wrs: fix code generationPeter Wu1-39/+39
Fixes a regression from v1.99.9rc0-470-g87f2bd4 which truncated function names to 26 characters. Test: cd epan/dissectors/dcerpc/budb make IDL2WRS=/tmp/wsbuild/run/idl2wrs diff packet-dcerpc-budb.c ../../packet-dcerpc-budb.c While at it, replace all g_strndup(X, strlen(X)) occurrences with g_strdup(X) since that is the same thing and less redundant. Change-Id: Id8da45792c830e2287cf8f14ff6245149751afd2 Reviewed-on: https://code.wireshark.org/review/15939 Petri-Dish: Peter Wu <peter@lekensteyn.nl> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com> Reviewed-by: Anders Broman <a.broman58@gmail.com>
2016-06-15proto.c: allow calling proto_item_add_bitmask_tree() with a length set to 0Pascal Quantin1-1/+1
This is required for the flags from packet-frame.c Bug: 12536 Change-Id: I60bfe671687bcd3a9b5c997ba62bed563e890548 Reviewed-on: https://code.wireshark.org/review/15945 Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com> Reviewed-by: Michael Mann <mmann78@netscape.net>
2016-06-15capture info (wslua): Dereference of null pointerAlexis La Goutte1-0/+2
Change-Id: Iced579d5acaefa9d1c8e3775a53916773bf87659 Reviewed-on: https://code.wireshark.org/review/15929 Petri-Dish: Alexis La Goutte <alexis.lagoutte@gmail.com> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Peter Wu <peter@lekensteyn.nl>
2016-06-15ZigBee: decode ZBOSS traffic dump and Interpan frames as ZigBee.dsrsupport2-2/+9
If decoded ZBOSS traffic dump, sure this is ZigBee, so bypass heuristic. If decoding air sniffer dump, try to go thru heuristic by checking for ext address src mode required for interpan. Change-Id: Iddf799400a4cf0fd73714f06b99e3d11c8cb2e60 Reviewed-on: https://code.wireshark.org/review/15921 Reviewed-by: Michael Mann <mmann78@netscape.net> Petri-Dish: Michael Mann <mmann78@netscape.net> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Anders Broman <a.broman58@gmail.com>
2016-06-15diameter (3GPP): Fix Dead Store (Dead assignement/Dead increment) Warning ↵Alexis La Goutte1-1/+1
found by Clang Change-Id: Iaa74265df66455528c86658a26812876574a904a Reviewed-on: https://code.wireshark.org/review/15927 Petri-Dish: Alexis La Goutte <alexis.lagoutte@gmail.com> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Anders Broman <a.broman58@gmail.com>
2016-06-15ZigBee: add support for inter-pan transmissions.dsrsupport6-204/+225
Added dissection of inter-pan nwk and aps stub to be used to decode ZLL commissioning cluster. Change-Id: I871016a93854f1caf2f14f2f84e5397de5f1e2ff Reviewed-on: https://code.wireshark.org/review/15918 Reviewed-by: Michael Mann <mmann78@netscape.net> Petri-Dish: Michael Mann <mmann78@netscape.net> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
2016-06-15Remove Nmake build systemPascal Quantin126-3872/+3
Change-Id: I3bd474f3cda9667dec66426b5729449953df3e61 Reviewed-on: https://code.wireshark.org/review/15777 Petri-Dish: Pascal Quantin <pascal.quantin@gmail.com> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Jörg Mayer <jmayer@loplof.de> Reviewed-by: Balint Reczey <balint@balintreczey.hu>
2016-06-15zbee-nwk: don't THROW() an exception from a dissectorMartin Kaiser1-1/+1
we already have an expert info, so we can just return the number of bytes in the tvb Change-Id: I6199760316d7ef141877bc8f65012d36e4dd357b Reviewed-on: https://code.wireshark.org/review/15925 Reviewed-by: Anders Broman <a.broman58@gmail.com>
2016-06-15Display "IP DSCP" column as short textJoão Valverde3-4/+5
Ping-Bug: 12429 Change-Id: I618b2017e161d89f0efa25ce2fb82a1808e8d315 Reviewed-on: https://code.wireshark.org/review/10701 Reviewed-by: João Valverde <j@v6e.pt>
2016-06-15proto_tree_add_boolean -> proto_tree_add_bitmask_list_valueMichael Mann11-332/+322
Change-Id: Ic644042d238b5f2abcd874bca92c6dea55804ba9 Reviewed-on: https://code.wireshark.org/review/15913 Petri-Dish: Michael Mann <mmann78@netscape.net> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Michael Mann <mmann78@netscape.net>
2016-06-15More Sysdig / system event support.Gerald Combs3-10/+55
Add REC_TYPE_SYSCALL to wiretap and use it for Sysdig events. Call the Sysdig event dissector from the frame dissector. Create a "syscall" protocol for system calls, but add "frame" items to it for now. Add the ability to write Sysdig events. This lets us merge packet capture and syscall capture files. Change-Id: I12774ec69c89d8e329b6130c67f29aade4e3d778 Reviewed-on: https://code.wireshark.org/review/15078 Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Anders Broman <a.broman58@gmail.com>
2016-06-15Let the calculated window scale be 16 bit wide.Jaap Keuter1-1/+1
Even though TCP window scale shift is only 8 bits, the scale calculated from it is max 16384. therefor a 16 bit value. Let the tree item map to the single byte in the TVB, while allowing the value to be 16 bit. Bug: 12525 Change-Id: I41cebc62f6b8b09e13efa5f3b7432001e8d994e1 Reviewed-on: https://code.wireshark.org/review/15914 Petri-Dish: Jaap Keuter <jaap.keuter@xs4all.nl> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Michael Mann <mmann78@netscape.net>
2016-06-15Allow control of individual columns to be (un)writable.Michael Mann37-153/+163
Most protocols just want to limit COL_INFO or COL_PROTOCOL so give that level of granularity. Bug: 12144 Bug: 5117 Bug: 11144 Change-Id: I8de9b7d2c69e90d3fbfc0a52c2bd78c3de58e2f8 Reviewed-on: https://code.wireshark.org/review/15894 Reviewed-by: Jeff Morriss <jeff.morriss.ws@gmail.com> Petri-Dish: Anders Broman <a.broman58@gmail.com> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Anders Broman <a.broman58@gmail.com>