Author: hselasky
Date: Tue Jan 21 08:24:12 2014
New Revision: 260978
URL: http://svnweb.freebsd.org/changeset/base/260978

Log:
  Add check for "hw.usb.no_pf" sysctl value.
  
  Submitted by: Warren Block <wbl...@wonkity.com>
  MFC after:    1 week

Modified:
  head/usr.sbin/usbdump/usbdump.c

Modified: head/usr.sbin/usbdump/usbdump.c
==============================================================================
--- head/usr.sbin/usbdump/usbdump.c     Tue Jan 21 05:56:35 2014        
(r260977)
+++ head/usr.sbin/usbdump/usbdump.c     Tue Jan 21 08:24:12 2014        
(r260978)
@@ -34,6 +34,7 @@
 #include <sys/ioctl.h>
 #include <sys/socket.h>
 #include <sys/stat.h>
+#include <sys/sysctl.h>
 #include <sys/utsname.h>
 #include <sys/queue.h>
 #include <net/if.h>
@@ -780,6 +781,23 @@ usage(void)
        exit(EX_USAGE);
 }
 
+static void
+check_usb_pf_sysctl(void)
+{
+       int error;
+       int no_pf_val = 0;
+       size_t no_pf_len = sizeof(int);
+
+       /* check "hw.usb.no_pf" sysctl for 8- and 9- stable */
+
+       error = sysctlbyname("hw.usb.no_pf", &no_pf_val,
+           &no_pf_len, NULL, 0);
+       if (error == 0 && no_pf_val != 0) {
+               warnx("The USB packet filter might be disabled.");
+               warnx("See the \"hw.usb.no_pf\" sysctl for more information.");
+       }
+}
+
 int
 main(int argc, char *argv[])
 {
@@ -872,6 +890,8 @@ main(int argc, char *argv[])
                exit(EXIT_SUCCESS);
        }
 
+       check_usb_pf_sysctl();
+
        p->fd = fd = open("/dev/bpf", O_RDONLY);
        if (p->fd < 0)
                err(EXIT_FAILURE, "Could not open BPF device");
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to