Make 'ifconfig if0 wpaakms 802.1x' implicitly enable WPA.
authorstsp <stsp@openbsd.org>
Fri, 2 Feb 2018 13:39:52 +0000 (13:39 +0000)
committerstsp <stsp@openbsd.org>
Fri, 2 Feb 2018 13:39:52 +0000 (13:39 +0000)
Requring WPA to be enabled separately via 'ifconfig if0 wpa' was confusing.
ok mlarkin phessler mpi

sbin/ifconfig/ifconfig.c

index 4a0f4d6..ab1e3c9 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: ifconfig.c,v 1.353 2018/01/16 10:33:55 mpi Exp $      */
+/*     $OpenBSD: ifconfig.c,v 1.354 2018/02/02 13:39:52 stsp Exp $     */
 /*     $NetBSD: ifconfig.c,v 1.40 1997/10/01 02:19:43 enami Exp $      */
 
 /*
@@ -1796,6 +1796,8 @@ setifwpaakms(const char *val, int d)
        if (ioctl(s, SIOCG80211WPAPARMS, (caddr_t)&wpa) < 0)
                err(1, "SIOCG80211WPAPARMS");
        wpa.i_akms = rval;
+       /* Enable WPA for 802.1x here. PSK case is handled in setifwpakey(). */
+       wpa.i_enabled = ((rval & IEEE80211_WPA_AKM_8021X) != 0);
        if (ioctl(s, SIOCS80211WPAPARMS, (caddr_t)&wpa) < 0)
                err(1, "SIOCS80211WPAPARMS");
 }