dect
/
libpcap
Archived
13
0
Fork 0
Commit Graph

17 Commits

Author SHA1 Message Date
guy 00862cc529 The Prism header is in theory variable-length, but in practice it's
always 144 bytes long.  However, some drivers on Linux use
ARPHRD_IEEE80211_PRISM, but sometimes or always supply an AVS header, so
we have to check whether the radio header is a Prism header or an AVS
header, so, in practice, it's variable-length.

Treat DLT_PRISM_HEADER as having a variable-length header, and generate
code to find the length of the Prism header that first checks for an AVS
header and, if we have an AVS header, gets the length from the header,
and otherwise just gets a length of 144.  This fixes Sourceforge bug
1847574.

Sort various references to the radio headers (case labels, functions,
etc.) into the same order (Prism, AVS, radiotap), for consistency.  Put
PPI after them all.

Handle 802.11 and 802.11-plus-radio-header with a common case when
initializing.
2007-12-29 23:15:43 +00:00
guy 085a778d59 The AVS radio header is variable-length, and fields were added to it
recently, so it's not only variable-length in theory, it's
variable-length in practice.  Treat it as such.
2007-12-29 02:35:16 +00:00
gianluca d7a1afffd2 Fixed a bug when generating wireless filters in the form "link src host ...". The
source address was not retrieved properly.
2007-11-26 21:12:06 +00:00
guy 02e80d9105 Support OpenBSD's "addr1", "addr2", "addr3", and "addr4" link-layer
address types for 802.11.

Support the OpenBSD names for some of the 802.11 frame types.

Support OpenBSD's "dir" keyword for 802.11 frame directions.
2007-11-18 02:04:55 +00:00
guy f8d4d11590 Update a comment. 2007-11-10 21:53:33 +00:00
guy 5d6374a424 Handle the padding stuck in between the 802.11 header and the 802.11
payload by Atheros cards; check the radiotap header to see whether that
padding is there.
2007-11-08 01:50:52 +00:00
guy f21f24e2b9 Do the DLT_PPI per-packet DLT check before computing any of the
variable-length offsets.

Update some routine names and comments.
2007-11-07 19:33:00 +00:00
guy 881f6201c1 When we add the length of the QoS field to the offset of the MAC
payload, the existing value of that offset is *not* in the X register -
the offset of the MAC header is in the X register.  Load the register
containing the offset of the MAC payload, add 2 to it, and store the
result back in that register.
2007-11-06 19:09:31 +00:00
guy 0080d62182 Fix handling of ATM LANE for DLT_SUNATM. 2007-11-05 23:03:35 +00:00
guy 08dc70061e Based on changes from Gianluca Varenni, partially handle variable-length
802.11 headers - we only handle the QoS bit and fields, for now.

Clean up various other things either in the process of doing that or as
a requirement for doing that.
2007-11-05 21:52:30 +00:00
guy 53d0f571dc Don't crash if somebody tries link-layer type filtering on various
link-layer types.
2007-11-05 18:38:20 +00:00
guy d8c16b519a Fix the handling of IPX in VLAN encapsulation so that the SNAP header is
tested after all the VLAN headers, rather than after the initial MAC
header.
2007-11-04 22:29:35 +00:00
guy 2850a7f987 Fix the handling of AppleTalk in VLAN encapsulation (not that you're
likely to see that, but...) so that the SNAP header is tested after all
the VLAN headers, rather than after the initial MAC header.
2007-11-04 22:16:18 +00:00
guy e52320d3bd From Stephen Donnelly:
Clean up the configure output for the dag libraries a bit.

	Add Florent Drouin's changes for DLT_ERF.

	Some other DAG changes.
2007-10-30 10:18:37 +00:00
guy 17aa17127c Re-initialize the table of used registers, and the current register,
before compiling an expression; pcap_compile() can be called more than
once, and some registers can now be allocated and not freed in the
process of code generation (for example, the register allocated to hold
the length of a radiotap header, which can't be freed until we're
finished generating all the code).
2007-10-26 00:45:33 +00:00
mcr 9de7b67ca9 pcap-0.4 1999-10-07 23:46:40 +00:00
mcr b11ddf8a9b Initial revision 1999-10-07 23:46:40 +00:00