Commit Graph

52 Commits

Author SHA1 Message Date
Denis Ovsienko
2210a967cb NDOize ISO CLNS decoder 2014-03-28 14:08:48 +04:00
Denis Ovsienko
979fc38d03 make use of ND_DEFAULTPRINT() 2014-03-26 18:52:40 +04:00
Denis Ovsienko
90692fcf97 NDOize ATM, MPTCP, NTP, VTP & Whiteboard decoders 2014-03-20 15:17:35 +04:00
Denis Ovsienko
d1cffd99e6 NDOize LLC decoder 2014-03-15 15:32:15 +04:00
Denis Ovsienko
374aad6c0e NDOize 5 more decoders
Update Apple's IP over IEEE1394, Bluetooth, CALM/FAST, IPv6 fragments
and LAN emulation decoders. Remove some stray passages while at it.
2014-03-07 19:51:31 +04:00
Denis Ovsienko
88e479b75e don't include pcap.h needlessly
Both interface.h and netdissect.h include <pcap.h>, thus most files
should not include it regardless if these need it or not. The only
exceptions so far remain:
* addrtoname.c
* missing/datalinks.c
* missing/dlnames.c
* tcpdump.c
2014-02-28 18:11:09 +04:00
Denis Ovsienko
fe3253b9b8 remove tcpdump's own CVS keywords
Remove lots of $Header's and a few $Id's that all belong to the former
CVS repository of tcpdump itself. These keywords have been frozen since
the migration to git in late 2008.
2014-01-03 00:59:08 +04:00
Michael Richardson
a97fb2f3ae whitespace changes 2014-01-01 21:31:18 -05:00
Denis Ovsienko
d8acd8f5d0 make consistent use of the "tstr" idiom
For each decoder that has more than one instance of truncation signaling
and prints the same string in each instance make sure that the string is
declared as "static const char tstr[]" right after the initial includes
block. Where necessary, replace fputs(s, stdout) with equivalent
printf("%s", s).
2013-12-26 18:19:50 +04:00
Denis Ovsienko
7de355927b justify declarations of struct tok arrays
Make sure all of them are declared const and most of them -- static.
Proper declaration of token arrays is a common review point for new code
that is based on existing decoders. Thus fix the issue at its root.
2013-09-24 20:54:03 +04:00
Michal Sekletar
8dfb278a95 Remove unnecessary test.
Also, from me: add a comment explaining why the test isn't being done.

Reviewed-by: Guy Harris <guy@alum.mit.edu>
2011-10-13 20:10:11 -07:00
guy
a711ae7431 Precede the VCI values with VCI_, to avoid collisions (such as with
"PPC" as a definition on PowerPC machines).
2007-10-22 19:37:51 +00:00
hannes
f4e5130617 move the crc10 verification to a new file checksum.c (will add other checksumming routines later to this file), init shred checksumming tables with init_checksum(), assume network byte order for tag correlation ID in the ATM OAM cell printer 2006-02-09 20:33:49 +00:00
hannes
27f414ac8e print ATM cell payload type, do a denser hexdumping for printing location data 2006-02-08 16:50:16 +00:00
hannes
03f755dab7 add support for AIS/RDI OAM cell payload printing, hexdump location/source ID for loopback OAM cells rather than attempting to print it 2006-02-08 16:18:56 +00:00
hannes
5438a44db9 rework the oam printer: add support for payload printing of OAM loopback cells 2006-02-08 01:43:00 +00:00
hannes
f9adbad9dd add support for Cisco style NLPID encapsulation 2006-01-25 13:26:37 +00:00
hannes
a6a8d21e46 bugfix: add hec offset for celltype determination; make use of tok2str() for OAM F type printing, unhide OAM elements like (vci,vpi) under eflag 2006-01-22 10:23:09 +00:00
guy
c3d3e52db7 If you're going to stuff the result of EXTRACT_32BITS() into a variable,
making the variable 32 bits or longer might be a good idea.
2005-11-10 00:43:24 +00:00
guy
d953299b94 Add a flag to suppress the "default_print()" call made in various
link-layer print routines if no other print routine claimed the packet.
Test whether that flag is set rather than testing whether neither of -x
or -q were specified, and have -x, -q, *and* -X set that flag, so that
-X suppresses it just as -x does.  That way you don't get those pckets
dumped twice if -X was specified.
2005-07-07 01:22:15 +00:00
hannes
99b69f6898 Juniper routers do not deliver a heading HEC byte for oam cells: make the OAM printer to support both HEC and non-HEC OAM cells 2005-06-20 07:37:01 +00:00
hannes
52e4c107b9 wrong offset for functype calculation 2005-05-18 20:24:04 +00:00
hannes
0af21e65ee finalize the tokenlists of supported OAM messages 2005-01-19 16:46:27 +00:00
hannes
570cdb3f16 add a basic ATM OAM cell dissector, baseline support for fault-management OAM cells 2004-10-18 16:26:20 +00:00
guy
fb1b6d808f Fix up a bunch of comments - the on-the-wire length field in a
pcap_pkthdr is "len", not "length".
2004-03-17 23:24:35 +00:00
guy
bbc1cfa669 Have the configure script arrange that the Makefile define _U_
appropriately, and that GNUmakefile and the MSVC++ project file define
it apppriately, as we do with libpcap, rather than defining it in
"interface.h".

Undo the rcsid-shuffling and addition of extra #includes, as we no
longer need to arrange that "interface.h" be included before using _U_
in an RCS ID or copyright.
2003-11-16 09:36:07 +00:00
guy
3824a6c041 From Neil Spring:
use "_U_" in the definitions of "rcsid[]", to eliminate
	complaints about those variables being unused;

	move the definitions after the include of "interface.h", or add
	an include of "interface.h", so that "_U_" is defined.

Include "config.h" before including "tcpdump-stdinc.h" in
"missing/datalinks.c".
2003-11-15 00:39:12 +00:00
guy
4bec97f457 Hoist a bunch of stuff that should be done by all if_print routines into
tcpdump.c.  Have if_print routines return the length of the link-layer
header, so that the common code knows how to skip the link-layer header
when printing the packet in hex/ASCII.
2002-12-19 09:39:10 +00:00
guy
cfabfb053b Add a new routine "default_print_packet()", which takes a pointer to the
beginning of the raw packet data, the captured length of the raw packet
data, and the length of the link-layer header, and:

	if "-e" was specified, prints all the raw packet data;

	if "-e" was not specified, prints all the raw packet data past
	the link-layer header, if there is any.

Use that routine in all the "xxx_if_print()" routines if "-x" was
specified.

Make "arcnet_encap_print()" static - it's not used outside
"print-arcnet.c".

Add missing info printing code to "atm_if_print()".

Print the packet data in "lane_if_print()", not in "lane_print()", as
"lane_print()" can be called from other "xxx_if_print()" routines, and
those routines will also print the packet data if "-x" was specified -
no need to print it twice.
2002-12-18 09:41:13 +00:00
guy
e070cf232f We no longer use "packetp" for anything, so eliminate it. (If any
dissector really needs source and destination MAC addresses, we should
make global pointers to them - which would be null for packets lacking
MAC addresses, so dissectors that need them will need to do something
sensible if those pointers are null.)

Don't fake up an Ethernet header if there aren't any MAC addresses to
use when faking it up.

"bp_chaddr" in "print-bootp.c" is an array, so "bp->bp_chaddr" cannot be
null, and there's no need to test for it not being null.
2002-12-18 08:53:18 +00:00
guy
a4ca4ac175 Fix another place to go back to calling "llc_print()", to handle the
case of the Ethernet type not being known, and not pass in a non-null
"extracted_ethertype" pointer (otherwise "llc_print()" dumps core).
2002-12-11 06:55:08 +00:00
guy
9c835793c4 Check for the IP SAP value in the LLC header, and note some of the
problems with that particular heuristic.
2002-12-10 08:03:36 +00:00
guy
955792f128 Put "atm_llc_print()" back - we want to handle the case of the Ethernet
type not being known, *and* have to pass in a non-null
"extracted_ethertype" pointer (otherwise "llc_print()" dumps core), and
we should pass in non-null pointers for the source and destination
addresses.  However, we can get rid of the "ether_type" variable.

Fix up the test for non-LLC packets to test for the first 3 bytes *not*
matching the header of an LLC/SNAP packet, not for them matching.  Add
in a check for RFC 2684 routed NLPID-formatted PDUs.
2002-12-09 05:12:25 +00:00
hannes
7678647d1a get rid of EXTRACT_ lookalikes, eliminated atm_llc_print -> call direct to llc_print 2002-12-04 19:12:39 +00:00
guy
c422d3ab0f Get rid of the "-Wno-unused" flag, and fix up most of the
unused-parameter problems reported by GCC.  Add an _U_ tag to label
parameters as unused if the function is called through a pointer (so
that you can't change its signature by removing parameters) or if there
are unused parameters only because the function isn't complete.

Add some additional bounds checks the necessity for which was revealed
while cleaning up unused-parameter problems.

Make some routines static.

"lcp_print()", defined in "print-lcp.c", isn't called anywhere -
"print-ppp.c" has the code to dissect LCP.  Get rid of "print-lcp.c".
2002-09-05 21:25:34 +00:00
risso
3d932490b8 Added support for Win32, based on WinPcap. 2002-08-01 08:52:55 +00:00
guy
464c44fbd1 Add SunATM support, based on code from Yen Yen Lim at North Dakota State
University.
2002-07-11 09:17:21 +00:00
guy
3fa2cd2e2a Note that we should perhaps also, in the heuristic test for a Fore 802.6
MAC header, treat 0xfe 0xfe 0x0e as the beginning of an LLC header
rather than the beginning of an 802.6 MAC header.
2002-04-07 10:05:40 +00:00
guy
a42d3c4584 Just use "llc_print()" to print the LLC part of RFC 1483-encapsulated
ATM frames.
2002-04-07 02:54:03 +00:00
guy
176a3e4986 Put the infodelay wrapping into the remaining "XXX_if_print()" routines.
Split the Cisco HDLC printer into "chdlc_if_print()", which does the
stuff expected of a low-level print routine (printing the time stamp,
printing the final newline, doing the infodelay stuff) and
"chdlc_print()", which doesn't do that stuff.  This lets us clean up
"ppp_hdlc_if_print()" a bit - it can just print the time stamp at the
beginning, and do the infodelay stuff at the end, without having to
treat Cisco HDLC specially by skipping the time stamp printing.  (This
also ensures that the time stamp is always printed, which wasn't the
case before.)

Print the missing final newline in "pppoe_if_print()".
2001-07-05 18:54:13 +00:00
guy
737c58073a Put the LINUX_SLL_P_ definitions back, and check for at least some of
them in "print-sll.c" - as a cooked-mode capture may be reading from
non-Ethernet, non-802.x devices, it may well see some
ETH_P_/LINUX_SLL_P_ types that don't mean "this is an 802.2 LLC frame".

We currently assume that the ETH_P_ values won't change in the kernel,
so we don't have to explicitly map them.

In various link-layer packet printers, if we don't handle the next layer
up of packet type, and are printing the link-layer header, use the
correct pointer to that header (i.e., if we've stepped "p" past the
link-layer header, don't use "p", use a pointer to the beginning of the
packet), and use the correct length (i.e., if we've subtracted the
length of the link-layer header, add it back in, so that we always print
the full packet length).
2000-12-22 22:45:09 +00:00
guy
e11ed169b1 Get rid of some includes of <net/route.h>, and empty declarations of
"struct mbuf" and "struct rtentry" - they shouldn't be necessary (and
weren't on the platforms on which I tested, both with GCC and the native
compiler if it isn't GCC).
2000-10-06 04:23:10 +00:00
guy
cf53dc05f1 Get rid of includes of <netinet/in_systm.h>, and replace "n_short",
"n_long", and "n_time", defined in that file, with other types.
2000-09-29 04:58:33 +00:00
guy
8b67f77134 Get rid of unneeded includes of <net/if.h>. 2000-09-28 06:42:55 +00:00
guy
536f512583 Add an "ip.h" header, to declare the IP stuff needed by dissectors, and
have dissectors include them rather than <netinet/ip.h> or
<netinet/ip_var.h>, if they actually need that stuff.

Put the declarations of the ICMP stuff directly into "print-icmp.c".

Remove all unnecessary includes of <netinet/ip*.h> files.

Copy the byte-order stuff from "nameser.h" into "tcp.h".
2000-09-23 08:54:24 +00:00
guy
7b50febe28 Add "tcp.h" and "udp.h" headers, to declare the TCP and UDP stuff needed
by dissectors, and have dissectors include them rather than
<netinet/udp.h>, <netinet/udp_var.h>, or <netinet/tcp.h>, if they
actually need that stuff.

Remove all unnecessary includes of <netinet/udp*.h> or <netinet/tcp*.h>
files.
2000-09-23 08:26:30 +00:00
guy
e894092542 Add definitions of Ethernet types from
"linux-includes/netinet/if_ether.h" to "ethertype.h".

Move other stuff used by dissectors from <netinet/if_ether.h> to
"ether.h", along the lines of "fddi.h" and "token.h".

Move ARP declarations from BSD include files to "print-arp.c".

Remove from dissectors includes of <netinet/if_ether.h>, and add
includes of "ethertype.h" and/or "ether.h" as necessary.

Get rid of configuration options that test declarations now made in
"ether.h" or "print-arp.c", as those declarations are now under our
control, not the OS's control.
2000-09-23 08:03:27 +00:00
assar
3cd171317f remove non-STDC code 2000-07-01 03:38:59 +00:00
fenner
b9ac23ce92 Switch to config.h instead of passing defines in DEFS. 1999-11-21 09:36:43 +00:00
itojun
c9d84d15c5 Bring in KAME IPv6 tcpdump. replaces esp/ah/isakmp decoder.
Hope I did not break anything.  Portability on IPv4-only node needs checking,
I'll do this very soon.  (sorry for rather jumbo commit)

XXx what is _FAVOR_BSD?
1999-10-30 05:11:06 +00:00