From f335c69e148db2afcea6c22bcde73efd346d7812 Mon Sep 17 00:00:00 2001 From: Masashi Honma Date: Mon, 28 Sep 2009 16:10:02 +0300 Subject: [PATCH] DragonFly BSD: Fix wired IEEE 802.1X On DragonFly BSD, wired IEEE 802.1X fails with this message: ioctl[SIOC{ADD/DEL}MULTI]: Invalid argument This patch solves this issue. I have tested with these: OS : DragonFly BSD 2.4.0 EAP : EAP-TLS Switch : Cisco Catalyst 2950 --- src/drivers/driver_wired.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/drivers/driver_wired.c b/src/drivers/driver_wired.c index 2eed51fa4..667ed4bb8 100644 --- a/src/drivers/driver_wired.c +++ b/src/drivers/driver_wired.c @@ -21,9 +21,9 @@ #include #include #endif /* __linux__ */ -#ifdef __FreeBSD__ +#if defined(__FreeBSD__) || defined(__DragonFly__) #include -#endif /* __FreeBSD__ */ +#endif /* defined(__FreeBSD__) || defined(__DragonFly__) */ #include "common.h" #include "driver.h" @@ -461,7 +461,7 @@ static int wpa_driver_wired_multi(const char *ifname, const u8 *addr, int add) ifr.ifr_hwaddr.sa_family = AF_UNSPEC; os_memcpy(ifr.ifr_hwaddr.sa_data, addr, ETH_ALEN); #endif /* __linux__ */ -#ifdef __FreeBSD__ +#if defined(__FreeBSD__) || defined(__DragonFly__) { struct sockaddr_dl *dlp; dlp = (struct sockaddr_dl *) &ifr.ifr_addr; @@ -473,7 +473,7 @@ static int wpa_driver_wired_multi(const char *ifname, const u8 *addr, int add) dlp->sdl_slen = 0; os_memcpy(LLADDR(dlp), addr, ETH_ALEN); } -#endif /* __FreeBSD__ */ +#endif /* defined(__FreeBSD__) || defined(__DragonFly__) */ #if defined(__NetBSD__) || defined(__OpenBSD__) || defined(__APPLE__) { struct sockaddr *sap;