dect
/
libpcap
Archived
13
0
Fork 0
Commit Graph

873 Commits

Author SHA1 Message Date
guy 279d705cd1 Add "pppoed" and "pppoes" keywords, for PPPoE Discovery and Session
packets (based on the Ethernet type).  "pppoes" has the side-effect that
subsequent filter expressions will test the PPP header and headers
in the PPP payload, not the link-layer header and headers in the
link-layer payload.
2005-09-05 09:08:03 +00:00
risso 097cc1dd50 Added a missing check on the return value of PacketGetAdapterNames() 2005-09-01 22:07:41 +00:00
guy 2b52cc74dd Today is Tuesday, not Monday. 2005-08-31 06:52:18 +00:00
guy ef309163d8 When checking for VLAN packets, check the type field in the Ethernet
header, not the VLAN header.
2005-08-31 06:50:01 +00:00
guy e2f9d3ceaa Add another magic number (we'd have used the Navtel one, except that
nobody from Navtel has ever said whether their format differs from the
standard one anywhere other than the time stamp).
2005-08-29 21:05:45 +00:00
guy 59994a9b44 Add some more fixes to the list of changes.
Remove trailing white space.
2005-08-23 03:48:16 +00:00
ken a3ff0a365c Updated for 0.9.4 pending release 2005-08-19 15:29:59 +00:00
guy 260acf5065 From Mike "Dragorn" Kershaw: add support for the new ARPHRD_ value for
802.11 with a radiotap header (used by the madwifi driver, and in the
pipeline to be officially assigned).
2005-08-16 04:25:26 +00:00
guy 6beece9689 From Don Ebright: clean out *uerror in recv_ack() before doing anything,
so that it's not EBUSY if we didn't get an EBUSY in a
DL_ERROR_ACK/DL_SYSERR reply, and our checks for EBUSY only catch that
case.

If we *did* get EBUSY on all the SAPs we tried, supply an error.

Make "dl_dohpuxbind()" always return a value, so we don't fall off the
end and return an error indication by accident.
2005-08-13 23:15:58 +00:00
hannes fcc5e2ecfb allocate 4 new DLTs on behalf of Juniper Networks, Inc. for
prepending meta-information like interface index, interface name
before a standard Ethernet, PPP, Frame Relay, C-HDLC Frame
2005-08-13 22:29:44 +00:00
guy ddcbbde8bb The "is_mpls" Boolean isn't necessary - we can just check the MPLS label
stack depth to see whether we're processing MPLS-encapsulated packets or
not.
2005-08-08 07:25:22 +00:00
guy d845992a55 When we're processing MPLS-encapsulated packets, don't set off_linktype
to -1, set a "we're doing MPLS" flag, and check that flag rather than
checking for an off_linktype of -1; off_linktype can be -1 for reasons
having nothing to do with MPLS (e.g., a DLT_ of DLT_RAW), and those
should be handled as they have traditionally been.

Rename "gen_null()" to "gen_mpls_linktype()" to make it clearer what it
does (it checks the MPLS stack as well as the IP header).
2005-08-08 02:40:05 +00:00
guy c8b15f67a1 From OpenBSD: fix a comment. 2005-07-31 19:02:32 +00:00
risso fbcbb84504 Added a definition for SIZEOF_LONG_LONG for Cygnus compilation (win32). 2005-07-21 18:13:27 +00:00
hannes ead1c1c763 add basic support for DLT_JUNIPER_MFR 2005-07-20 15:26:02 +00:00
hannes c632b6266c add basic support for DLT_JUNIPER_MFR 2005-07-20 15:20:20 +00:00
mcr 35341f25c8 fix version for next iteration 2005-07-15 19:26:42 +00:00
hannes 20937040b8 per suggestion from Paolo Lucente <paolo.lucente@ic.cnr.it>:
centralize the MPLS check into gen_linktype() and backout the
  specific checks in gen_proto_abrev(), gen_proto(), gen_host()

  this adds as a by-product support for IPv6
2005-07-14 16:01:46 +00:00
mcr ade329db23 adjusted version 2005-07-11 20:09:47 +00:00
mcr 55ffa91e47 removed partial record 2005-07-11 18:43:33 +00:00
hannes 08fbef913e bugreport from Paolo Lucente <paolo.lucente@ic.cnr.it>:
-catch the case where the expression is "mpls && vlan" or a similar mutation
   and generate an error - contrary "vlan && mpls" is perfectly fine;
2005-07-11 13:58:52 +00:00
guy 7ec660f72d Stephen Donnely says MTP3 and SCCP don't belong in the list of DLT_
values for an HDLC link (MTP2 is what's usually run on those links, with
MTP3 atop it); remove them.  Also, boost dlt_count to match the number
of DLT_ values.
2005-07-10 22:09:34 +00:00
risso 7818dbf4a4 Added a missing initialization of pcap_t::timeout when an adapter is opened
with pcap_open_live. This bug caused pcap_setnonblock to misbehave when
the adapter was set to blocking mode.
2005-07-10 17:52:54 +00:00
guy 0f76cc6c77 select() should work on BPF devices on Tiger; it's poll() and kqueues
that don't work.
2005-07-10 10:55:31 +00:00
hannes d6fc76f341 fix MPLS code generation:
if we have a MPLS label stack deeper > 1 then generate a match
  for a cleared bottom-of-stack-bit of the previous MPLS shim header
  rather than just incrementing the offset;

if there is a compined expression of MPLS and IP like e.g.
  "mpls && ip" | "mpls && ip host" | "mpls && ip src net"
  then poison the linkoffset to make sure that other code generators
  do not try to match link-layer protos like Q_ARP, Q_RARP etc.

introduce a new function gen_null() that matches against the first nibble
  of the IP header and matches if the bottom-of-stack bit is set;

TODO: IPv6 stuff i.e. gen_host6() etc.
2005-07-08 15:27:06 +00:00
guy f6812ab143 From Stephen Donnelly: updates to the DAG support, to support their
updated API if available.
2005-07-07 06:56:02 +00:00
guy 655045ea51 OK, we'll be putting out 0.9.2 soon, so add the API changes back in
again.
2005-07-07 02:04:33 +00:00
guy 3e2be26ee9 0.9's already been released, so, for better or worse, we're stuck with
the old names.
2005-07-05 22:33:16 +00:00
guy 35a2ab9527 Rename "direction_t" to "pcap_direction_t", and rename "D_IN" and
"D_OUT" to "PCAP_D_IN" and "PCAP_D_OUT", to avoid potential namespace
collisions, as per a suggestion by Dean Gaudet.
2005-07-05 22:14:06 +00:00
mcr 5b0b65e6f4 0.9.1 final 2005-07-05 21:04:27 +00:00
guy 287a605ef8 Rebuild with autoconf 2.57, to minimize changes. 2005-06-29 06:49:39 +00:00
guy c7c0ac1e1e Checking whether the amount of data returned by SIOCGIFCONF is less than
the size of the buffer we handed to it is insufficient to determine
whether we have the entire list of interfaces or not - if the amount of
space left in the buffer after adding an entry is non-zero but less
than the amount of space required by the next entry, the ioctl will stop
before adding the next entry, and not necessarily return an error.

The only way to ensure that we got all the data is to pass a buffer
large enough that the amount of space in the buffer *not* filled in
is greater than the largest possible entry.

We assume that's "sizeof(ifreq.ifr_name)" plus 255, under the assumption
that no address is more than 255 bytes (on systems where the "sa_len"
field in a "struct sockaddr" is 1 byte, e.g. newer BSDs, that's the
case, and addresses are unlikely to be bigger than that in any case).
2005-06-29 06:43:31 +00:00
guy 60f0eb71cb The data link layer isn't settable, so get rid of
"septel_set_datalink()".

It's also always the same, so get rid of "septel_get_datalink()".

Add an inject routine that just returns an error.

Get rid of a malloc() whose result was neither used nor freed.

Clean up indentation.
2005-06-21 01:03:23 +00:00
guy e4f76eba56 Don't dump core if the user uses "sio", "opc", "dpc", or "sls" on a
non-SS7 device or capture; report an error.
2005-06-20 21:52:53 +00:00
guy 864a98239b Cleanups to help for --with-dag and --with-septel. 2005-06-20 21:37:43 +00:00
guy 0fe04f098e From Gilbert Hoyek <gil_hoyek@hotmail.com>: support for capturing SS7
traffic on Intel Septel cards, and for filtering on SS7 MTP3 fields.

Clean up indentation.
2005-06-20 21:30:13 +00:00
risso b34a667cf0 Fixed a leak in pcap_open_live (win32): the pcap_t handle was not freed
if PacketOpenAdapter fails.
2005-06-10 03:48:56 +00:00
hannes 8b719a55ac bugreport from Paolo Lucente <paolo.lucente@ic.cnr.it>:
the mpls stack processing is broken:
for example "mpls 10000 && mpls 20000" does produce

reading from file ppp.pcap, link-type PPP (PPP)
(000) ldh      [2]
(001) jeq      #0x00000281      jt 2    jf 11
(002) ld       [4]
(003) and      #0xfffff000
(004) jeq      #0x02710000      jt 5    jf 11
(005) ldh      [6]
(006) jeq      #0x00000281      jt 7    jf 11
(007) ld       [8]
(008) and      #0xfffff000
(009) jeq      #0x04e20000      jt 10   jf 11
(010) ret      #1514
(011) ret      #0

the extra match for 0x281 at instruction #6 is broken and
a copy&paste artifact from the vlan code generator, which
in contrast does require the VLAN tag 0x8100 at every instance
inside a VLAN stack;

correct code should be:

(000) ldh      [2]
(001) jeq      #0x281           jt 2    jf 9
(002) ld       [4]
(003) and      #0xfffff000
(004) jeq      #0x2710000       jt 5    jf 9
(005) ld       [8]
(006) and      #0xfffff000
(007) jeq      #0x4e20000       jt 8    jf 9
(008) ret      #1514
(009) ret      #0
2005-06-06 14:14:01 +00:00
guy 6205efb7ab Sigh. In OS X 10.4 (and 10.4.1), "select()" and "poll()" don't work on
any character devices, including BPF devices.
2005-06-04 02:53:16 +00:00
guy 9be574504c Add a "pcap_dump_ftell()" routine, to fetch the current offset of a
pcap_dumper_t.  (Just doing an "ftell()" on the result of
"pcap_dump_file()" won't necessarily work on Windows, as Microsoft, in
their infinite wisdom, have multiple different versions of the C library
runtime, and if a DLL is built using one version, and another DLL or an
executable is built with another version, file descriptors and FILE *'s
opened in one of them cannot be used in the other.)
2005-06-03 20:36:56 +00:00
guy a42e5249d2 Put in a note about ISO-over-LLC, PPPoA (which is "PPP-over-LLC using
the ISO NLPID for PPP"), and PPPoE.
2005-05-28 00:30:21 +00:00
guy ace6eadb69 RFC 1483 handles more than just IP and more than just SNAP. 2005-05-27 23:33:00 +00:00
guy f076c1d329 Note that "pcap_setdirection()" isn't supported on savefiles. 2005-05-23 20:38:06 +00:00
guy 9463892af7 Give a more correct error if you try to set the direction when reading
from a savefile.
2005-05-23 20:32:39 +00:00
hannes d0e62b4eb2 add basic support for DLT_JUNIPER_{GGSN,ES,MONITOR,SERVICES} 2005-05-19 10:05:31 +00:00
hannes 5496c3bd84 add basic support for DLT_JUNIPER_PPPOE_ATM 2005-05-12 07:06:14 +00:00
risso eb99b397f3 Renamed fileno to _fileno under MSVC, to avoid a compiler warning. 2005-05-04 19:40:01 +00:00
risso a1b08cb922 Added support for 64 bit integers under Windows. 2005-05-04 19:39:05 +00:00
hannes 8967214d9c add minimalistic code support for DLT_JUNIPER_PPPOE 2005-05-03 20:33:51 +00:00
guy 345029aaf9 From Pawel Pokrywka: add support for requesting that only received
packets, only sent packets, or all packets be accepted, with an
implementation for Linux.

Add an implementation for BPF platforms that support BIOCSSEESENT.
2005-05-03 18:54:33 +00:00