|
|
@@ -1,20 +0,0 @@
|
|
|
-libpcap opens /dev/bpfX as O_RDONLY rather than O_RDWR. This
|
|
|
-affects applications which open BPF using pcap_open_live(),
|
|
|
-then get the fileno and try to use it to send packets. An
|
|
|
-example application having this problem with BGP is UCARP
|
|
|
-(http://www.ucarp.org/), which silently fails to send packets.
|
|
|
-See also: http://www.freebsd.org/cgi/query-pr.cgi?pr=72814
|
|
|
-
|
|
|
-Index: pcap-bpf.c
|
|
|
---- pcap-bpf.c.orig 2003-11-22 01:06:28 +0100
|
|
|
-+++ pcap-bpf.c 2004-12-09 22:57:15 +0100
|
|
|
-@@ -468,6 +468,8 @@
|
|
|
- do {
|
|
|
- (void)snprintf(device, sizeof(device), "/dev/bpf%d", n++);
|
|
|
-- fd = open(device, O_RDONLY);
|
|
|
-+ fd = open(device, O_RDWR);
|
|
|
-+ if (fd < 0 && errno == EACCES)
|
|
|
-+ fd = open(device, O_RDONLY);
|
|
|
- } while (fd < 0 && errno == EBUSY);
|
|
|
-
|
|
|
- /*
|