svn commit: r272451 - head/contrib/tcpdump

Luigi Rizzo luigi at FreeBSD.org
Thu Oct 2 21:34:53 UTC 2014


Author: luigi
Date: Thu Oct  2 21:34:52 2014
New Revision: 272451
URL: https://svnweb.freebsd.org/changeset/base/272451

Log:
  add CAP_EVENT for the libpcap device so we will be able to use
  pcap--netmap which does poll() on the file descriptor
  
  MFC after:	2 weeks

Modified:
  head/contrib/tcpdump/tcpdump.c

Modified: head/contrib/tcpdump/tcpdump.c
==============================================================================
--- head/contrib/tcpdump/tcpdump.c	Thu Oct  2 21:19:13 2014	(r272450)
+++ head/contrib/tcpdump/tcpdump.c	Thu Oct  2 21:34:52 2014	(r272451)
@@ -1533,7 +1533,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)
+		 * so we add the relevant access rights.
+		 */
+		cap_rights_init(&rights, CAP_IOCTL, CAP_READ, CAP_EVENT);
 		if (cap_rights_limit(pcap_fileno(pd), &rights) < 0 &&
 		    errno != ENOSYS) {
 			error("unable to limit pcap descriptor");


More information about the svn-src-head mailing list