diff options
author | hselasky <hselasky@FreeBSD.org> | 2014-01-21 08:24:12 +0000 |
---|---|---|
committer | hselasky <hselasky@FreeBSD.org> | 2014-01-21 08:24:12 +0000 |
commit | fc0918a30101e1ae8ad7ddbb7f02ece89d810d4d (patch) | |
tree | bb32e4546eb066a5d439bb28bf476b39dd4fcd73 | |
parent | 904c1e790f587f4555669ae3215737da9b5ce92e (diff) | |
download | FreeBSD-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.c | 20 |
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"); |