svn commit: r314769 - head/lib/libpcap
Xin LI
delphij at FreeBSD.org
Mon Mar 6 08:13:20 UTC 2017
Author: delphij
Date: Mon Mar 6 08:13:19 2017
New Revision: 314769
URL: https://svnweb.freebsd.org/changeset/base/314769
Log:
Remove compatibility with old libpcap.
Differential Revision: https://reviews.freebsd.org/D9606
Modified:
head/lib/libpcap/pcap-netmap.c
Modified: head/lib/libpcap/pcap-netmap.c
==============================================================================
--- head/lib/libpcap/pcap-netmap.c Mon Mar 6 07:11:23 2017 (r314768)
+++ head/lib/libpcap/pcap-netmap.c Mon Mar 6 08:13:19 2017 (r314769)
@@ -22,6 +22,8 @@
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
+ *
+ * $FreeBSD$
*/
#ifdef HAVE_CONFIG_H
@@ -42,24 +44,7 @@
#include "pcap-int.h"
-/*
- * $FreeBSD$
- *
- * This code is meant to build also on other versions of libpcap.
- *
- * older libpcap miss p->priv, use p->md.device instead (and allocate).
- * Also opt.timeout was in md.timeout before.
- * Use #define PCAP_IF_UP to discriminate
- */
-#ifdef PCAP_IF_UP
#define NM_PRIV(p) ((struct pcap_netmap *)(p->priv))
-#define the_timeout opt.timeout
-#else
-#define HAVE_NO_PRIV
-#define NM_PRIV(p) ((struct pcap_netmap *)(p->md.device))
-#define SET_PRIV(p, x) p->md.device = (void *)x
-#define the_timeout md.timeout
-#endif
#if defined (linux)
/* On FreeBSD we use IFF_PPROMISC which is in ifr_flagshigh.
@@ -124,7 +109,7 @@ pcap_netmap_dispatch(pcap_t *p, int cnt,
if (ret != 0)
break;
errno = 0;
- ret = poll(&pfd, 1, p->the_timeout);
+ ret = poll(&pfd, 1, p->opt.timeout);
}
return ret;
}
@@ -197,10 +182,6 @@ pcap_netmap_close(pcap_t *p)
}
}
nm_close(d);
-#ifdef HAVE_NO_PRIV
- free(pn);
- SET_PRIV(p, NULL); // unnecessary
-#endif
pcap_cleanup_live_common(p);
}
@@ -216,10 +197,6 @@ pcap_netmap_activate(pcap_t *p)
snprintf(p->errbuf, PCAP_ERRBUF_SIZE,
"netmap open: cannot access %s: %s\n",
p->opt.device, pcap_strerror(errno));
-#ifdef HAVE_NO_PRIV
- free(pn);
- SET_PRIV(p, NULL); // unnecessary
-#endif
pcap_cleanup_live_common(p);
return (PCAP_ERROR);
}
@@ -261,23 +238,9 @@ pcap_netmap_create(const char *device, c
*is_ours = (!strncmp(device, "netmap:", 7) || !strncmp(device, "vale", 4));
if (! *is_ours)
return NULL;
-#ifdef HAVE_NO_PRIV
- {
- void *pn = calloc(1, sizeof(struct pcap_netmap));
- if (pn == NULL)
- return NULL;
- p = pcap_create_common(device, ebuf);
- if (p == NULL) {
- free(pn);
- return NULL;
- }
- SET_PRIV(p, pn);
- }
-#else
p = pcap_create_common(ebuf, sizeof (struct pcap_netmap));
if (p == NULL)
return (NULL);
-#endif
p->activate_op = pcap_netmap_activate;
return (p);
}
More information about the svn-src-all
mailing list