Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 26 May 2015 21:12:02 +0000 (UTC)
From:      Luigi Rizzo <luigi@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org
Subject:   svn commit: r283583 - stable/10/contrib/tcpdump
Message-ID:  <201505262112.t4QLC2xr088369@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: luigi
Date: Tue May 26 21:12:02 2015
New Revision: 283583
URL: https://svnweb.freebsd.org/changeset/base/283583

Log:
  MFC: 272451, 272653 add CAP_EVENT so that we can poll() on netmap and pcap
  file descriptors

Modified:
  stable/10/contrib/tcpdump/tcpdump.c

Modified: stable/10/contrib/tcpdump/tcpdump.c
==============================================================================
--- stable/10/contrib/tcpdump/tcpdump.c	Tue May 26 21:03:41 2015	(r283582)
+++ stable/10/contrib/tcpdump/tcpdump.c	Tue May 26 21:12:02 2015	(r283583)
@@ -1486,7 +1486,12 @@ main(int argc, char **argv)
 	if (RFileName == NULL && VFileName == NULL) {
 		static const unsigned long cmds[] = { BIOCGSTATS };
 
-		cap_rights_init(&rights, CAP_IOCTL, CAP_READ);
+		/*
+		 * The various libpcap devices use a combination of
+		 * read (bpf), ioctl (bpf, netmap), poll (netmap).
+		 * Grant the relevant access rights, sorted by name.
+		 */
+		cap_rights_init(&rights, CAP_EVENT, CAP_IOCTL, CAP_READ);
 		if (cap_rights_limit(pcap_fileno(pd), &rights) < 0 &&
 		    errno != ENOSYS) {
 			error("unable to limit pcap descriptor");



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201505262112.t4QLC2xr088369>