Commit Graph

25 Commits

Author SHA1 Message Date
Guy Harris
11f73ad248 Don't require IPv6 library support in order to support IPv6 addresses.
Have our own routines to convert between IPv4/IPv6 addresses and
strings; that helps if, for example, we want to build binary versions of
tcpdump for Windows that can run both on NT 5 (W2K/WXP), which doesn't
have inet_ntop() or inet_pton(), and NT 6 (Vista/7/8/10), which do.  It
also means that we don't require IPv6 library support on UN*X to print
addresses (if somebody wants to build tcpdump for older UN*Xes lacking
IPv6 support in the system library or in add-on libraries).

Get rid of files in the missing directory that we don't need, and
various no-longer-necessary autoconf tests.
2015-09-17 14:56:44 -07:00
Guy Harris
1af4cb9ad8 Rename variable to avoid collision with poll().
That eliminates some compiler warnings.
2015-09-17 12:19:22 -07:00
Francois-Xavier Le Bail
99c91c3aec Rename 'tcpdump-stdinc.h' to 'netdissect-stdinc.h'
Get the full log via: git log --follow netdissect-stdinc.h
2015-09-10 08:50:40 +02:00
Francois-Xavier Le Bail
c1c3c77463 Printers must include 'netdissect.h', not 'interface.h' 2015-09-05 23:35:58 +02:00
Francois-Xavier Le Bail
e847135d66 Functions in libnetdissect must use ndo_error() function 2015-09-05 22:52:11 +02:00
Guy Harris
69cb46af91 Fix a bunch of de-constifications. 2015-04-26 17:24:42 -07:00
Guy Harris
78c64db750 Print the formatted IP address, not the raw binary address, as a string. 2015-04-26 15:34:13 -07:00
Denis Ovsienko
38700c7f24 dismiss NETDISSECT_REWORKED macro
The purpose of this macro was to enable the file-by-file switch to NDO,
after which only tcpdump.c had a use of it and the definitions guarded
by it. Update tcpdump.c not to require them any more and dismiss the
unused definitions.
2015-03-22 10:06:15 +00:00
Guy Harris
ed85e20e4d u_intN_t is dead, long live uintN_t.
And, as we require at least autoconf 2.61, and as autoconf 2.61 and
later have AC_TYPE_UINTn_T and AC_TYPE_INTn_T macros, we use them to
define the uintN_t and intN_t macros if the system doesn't define them
for us.

This lets us get rid of bitypes.h as well.
2014-04-23 00:20:40 -07:00
Guy Harris
1cde6435df Netdissectify the to-name resolution routines.
Have them take a netdissect_options * argument, and get the "no name
resolution" flag from it.

Move the declaration of dnaddr_string to addrtoname.h, along with the
other XXX-to-string routines.
2014-04-04 00:43:46 -07:00
Denis Ovsienko
41a5204fb3 PGM: reuse existing AF macros 2014-03-19 16:45:12 +04:00
Denis Ovsienko
17934c433e NDOize 7 bigger decoders
This change converts IGMP, IPv6 mobility options, LDP, Lightweight
Access Point, PGM, PPTP and RIP decoders.
2014-03-19 14:16:56 +04:00
Denis Ovsienko
d29f3dab95 NDOize 8 more small decoders
This change converts ZeroMQ, IPX, MPLS, IPv6 options, PPPoE, RIPng,
PFLOG and Sun RPC decoders.
2014-03-13 17:21:55 +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
Gleb Smirnoff
4aec74ccc4 Fix compilation warnings: set but unused variables. 2013-11-26 00:16:47 +04:00
Denis Ovsienko
0e2f72760d improve ZeroMQ support (ZMTP/1.0 inside PGM/EPGM)
This change adds new code to decode ZeroMQ datagrams, couples it with
the PGM decoder and extends the -T option to make all this work.

There are two new test cases based on existing captures of ZMTP/1.0
inside [E]PGM to decode the ZMTP/1.0 part of these.

This functionality enables decoding of the traffic zeromq library
produces for "pgm://" and "epgm://" protocol schemas.
2013-04-14 18:20:26 -04:00
Denis Ovsienko
267910ecc1 fix two issues with PGM length handling
1. "TSDU Length" comes in network byte order on wire, add missing macro.

2. The (unused) justification of the number of bytes on wire wasn't
correct because one side of the comparison included header size and
another didn't (note the byte order as well). Besides that, the value of
TSDU Length was already output thus far. Don't justify the number of
bytes on wire and change the final printf() to make a use of it.
2013-04-14 18:20:26 -04:00
Denis Ovsienko
5aed2384cb fix two printf format strings 2013-04-14 18:20:26 -04:00
Steve-o
86a1f52825 Add ACK decoding and add PGMCC DATA and FEEDBACK options.
Reviewed-By: Guy Harris <guy@alum.mit.edu>
2010-05-29 18:50:37 -07:00
guy
9ebb84d5b7 From Albert Chin: handle systems that don't support IPv6. 2005-06-07 22:05:58 +00:00
guy
e30f67df75 From Albert Chin: get rid of zero-length arrays, not all compilers
support them.
2005-06-07 21:58:32 +00:00
guy
faead960f4 EXTRACT_32BITS(), like EXTRACT_16BITS(), takes a pointer to the value
being extracted as its argument.

For PGM messages, always advance "bp" to point to the beginning of the
options.

The length of OPT_FRAGMENT is 16, not 12.

Show the option type without the "end of options" bit.

Fix the message type in "Bad XXX option" messages.
2005-05-24 07:56:23 +00:00
guy
55ea995e73 Do some additional sanity checking.
The first option must be an OPT_LENGTH option; make sure it is, and use
that length when processing the option list, rather than just running to
the end of the packet or an OPT_END, whichever comes first.
2005-05-23 21:38:06 +00:00
hannes
a5370b71fe from Andy Heffernan <ahh@juniper.net>:
add PGM upport as per rfc3208
2005-05-20 21:02:29 +00:00