summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Fix errors (7 tests failed) with 'make check'tcpdump-4.3Francois-Xavier Le Bail2015-05-252-207/+14
| | | | | Simplify the detection of OpenSSL libcrypto, based on Marc Abramowitz commit c4b7e5f2b287ee3d1de8f706b809a8e217720c4e
* Travis: Add .travis.yml (same as in version 4.4)Francois-Xavier Le Bail2015-05-251-0/+14
|
* SFLOW: Fix bounds checkingFrancois-Xavier Le Bail2015-05-191-3/+52
|
* Fix the pointer tests in the non-ndoified TTEST2() macro as well.Guy Harris2015-03-021-2/+14
|
* AC_TYPE_UINTPTR_T requires a newer autoconf.Guy Harris2015-03-021-1/+1
|
* C compilers can, and some do, optimize away pointer underflow checks.Guy Harris2015-03-024-7436/+3313
| | | | | Cast the pointers to uintptr_t; use AC_TYPE_UINTPTR_T to get uintptr_t defined on older platforms that don't define it themselves.
* Don't run past the snaplength when printing a packet with a too-short LI.Guy Harris2015-03-011-1/+1
| | | | Fixes GitHub issue #437.
* Check not just the capture length but the on-the-network length.Guy Harris2015-01-061-6/+5
|
* Don't run past the snapshot length when doing hex/ASCII dumps.Guy Harris2015-01-062-0/+17
|
* Do bounds checking when unescaping PPP.Guy Harris2014-11-191-8/+11
| | | | Clean up a const issue while we're at it.
* The interval in an AODV HELLO extension is not aligned on a 4-byte boundary.Guy Harris2014-11-191-2/+3
|
* Don't subtract the UDP header size from the length twice.Guy Harris2014-11-191-4/+2
|
* Use the length field in the UDP header.Guy Harris2014-11-192-13/+30
| | | | | | If it's less than the length of the IP payload, use it as the size of the UDP packet. If it's greater than the length of the IP payload, and we're not dissecting the payload, report the length as bad.
* Report a too-long unreachable destination list.Guy Harris2014-11-191-12/+15
| | | | | | | | Running out of packet length before running out of unreachable destinations is an error; report it as such. Don't worry about leftover data past the end of the list of unreachable destinations.
* Not using offsetof() any more, so no need for <stddef.h>.Guy Harris2014-11-191-1/+0
|
* Further cleanups.Guy Harris2014-11-191-136/+126
| | | | | | | | | | | | Use ND_TCHECK() rather than home-brew bounds checks. Do simpler length checks. Let i be the length of the actual remaining packet data; use ND_TCHECK() inside loops that iterate over the remaining data. Let the printers for particular message types cast the raw data pointer to a pointer of the appropriate type, rather than passing two pointers, with different types, to the same data.
* Clean up error message printing.Guy Harris2014-11-192-43/+47
| | | | | | | | Have "struct aodv_rerr" just be the header, not including the actual destinations. Simplify the logic somewhat, and make it similar in the print routines for the three types of error messages.
* Add initial bounds check, get rid of union aodv.Guy Harris2014-11-192-144/+130
| | | | | | | | | Fetch the type field without using a structure, and check to make sure it's not past the end of the packet. Pass to each dissection routine a pointer to the appropriate message type structure, rather than a pointer to a union of all the message type structures.
* Do more bounds checking and length checking.Guy Harris2014-11-191-15/+43
| | | | | | | Don't run past the end of the captured data, and don't run past the end of the packet (i.e., don't make the length variable go negative). Also, stop dissecting if the message length isn't valid.
* If we don't have IPv6 address support, don't try to print IPv6 addresses.Guy Harris2012-12-241-0/+8
|
* LBL moved the old NRG stuff to an "old" directory. Update the URL.Guy Harris2012-12-111-1/+1
|
* Get rid of unnecessary assignment.Guy Harris2012-11-301-2/+0
| | | | checksum isn't used until it's set later.
* Get rid of unnecessary initialization.Guy Harris2012-11-301-1/+1
| | | | v is set to p later in a loop, and isn't used until then.
* Fix typo.Guy Harris2012-11-281-1/+1
|
* Add some additional changes.Guy Harris2012-11-281-2/+10
|
* Note that "-e" can be used to get MAC addresses printed.Guy Harris2012-11-131-3/+7
| | | | | | | | | | Also give more details on shell metacharacters in filter expressions - in particular, note that a common use of a shell metacharacter is a backslash used to escape protocol names, e.g. "ether proto \ip", and that the alternative to quoting the entire expression is to escapet he shell metacharacters, e.g. tcpdump ether proto \\ip
* The peer polling interval is an exponent; treat it as such.peppe2012-11-121-1/+1
| | | | | | | | | | | | | | | | RFC 1119 says Peer Poll Interval (peer.ppoll, pkt.ppoll): This is a signed integer indicating the minimum interval between messages sent by the peer, in seconds as a power of two. For instance, a alue of six indicates a minimum interval of 64 seconds. so print both the raw value and 2^{raw value}, showing the latter. Patch from Debian bug 686276. Reviewed-By: Guy Harris <guy@alum.mit.edu>
* "the the" -> "the".Xin LI2012-10-061-2/+2
|
* More strictly check for numbers as arguments to -i.Guy Harris2012-09-271-5/+4
| | | | | | Use strtol() and only treat the argument as a number if it's *all* number, so that interface names such as 192_1_2 aren't treated as "interface number 192".
* Use PATH_MAX, not NAME_MAX.Guy Harris2012-09-271-12/+12
| | | | | | | | | | | NAME_MAX is the maximum length of a file pathname *component*; PATH_MAX is the maximum length of a file pathname. We're dealing with pathnames, so use PATH_MAX. (On some systems, NAME_MAX can be as low as 14, presumably for binary compatibility with V7-era data structures containing file names, as there are probably few if any non-historic UN*Xes around with 14-character file name limitations.) Boost the default PATH_MAX to 1024 while we're at it.
* As we're always printing "LLDP, length XXX", don't do it for the system name.Guy Harris2012-06-301-8/+2
|
* Note that we now document "-T carp".Guy Harris2012-06-301-0/+1
|
* Document "-T carp".Guy Harris2012-06-301-0/+1
|
* Update for changes in the 4.3 branch.Guy Harris2012-06-301-0/+6
|
* LLDP: print packet protocol at all verbosity levelsRomain Francoise2012-06-301-3/+1
| | | | | | | The LLDP printer doesn't show the packet protocol unless -v is used, which results in pretty useless output lines where only the timestamp is present. Make sure we include the default protocol+length output even in default mode.
* No declarations in the middle of a block - not all C compilers support that.tcpdump_4_3rel0tcpdump-4.3.0Guy Harris2012-06-101-3/+4
|
* Fix "no IPv6" code path.Guy Harris2012-06-091-1/+1
|
* Get rid of unused (but set) variable.Guy Harris2012-06-081-2/+1
|
* Check the return value of some print routines.Guy Harris2012-06-081-5/+5
| | | | Some routines return -1 on error; bail and return -1 if they do.
* Add some attribute/TLV length checks.Guy Harris2012-06-083-128/+282
| | | | | | | | | | | | | Make sure we don't run past the end of a BGP attribute or LDP TLV when dissecting the attribute/TLV. Make some of the code do a bit more of a "step the pointer through the data"-style dissection; that was done while debugging the changes in question. It also fixes up some code to not check for more data than should actually be there. Update references to RFC 4906 from the draft, and note that RFC 4447 replaces it.
* minor manpage fixyekm2012-06-081-1/+2
|
* spelling fixesRomain Francoise2012-06-082-3/+3
|
* updated platformsMichael Richardson2012-06-081-2/+2
|
* 0x%02d is silly - 0x means "hex", so it should be 0x%02x.Guy Harris2012-06-081-2/+2
| | | | Found by Xavier Heiny.
* "lmp.new" isn't a checked-in file; don't make it part of the distribution.Guy Harris2012-06-081-1/+0
|
* Fix printing of 64-bit quantities.Guy Harris2012-06-071-1/+1
| | | | | | | | | | Do *NOT* assume that "%l[doxu]x" - or "%ll[doxu]" - is the way to print a 64-bit quantity; on UN*X, it might be a "long" or a "long long", depending on whether you're on a 32-bit or 64-bit platform and, on Windows with MSVC++, it's not a long (even in 64-bit mode) and doesn't use "%ll[doxu]", either. Instead, use PRI[doxu]64; that's what C99 defines, and what we define ourselves if the C environment doesn't define it.
* added missing test files to releasetarMichael Richardson2012-04-072-2/+4
|
* do not ship bittypes.hMichael Richardson2012-04-071-1/+0
|
* do not convert protocol to names if -n flagMichael Richardson2012-04-071-1/+1
|
* updated test case outputsMichael Richardson2012-04-033-15/+7
|