summaryrefslogtreecommitdiff
path: root/net/libpcap
diff options
context:
space:
mode:
authordrochner <drochner@pkgsrc.org>2006-02-24 22:53:41 +0000
committerdrochner <drochner@pkgsrc.org>2006-02-24 22:53:41 +0000
commitfa0f29757fa8f81d22c4d26632e54575be750b0f (patch)
tree349947347fe018d36ca3b68ee77e5dba2c2025ef /net/libpcap
parent6edc959bd6fb223e57ccaf94b0e7e68bed611995 (diff)
downloadpkgsrc-fa0f29757fa8f81d22c4d26632e54575be750b0f.tar.gz
import from the NetBSD tree: use the cloning /dev/bpf on NetBSD
if _PATH_BPF is defined bump PKGREVISION
Diffstat (limited to 'net/libpcap')
-rw-r--r--net/libpcap/Makefile3
-rw-r--r--net/libpcap/distinfo3
-rw-r--r--net/libpcap/patches/patch-ad48
3 files changed, 52 insertions, 2 deletions
diff --git a/net/libpcap/Makefile b/net/libpcap/Makefile
index ecbc1ea6a8e..438c4362dfb 100644
--- a/net/libpcap/Makefile
+++ b/net/libpcap/Makefile
@@ -1,6 +1,7 @@
-# $NetBSD: Makefile,v 1.32 2005/12/08 06:32:30 uebayasi Exp $
+# $NetBSD: Makefile,v 1.33 2006/02/24 22:53:41 drochner Exp $
DISTNAME= libpcap-0.9.4
+PKGREVISION= 1
SVR4_PKGNAME= lpcap
CATEGORIES= net
MASTER_SITES= http://www.tcpdump.org/release/
diff --git a/net/libpcap/distinfo b/net/libpcap/distinfo
index 59c1af7d395..6d6551a89c5 100644
--- a/net/libpcap/distinfo
+++ b/net/libpcap/distinfo
@@ -1,7 +1,8 @@
-$NetBSD: distinfo,v 1.13 2005/12/08 06:32:31 uebayasi Exp $
+$NetBSD: distinfo,v 1.14 2006/02/24 22:53:41 drochner Exp $
SHA1 (libpcap-0.9.4.tar.gz) = 046f7624e66da51eba1ed2cb169695d1e7f31c29
RMD160 (libpcap-0.9.4.tar.gz) = b8adee8f40256b8822e8e8b7da9a9bbd716ff6ab
Size (libpcap-0.9.4.tar.gz) = 425887 bytes
SHA1 (patch-ab) = ef8450b6f7ee050fcc40eec8ebdaa3fbb3ebdfe9
SHA1 (patch-ac) = 26148fe8cfbd0502fc13b0381ca31c4d02204b00
+SHA1 (patch-ad) = f9d2d6401a62d216b9f0af858fb1adde2098483e
diff --git a/net/libpcap/patches/patch-ad b/net/libpcap/patches/patch-ad
new file mode 100644
index 00000000000..b3a49f503c2
--- /dev/null
+++ b/net/libpcap/patches/patch-ad
@@ -0,0 +1,48 @@
+$NetBSD: patch-ad,v 1.1 2006/02/24 22:53:41 drochner Exp $
+
+--- pcap-bpf.c.orig 2006-02-24 23:23:45.000000000 +0100
++++ pcap-bpf.c
+@@ -34,6 +34,9 @@ static const char rcsid[] _U_ =
+ #include <sys/file.h>
+ #include <sys/ioctl.h>
+ #include <sys/utsname.h>
++#ifdef __NetBSD__
++#include <paths.h>
++#endif
+
+ #include <net/if.h>
+
+@@ -523,8 +526,12 @@ static inline int
+ bpf_open(pcap_t *p, char *errbuf)
+ {
+ int fd;
++#ifndef _PATH_BPF
+ int n = 0;
+ char device[sizeof "/dev/bpf0000000000"];
++#else
++ const char *device = _PATH_BPF;
++#endif
+
+ #ifdef _AIX
+ /*
+@@ -536,6 +543,7 @@ bpf_open(pcap_t *p, char *errbuf)
+ return (-1);
+ #endif
+
++#ifndef _PATH_BPF
+ /*
+ * Go through all the minors and find one that isn't in use.
+ */
+@@ -566,6 +574,12 @@ bpf_open(pcap_t *p, char *errbuf)
+ if (fd < 0)
+ snprintf(errbuf, PCAP_ERRBUF_SIZE, "(no devices found) %s: %s",
+ device, pcap_strerror(errno));
++#else
++ if ((fd = open(device, O_RDWR)) == -1 &&
++ (errno != EACCES || (fd = open(device, O_RDONLY)) == -1))
++ snprintf(errbuf, PCAP_ERRBUF_SIZE,
++ "(cannot open device) %s: %s", device, pcap_strerror(errno));
++#endif
+
+ return (fd);
+ }