~vcs-imports/wireshark/master

Viewing all changes in revision 71282.

  • Committer: Peter Wu
  • Author(s): Darius Davis
  • Date: 2018-04-26 12:30:06 UTC
  • Revision ID: git-v1:bc58898512416a03c894b23f029a0827d17d2a6c
BOOTP: Add latest IETF Processor Arch assignments.

The IETF has assigned many more Processor Architecture IDs since RFC 4578, so
let's add those to the BOOTP dissector.

There's also now a published erratum for RFC 4578's Client Architecture type
table, so we should update the dissector table to match.  Since it leads to a
relatively widespread (and difficult to troubleshoot) problem, let's add an
"expert info" warning when we see a packet specifying EFI BC as its Client
Architecture, since it is almost certainly intended to be EFI x64.

And, while we're here, RFC 4578 describes the Client Architecture type field as
an array of 16-bit values, so let's implement that too.

Testing Done: Examined packet captures from EFI DHCP with architecture ID 7
   (now displays as "EFI x64") and 9 (now displays as "EFI BC", with a warning
   to explain that "EFI x64" was probably intended).  Manually edited packets
   to contain multiple entries in the Client Arch option, and they all showed
   correctly (including the warning for type 9).  Manually edited a packet to
   contain an odd number of bytes for the Client Arch option, and saw the
   expected warning.  Ran 30000 iterations of fuzz-test.sh with a corpus of 5
   DHCP/PXE packets as input, and an additional 1000 iterations with the "-g"
   (valgrind) option.

Change-Id: I2ef153316141eb051785fc86f420ad2f721f2a76
Reviewed-on: https://code.wireshark.org/review/27155
Petri-Dish: Peter Wu <peter@lekensteyn.nl>
Tested-by: Petri Dish Buildbot
Reviewed-by: Peter Wu <peter@lekensteyn.nl>

expand all expand all

Show diffs side-by-side

added added

removed removed

Lines of Context: