]> The Tcpdump Group git mirrors - tcpdump/commit
Fix the radiotap printer to handle the special bits correctly.
authorGuy Harris <[email protected]>
Mon, 11 Jan 2016 23:47:31 +0000 (15:47 -0800)
committerGuy Harris <[email protected]>
Mon, 11 Jan 2016 23:47:31 +0000 (15:47 -0800)
commitea1182b7f39bd6773b4bff9acc16520f6156004b
treef31fc39a51292e422f2ea3b9c1982826a9aee20c
parent817aadf8bb2f67efced4c26f7335db0f64d67783
Fix the radiotap printer to handle the special bits correctly.

Process bits 29, 30, and 31 in code that's independent of what namespace
we're in:

  If we're switching to the radiotap namespace, reset the bit numbers to
  start back at 0.

  If we're switching to a vendor namespace, get the vendor OUI and
  subspace, and the skip length.

  Keep trace of which namespace we're in.

  If we're *in* a vendor namespace, skip over the data specified by the
  skip length (and reset it, as we've processed all the vendor namespace
  data and, if there's a subsequent bitmap in the same namespace,
  there's nothing more to process.  Use cpack_align_and_reserve() to
  skip that, so we check that we don't go past the end of the packet
  data.

Fixes GitHub tcpdump issue #498.

This removes some bogus errors; update the test output to reflect that.
print-802_11.c
tests/ieee802.11_exthdr.out