diff options
Diffstat (limited to 'contrib')
-rw-r--r-- | contrib/tcpdump/interface.h | 1 | ||||
-rw-r--r-- | contrib/tcpdump/print-pfsync.c | 7 | ||||
-rw-r--r-- | contrib/tcpdump/tcpdump.c | 3 | ||||
-rw-r--r-- | contrib/wpa/src/l2_packet/l2_packet_freebsd.c | 1 |
4 files changed, 8 insertions, 4 deletions
diff --git a/contrib/tcpdump/interface.h b/contrib/tcpdump/interface.h index 175c33e..0c9672b 100644 --- a/contrib/tcpdump/interface.h +++ b/contrib/tcpdump/interface.h @@ -187,6 +187,7 @@ extern void egp_print(const u_char *, u_int); extern u_int enc_if_print(const struct pcap_pkthdr *, const u_char *); extern u_int pflog_if_print(const struct pcap_pkthdr *, const u_char *); extern void pfsync_ip_print(const u_char *, u_int); +extern u_int pfsync_if_print(const struct pcap_pkthdr *, const u_char *); extern u_int arcnet_if_print(const struct pcap_pkthdr *, const u_char *); extern u_int arcnet_linux_if_print(const struct pcap_pkthdr *, const u_char *); extern u_int token_print(const u_char *, u_int, u_int); diff --git a/contrib/tcpdump/print-pfsync.c b/contrib/tcpdump/print-pfsync.c index 7a6da89..fd4dbe9 100644 --- a/contrib/tcpdump/print-pfsync.c +++ b/contrib/tcpdump/print-pfsync.c @@ -53,9 +53,8 @@ static void print_src_dst(const struct pfsync_state_peer *, const struct pfsync_state_peer *, uint8_t); static void print_state(struct pfsync_state *); -#ifdef notyet -void -pfsync_if_print(u_char *user, const struct pcap_pkthdr *h, +u_int +pfsync_if_print(const struct pcap_pkthdr *h, register const u_char *p) { u_int caplen = h->caplen; @@ -75,8 +74,8 @@ out: default_print((const u_char *)p, caplen); } putchar('\n'); + return caplen; } -#endif /* notyet */ void pfsync_ip_print(const u_char *bp, u_int len) diff --git a/contrib/tcpdump/tcpdump.c b/contrib/tcpdump/tcpdump.c index fc10c98..3b3e8f8 100644 --- a/contrib/tcpdump/tcpdump.c +++ b/contrib/tcpdump/tcpdump.c @@ -224,6 +224,9 @@ static struct printer printers[] = { #if defined(DLT_PFLOG) && defined(HAVE_NET_PFVAR_H) { pflog_if_print, DLT_PFLOG }, #endif +#if defined(DLT_PFSYNC) && defined(HAVE_NET_PFVAR_H) + { pfsync_if_print, DLT_PFSYNC}, +#endif #ifdef DLT_FR { fr_if_print, DLT_FR }, #endif diff --git a/contrib/wpa/src/l2_packet/l2_packet_freebsd.c b/contrib/wpa/src/l2_packet/l2_packet_freebsd.c index 2e9a04c..1dc0b8f 100644 --- a/contrib/wpa/src/l2_packet/l2_packet_freebsd.c +++ b/contrib/wpa/src/l2_packet/l2_packet_freebsd.c @@ -208,6 +208,7 @@ static int eth_get(const char *device, u8 ea[ETH_ALEN]) (ifm->ifm_addrs & RTA_IFP) == 0) continue; if (sdl->sdl_family != AF_LINK || sdl->sdl_nlen == 0 || + (strlen(device) != sdl->sdl_nlen) || os_memcmp(sdl->sdl_data, device, sdl->sdl_nlen) != 0) continue; os_memcpy(ea, LLADDR(sdl), sdl->sdl_alen); |