aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2015-11-22Add Windows CMake auto generated files to .gitignorePascal Quantin1-2/+21
This is useful in case of in tree build. Change-Id: I91a4503221ad097fd15e32677190b36c2d483c1f Reviewed-on: https://code.wireshark.org/review/12045 Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
2015-11-22Quote the source directory in Git commands.Guy Harris1-3/+3
It may contain spaces (it does on my Windows 7 VM), so it must be quoted. (There are probably other places where it needs to be quoted in this script.) Change-Id: If363691b0f94bbe75755072fd5245266566c3360 Reviewed-on: https://code.wireshark.org/review/12043 Reviewed-by: Guy Harris <guy@alum.mit.edu>
2015-11-22Quote the path for the Windows setup script.Guy Harris1-1/+1
The path may contain a space (it does on my Windows 7 VM), so quote it in the PowerShell command. Change-Id: Ib130991b8c29cb327832f2fe51cb37828526448b Reviewed-on: https://code.wireshark.org/review/12041 Reviewed-by: Guy Harris <guy@alum.mit.edu>
2015-11-22We *do* use setWindowModified; remove the XXX comment saying to do so.Guy Harris1-1/+0
Change-Id: I00ffc4c787681a6bf2c84da9e44b3b3a33c0cec5 Reviewed-on: https://code.wireshark.org/review/12039 Reviewed-by: Guy Harris <guy@alum.mit.edu>
2015-11-22Qt: save columns position before freezingPascal Quantin1-0/+1
It allows to restore them properly in thaw() Bug: 11737 Change-Id: Ibee6ee701ab64019ee03666c652c232770b3bb74 Reviewed-on: https://code.wireshark.org/review/11999 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: Stig Bjørlykke <stig@bjorlykke.org> Tested-by: Stig Bjørlykke <stig@bjorlykke.org>
2015-11-22RADIUS: Add display field for Ascend data FilterAlexis La Goutte1-4/+129
Ping-Bug:11630 Change-Id: I7183b5e957566b730f01a464e85ad594992b345d Reviewed-on: https://code.wireshark.org/review/11370 Petri-Dish: Alexis La Goutte <alexis.lagoutte@gmail.com> Reviewed-by: Anders Broman <a.broman58@gmail.com>
2015-11-22Qt: Added translate for "Capturing from ".Stig Bjørlykke1-9/+2
Change-Id: Ibd7b47169229395e5468ee2422c3dab7abe36413 Reviewed-on: https://code.wireshark.org/review/12022 Reviewed-by: Anders Broman <a.broman58@gmail.com>
2015-11-22Qt: Set normal window icon when capture file closed.Stig Bjørlykke3-6/+6
Also rename and use setDefaultWindowTitle() to set the window title back to "The Wireshark Network Analyzer". Change-Id: Ifa87d1a9b9140de4f256effdfca8485f65e2f839 Reviewed-on: https://code.wireshark.org/review/12025 Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com> Petri-Dish: Alexis La Goutte <alexis.lagoutte@gmail.com> Reviewed-by: Anders Broman <a.broman58@gmail.com>
2015-11-22asn2wrs.py: fix path substitution when generating ASN.1 dissectors with ↵Pascal Quantin1-2/+2
CMake on Windows Change-Id: I48e7d48544274f27d276e7128f8d2a2727c0b9cd Reviewed-on: https://code.wireshark.org/review/12031 Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
2015-11-22Do not expand packets in packet dialog by defaultPeter Wu1-1/+0
Do not expand the packet tree in the packet dialog by default, it results in forgetting the previous collapse state and deviates from previous GTK+ behavior. It is just annoying to have all Frame, Ethernet, etc. trees expanded while you are just looking at application layer traffic. (The previous tree is restored when calling ProtoTree::fillProtocolTree which calls proto_tree_draw_node and then invokes setExpanded()). Bug: 11731 Change-Id: I48c7f28a1777874b1c23025335305493777bca1d Reviewed-on: https://code.wireshark.org/review/11998 Petri-Dish: Peter Wu <peter@lekensteyn.nl> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com> Reviewed-by: Peter Wu <peter@lekensteyn.nl>
2015-11-22Fix RTP player crash on invalid streamsPeter Wu1-0/+5
On Linux with pulseaudio, the RTP player can crash when an invalid RTP stream is played. Prevent that by detecting when stream playback fails. Since the stateChanged signal receiver is registered on the same thread, it is guaranteed that any outputStateChanged calls happen before returning from audio_output_->start(). GTK+ not have this issue, its player simply does not show the decoded stream at all. Change-Id: I51a91a7f410ef3d46551bc8df0049542efbb806f Reviewed-on: https://code.wireshark.org/review/11997 Petri-Dish: Peter Wu <peter@lekensteyn.nl> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Peter Wu <peter@lekensteyn.nl>
2015-11-22SCSI: Fix mixed up SCSI senddiag PF valuesStefan Pöschel1-1/+1
Change-Id: I5e4b3ff0579789d81bf4eaad3dc2669472d22dd7 Reviewed-on: https://code.wireshark.org/review/12024 Reviewed-by: Anders Broman <a.broman58@gmail.com>
2015-11-22Cisco FabricPath MiM: rename file nameAlexis La Goutte3-2/+2
packet-mim -> packet-cisco-fp-mim.c Change-Id: Ife2414f8e74ec818720da1e80d6b8f87589d8150 Reviewed-on: https://code.wireshark.org/review/12008 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>
2015-11-22register_dissector -> new_register_dissector for ASN.1 dissectors.Michael Mann39-341/+377
Change-Id: I0476519c02ffdd426b4fdfe8a206d61b728c327a Reviewed-on: https://code.wireshark.org/review/12026 Reviewed-by: Michael Mann <mmann78@netscape.net> Petri-Dish: Michael Mann <mmann78@netscape.net> Reviewed-by: Anders Broman <a.broman58@gmail.com>
2015-11-22Diameter: add dissection of Credit-Management-Status AVP codePascal Quantin1-24/+91
Bug: 11672 Change-Id: Ie33b42176aed9928a2ea0edb23896a647695693e Reviewed-on: https://code.wireshark.org/review/12014 Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com> Petri-Dish: Pascal Quantin <pascal.quantin@gmail.com> Reviewed-by: Anders Broman <a.broman58@gmail.com>
2015-11-22Developers Guide UpdatesGraham Bloice7-118/+72
Fix a bunch of typos. Commented out Strawberry Perl section on Windows, CMake no longer uses it. Removed commented out svn commit section. Change-Id: Ied53c1b9aed69dc2c99449ef198f69a8cba42d5e Reviewed-on: https://code.wireshark.org/review/12011 Reviewed-by: Graham Bloice <graham.bloice@trihedral.com> Petri-Dish: Graham Bloice <graham.bloice@trihedral.com> Reviewed-by: Anders Broman <a.broman58@gmail.com>
2015-11-22[docsis] Remove unused exceptions.hAdrianSimionov3-10/+23
* Add static const to IUC vals * I defined the IUC values local to packet-map.c packet because it needs to be revised, not all IUC apply to all packets. It works for now but some of the IUC might be gone. Change-Id: Ib4da9ae8e29afca065153c3934336565371da9a9 Reviewed-on: https://code.wireshark.org/review/11993 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>
2015-11-22GSM MAP: Add Ericsson specific fields to MAP-OpenInfoPascal Quantin6-265/+281
Bug: 11696 Change-Id: I0b6502b12e45949551e25eb3d337b7da0fac933e Reviewed-on: https://code.wireshark.org/review/12015 Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com> Petri-Dish: Pascal Quantin <pascal.quantin@gmail.com> Reviewed-by: Anders Broman <a.broman58@gmail.com>
2015-11-21Fix OSX 10.5 autotools package for missing sshdumpGraham Bloice1-1/+5
Make sshdump addition to the package conditional depending on whether it is actually built. Change-Id: Ifeaa134fdb3dcd88e48ff0c796f0c21c804eba77 Reviewed-on: https://code.wireshark.org/review/12023 Reviewed-by: Graham Bloice <graham.bloice@trihedral.com>
2015-11-21Fix Windows hardening check (x64)Graham Bloice1-0/+9
Fix the x64 ones missed on commit f1efeb1eba8329 Change-Id: Iec432c81511c64145711052bb29f6484c6c1c5b1 Reviewed-on: https://code.wireshark.org/review/12020 Reviewed-by: Graham Bloice <graham.bloice@trihedral.com> Tested-by: Graham Bloice <graham.bloice@trihedral.com>
2015-11-21Lua: Validate Proto() argumentsStig Bjørlykke4-4/+34
Check if description (protocol name) and short_name are used before registering the protocol. This because proto_register_protocol() makes sure there's not already a protocol with any of the names registered and duplicates will be reported with a g_error() which terminates the Wireshark unexpectedly. Also check if short_name contains valid characters. Give appropriate error messages. Bug: 11739 Change-Id: Ib9776a2a3406ae5278ce744defd61864ebed0282 Reviewed-on: https://code.wireshark.org/review/11995 Reviewed-by: Stig Bjørlykke <stig@bjorlykke.org>
2015-11-21epan: Removed an unneeded g_malloc.Stig Bjørlykke1-6/+3
Change-Id: Ibc8b2651e2f56ecfdf9d00b235c39b6ac43b38b3 Reviewed-on: https://code.wireshark.org/review/12017 Reviewed-by: Stig Bjørlykke <stig@bjorlykke.org>
2015-11-21Fix Windows hardening checkGraham Bloice2-3/+57
The hardening check runs on all binaries and quite a few third party binaries are not hardened, thus leading to a warning on the buildslave. The change reduces the noise by not counting the binaries that are known to be "soft". They are still printed in the output though, for reference. Also fixed the search directory passed to the script. Change-Id: I1619066c687c9ba934ab38fccbbf2011108328e4 Reviewed-on: https://code.wireshark.org/review/12016 Reviewed-by: Graham Bloice <graham.bloice@trihedral.com> Tested-by: Graham Bloice <graham.bloice@trihedral.com>
2015-11-21acinclude.m4: Replace AS_ECHO_N with printfJoão Valverde1-1/+1
Quick fix for OSX build, AS_ECHO_N is not available for that autoconf version. Change-Id: I24a93622d15388ef84c0f099d1209052bb35856d Reviewed-on: https://code.wireshark.org/review/12013 Reviewed-by: Peter Wu <peter@lekensteyn.nl>
2015-11-21cmake: do not remove ws.css; ignore auto-generated filesPeter Wu2-7/+21
Do not remove "ws.css" when doing a build in the source tree. Ignore files that were automatically generated with cmake and the Ninja generator (cmake -GNinja). Change-Id: I24cae27eb8ae9664e3354ba646fd5503649349b1 Reviewed-on: https://code.wireshark.org/review/12007 Petri-Dish: Alexis La Goutte <alexis.lagoutte@gmail.com> Reviewed-by: Peter Wu <peter@lekensteyn.nl>
2015-11-21display_filter_edit(.h): fix comma at end of enumerator list [-Wpedantic] / ↵Alexis La Goutte1-1/+1
commas at the end of enumerator lists are a C++11 extension [-Wc++11-extensions] Change-Id: I78a35211d15d501172d5a56f7dc4da2e81fc0a07 Reviewed-on: https://code.wireshark.org/review/12002 Petri-Dish: Alexis La Goutte <alexis.lagoutte@gmail.com> 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>
2015-11-21RTPS: Added Topic Information feature. This feature shows the TopicJuanjo Martin2-30/+178
Name and the Type Name of the sample by consulting a hash table that relates GUIDs and this information. This information is very useful to any analysis performed to RTPS data. It can be disabled using a checkbox so it doesn't impact performance when capturing (default = disabled). Bug: 11729 Change-Id: Ic9fa3a777dfed3cb46166b8e7c9783a12c161e7d Reviewed-on: https://code.wireshark.org/review/11602 Petri-Dish: Pascal Quantin <pascal.quantin@gmail.com> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
2015-11-21autotools: Fix extra-compiler-warnings for system headersJoão Valverde8-20/+31
Use -isystem instead of -I for external headers with GCC/clang to squash all the noise. cmake already uses -isystem by default for supported platforms/compilers. Change-Id: Ia6c9d1eb9b894fda6f48c531094d792e16fd39fc Reviewed-on: https://code.wireshark.org/review/11947 Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
2015-11-21ISO14443: Fix Dead Store (Dead assignement/Dead increment) Warning found by ↵Alexis La Goutte1-1/+1
Clang Change-Id: I63f0b3891030ccc001f81fde94121adad37b555b Reviewed-on: https://code.wireshark.org/review/12004 Reviewed-by: Martin Kaiser <wireshark@kaiser.cx>
2015-11-21usbvideo: fix Malformed packet error for SET_CURPeter Wu1-4/+0
The SET_CUR request does not have an extended pseudo-header, the logic likely refers to the extra bytes in the usmon packet header. Remove it since the function handles the payload after that header. Tested with arkmicro_webcam.pcap (from bug 8414) and usb-malformed-error.pcapng.gz (from bug 11736). Bug: 11736 Change-Id: I61c71bb06c37a626260447f703a5cc4db2a6fc80 Reviewed-on: https://code.wireshark.org/review/11990 Reviewed-by: Tim Ansell <mithro@mithis.com> 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>
2015-11-21sshdump: add define for default capture binDario Lombardo1-4/+6
Change-Id: I52a5d12bb885f5bedffa030906d15f9d67bfe2e8 Reviewed-on: https://code.wireshark.org/review/11988 Petri-Dish: Anders Broman <a.broman58@gmail.com> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Peter Wu <peter@lekensteyn.nl> Reviewed-by: Anders Broman <a.broman58@gmail.com>
2015-11-21Use the "pcap/pcapng packet data" dissector to dissect packet data.Guy Harris1-7/+25
And use the value_string table for LINKTYPE_ values for the link-layer header type. Yes, this means that the "default link-layer header" preference is now a LINKTYPE_ value rather than a WTAP_ENCAP_ value. Both of those were raw numbers rather than friendly strings, but at least the most of the LINKTYPE_ values are documented on the tcpdump.org Web site, and don't change over time, unlike WTAP_ENCAP_ values which can change from Wireshark release to release. Change-Id: Ib752ba2163c6857c9681dc0e07598c96d1e7234f Reviewed-on: https://code.wireshark.org/review/12001 Reviewed-by: Guy Harris <guy@alum.mit.edu>
2015-11-21Have a separate dissector for pcap/pcapng-format packet data.Guy Harris6-381/+424
Put that dissector into its own file, and get handles for it from the pcap and pcapng file dissectors. Put the value_string of pcap/pcapng LINKTYPE_ values there, and have the pcap and pcapng file dissectors import it. Expand that table to include all LINKTYPE_ values in the current libpcap. Change-Id: I9397035efa5711e8a18a26e056d3b54494fd3148 Reviewed-on: https://code.wireshark.org/review/12000 Reviewed-by: Guy Harris <guy@alum.mit.edu>
2015-11-20File-format: Add ISO_14443 linktype for PCAP/PCAPNGMichal Labedzki2-0/+2
Assign numbers for LinkTypes on webpage http://www.tcpdump.org/linktypes.html were changed, so update it for file dissector for PCAP/PCAPNG. Change-Id: Icb52c2a8f19bd056723de155700b83497d5fded4 Reviewed-on: https://code.wireshark.org/review/11983 Petri-Dish: Michal Labedzki <michal.labedzki@tieto.com> Petri-Dish: Alexis La Goutte <alexis.lagoutte@gmail.com> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Michal Labedzki <michal.labedzki@tieto.com>
2015-11-20Bluetooth: Fix remaining lengthsMichal Labedzki2-5/+22
ACL and L2CAP payload contain its length field. Of course it may be broken for many reasons, so there is need to check it and show expert info warning. Bug: 11677 Change-Id: I1988faec9faef70c95161513049ec16ceb8fcf45 Reviewed-on: https://code.wireshark.org/review/11982 Reviewed-by: Michal Labedzki <michal.labedzki@tieto.com>
2015-11-20Bluetooth: HCI vendor: Add some Broadcom commandsMichal Labedzki1-8/+96
Add some Broadcom commands found in BlueZ. Change-Id: I6b5c6ca2a55142550c2e901443d548a5a686bc90 Reviewed-on: https://code.wireshark.org/review/11981 Reviewed-by: Michal Labedzki <michal.labedzki@tieto.com>
2015-11-20Bluetooth: EIR/AD: Add URI item supportMichal Labedzki1-0/+13
In CSSv6 there is one new item: URI (UTF-8) Change-Id: Iafa7b563aa96a016c7178eceef28edd3a1df5dc4 Reviewed-on: https://code.wireshark.org/review/11980 Reviewed-by: Michal Labedzki <michal.labedzki@tieto.com>
2015-11-20Bluetooth: Update company IDs and Member/SDO UUIDsMichal Labedzki1-77/+368
Update company IDs and Member/SDO UUIDs to latest Assign Number. Change-Id: Ia543ab1bcf43cf5283658cbe0971c8bc9877426d Reviewed-on: https://code.wireshark.org/review/11979 Reviewed-by: Michal Labedzki <michal.labedzki@tieto.com>
2015-11-20Bluetooth: GATT: Add HTTP Proxy Service attributesMichal Labedzki4-2/+157
Add HTTP Proxy Service attributes and UUID. Change-Id: If0ab490f2df0930d2b80687ac4c9a1d7e4d463e4 Reviewed-on: https://code.wireshark.org/review/11978 Reviewed-by: Michal Labedzki <michal.labedzki@tieto.com>
2015-11-20Bluetooth: L2CAP: Improve tracing connects and disconnectsMichal Labedzki1-17/+187
Add Connect in frame/Disconnect in frame jump-fields or Service/PSM is possible to know what current channel payload is. Change-Id: I6a06baaec50c5e54a1990ec8f29cf386910acc28 Reviewed-on: https://code.wireshark.org/review/11977 Reviewed-by: Michal Labedzki <michal.labedzki@tieto.com>
2015-11-20Bluetooth: Add ability to add custom UUID descriptionMichal Labedzki7-172/+51
Some vendors use UUID128 as own services/attributes. Sometimes they use UUID16 for it too. Support both cases. Change-Id: I001692b94fcc2f86eafa81012790e9134b0f2a36 Reviewed-on: https://code.wireshark.org/review/11976 Reviewed-by: Michal Labedzki <michal.labedzki@tieto.com>
2015-11-20Bluetooth: Move GATT dissectors registration to GATT handoffMichal Labedzki1-35/+36
Change-Id: I336f8523a0ad5cf8f9da0578c92a0c68917969b4 Reviewed-on: https://code.wireshark.org/review/11975 Reviewed-by: Michal Labedzki <michal.labedzki@tieto.com>
2015-11-20Minor Doc Update for Windows buildGraham Bloice1-1/+3
Update the docs to indicate the modified -G parameter required for CMake when building an x64 version. Change-Id: I9cc75ca99daf248111242c2962df313de32ca0d1 Reviewed-on: https://code.wireshark.org/review/11992 Reviewed-by: Anders Broman <a.broman58@gmail.com>
2015-11-20sshdump: add packets countDario Lombardo1-6/+23
Change-Id: Ia430200a08ada4caaa780589a2fe4b90c797d94d Reviewed-on: https://code.wireshark.org/review/11989 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>
2015-11-20Rule-Failure-Code enum value 14 added.Branislav Makan1-1/+1
Change-Id: If17ceba9d6e84bdb3b8d7e030fd7eccc45f9ff69 Reviewed-on: https://code.wireshark.org/review/11987 Reviewed-by: Anders Broman <a.broman58@gmail.com>
2015-11-20Enhance ERSPAN decoder to correctly support ERSPAN3 (current versionPeter Membrey1-52/+78
mangles packets) Change-Id: I3dce1a4c5f14e2fc11c3f97e216df1f68340fba4 Reviewed-on: https://code.wireshark.org/review/11957 Petri-Dish: Anders Broman <a.broman58@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>
2015-11-20[docsis->ucd] Dissect TYPE and LENGTH values for burst TLVs also.AdrianSimionov1-60/+108
* Fixed filter for TLV Length Wrong. Change-Id: Ic2fa2a6e1faa7bad604468fbcbc431fd38a5a113 Reviewed-on: https://code.wireshark.org/review/11922 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>
2015-11-20androiddump: Add Bluetooth support for Android MMichal Labedzki1-3/+5
In real it is a fix, because the only change is new name of process of the same application on Android. Change-Id: I69d1362e9f11967ec1127ff89c7b45299d291fe8 Reviewed-on: https://code.wireshark.org/review/11984 Petri-Dish: Michal Labedzki <michal.labedzki@tieto.com> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Michal Labedzki <michal.labedzki@tieto.com>
2015-11-20Qt: Fixed column issues when changing profile.Stig Bjørlykke2-14/+15
Always initialize prefs.col_list in pre_init_prefs. When switching to a profile without a saved 'preferences' file we have to initialize prefs.col_list to default values to avoid reusing settings from the profile we leave. This was introduced in 5012cf84e6d84a448171dac64c14d9c83e3d4ae6 Emit columnsChanged() before preferencesChanged(). This because columnsChanged() rebuilds cap_file_->cinfo which is used in preferencesChanged() to align columns (and possible other actions). Doing this in the wrong order will give an inconsistency and a heap-buffer-overflow if having different number of columns. Bug: 11493 Change-Id: I5792dfc0ede11b9457b96f092af8da00453787b1 Reviewed-on: https://code.wireshark.org/review/11971 Reviewed-by: Stig Bjørlykke <stig@bjorlykke.org>
2015-11-20More spelling fixes found by lintianBalint Reczey29-33/+33
Change-Id: Id218dec9e5a721d6c63fd34962ffe50b6ab8dd56 Reviewed-on: https://code.wireshark.org/review/11946 Reviewed-by: Guy Harris <guy@alum.mit.edu> Reviewed-by: Diederik de Groot <dkgroot@talon.nl> Reviewed-by: Anders Broman <a.broman58@gmail.com>