]> git.ipfire.org Git - thirdparty/hostap.git/commitdiff
DragonFly BSD: Fix wired IEEE 802.1X
authorMasashi Honma <honma@ictec.co.jp>
Mon, 28 Sep 2009 13:10:02 +0000 (16:10 +0300)
committerJouni Malinen <j@w1.fi>
Mon, 28 Sep 2009 13:10:02 +0000 (16:10 +0300)
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

index 2eed51fa44a5264300b84c6e8c47bbbde6b0647b..667ed4bb855f12266c2b489977ea36a981520517 100644 (file)
@@ -21,9 +21,9 @@
 #include <net/if_arp.h>
 #include <net/if.h>
 #endif /* __linux__ */
-#ifdef __FreeBSD__
+#if defined(__FreeBSD__) || defined(__DragonFly__)
 #include <net/if_dl.h>
-#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;