]> The Tcpdump Group git mirrors - tcpdump/log
tcpdump
10 years agoSkip the LLC and SNAP headers with -x.
Guy Harris [Sat, 18 Apr 2015 06:42:22 +0000 (23:42 -0700)] 
Skip the LLC and SNAP headers with -x.

Have llc_print() return the length of the LLC header, plus the length of
the SNAP header, if available - or, if it couldn't dissect the payload,
return the *negative* of that sum.  Use that return value in link-layer
printers.

10 years agoFix the printing of RFC 948-style IP packets.
Guy Harris [Sat, 18 Apr 2015 02:47:29 +0000 (19:47 -0700)] 
Fix the printing of RFC 948-style IP packets.

They have a 3-octet LLC UI frame followed *immediately* by an IP packet;
the payload is 3 bytes, not 4 bytes, past the LLC header.

10 years agoGet rid of unused variables.
Guy Harris [Sat, 18 Apr 2015 02:14:47 +0000 (19:14 -0700)] 
Get rid of unused variables.

10 years agoUpdate test output for the previous change.
Guy Harris [Sat, 18 Apr 2015 02:01:14 +0000 (19:01 -0700)] 
Update test output for the previous change.

10 years agoClean up printing of LLC packets.
Guy Harris [Sat, 18 Apr 2015 01:38:46 +0000 (18:38 -0700)] 
Clean up printing of LLC packets.

Don't print LLC header information for SNAP packets; if we have a SNAP
header, just call snap_print() and return its return value, regardless
of whether it's 1 or 0, don't fall into the code to print raw LLC header
information - and don't print it with -e, either.

If llc_print() returns 0, just call the default packet printer, don't
print the MAC-layer header or the extracted ethertype - llc_print() will
print the source and destination MAC addresses and whatever type
information is in the LLC or SNAP headers.

If we don't know the DSAP/LSAP, and it's an information frame (numbered
or not) and not an XID frame, return 0, so that we give a hex dump of
the raw payload.

In addition, print the length when printing SNAP header information with
-e.

10 years agoExtract addresses for management frames in a separate routine.
Guy Harris [Fri, 17 Apr 2015 20:49:12 +0000 (13:49 -0700)] 
Extract addresses for management frames in a separate routine.

10 years agoCheck the Protected bit for management frames, too.
Guy Harris [Fri, 17 Apr 2015 20:22:16 +0000 (13:22 -0700)] 
Check the Protected bit for management frames, too.

Management frames can have the Protected bit set; if so, just use
wep_print() on the body.

10 years agoUpdate test output to reflect previous change.
Guy Harris [Fri, 17 Apr 2015 20:14:22 +0000 (13:14 -0700)] 
Update test output to reflect previous change.

10 years agoDon't announce protected data frames if -e isn't set.
Guy Harris [Fri, 17 Apr 2015 19:36:41 +0000 (12:36 -0700)] 
Don't announce protected data frames if -e isn't set.

wep_print()s output should indicate that the frame is protected; no need
to stick "Protected" into the output.

10 years agoThe FC flag is now "protected", not "WEP".
Guy Harris [Thu, 16 Apr 2015 03:11:41 +0000 (20:11 -0700)] 
The FC flag is now "protected", not "WEP".

It's also used for WPA/WPA2, so it's a generic "protected by encryption"
flag.  Update the name of the macro that checks it, and report it as
"Protected" rather than "WEP Encrypted".

10 years agoReflect the results of recent changes.
Guy Harris [Thu, 16 Apr 2015 03:07:52 +0000 (20:07 -0700)] 
Reflect the results of recent changes.

We don't print anything from the MAC header without -e, even with -v -
except for the Protected flag, which we print regardless of -e or -v.

10 years agoHandle the link-layer header more like other 802.x dissectors.
Guy Harris [Thu, 16 Apr 2015 02:44:34 +0000 (19:44 -0700)] 
Handle the link-layer header more like other 802.x dissectors.

Have ieee_802_11_hdr_print() unconditionally print the MAC header, call
it before any payload dissection if -e is specified, call it if
llc_print() fails and -e *isn't* specified, and print "WEP Encrypted"
for protected management and control frames if -e isn't specified.

Pull the extraction of source and destination addresses out of
ieee_802_11_hdr_print(), and do it only for data frames, as it's not
needed for management or control frames.

10 years agoGet rid of unused variable.
Guy Harris [Thu, 16 Apr 2015 01:16:38 +0000 (18:16 -0700)] 
Get rid of unused variable.

10 years agoOnly print unknown frame type or subtype messages once.
Guy Harris [Thu, 16 Apr 2015 01:13:53 +0000 (18:13 -0700)] 
Only print unknown frame type or subtype messages once.

Check whether extract_header_length() returns 0; if it does, that means
that  we don't have a known frame type or control frame subtype, so just
stop dissecting - extract_header_length() has already printed an
indication of the unknown frame type.

Remove other "unknown frame type" and "unknown control frame subtype"
printouts.

10 years agoMerge pull request #452 from brooksdavis/backend-separation
Michael Richardson [Wed, 15 Apr 2015 21:17:03 +0000 (17:17 -0400)] 
Merge pull request #452 from brooksdavis/backend-separation

Backend separation

10 years agoUse the IEEE802_11_XXX_LEN #defines for the appropriate array lengths.
Guy Harris [Wed, 15 Apr 2015 19:55:56 +0000 (12:55 -0700)] 
Use the IEEE802_11_XXX_LEN #defines for the appropriate array lengths.

10 years agoGet the header length for control wrapper and block ACK frames.
Guy Harris [Wed, 15 Apr 2015 19:51:34 +0000 (12:51 -0700)] 
Get the header length for control wrapper and block ACK frames.

While we're at it, rename the "ctrl_XXX_t" structures to
"ctrl_XXX_hdr_t", and remove the FCS fields, as some control frames have
variable-length data in them and those structures only cover the
fixed-length portion of the frames.

10 years agoDisentangle packet dissection functionally in tcpdump from the internal 452/head
Brooks Davis [Wed, 15 Apr 2015 16:39:05 +0000 (16:39 +0000)] 
Disentangle packet dissection functionally in tcpdump from the internal
libnetdissect.  This greatly narrows the public interface and allows
libnetdissect to be more easily sandboxed.

10 years agoMove functions in util.c that are used in the dissectors into a
Brooks Davis [Wed, 15 Apr 2015 16:33:13 +0000 (16:33 +0000)] 
Move functions in util.c that are used in the dissectors into a
util-print.c.  The remaining functions are used only in the frontend.

10 years agoInclude the metadata *and* link-layer header in the header length.
Guy Harris [Tue, 14 Apr 2015 21:36:23 +0000 (14:36 -0700)] 
Include the metadata *and* link-layer header in the header length.

Also, don't use the length of the fixed-length portion of the PPI header
as the metadata length, use the *entire* length.

Otherwise, "-x" doesn't start printing at the link-layer payload.

10 years agoUpdate CHANGES.
Guy Harris [Tue, 14 Apr 2015 21:05:42 +0000 (14:05 -0700)] 
Update CHANGES.

10 years agoInclude the metadata *and* link-layer header in the header length.
Guy Harris [Tue, 14 Apr 2015 21:04:47 +0000 (14:04 -0700)] 
Include the metadata *and* link-layer header in the header length.

Otherwise, "-x" doesn't start printing at the link-layer payload.

10 years agoremove TODO
Denis Ovsienko [Tue, 14 Apr 2015 10:53:57 +0000 (11:53 +0100)] 
remove TODO

Most of the tasks in the file had been completed years ago.

10 years agomerge atmuni31.h into print-atm.c
Denis Ovsienko [Tue, 14 Apr 2015 10:35:43 +0000 (11:35 +0100)] 
merge atmuni31.h into print-atm.c

10 years agoNot all C compilers accept C++/C99 comments by default.
Guy Harris [Tue, 14 Apr 2015 01:32:17 +0000 (18:32 -0700)] 
Not all C compilers accept C++/C99 comments by default.

Use "#if 0" instead to comment out code.

10 years agoFix dates.
Guy Harris [Fri, 10 Apr 2015 08:20:10 +0000 (01:20 -0700)] 
Fix dates.

10 years agoAdd information for 4.7.4 release.
Guy Harris [Fri, 10 Apr 2015 08:16:13 +0000 (01:16 -0700)] 
Add information for 4.7.4 release.

10 years agoClean up CREDITS file.
Guy Harris [Fri, 10 Apr 2015 08:11:22 +0000 (01:11 -0700)] 
Clean up CREDITS file.

10 years agoMerge pull request #449 from Longinus00/tfo_rfc7413
Denis Ovsienko [Wed, 8 Apr 2015 20:27:49 +0000 (21:27 +0100)] 
Merge pull request #449 from Longinus00/tfo_rfc7413

10 years agoAdd support for TCP Fast Open official IANA option number 449/head
Daniel Lee [Wed, 8 Apr 2015 00:42:55 +0000 (17:42 -0700)] 
Add support for TCP Fast Open official IANA option number
https://tools.ietf.org/html/rfc7413

10 years agoWe're not copying the string to buf, so print the string, not buf.
Guy Harris [Wed, 8 Apr 2015 18:37:08 +0000 (11:37 -0700)] 
We're not copying the string to buf, so print the string, not buf.

Get rid of the now-unused buf array while we're at it.

10 years agoPrint strings with fn_printn().
Guy Harris [Wed, 8 Apr 2015 18:06:50 +0000 (11:06 -0700)] 
Print strings with fn_printn().

That filters out non-printable characters.

10 years agoFor -L, print the DLTs in order, not reverse order.
Guy Harris [Fri, 27 Mar 2015 20:02:36 +0000 (13:02 -0700)] 
For -L, print the DLTs in order, not reverse order.

Reverse order puts the default DLT last, which is a bit weird.

10 years agowhiteboard: fixup a few reversed tests (GH #446)
Denis Ovsienko [Wed, 25 Mar 2015 22:35:12 +0000 (22:35 +0000)] 
whiteboard: fixup a few reversed tests (GH #446)

This is a follow-up to commit 3a3ec26.

10 years agofix compiling after the last change
Denis Ovsienko [Sun, 22 Mar 2015 10:30:21 +0000 (10:30 +0000)] 
fix compiling after the last change

Mind the HAVE_CAPSICUM and USE_LIBSMI cases.

10 years agodismiss NETDISSECT_REWORKED macro
Denis Ovsienko [Sun, 22 Mar 2015 10:06:15 +0000 (10:06 +0000)] 
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.

10 years agoremove unused function default_print()
Denis Ovsienko [Sun, 22 Mar 2015 10:04:26 +0000 (10:04 +0000)] 
remove unused function default_print()

10 years agoIPv6 mobility: make use of tok2str()
Denis Ovsienko [Fri, 13 Mar 2015 20:07:32 +0000 (20:07 +0000)] 
IPv6 mobility: make use of tok2str()

10 years agoRPKI to Router Protocol: Fix Segmentation Faults and other problems
Francois-Xavier Le Bail [Fri, 13 Mar 2015 13:27:39 +0000 (14:27 +0100)] 
RPKI to Router Protocol: Fix Segmentation Faults and other problems

-Fix/add ND_TCHECK2 tests,
-Fix a buffer overflow,
-Remove a debug printf

10 years agoIPv6 mobility: remove unused macros
Denis Ovsienko [Thu, 12 Mar 2015 22:40:04 +0000 (22:40 +0000)] 
IPv6 mobility: remove unused macros

Those were part of an earlier implementation of the protocol with a
different encoding. For the present encoding ip6m_hdrlen[] does the job.

10 years agoReflect the addition of a space before "(unverified)".
Guy Harris [Wed, 11 Mar 2015 21:00:56 +0000 (14:00 -0700)] 
Reflect the addition of a space before "(unverified)".

10 years agoAdd a missing space to a printout.
Guy Harris [Wed, 11 Mar 2015 19:51:32 +0000 (12:51 -0700)] 
Add a missing space to a printout.

Fix some warnings while we're at it.

10 years agoFix previous checkins of test output.
Guy Harris [Wed, 11 Mar 2015 06:22:47 +0000 (23:22 -0700)] 
Fix previous checkins of test output.

10 years agomake sure that EXIT code is appended to results file
Michael Richardson [Mon, 9 Mar 2015 18:35:02 +0000 (14:35 -0400)] 
make sure that EXIT code is appended to results file

10 years agoin some cases we expect tcpdump to fail with an error code
Michael Richardson [Mon, 16 Feb 2015 02:21:29 +0000 (21:21 -0500)] 
in some cases we expect tcpdump to fail with an error code

10 years agoannotate kday packets with CVE numbers
Michael Richardson [Mon, 9 Mar 2015 19:15:31 +0000 (15:15 -0400)] 
annotate kday packets with CVE numbers

10 years agoupdate cve-2015-0261 test packets with expected output
Michael Richardson [Mon, 9 Mar 2015 18:35:53 +0000 (14:35 -0400)] 
update cve-2015-0261 test packets with expected output

10 years agobroken packets from Kevin Day
Michael Richardson [Sun, 15 Feb 2015 20:29:52 +0000 (15:29 -0500)] 
broken packets from Kevin Day

10 years agotest case for cve2015-0261 -- corrupted IPv6 mobility header
Michael Richardson [Mon, 16 Feb 2015 02:22:11 +0000 (21:22 -0500)] 
test case for cve2015-0261 -- corrupted IPv6 mobility header

Author:    Michael Richardson <[email protected]>

10 years agoprotected osi_print_cksum is more general fashion
Michael Richardson [Mon, 9 Mar 2015 19:15:52 +0000 (15:15 -0400)] 
protected osi_print_cksum is more general fashion

10 years agosome patches to deal with kday pcap files
Michael Richardson [Mon, 16 Feb 2015 19:49:11 +0000 (14:49 -0500)] 
some patches to deal with kday pcap files

Author:    Michael Richardson <[email protected]>

10 years agoenumerate F_OP values explicitely, provide reference to where they are defined.
Michael Richardson [Mon, 16 Feb 2015 18:25:25 +0000 (13:25 -0500)] 
enumerate F_OP values explicitely, provide reference to where they are defined.
guard against case where ops->print is nil

10 years agoND_TEST2 should validate that l is non-negative
Michael Richardson [Mon, 9 Mar 2015 18:23:25 +0000 (14:23 -0400)] 
ND_TEST2 should validate that l is non-negative

10 years agoadded notes about CVEs that were fixed
Michael Richardson [Wed, 18 Feb 2015 01:15:22 +0000 (20:15 -0500)] 
added notes about CVEs that were fixed

10 years agoGet rid of unused variable.
Guy Harris [Wed, 11 Mar 2015 00:58:09 +0000 (17:58 -0700)] 
Get rid of unused variable.

10 years agoGet rid of support for non-NDOified printers.
Guy Harris [Tue, 10 Mar 2015 20:25:52 +0000 (13:25 -0700)] 
Get rid of support for non-NDOified printers.

Remove the TTEST{2}/TCHECK{2} macros.  Rename all "ndo_printer" routines,
structures, and structure members to just "printer", and get rid of the
old routines/structures/structure members with those names.

10 years agoClean up Capsicum rights setting a bit.
Guy Harris [Mon, 9 Mar 2015 22:34:03 +0000 (15:34 -0700)] 
Clean up Capsicum rights setting a bit.

Rename set_dump_fd_capsicum_rights() to set_dumper_capsicum_rights() and
have it take a pcap_dumper_t * as an argument and extract the file
descriptor itself, rather than having the caller do so.

This fixes a syntax error in one of the calls.

10 years agoAdd a #define for the short options and put it above the long options.
Guy Harris [Sun, 8 Mar 2015 22:55:47 +0000 (15:55 -0700)] 
Add a #define for the short options and put it above the long options.

That puts all the option lists together; hopefully this encourages
developers who want to add a new flag to read the big "don't use these
options, other tcpdumps use them for their own purposes" command and
thus *dis*courages them from using one of those options.

10 years agoDo the dump file Capsicum stuff in a common routine. 440/head
Guy Harris [Thu, 5 Mar 2015 23:32:01 +0000 (15:32 -0800)] 
Do the dump file Capsicum stuff in a common routine.

We were doing the same stuff in two places and *almost* the same stuff
in a third place, which should have been doing the same stuff.  Put that
stuff into a common routine and just use that.

(What a mess.  If you pour a bottle of Capsicum on your OS, it seeps all
throughout the system; might as well admit it and, at least, extend the
standard I/O library to handle it a bit better.)

10 years agoMerge pull request #433 from wxsBSD/cap_fix
Guy Harris [Thu, 5 Mar 2015 22:51:51 +0000 (14:51 -0800)] 
Merge pull request #433 from wxsBSD/cap_fix

Add CAP_FCNTL and use cap_fcntls_limit().

10 years agoadd/update some references in comments
Denis Ovsienko [Thu, 5 Mar 2015 12:50:39 +0000 (12:50 +0000)] 
add/update some references in comments

10 years agoclean K&R style up in function declarations a bit
Denis Ovsienko [Thu, 5 Mar 2015 10:33:43 +0000 (10:33 +0000)] 
clean K&R style up in function declarations a bit

The function body should have its opening brace on the next line.

10 years agoFix the pointer tests in the non-ndoified TTEST2() macro as well. 349/head
Guy Harris [Mon, 2 Mar 2015 21:46:29 +0000 (13:46 -0800)] 
Fix the pointer tests in the non-ndoified TTEST2() macro as well.

10 years agoC compilers can, and some do, optimize away pointer underflow checks.
Guy Harris [Mon, 2 Mar 2015 21:25:12 +0000 (13:25 -0800)] 
C compilers can, and some do, optimize away pointer underflow checks.

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.

10 years agoDon't run past the snaplength when printing a packet with a too-short LI.
Guy Harris [Sun, 1 Mar 2015 19:00:21 +0000 (11:00 -0800)] 
Don't run past the snaplength when printing a packet with a too-short LI.

Fixes GitHub issue #437.

10 years agoUpdate config.{sub,guess}, timestamp='2015-02-2[23]'
Francois-Xavier Le Bail [Sun, 1 Mar 2015 11:37:06 +0000 (12:37 +0100)] 
Update config.{sub,guess}, timestamp='2015-02-2[23]'

10 years agoUpdate config.{sub,guess}, timestamp='2015-01-01'
Francois-Xavier Le Bail [Fri, 20 Feb 2015 14:11:29 +0000 (15:11 +0100)] 
Update config.{sub,guess}, timestamp='2015-01-01'

10 years agoMerge pull request #435 from wolfgangkarall/sigusr1-man
Michael Richardson [Tue, 24 Feb 2015 14:03:33 +0000 (09:03 -0500)] 
Merge pull request #435 from wolfgangkarall/sigusr1-man

document SIGUSR1 in manual page

10 years agodocument SIGUSR1 in manual page 435/head
Wolfgang Karall [Tue, 24 Feb 2015 11:36:51 +0000 (12:36 +0100)] 
document SIGUSR1 in manual page

10 years agoOpenFlow 1.0: address a Coverity warning
Denis Ovsienko [Sat, 21 Feb 2015 22:12:52 +0000 (22:12 +0000)] 
OpenFlow 1.0: address a Coverity warning

10 years agogitattributes: Update the attributes for tests/*.out
Francois-Xavier Le Bail [Sat, 21 Feb 2015 13:25:35 +0000 (14:25 +0100)] 
gitattributes: Update the attributes for tests/*.out

The actual status for good conditions of tests in Windows are:

Sources from    autocrlf    *.out ending    sed stuff
git             true        CRLF            no
git             input       LF              yes
git             false       LF              yes
archive         N/A         LF              yes

We need to have the sed stuff for sources archives.
Thus we need that the endings of tests/*.out files be always LF only.
We don't want to depend on user config.
Thus this changes.
Advantage: This config is under version control, it applies to all users.

Get rid of legacy config 'core.autocrlf=true'

10 years agogitattributes: cleanup unused patterns
Francois-Xavier Le Bail [Wed, 18 Feb 2015 13:37:53 +0000 (14:37 +0100)] 
gitattributes: cleanup unused patterns

10 years agoAdd CAP_FCNTL and use cap_fcntls_limit(). 433/head
Wesley Shields [Wed, 18 Feb 2015 22:07:18 +0000 (17:07 -0500)] 
Add CAP_FCNTL and use cap_fcntls_limit().

Without these changes pcap_dump_ftell() will return -1 and set errno to
ENOTCAPABLE.

This allows you to do:

tcpdump -C 1 -W 5 -w foo.pcap

Without these changes it will never rotate to foo.pcap1 and continue writing
to foo.pcap0 forever.

Discussed at: http://unix.derkeiler.com/Mailing-Lists/FreeBSD/current/2014-09/msg00142.html

10 years agoCheck for pcap_dump_ftell() failing.
Guy Harris [Wed, 18 Feb 2015 21:18:21 +0000 (13:18 -0800)] 
Check for pcap_dump_ftell() failing.

That way, we don't just keep writing if it fails (which it can when
using Capsicum, for example).

10 years agoOpenFlow 1.0: improve BSN extensions support
Denis Ovsienko [Sun, 1 Feb 2015 21:34:38 +0000 (21:34 +0000)] 
OpenFlow 1.0: improve BSN extensions support

Improve decoding of BSN vendor commands: update printing of commands
that set/get mirror port reporting flag, add decoding of shell exec
commands. Introduce decoding of vendor-specific actions with BSN as the
first such vendor and "mirror" as the first such BSN action.

Add a new test case based on a packet capture produced using Trema
controller and an Arista 7050SX-64 switch in Arista Networks' test lab.
Besides the structures above the capture contains the following items:

* OFPT_QUEUE_GET_CONFIG_REPLY with 0 queues (a valid edge case)
* OFPT_FEATURES_REPLY with ports 21 and 23 having bogus "config" field
  (a violation of the protocol, which required temporary patching of the
  controller to avoid the session shutdown)
* a set of IP mask manipulation BSN-specific commands

10 years agoFix issues with the setting of libcap-ng capabilities. 431/head
Tommy Beadle [Wed, 18 Feb 2015 16:38:56 +0000 (11:38 -0500)] 
Fix issues with the setting of libcap-ng capabilities.

- Only set the SETUID/SETGID capabilities if required (i.e. we'll be changing
  the effective UID).
- Only set the CAP_DAC_OVERRIDE capability if writing out to a file (i.e. the -w
  flag was provided).
- Fix the calls to capng_clear to pass CAPNG_SELECT_BOTH so that the traditional
  and bounding capabilities are set.
- Only remove CAP_DAC_OVERRIDE from the permitted set after opening the write
  file if neither -G nor -C flag was provided.  We always drop it from the
  effective set immediately after opening the write file.  During file rotation,
  we reacquire it immediately before and drop it immediately after opening the
  file.

10 years agominor changes to detect core dumps better
Michael Richardson [Sun, 15 Feb 2015 20:20:08 +0000 (15:20 -0500)] 
minor changes to detect core dumps better

10 years agoAdd additional test cases for Geneve.
Jesse Gross [Wed, 4 Feb 2015 00:00:32 +0000 (16:00 -0800)] 
Add additional test cases for Geneve.

The test cases exercise both more varied traffic and new libpcap
filters.

10 years agoDECNET: Fix segmentation fault
Francois-Xavier Le Bail [Mon, 16 Feb 2015 19:41:55 +0000 (20:41 +0100)] 
DECNET: Fix segmentation fault

If the 'dnet_htoa' function return NULL, '(strdup(dnet_htoa(&dna)))'
gives a segmentation fault.

Context:
- libdnet-dev installed (Thus HAVE_DNET_HTOA defined)
- Missing /etc/decnet.conf

10 years agoTravis: add 'make install' in the build script
Francois-Xavier Le Bail [Mon, 16 Feb 2015 14:57:13 +0000 (15:57 +0100)] 
Travis: add 'make install' in the build script

10 years agoTravis: install libcap-ng-dev lib
Francois-Xavier Le Bail [Sun, 15 Feb 2015 14:42:35 +0000 (15:42 +0100)] 
Travis: install libcap-ng-dev lib

10 years agoconfigure: add support for cap-ng package
Francois-Xavier Le Bail [Sun, 15 Feb 2015 14:32:23 +0000 (15:32 +0100)] 
configure: add support for cap-ng package

It uses '--with-cap-ng', for using libcap-ng [default=yes, if available]

10 years agoMerge pull request #429 from mkirkhart/inverse-arp-print-fix
Guy Harris [Thu, 12 Feb 2015 20:07:34 +0000 (12:07 -0800)] 
Merge pull request #429 from mkirkhart/inverse-arp-print-fix

Fixed bug in arp_print() in handling of inverse arp responses

10 years agoUse immediate mode if available.
Guy Harris [Tue, 10 Feb 2015 22:55:43 +0000 (14:55 -0800)] 
Use immediate mode if available.

If libpcap has pcap_set_immediate_mode(), then default to immediate mode
if we're printing packets to a terminal, and use immediate mode if
--immediate-mode is specified.

10 years agoMove pcap function checks to configure.in.
Guy Harris [Tue, 10 Feb 2015 21:52:51 +0000 (13:52 -0800)] 
Move pcap function checks to configure.in.

It was doing some of the function checks; move the remaining ones out of
AC_LBL_LIBPCAP(), which is now solely responsible for finding libpcap,
making sure it'll work, and setting compiler and linker flags
appropriately.  Checks for functions that were introduced in later
versions of libpcap, which we use if available, are all done in
configure.in.

10 years agoThis is the trunk, and there's a 4.7.x branch, so call it 4.8.0-PRE-GIT.
Guy Harris [Tue, 10 Feb 2015 21:38:31 +0000 (13:38 -0800)] 
This is the trunk, and there's a 4.7.x branch, so call it 4.8.0-PRE-GIT.

10 years agodroproot(): always print to stderr (GH #425)
Denis Ovsienko [Mon, 9 Feb 2015 01:21:51 +0000 (01:21 +0000)] 
droproot(): always print to stderr (GH #425)

Otherwise it interferes with the output of "tcpdump -w -".

10 years agoSquelch a Coverity warning.
Guy Harris [Fri, 6 Feb 2015 19:42:00 +0000 (11:42 -0800)] 
Squelch a Coverity warning.

For unknown PDU types, we return 0 whether print_unknown_data() succeeds
or fails; don't bother checking whether it succeeds, Just Do It.

10 years agoFixed bug in arp_print() in handling of inverse arp responses - the target's hardware... 429/head
mkirkhart [Wed, 4 Feb 2015 23:55:58 +0000 (18:55 -0500)] 
Fixed bug in arp_print() in handling of inverse arp responses - the target's hardware and protocol address were being printed instead of the sender's hardware and protocol address

10 years agoOpenFlow 1.0: add missing items to bsn_subtype_str
Denis Ovsienko [Fri, 30 Jan 2015 14:31:14 +0000 (14:31 +0000)] 
OpenFlow 1.0: add missing items to bsn_subtype_str

10 years agorefine 802.1Q VLAN TCI decoding
Denis Ovsienko [Thu, 29 Jan 2015 19:48:25 +0000 (19:48 +0000)] 
refine 802.1Q VLAN TCI decoding

Factor the common code out to a new function and rename the CFI bit to
DEI to match the terminology in Clause 9.6 of IEEE 802.1Q-2011.

10 years agoMerge pull request #422 from tbeadle/capng_changes
Guy Harris [Tue, 27 Jan 2015 19:38:31 +0000 (11:38 -0800)] 
Merge pull request #422 from tbeadle/capng_changes

Make sure to init capng before dropping root.

capng_clear needs to be called before capng_change_id can be called within
droproot. Otherwise, an (unusable) error message is output: "error : ret -1" and it fails to drop root privileges.

This also fixes the dropping of the CAP_SETGID capability. Previously,
CAP_SETUID was being dropped twice.

10 years agoMake sure to init capng before dropping root. 422/head
Tommy Beadle [Tue, 27 Jan 2015 18:32:14 +0000 (13:32 -0500)] 
Make sure to init capng before dropping root.

capng_clear needs to be called before capng_change_id can be called within
droproot.  Otherwise, an (unusable) error message is output: "error : ret -1".

This also fixes the dropping of the CAP_SETGID capability.  Previously,
CAP_SETUID was being dropped twice.

10 years agoFix a warning for 'strsep' function on Solaris
Francois-Xavier Le Bail [Mon, 26 Jan 2015 09:58:04 +0000 (10:58 +0100)] 
Fix a warning for 'strsep' function on Solaris

The warning was:
./missing/strsep.c:54:1: warning: no previous prototype for 'strsep' [-Wmissing-prototypes]

10 years agomkdep: It uses now the build environment PATH
Francois-Xavier Le Bail [Sun, 18 Jan 2015 11:22:47 +0000 (12:22 +0100)] 
mkdep: It uses now the build environment PATH

10 years agoTravis: avoid useless lines from 'brew' command in the logs
Francois-Xavier Le Bail [Fri, 9 Jan 2015 17:08:44 +0000 (18:08 +0100)] 
Travis: avoid useless lines from 'brew' command in the logs

10 years agocondition DOS/UNIX newline styles for Windows test
Gisle Vanem [Fri, 9 Jan 2015 13:39:39 +0000 (13:39 +0000)] 
condition DOS/UNIX newline styles for Windows test

10 years agoMerge remote-tracking branch 'bpf/master'
Denis Ovsienko [Thu, 8 Jan 2015 21:59:34 +0000 (21:59 +0000)] 
Merge remote-tracking branch 'bpf/master'

10 years agoNo OPER-TLV are "empty TLVs".
Guy Harris [Thu, 8 Jan 2015 21:22:13 +0000 (13:22 -0800)] 
No OPER-TLV are "empty TLVs".

As section 7 of RFC 5810 says, an OPER-TLV is 1*PATH-DATA-TLV, so it
always has at least one PATH-DATA-TLV.  Remove the ZERO_TTLV check - the
old one was bogus ((!ops->flags & ZERO_TTLV) means ((!ops->flags) &
ZERO_TTLV), and if ops->flags is non-zero, !ops->flags is zero, and the
test fails), and the new one causes tests to fail, revealing that the
whole "empty TLVs like COMMIT and TRCOMMIT are empty, we stop here"
think is wrong, so we remove it.

10 years agoProperly test ZERO_TTLV flag in otlv_print().
Guy Harris [Thu, 8 Jan 2015 01:11:55 +0000 (17:11 -0800)] 
Properly test ZERO_TTLV flag in otlv_print().

If that flag is set, the TLV in question is empty, so don't process
anything further - and if it's *not* empty, report an error.

Thanks to Maks Naumov for finding this.