summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorhselasky <hselasky@FreeBSD.org>2014-01-21 08:24:12 +0000
committerhselasky <hselasky@FreeBSD.org>2014-01-21 08:24:12 +0000
commitfc0918a30101e1ae8ad7ddbb7f02ece89d810d4d (patch)
treebb32e4546eb066a5d439bb28bf476b39dd4fcd73
parent904c1e790f587f4555669ae3215737da9b5ce92e (diff)
downloadFreeBSD-src-fc0918a30101e1ae8ad7ddbb7f02ece89d810d4d.zip
FreeBSD-src-fc0918a30101e1ae8ad7ddbb7f02ece89d810d4d.tar.gz
Add check for "hw.usb.no_pf" sysctl value.
Submitted by: Warren Block <wblock@wonkity.com> MFC after: 1 week
-rw-r--r--usr.sbin/usbdump/usbdump.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/usr.sbin/usbdump/usbdump.c b/usr.sbin/usbdump/usbdump.c
index 7e7eae9..43fde90 100644
--- a/usr.sbin/usbdump/usbdump.c
+++ b/usr.sbin/usbdump/usbdump.c
@@ -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");
OpenPOWER on IntegriCloud