additional IP addresses for the underlying interface; instead, strip off
the logical interface number, and add them so that the additional
addresses are added.
to the list of interfaces, so we don't, for example, include the
loopback device in the list on Solaris - SIOCGIFCONF/SIOCGLIFCONF will
find the device, as it has an IP address, but it's not a DLPI device so
you can't open it for capturing.
followed by a number; Ethereal has those checks in the code it uses when
not using "pcap_findalldevs()" - I'm not sure what the "dummy" is
checking for (Linux dummy interfaces?), but the ":" followed by a number
are Solaris virtual interfaces (I think that's how it implements
multiple IP addresses per "real" interface, with each additional address
getting a virtual interface; I'm not sure you can open a virtual
interface for capturing, and even if you can you won't, as far as I
know, see any packets other than the one you get for the "real"
interface - should we just ignore the ":{number}" and "add" that
interface so that we add its IP address?).
The DAG 4.2 OC-48 cards (and revisions thereof) produce ERF
records that do not contain the trailing FCS. However,
pcap-dag.c assumed that there is an FCS and strips the final
word of the packet. This meant that packets captured with
libpcap on a DAG 4.2 are truncated by four bytes, unless a
magical environment variable (ERF_FCS_BITS) was set. This patch
autodetects when the DAG card is a 4.2, and turns off the
FCS-stripping feature so that packets are no longer truncated.
Also, include "dagnew.h" and "dagapi.h" with quotes, not angle
brackets, as they should be in the user search path, not the
system search path.
to pointer variables, so the signature can't be changed).
From Gisle Vanem: assign to the right variables in the Win32
version-string construction code (where one criterion for being "right"
is that the variable exist...).
add note for djgpp;
pcap_verbose() is gone;
fix a typo.
Add an RCS ID.
Remove CRs - they get in the way of applying patches on UN*X, and
presumably either they aren't required on DOS or DOS CVS inserts them
when the file is checked out.
Add an RCS ID.
Remove CRs - they get in the way of applying patches on UN*X, and
presumably either they aren't required on DOS or DOS CVS inserts them
when the file is checked out.
Add an RCS ID.
Remove CRs - they get in the way of applying patches on UN*X, and
presumably either they aren't required on DOS or DOS CVS inserts them
when the file is checked out.
UN*Xy-enough platform that the Makefile.in rules to generate "version.h"
work), and use the stuff from "version.h" iff HAVE_VERSION_H is defined,
so we can use it even with WinPcap.
supplying a non-stub version of "pcap_findalldevs()", as a list of
devices won't do any good for a capture program.
Don't bother checking for "ifaddrs.h" unless we have "getifaddrs()" -
and if we have "getifaddrs()" but don't have a usable "ifaddrs.h",
report an error, rather than leaving the error for the compile stage.
that require it, and make pcap_fddipad private to the code generator, as
that's the only place that needs it (ideally, all *its* state should be
local as well). This makes opening an FDDI device, on platforms where
the padding is supplied as part of the packet, and opening other types
of devices or opening savefiles in the same program work better, as you
don't have to be sure you compile the filter for a given pcap_t before
opening the next pcap_t.
we're about to apply the filter, so that if it's changed by a callback
routine, we get the current filter, rather than the one in effect when
we started the loop.
definitions for register atoms together.
A conditional jump uses the X register as well as the A register if it's
comparing the A register against the X register rather than a constant;
handle that case when computing the set of registers used by a block.
with jeq #x and that don't have a subsequent block that uses the value
the block leaves in the A register; make sure we only do them if the
last operation is a jeq with a constant operand and if nothing uses this
block's A register value. (Some were being done with jeq x, and some
were done regardless of the branch that terminated the block and
regardless of whether the block's A register value is being used.)
"pcap_dump_fopen()" to open a pcap_t given a FILE *, and add
"pcap_dump_fopen()" to open a pcap_dumper_t given a FILE *.
On Windows, if we're opening the standard input, put it in binary mode.
Check for errors from "sf_write_header()" and return an error if we get
an error.