summaryrefslogtreecommitdiffstats
path: root/contrib/libpcap/pcap-libdlpi.c
diff options
context:
space:
mode:
authorrpaulo <rpaulo@FreeBSD.org>2010-10-29 18:43:23 +0000
committerrpaulo <rpaulo@FreeBSD.org>2010-10-29 18:43:23 +0000
commit22f795f2fd7f982a2847bc9fc73e297abc7e2fbf (patch)
tree99c17a1bdbff3dabc0f310509b912bf2775d2145 /contrib/libpcap/pcap-libdlpi.c
parent2631ae0f3d6c77323709cd35d1f7241624662320 (diff)
parent724e1a015907ca989c4e1cb30c7ee4e88f26fbff (diff)
downloadFreeBSD-src-22f795f2fd7f982a2847bc9fc73e297abc7e2fbf.zip
FreeBSD-src-22f795f2fd7f982a2847bc9fc73e297abc7e2fbf.tar.gz
Merge libpcap-1.1.1.
Diffstat (limited to 'contrib/libpcap/pcap-libdlpi.c')
-rw-r--r--contrib/libpcap/pcap-libdlpi.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/contrib/libpcap/pcap-libdlpi.c b/contrib/libpcap/pcap-libdlpi.c
index b61e8ec..87cd08b 100644
--- a/contrib/libpcap/pcap-libdlpi.c
+++ b/contrib/libpcap/pcap-libdlpi.c
@@ -26,7 +26,7 @@
#ifndef lint
static const char rcsid[] _U_ =
- "@(#) $Header: /tcpdump/master/libpcap/pcap-libdlpi.c,v 1.1.2.6 2008-04-14 20:41:52 guy Exp $ (LBL)";
+ "@(#) $Header: /tcpdump/master/libpcap/pcap-libdlpi.c,v 1.6 2008-04-14 20:40:58 guy Exp $ (LBL)";
#endif
#ifdef HAVE_CONFIG_H
@@ -53,6 +53,7 @@ static int pcap_read_libdlpi(pcap_t *, int, pcap_handler, u_char *);
static int pcap_inject_libdlpi(pcap_t *, const void *, size_t);
static void pcap_close_libdlpi(pcap_t *);
static void pcap_libdlpi_err(const char *, const char *, int, char *);
+static void pcap_cleanup_libdlpi(pcap_t *);
/*
* list_interfaces() will list all the network links that are
@@ -113,7 +114,7 @@ pcap_activate_libdlpi(pcap_t *p)
if (retv != DLPI_SUCCESS) {
if (retv == DLPI_ELINKNAMEINVAL || retv == DLPI_ENOLINK)
err = PCAP_ERROR_NO_SUCH_DEVICE;
- else if (retv == DLPI_SYSERR && errno == EACCES)
+ else if (retv == DL_SYSERR && errno == EACCES)
err = PCAP_ERROR_PERM_DENIED;
pcap_libdlpi_err(p->opt.source, "dlpi_open", retv,
p->errbuf);
@@ -155,8 +156,9 @@ pcap_activate_libdlpi(pcap_t *p)
}
/* Try to enable SAP promiscuity. */
- if ((retv = dlpi_promiscon(p->dlpi_hd, DL_PROMISC_SAP)) != DLPI_SUCCESS) {
- if (!promisc) {
+ retv = dlpi_promiscon(p->dlpi_hd, DL_PROMISC_SAP);
+ if (retv != DLPI_SUCCESS) {
+ if (p->opt.promisc) {
pcap_libdlpi_err(p->opt.source, "dlpi_promisc(SAP)",
retv, p->errbuf);
goto bad;
@@ -179,7 +181,7 @@ pcap_activate_libdlpi(pcap_t *p)
p->fd = dlpi_fd(p->dlpi_hd);
/* Push and configure bufmod. */
- if (pcap_conf_bufmod(p, snaplen, p->md.timeout) != 0)
+ if (pcap_conf_bufmod(p, p->snapshot, p->md.timeout) != 0)
goto bad;
/*
OpenPOWER on IntegriCloud