Commit Graph

103 Commits

Author SHA1 Message Date
jonathan
f0d1f46d5b Do runtime dynamic binary-search for maximum obtainable bpf capture
size (via BIOCSBLEN). Obtained from FreeBSD 4.x; originally from
http://www.tcpdump.org's version of libpcap.

Taken verbatim from the FreeBSD 4.9 version, lint and all, other than
increasing the maximum size from 32Kibyte to an extremely generous
4Mibytes.  We assume root will configure the in-kernel maximum value
sensibly on small-memory machines.
2004-01-20 23:31:20 +00:00
christos
6f8e24d360 prevent double free. From OpenBSD 2003-11-24 21:49:12 +00:00
lukem
a93ea220fc Rework how dependency generation is performed:
* DPSRCS contains extra dependencies, but is _NOT_ added to CLEANFILES.
  This is a change of behaviour.  If a Makefile wants the clean semantics
  it must specifically append to CLEANFILES.
  Resolves PR toolchain/5204.

* To recap: .d (depend) files are generated for all files in SRCS and DPSRCS
  that have a suffix of: .c .m .s .S .C .cc .cpp .cxx

* If YHEADER is set, automatically add the .y->.h to DPSRCS & CLEANFILES

* Ensure that ${OBJS} ${POBJS} ${LOBJS} ${SOBJS} *.d  depend upon ${DPSRCS}

* Deprecate the (short lived) DEPENDSRCS


Update the various Makefiles to these new semantics; generally either
adding to CLEANFILES (because DPSRCS doesn't do that anymore), or replacing
specific .o dependencies with DPSRCS entries.

Tested with "make -j 8 distribution" and "make distribution".
2003-08-01 17:03:41 +00:00
wiz
472351e13d Use
.In header.h
instead of
.Fd #include \*[Lt]header.h\*[Gt]
Much easier to read and write, and supported by groff for ages.
Okayed by ross.
2003-04-16 13:34:34 +00:00
perry
1f4ad37fe3 "Utilize" has exactly the same meaning as "use," but it is more
difficult to read and understand. Most manuals of English style
therefore say that you should use "use".
2003-02-05 00:02:24 +00:00
pooka
9659091d7a Take descriptions for pcap_file() and pcap_fileno() from libpcap-current
man page. The previous descriptions were horribly wrong.
2003-01-07 16:51:20 +00:00
pooka
77c102d728 add missing " 2003-01-03 12:50:44 +00:00
pooka
606c1fd1c5 pcap_next() returns a const u_char* 2003-01-02 15:43:15 +00:00
hannken
9417652b46 Add support for VLAN (IEEE 802.1Q) frames.
Built after libpcap-0.7 from tcpdump-3.7.1.

Approved by: Jason R. Thorpe <thorpej@netbsd.org>
2002-12-19 16:33:47 +00:00
thorpej
6ac6a2a09f Open the BPF file descriptor as read-write. Some pcap-using programs
(notably, simulators) expect to be able to send packets on the descriptor,
as well as receive.
2002-10-19 22:03:44 +00:00
wiz
57a4de98d0 New sentence, new line. From Robert Elz. 2002-10-01 19:26:58 +00:00
wiz
0dcd30151d Fix two typos, and bump Dd for recent additions. 2002-09-25 00:30:24 +00:00
thorpej
bfd8b5c80d * Add support for DLT_IEEE802_11.
* When opening a live pcap, obtain the list of supported DLTs from
  the BPF.
* Add pcap_list_datalinks() to obtain a list of supported DLTs
  supported by the interface associated with the pcap descriptor.
* Add pcap_set_datalink() to set the current DLT of the pcap.
* Bump shlib 1.2 -> 1.3; new functions added.

From David Young <dyoung@ojctech.com>, with some minor changes by me.
2002-09-22 16:13:01 +00:00
thorpej
d1f71ac3e2 Don't override the definition of LEX. 2002-09-14 14:59:30 +00:00
yamt
d3538cc488 sync partly with tcpdump.org. ok'ed by itojun
patches #454 from yamt@mwd.biglobe.ne.jp
- avoid optimization involving subtract operations
- correct optimization of bitwise operations

TODO: re-introduce subtract optimization
2002-08-26 11:21:18 +00:00
lukem
ebb6fc9eb8 Use ${NETBSDSRCDIR}/some/path instead of ${.CURDIR}/../../some/path (etc).
(Reduces make output by ~ 20%)
2002-08-19 09:41:27 +00:00
itojun
53ca62040c calloc() arg mistake. it's (nelem, size). from openbsd
sync w/tcpdump.org
2002-08-12 02:39:22 +00:00
wiz
9e98569eee Space before comment after #endif. 2002-05-16 19:57:22 +00:00
ross
814f296b77 Generate <>& symbolically. 2002-02-07 07:00:09 +00:00
lukem
c1b95c0073 explicitly set to WARNS?=1 2001-11-05 15:22:23 +00:00
wiz
b6d001fb58 Use .Dq for quoting, and fix a (double) typo and duplicate words.
Slight format improvement for errbuf.
2001-10-03 21:57:58 +00:00
wiz
331a133d4b Remove two unnecessary .Pps, and fix a xref. 2001-10-03 21:39:04 +00:00
gmcgarry
645f8fe35b mdoc'ify pcap.3 2001-10-03 20:58:31 +00:00
itojun
317eb9acd4 compile without INET6. PR 13080 2001-06-01 15:49:53 +00:00
martin
c155aeac5f Adapt to (temporary) DLT_PPP_ETHER useage by the pppoe code in tree
now. This needs to be fixed when a generic PPP sheme is implemented.
2001-04-29 10:25:50 +00:00
itojun
4a7fa50e38 always write out and read in files using 32bit timeval.
(if you have files written by 64bit arch, sorry, we can't read
those... there's no magic number or anything like that)
sync with tcpdump.org change.
2001-02-07 17:35:56 +00:00
kleink
4b543c30e7 Add VRRP support. 2001-01-19 09:02:40 +00:00
christos
f637fa6fd0 remove redundant declarations. 2001-01-06 02:11:18 +00:00
thorpej
e9c2ed11fe Add names for some ICMP and TCP protocol header offsets:
- icmptype (offset of ICMP type field)
	- icmpcode (offset of ICMP code field)
	- tcpflags (offset of TCP flags field)
and field values:
	- icmp-echoreply, icmp-unreach, icmp-sourcequench,
	  icmp-redirect, icmp-echo, icmp-routeradvert,
	  icmp-routersolicit, icmp-timxceed, icmp-paramprob,
	  icmp-tstamp, icmp-tstampreply, icmp-ireq, icmp-ireqreply,
	  icmp-maskreq, icmp-maskreply
	- tcp-fin, tcp-syn, tcp-rst, tcp-push, tcp-ack, tcp-urg

This allows expressions like the following:

	icmp[0] = 3
	(tcp[13] & 0x02) != 0

to be written as:

	icmp[icmptype] = icmp-unreach
	(tcp[tcpflags] & tcp-syn) != 0

which is a bit more user-friendly for e.g. writing packet filter rules.
2000-12-28 22:12:07 +00:00
thorpej
f3b5a7d293 Add support for the DLT_RAWAF() data link type. 2000-12-28 22:04:22 +00:00
itojun
4f72111370 re-introduce netbsd fix 1.5 -> 1.6, which was mistakenly removed.
pointed by Gui Harris.

---
Fix a hairy optimizer bug that causes the expression:
'ip and ((icmp and dst host 1.1.1.1 and not host 2.2.2.2) or (host 1.1.1.1 and src host 3.3.3.3))'
to compile incorrectly.  Details about to be mailed to LBL.
2000-11-19 13:18:03 +00:00
is
e999d8013c Format string cleanups by sommerfeld. 2000-10-10 19:12:48 +00:00
itojun
ffc3a749e5 we already have all fixes toward 0.4 (v0.4 Sat Jul 25 12:40:09 PDT 1998 -
note that there are MULTIPLE 0.4), so update version identification.
2000-10-08 14:28:05 +00:00
thorpej
761a000d3c Add pcap_compile_nopcap() from the most recent libpcap release
from tcpdump.org, although with a slightly different signature.
The tcpdump.org version has no way to report an error string back
to the caller.  This version takes an additional "errbuf" argument
(similar to pcap_open_*()).
2000-10-06 16:39:24 +00:00
matt
312f91fa50 Add a trailing newline 2000-06-30 06:34:46 +00:00
is
4d9fa509f7 Change ARCnet link type address format from ':XX' to '$XX'.
Fixes PR 9885 by Jun-ichiro itojun Hagino.
2000-05-04 13:08:25 +00:00
itojun
3237209fe3 more fallback #define. more friendly message on "ip host ip6only-host"
or "ip6 host ip4only-host". (sync with tcpdump.org)
2000-04-14 14:26:35 +00:00
itojun
c43e0a1d53 explicitly parse IPv6 address, to avoid conflict with "ip[2:2]" syntax. 2000-04-14 14:25:40 +00:00
itojun
b7a973c8c1 comment fix (less diff with tcpdump.org) 2000-04-14 14:18:40 +00:00
itojun
01d2c4aaac avoid malloc(0). from kame changes, sync with tcpdump.org. 2000-04-14 14:17:13 +00:00
itojun
cf9ebfbd63 use getifaddrs, instead of SIOCGIFCONF.
sync with more-recent LBL 0.4, about loopback interface detection
(/^lo[0-9]?$/).

CAVEAT: with GENERIC kernel on laptops laptops, pcap_lookupdev would almost
always pick eon0 as the interface, and fails because eon0 has no bpf
attachment.  we may want to change pcap_lookup{,dev} to check if the
interface has bpf attachment or not.

almost in sync with tcpdump.org source code tree.
2000-04-13 05:14:19 +00:00
itojun
b5a6411fbe sprintf -> snprintf 2000-04-13 05:10:17 +00:00
itojun
9281a845a8 fix bug in pcap.c, which appeared in LBL libpcap version 0.4 of the following
date (NOTE: there are multiple version 0.4 with different datestamp!)
	v0.4 Sat Jul 25 12:40:09 PDT 1998

libpcap CHANGES reads:
- Fixed bug in pcap_dispatch() that kept it from returning on packet
  timeouts.

(this fixes nmap hangup if we use /usr/lib/libpcap.a with nmap)
2000-04-12 14:40:33 +00:00
itojun
94e731e9d2 fix "ip host foo" or "ip6 host foo" where foo has
both A and AAAA.  fix from Bill Fenner, FreeBSD PR: 17083.
2000-03-01 03:47:48 +00:00
itojun
7a9fea2792 improve message when IPv4 address is not assigned to interface
(and netmask-related directives can misbehave).

the change is in kame and tcpdump.org repository as well.
2000-01-13 17:14:56 +00:00
itojun
60860abcb8 be more pedant. remove unused vars and such.
don't use s6_addr{8,16,32} directly, they are not in standard.
hide not-supposed-to-be-visible functions as static.

increase shlib minor.
1999-12-13 01:44:30 +00:00
itojun
d92ae4181c restrict result from getaddrinfo() by specifying ai_socktype.
(otherwise getaddrinfo() will glob through all the possible ai_socktype
and ai_protocol)
1999-11-28 14:51:04 +00:00
is
57a250cc8c Add code to do link level address matching for ARCnet interfaces.
ARCnet link level addresses are encoded as :HH (``:'' followed by a
byte encoded in hexadecimal notation).
1999-10-25 16:39:37 +00:00
is
339b6a0303 Limited support for matching on ARCnet payload:
- oldstyle and PHDS IPv4+ARP; RARP, IPv6, Appletalk are matched now.
- in case this is an unfragmented or first-fragment IPv4, IPv6, ARP, RARP or
  Appletalk packet, matching inside the payload is possible to the extent
  already supported by tcpdump/libpcap. For 2nd and next fragments, this
  won't work; it also won't work for oldstyle (RFC1051) IPv4 and ARP.
1999-10-18 19:44:12 +00:00
is
a7c7586cf6 First part of ARCnet support.
Matching for anything won't work (as we need to teach the stuff about
variable length link level headers), but printing is fine.
1999-10-05 20:37:21 +00:00