]> The Tcpdump Group git mirrors - tcpdump/log
tcpdump
8 years agoDon't accept zero -C or -W options 526/head
Jamie Bainbridge [Wed, 29 Jun 2016 23:15:33 +0000 (09:15 +1000)] 
Don't accept zero -C or -W options

Rolling over into zero filesize makes no sense. Creating a rotating
buffer of zero files makes no sense.

Modify the checks for -C and -W to accept greater than one, not greater
than zero.

Signed-off-by: Jamie Bainbridge <[email protected]>
8 years agoSquelch a compiler warning.
Guy Harris [Mon, 27 Jun 2016 01:02:12 +0000 (18:02 -0700)] 
Squelch a compiler warning.

It may not be necessary, but it makes the code a bit cleaner, even if
you spend a few extra microseconds per file fetching the name of the
link-layer header type even if the new file has the same header type.

8 years agoMinor coding style tweak.
Guy Harris [Thu, 23 Jun 2016 04:38:06 +0000 (21:38 -0700)] 
Minor coding style tweak.

8 years agoHandle OpenSSL 1.1.x.
Guy Harris [Thu, 23 Jun 2016 04:14:40 +0000 (21:14 -0700)] 
Handle OpenSSL 1.1.x.

In 1.1.x, EVP_CIPHER_CTX is an opaque structure, so we can't declare it
on the stack.

Instead, if we don't have EVP_CIPHER_CTX_new() and EVP_CIPHER_CTX_free()
in libcrypto, define our own versions, with the same signatures as the
ones in OpenSSL 1.1.x's libcrypto, and have the code use
EVP_CIPHER_CTX_new() to allocate the structure and EVP_CIPHER_CTX_free()
to free it.

8 years agoamend integer argument type (GH#521)
Gisle Vanem [Thu, 2 Jun 2016 10:26:07 +0000 (11:26 +0100)] 
amend integer argument type (GH#521)

8 years agoMerge pull request #519 from dionbosschieter/updatePostrotateCommandHelpText
Guy Harris [Mon, 16 May 2016 18:42:28 +0000 (11:42 -0700)] 
Merge pull request #519 from dionbosschieter/updatePostrotateCommandHelpText

Change -z command help text to -z postrotate-command

8 years agoChange -z command help text to -z postrotate-command 519/head
Dion Bosschieter [Mon, 16 May 2016 18:22:33 +0000 (20:22 +0200)] 
Change -z command help text to -z postrotate-command

9 years agoupdate CREDITS
Denis Ovsienko [Tue, 26 Apr 2016 21:07:10 +0000 (22:07 +0100)] 
update CREDITS

9 years agoMerge pull request #515 from adarqui/typos
Guy Harris [Tue, 26 Apr 2016 19:05:44 +0000 (12:05 -0700)] 
Merge pull request #515 from adarqui/typos

Just fixes a few typos and grammatical issues

9 years agoJust fixes a few typos and grammatical issues: 515/head
Andrew Darqui [Tue, 26 Apr 2016 18:33:37 +0000 (14:33 -0400)] 
Just fixes a few typos and grammatical issues:

- informations/Information
- the the
- usefull/useful
- optionnal/optional
- your/you

9 years agoUse strtol(), not atoi(), to parse integral values.
Guy Harris [Tue, 26 Apr 2016 10:04:21 +0000 (03:04 -0700)] 
Use strtol(), not atoi(), to parse integral values.

strtol()'s error behavior is standardized; atoi()'s isn't.

9 years agoInitial support for the REdis Serialization Protocol known as RESP.
Andrew Darqui [Tue, 12 Jan 2016 17:32:55 +0000 (12:32 -0500)] 
Initial support for the REdis Serialization Protocol known as RESP.

This commit adds support for RESP as defined in: http://redis.io/topics/protocol.
It also supports inline commands and pipelining. Due to the popularity of RESP,
numerous services are emerging that use this protocol. You may decode RESP packets
on arbitrary ports using the "-T resp" option.

Example captures can be found in tests/resp_*.

A simple way to test this parser is to start redis-server and then run
redis-cli commands such as "redis-cli set key value".

Traditionally, redis-cli monitor is used to debug redis. Unfortunately,
the "monitor" command can cause significant load on a redis-server in
production. This parser may be used as a non-invasive alternative to
redis-cli monitor.

9 years agoSquelch a signed vs. unsigned comparison warning.
Guy Harris [Thu, 14 Apr 2016 01:57:09 +0000 (18:57 -0700)] 
Squelch a signed vs. unsigned comparison warning.

uint8_t + int constant = int; make the constant unsigned.

9 years agoGet rid of set-but-not-used variable.
Guy Harris [Thu, 14 Apr 2016 01:54:11 +0000 (18:54 -0700)] 
Get rid of set-but-not-used variable.

9 years agoClean up version test.
Guy Harris [Fri, 25 Mar 2016 19:51:08 +0000 (12:51 -0700)] 
Clean up version test.

!(nfhdr->nflog_version) is equivalent to (nfhdr->nflog_version == 0).

That will evaluate to 1 if nfhdr->nflog_version is 0 and to 0 otherwise.

So !(nfhdr->nflog_version) == 0 is equivalent to nfhdr->nflog_version != 0,
but 1) it's more obvious what it means and 2) compilers don't point out
that it may not mean what you intended.

9 years agoMake sure the length of the header is valid.
Guy Harris [Fri, 25 Mar 2016 19:49:37 +0000 (12:49 -0700)] 
Make sure the length of the header is valid.

It must be at least 2, as it includes the lengths of the Base and
Service Path headers, and those are always present.

9 years agoRestore alphabetical order in Makefile.in and netdissect.h
Francois-Xavier Le Bail [Tue, 22 Mar 2016 16:23:40 +0000 (17:23 +0100)] 
Restore alphabetical order in Makefile.in and netdissect.h

9 years agoAdd printing function for Generic Protocol Extension for VXLAN
bugyo [Sun, 15 Nov 2015 16:24:19 +0000 (16:24 +0000)] 
Add printing function for Generic Protocol Extension for VXLAN
and Network Service Header.

This code stands for following internet drafts:

- VXLAN GPE: draft-ietf-nvo3-vxlan-gpe-01
- NSH: draft-ietf-sfc-nsh-01

9 years agoWe have to set the filter on every new file.
Guy Harris [Sun, 20 Mar 2016 22:59:27 +0000 (15:59 -0700)] 
We have to set the filter on every new file.

Even if we haven't recompiled the filter, because the new file has the
same DLT as the old file, we still need to apply it to the new file.

9 years agoDon't recompile the filter if the new file has the same DLT.
Guy Harris [Sun, 20 Mar 2016 22:23:16 +0000 (15:23 -0700)] 
Don't recompile the filter if the new file has the same DLT.

Only recompile the filter - and only find a new printer and a new DLT
name - if, when reading multiple files with the -V flag, the new file
has a different DLT value from the old file.  With lots of small files,
that can make a significant performance difference.

Addresses GitHub issue #508.

9 years agoHave one switch statement, not two, for radiotap fields.
Guy Harris [Sat, 13 Feb 2016 06:39:24 +0000 (22:39 -0800)] 
Have one switch statement, not two, for radiotap fields.

Merge the two switch statements.

Use local variables, for each case, for the subfields, while we're at
it.

9 years agoDon't overwrite the destination IPv6 address for routing headers.
Guy Harris [Sat, 13 Feb 2016 04:26:39 +0000 (20:26 -0800)] 
Don't overwrite the destination IPv6 address for routing headers.

If we have a routing header, instead of overwriting the packet's IPv6
destination address in the packet with the final destination, so that
the next protocol's checksum routine can use it, we do as we do for
IPv4, and, in the "next protocol checksum" routine, scan the headers
looking for a routing header and, if we find one, copy the final
destination from it.

While we're at it, clean up a few things.

9 years agoPass an adjusted struct pcap_pkthdr to the sub-printer.
Guy Harris [Sat, 13 Feb 2016 02:48:22 +0000 (18:48 -0800)] 
Pass an adjusted struct pcap_pkthdr to the sub-printer.

The caplen and len of the packet it's printing must be reduced by the
length of the PPI header.

9 years agoAdd some packet-length checks.
Guy Harris [Sat, 13 Feb 2016 00:14:35 +0000 (16:14 -0800)] 
Add some packet-length checks.

9 years agoFix check against snapshot length.
Guy Harris [Fri, 12 Feb 2016 22:51:44 +0000 (14:51 -0800)] 
Fix check against snapshot length.

9 years agoAdd three test cases for already fixed CVEs
Francois-Xavier Le Bail [Sat, 6 Feb 2016 13:49:56 +0000 (14:49 +0100)] 
Add three test cases for already fixed CVEs

CVEs by Steffen Bauch
CVE-2014-8767: OLSR
CVE-2014-8768: Geonet
CVE-2014-8769: AODV

9 years agoVXLAN: Add a bound check
Francois-Xavier Le Bail [Sun, 31 Jan 2016 19:27:48 +0000 (20:27 +0100)] 
VXLAN: Add a bound check

Moreover:
Add and use tstr[].
Add and use VXLAN_HDR_LEN.

9 years agoVXLAN: Add a test case
Francois-Xavier Le Bail [Mon, 25 Jan 2016 08:44:31 +0000 (09:44 +0100)] 
VXLAN: Add a test case

9 years agoCONTRIBUTING: Update about invalid packets
Francois-Xavier Le Bail [Thu, 28 Jan 2016 15:57:18 +0000 (16:57 +0100)] 
CONTRIBUTING: Update about invalid packets

9 years agoChange istr[] (for invalid string) to be global
Francois-Xavier Le Bail [Thu, 28 Jan 2016 13:24:19 +0000 (14:24 +0100)] 
Change istr[] (for invalid string) to be global

9 years agoDon't do the DDP-over-UDP heuristic check up front.
Guy Harris [Tue, 12 Jan 2016 00:14:56 +0000 (16:14 -0800)] 
Don't do the DDP-over-UDP heuristic check up front.

There's probably less DDP-over-UDP traffic passing through tcpdump these
days than, for example, SNMP v2 traffic from a low source port longer
than 512 bytes, so move the latter heuristic check after all the other
checks.

Fixes GitHub tcpdump issue #499.

9 years agoFix the radiotap printer to handle the special bits correctly.
Guy Harris [Mon, 11 Jan 2016 23:47:31 +0000 (15:47 -0800)] 
Fix the radiotap printer to handle the special bits correctly.

Process bits 29, 30, and 31 in code that's independent of what namespace
we're in:

  If we're switching to the radiotap namespace, reset the bit numbers to
  start back at 0.

  If we're switching to a vendor namespace, get the vendor OUI and
  subspace, and the skip length.

  Keep trace of which namespace we're in.

  If we're *in* a vendor namespace, skip over the data specified by the
  skip length (and reset it, as we've processed all the vendor namespace
  data and, if there's a subsequent bitmap in the same namespace,
  there's nothing more to process.  Use cpack_align_and_reserve() to
  skip that, so we check that we don't go past the end of the packet
  data.

Fixes GitHub tcpdump issue #498.

This removes some bogus errors; update the test output to reflect that.

9 years agoUse the new debugging routines in libpcap.
Guy Harris [Thu, 31 Dec 2015 02:49:37 +0000 (18:49 -0800)] 
Use the new debugging routines in libpcap.

Newer versions of libpcap, when configured to provide debugging
printouts for the filter expression parser or optimizer, provide
routines to set the "debug the parser" and "debug the optimizer" flags;
use them if the library has them.  If the library doesn't have them, do
our best to try to use the older mechanisms for requesting debugging, if
present.

9 years agoRSVP: squelch a compiler warning
Denis Ovsienko [Mon, 28 Dec 2015 10:32:57 +0000 (10:32 +0000)] 
RSVP: squelch a compiler warning

./print-rsvp.c: In function ‘rsvp_print’:
./print-rsvp.c:1870:13: warning: ISO C90 forbids mixed declarations and code [-Wpedantic]
             u_short subplen, subtlen;
             ^

9 years agoI suspect an INTEGRITY object in a submessage covers only the submessage.
Guy Harris [Mon, 28 Dec 2015 04:13:14 +0000 (20:13 -0800)] 
I suspect an INTEGRITY object in a submessage covers only the submessage.

So don't hand rsvp_obj_print() a pointer to the beginning of, and the
length of, the entire bundle message; hand it a pointer to the beginning
of, and the length of, the submessage.

Use "bundle" rather than "aggregate" as the message type, while we're at
it; to quote RFC 2961, "The term "bundling" is used to avoid confusion
with RSVP reservation aggregation."

9 years agoIf HAVE_LIBCRYPTO isn't defined, define a stub signature_verify().
Guy Harris [Mon, 28 Dec 2015 02:09:33 +0000 (18:09 -0800)] 
If HAVE_LIBCRYPTO isn't defined, define a stub signature_verify().

That cleans up its callers.

9 years agoWe no longer need <stdlib.h> as signature_verify() does the allocation now.
Guy Harris [Mon, 28 Dec 2015 02:00:30 +0000 (18:00 -0800)] 
We no longer need <stdlib.h> as signature_verify() does the allocation now.

9 years agoHave signature_verify() do the copying and clearing.
Guy Harris [Mon, 28 Dec 2015 01:59:56 +0000 (17:59 -0800)] 
Have signature_verify() do the copying and clearing.

Just pass it a pointer to a routine to do the clearing and a pointer to
the data that needs to be cleared; signature_verify() will relocate all
pointers to stuff that needs to be cleared to point into the copy, clear
the signature itself, and call the routine to clear anything else.

9 years agoDon't overwrite packet data when checking the signature.
Guy Harris [Mon, 28 Dec 2015 00:58:52 +0000 (16:58 -0800)] 
Don't overwrite packet data when checking the signature.

Instead, make a copy, and overwrite that.

9 years agoConsistently use tabs for indentation.
Guy Harris [Tue, 22 Dec 2015 04:27:50 +0000 (20:27 -0800)] 
Consistently use tabs for indentation.

9 years agoupdate last modified date in man page(s)
Denis Ovsienko [Thu, 17 Dec 2015 23:51:58 +0000 (23:51 +0000)] 
update last modified date in man page(s)

9 years agoThere is no need to use strdup() for options
Francois-Xavier Le Bail [Thu, 17 Dec 2015 21:04:09 +0000 (22:04 +0100)] 
There is no need to use strdup() for options

The other options don't use it.

9 years agoThe last 2 bytes of an Ethernet header are the "length/type field".
Guy Harris [Thu, 17 Dec 2015 05:04:13 +0000 (21:04 -0800)] 
The last 2 bytes of an Ethernet header are the "length/type field".

Call it that, to indicate that it's not necessarily a type field.

While we're at it, get rid of references to "DEC/Intel/Xerox" and
"802.3" Ethernet headers in comments; since 802.3y, the 802.3 standard
supports both "DIX" frames, with a type field, and earlier 802.3 frames,
with a length field, so there's only one version of Ethernet, 802.3,
which supports frames with type fields and frames with length fields.

9 years agoEthernet: Print the Length/Type field as length when needed
Francois-Xavier Le Bail [Wed, 16 Dec 2015 14:48:14 +0000 (15:48 +0100)] 
Ethernet: Print the Length/Type field as length when needed

Reference: IEEE Std 802.3-2012
"If the value of this field is less than or equal to 1500 decimal
(05DC hexadecimal), then the Length/Type field indicates the number
of MAC client data octets contained in the subsequent MAC Client Data
field of the basic frame (Length interpretation)."

Update the output of a test accordingly.

9 years agoMerge pull request #471 from qnet-herwin/radius_port1700
Denis Ovsienko [Wed, 16 Dec 2015 09:26:40 +0000 (09:26 +0000)] 
Merge pull request #471 from qnet-herwin/radius_port1700

9 years agoDo more bounds checking.
Guy Harris [Wed, 16 Dec 2015 03:12:00 +0000 (19:12 -0800)] 
Do more bounds checking.

Step through the SCTP packet with the bp variable, and keep a packet
data remaining variable and use that for bounds checking.  For each
chunk, keep a chunk data remaining variable and use that as well.  If
there's not enough room for a full item, that gets reported as an error.

While we're at it, fix an error printout.

9 years agoFix some leaks found by Valgrind/Memcheck
Francois-Xavier Le Bail [Tue, 15 Dec 2015 21:12:43 +0000 (22:12 +0100)] 
Fix some leaks found by Valgrind/Memcheck

9 years agoUse uintptr_t to look at the bits of a pointer.
Guy Harris [Tue, 15 Dec 2015 19:22:19 +0000 (11:22 -0800)] 
Use uintptr_t to look at the bits of a pointer.

We use AC_TYPE_UINTPTR_T in the configure script, so it'll be defined if
we use autotools, and MSVC has supported it since at least Visual Studio
.NET 2003, so we'll use it instead of "unsigned long"; "unsigned long"
causes warnings on LLP64 platforms, as it's not wide enough for a
pointer on those platforms.

9 years agoTranslate UDP/1700 as RADIUS 471/head
Herwin Weststrate [Wed, 22 Jul 2015 15:03:56 +0000 (17:03 +0200)] 
Translate UDP/1700 as RADIUS

Used for Cisco CoA/Disconnect, as shown on https://supportforums.cisco.com/discussion/11719766/ise-112-change-authorization-avaya-switches-5520. The RFC says port 3799, but Cisco does this otherwise, which means this is not an officially reserved port for RADIUS.

9 years agoHarmonize TCP source or destination ports tests with UDP ones
Francois-Xavier Le Bail [Mon, 14 Dec 2015 19:28:14 +0000 (20:28 +0100)] 
Harmonize TCP source or destination ports tests with UDP ones

9 years agoCheck for fork/vfork failing.
Guy Harris [Sun, 13 Dec 2015 22:29:40 +0000 (14:29 -0800)] 
Check for fork/vfork failing.

Clean up some other stuff while we're at it.

9 years agoMerge pull request #494 from RomeroMalaquias/master
Guy Harris [Sun, 13 Dec 2015 22:18:14 +0000 (14:18 -0800)] 
Merge pull request #494 from RomeroMalaquias/master

Avoiding conditional directives that break statements

9 years agoAvoiding conditional directives that break statements 494/head
Romero Malaquias [Sun, 13 Dec 2015 21:43:08 +0000 (18:43 -0300)] 
Avoiding conditional directives that break statements

9 years agoOSPF: Fix a segmentation fault
Francois-Xavier Le Bail [Wed, 9 Dec 2015 14:46:12 +0000 (15:46 +0100)] 
OSPF: Fix a segmentation fault

Moreover:
Fix printout of Link Protection Type sub-TLV.
Add some length checks.
Add and use istr[].
Add some comments.

9 years agoAdd missing output files for MPLS/ICMP extensions capture file
Francois-Xavier Le Bail [Fri, 27 Nov 2015 13:28:38 +0000 (14:28 +0100)] 
Add missing output files for MPLS/ICMP extensions capture file

Add the test cases accordingly.
Complete Hannes's commit fad6704f63f034e6e678e466c4094054527fa82d.

9 years agoUDLD: Fix "Unchecked return value" found by Coverity
Francois-Xavier Le Bail [Thu, 26 Nov 2015 15:45:42 +0000 (16:45 +0100)] 
UDLD: Fix "Unchecked return value" found by Coverity

The bounds check is already done before by ND_TCHECK2(*tptr, len).
So we are deliberately ignoring the return value of fn_printn with last
argument NULL (no bounds check).

9 years agoVTP: Add bounds checks
Francois-Xavier Le Bail [Sat, 21 Nov 2015 13:23:44 +0000 (14:23 +0100)] 
VTP: Add bounds checks

9 years agoLISP: Add and use istr[] and tstr[] strings
Francois-Xavier Le Bail [Sat, 21 Nov 2015 09:39:16 +0000 (10:39 +0100)] 
LISP: Add and use istr[] and tstr[] strings

Update the output of a test accordingly.

Moreover:
Delete extra blank lines.

9 years agoUDLD: Fix an infinite loop
Francois-Xavier Le Bail [Fri, 20 Nov 2015 19:23:11 +0000 (20:23 +0100)] 
UDLD: Fix an infinite loop

Moreover:
Update reference from draft to RFC5171.
Add bounds and length checks.
Fix TLV length printout. It is the length of the type, length, and value
fields.
Filter out non-printable characters.
Print the Echo TLV with fn_printn(). Note: The format of this list of ID
pairs is not documented in the RFC.
Update the output of a test accordingly.
Add and use istr[] and tstr[] strings.
Comment on the TLV format.
Update some comments.

9 years agoWe only handle 4-part addresses.
Guy Harris [Wed, 18 Nov 2015 21:29:57 +0000 (13:29 -0800)] 
We only handle 4-part addresses.

Get rid of the code to handle everything else; that code was dead, as
Coverity noted.  Add some comments to clarify what's going on.

9 years agoSquelch a Coverity warning.
Guy Harris [Wed, 18 Nov 2015 21:07:34 +0000 (13:07 -0800)] 
Squelch a Coverity warning.

See Coverity CID 1324572 for tcpdump - the unsigned octets from the IPv6
address were getting extended to ints as a result of getting shifted
left by an int, so make the loop counter unsigned.

9 years agoRemove debugging printouts.
Guy Harris [Wed, 18 Nov 2015 20:46:25 +0000 (12:46 -0800)] 
Remove debugging printouts.

9 years agoISOCLNS: Filter out non-printable characters 487/head
Francois-Xavier Le Bail [Wed, 11 Nov 2015 14:48:20 +0000 (15:48 +0100)] 
ISOCLNS: Filter out non-printable characters

Use fn_printzp().

Moreover:
Delete extra blank lines.

9 years agoVTP: Filter out non-printable characters
Francois-Xavier Le Bail [Tue, 10 Nov 2015 12:28:17 +0000 (13:28 +0100)] 
VTP: Filter out non-printable characters

Use fn_printzp().

Moreover:
Improve some comments.
Use 'type' instead of '*(tptr+1)' when possible.

9 years agoRADIUS: Filter out non-printable characters
Francois-Xavier Le Bail [Mon, 9 Nov 2015 18:53:38 +0000 (19:53 +0100)] 
RADIUS: Filter out non-printable characters

Update a test according to this change.

9 years agoCDP: Filter out non-printable characters
Francois-Xavier Le Bail [Mon, 9 Nov 2015 14:59:58 +0000 (15:59 +0100)] 
CDP: Filter out non-printable characters

Add a fn_print_char() to do filtering.

9 years agoRSVP: Add some bounds checks
Francois-Xavier Le Bail [Fri, 6 Nov 2015 17:55:56 +0000 (18:55 +0100)] 
RSVP: Add some bounds checks

Moreover:
Add and use tstr[] string.

9 years agoISOCLNS: Fix a segmentation fault
Francois-Xavier Le Bail [Wed, 4 Nov 2015 21:51:24 +0000 (22:51 +0100)] 
ISOCLNS: Fix a segmentation fault

Moreover:
Avoid two consecutive truncation messages.

9 years agoKeep our own Ethertype-to-name map.
Guy Harris [Wed, 4 Nov 2015 03:06:41 +0000 (19:06 -0800)] 
Keep our own Ethertype-to-name map.

Don't use a hack to get the table from libpcap; have our own table.
That cleans up the hack, and lets us add stuff to our table without
having to worry about libpcap.

9 years agoMerge pull request #486 from loos-br/master
Guy Harris [Sun, 1 Nov 2015 23:39:46 +0000 (15:39 -0800)] 
Merge pull request #486 from loos-br/master

Fix capsicum support to work with zerocopy buffers in bpf.

9 years agoMissing comma in list of initializers.
Guy Harris [Sun, 1 Nov 2015 21:27:32 +0000 (13:27 -0800)] 
Missing comma in list of initializers.

9 years agoBeginnings of 11ac radiotap support.
Guy Harris [Sun, 1 Nov 2015 19:41:26 +0000 (11:41 -0800)] 
Beginnings of 11ac radiotap support.

9 years agoPRIu64 includes the "u".
Guy Harris [Sat, 31 Oct 2015 17:38:09 +0000 (10:38 -0700)] 
PRIu64 includes the "u".

9 years agoWe need PRIu64 to print a uint64_t.
Guy Harris [Sat, 31 Oct 2015 17:26:06 +0000 (10:26 -0700)] 
We need PRIu64 to print a uint64_t.

9 years agoZeroMQ: avoid code duplication
Denis Ovsienko [Sat, 31 Oct 2015 16:44:22 +0000 (16:44 +0000)] 
ZeroMQ: avoid code duplication

9 years agoCoverity: Build script: Update the upload URL for the framework change
Francois-Xavier Le Bail [Fri, 30 Oct 2015 08:29:13 +0000 (09:29 +0100)] 
Coverity: Build script: Update the upload URL for the framework change

This fix the build submission error.

Moreover:
More sync with the updated default build script.

9 years agoFix some comments
Francois-Xavier Le Bail [Tue, 27 Oct 2015 10:50:07 +0000 (11:50 +0100)] 
Fix some comments

Moreover:
Fix mixed spaces/tabs.

9 years agoISOCLNS: Fix two segmentation faults
Francois-Xavier Le Bail [Sat, 17 Oct 2015 20:25:23 +0000 (22:25 +0200)] 
ISOCLNS: Fix two segmentation faults

Moreover:
Add/fix a lot of bounds and length checks.
Add and use tstr[] string.
Fix some typos.
Update the output of a test according to these changes.

9 years agoFix a test name
Gisle Vanem [Thu, 15 Oct 2015 14:55:22 +0000 (16:55 +0200)] 
Fix a test name

9 years agoFix capsicum support to work with zerocopy buffers in bpf. 486/head
Luiz Otavio O Souza [Wed, 14 Oct 2015 15:05:24 +0000 (10:05 -0500)] 
Fix capsicum support to work with zerocopy buffers in bpf.

Zerocopcy buffers in bpf was broken until recently in FreeBSD and now that
it is fixed, tcpdump is failing with insuficient capabilities when trying to
use the BIOCROTZBUF ioctl.

This commit adds BIOCROTZBUF to the list of allowed ioctls.

9 years agoAdd missing output files for LSP-Ping capture files
Francois-Xavier Le Bail [Tue, 13 Oct 2015 14:31:45 +0000 (16:31 +0200)] 
Add missing output files for LSP-Ping capture files

9 years agoFix the error handling in 'ndo_printf' function
Francois-Xavier Le Bail [Mon, 12 Oct 2015 20:17:01 +0000 (22:17 +0200)] 
Fix the error handling in 'ndo_printf' function

Moreover:
Replace strerror() calls with pcap_strerror() calls, in case some platform
lacks strerror().

9 years agoAdd test files for pcap-ng invalid versions
Francois-Xavier Le Bail [Sat, 10 Oct 2015 16:54:46 +0000 (18:54 +0200)] 
Add test files for pcap-ng invalid versions

9 years agoAdd test files for pcap invalid versions
Francois-Xavier Le Bail [Sat, 10 Oct 2015 16:22:22 +0000 (18:22 +0200)] 
Add test files for pcap invalid versions

9 years agoFix the pcap version in tests/cve2015-0261-crash.pcap
Francois-Xavier Le Bail [Sat, 10 Oct 2015 12:24:41 +0000 (14:24 +0200)] 
Fix the pcap version in tests/cve2015-0261-crash.pcap

It will be always usable with the upcoming libpcap versions sanity checks.
(old version: 12336.12336, new version: 2.4)

9 years agoGet rid of "TCPDUMP" in some libnetdissect codes
Francois-Xavier Le Bail [Thu, 8 Oct 2015 14:36:23 +0000 (16:36 +0200)] 
Get rid of "TCPDUMP" in some libnetdissect codes

9 years agoFix a comment
Francois-Xavier Le Bail [Thu, 8 Oct 2015 14:26:36 +0000 (16:26 +0200)] 
Fix a comment

Moreover:
s/tcpdump/netdissect/

9 years agoUse the nd_uintN_t types more.
Guy Harris [Wed, 7 Oct 2015 07:14:20 +0000 (00:14 -0700)] 
Use the nd_uintN_t types more.

Define them in netdissect.h.

Use them in ip.h, and *don't* mark the structures as UNALIGNED; that
should no longer be necessary.

Add a new nd_ipv4 type to use as an IPv4 address; it represents the 4
bytes of IPv4 address as an array of unsigned chars, so that its natural
alignment is only on a byte boundary.

Those changes found some places where we weren't using
UNALIGNED_MEMCPY() to extract IPv4 addresses from packets; use it.

9 years agoSquelch some "constness casted away" warnings.
Guy Harris [Wed, 7 Oct 2015 05:48:09 +0000 (22:48 -0700)] 
Squelch some "constness casted away" warnings.

9 years agoIntroduce data types to use for integral values in packet structures.
Guy Harris [Tue, 6 Oct 2015 16:41:01 +0000 (09:41 -0700)] 
Introduce data types to use for integral values in packet structures.

They are defined as arrays of bytes, so

1) no padding is inserted before them to put them on natural
   boundaries, so they can be used if the values *aren't* so
   aligned;

2) you have to use EXTRACT_ macros with them - which you should
   be doing *anyway*, to avoid explicitly or implicitly making
   assumptions about byte order or alignment safety on the
   platform for which your code is being built (it'd better work
   when built for little-endian x86 or for big-endian *and*
   strict-alignment-requiring SPARC).

Use them in the LISP (no, not the programming language!) dissector;
UNALIGNED means "this structure is not guaranteed to be aligned as a
whole, so don't generate code that assumes it is", not "this structure's
individual members shouldn't have padding to put them on natural
boundaries", so it's not sufficient to do that.  (Using these types
*might* suffice to ensure that code that assumes alignment not be
generated, but never underestimate SPARC compilers' eagerness to use
single load and store instructions to fetch big-endian 16-bit, 32-bit,
and 64-bit values from packets that really aren't guaranteed to be
aligned.)

9 years agoRSVP: Fix an infinite loop
Francois-Xavier Le Bail [Tue, 6 Oct 2015 14:21:19 +0000 (16:21 +0200)] 
RSVP: Fix an infinite loop

9 years agoFix a trailing tab
Francois-Xavier Le Bail [Mon, 5 Oct 2015 12:41:18 +0000 (14:41 +0200)] 
Fix a trailing tab

9 years agoLISP: Fix a Clang warning
Francois-Xavier Le Bail [Mon, 5 Oct 2015 09:03:15 +0000 (11:03 +0200)] 
LISP: Fix a Clang warning

The warning was:
./print-lisp.c:401:11: warning: variable 'xtr_present' is used uninitialized
      whenever 'if' condition is false [-Wsometimes-uninitialized]
        else if (type == LISP_MAP_NOTIFY)
                 ^~~~~~~~~~~~~~~~~~~~~~~

./print-lisp.c:404:9: note: uninitialized use occurs here
        return xtr_present;
               ^~~~~~~~~~~

Moreover:
Remove unused 'interface.h' include.

9 years agoLISP: We always support IPv6 addresses now
Francois-Xavier Le Bail [Sun, 4 Oct 2015 15:20:21 +0000 (17:20 +0200)] 
LISP: We always support IPv6 addresses now

INET6 is no more used.

9 years agoInitial commit for support of Type 3 and Type 4 LISP packets.
ritsz [Fri, 14 Aug 2015 16:06:52 +0000 (21:36 +0530)] 
Initial commit for support of Type 3 and Type 4 LISP packets.

Fixing Travis CI build for LISP commit

Adding testcases for lisp notify and register

Fixing build warnings

Added ND_TCHECK for relevant headers

Fixing ND_TCHECK2 issues

Adding support for multiple LOC records for same EID entry

Fixing review issues, adding detailed tests

Adding support for verbose outputs

Adding RFC information for UDP PORT defination

Removing Spaces in type names

Print EID record related flags in verbose mode

Using tok2str

Fixing -Wpedantic issues

Negative testcases, Packet structure comments, verbose mode flag printing

Printing Map Version

Print auth_data, decouple type and xtr_present extraction, handle malformed packets correctly

Tests for latest code changes

Printing useful info incase not built with IPv6 support

9 years agoCONTRIBUTING: Index the remarks with letters for later references
Francois-Xavier Le Bail [Fri, 2 Oct 2015 21:47:17 +0000 (23:47 +0200)] 
CONTRIBUTING: Index the remarks with letters for later references

9 years agoWe need -Werror when testing whether -f or -m flags work.
Guy Harris [Tue, 29 Sep 2015 08:15:53 +0000 (01:15 -0700)] 
We need -Werror when testing whether -f or -m flags work.

Thank you, clang, for treating unknown -f flags as warnings, only
failing with them if run with -Werror, and spewing out warning messages
whenever they're used.

9 years agoFix check for MCS field being present.
Guy Harris [Tue, 29 Sep 2015 03:09:53 +0000 (20:09 -0700)] 
Fix check for MCS field being present.

Fix test file while we're at it.

9 years agoUpdate tests for 11n fix.
Guy Harris [Tue, 29 Sep 2015 01:50:40 +0000 (18:50 -0700)] 
Update tests for 11n fix.

9 years agoIf we have the MCS field, it's 11n.
Guy Harris [Tue, 29 Sep 2015 01:19:31 +0000 (18:19 -0700)] 
If we have the MCS field, it's 11n.

Pass print_chaninfo() the presence flags, and, if IEEE80211_RADIOTAP_MCS
is set, report it as 11n, rather than looking at the channel flags to
figure out whether it's FHSS or 11b/11a/11g.

Fix typo while we're at it ("long GI", not "lon GI").