config_get enc "$vif" encryption
config_get wpa_group_rekey "$vif" wpa_group_rekey
+ config_get_bool ap_isolate "$vif" isolate 0
+
+ config_get device "$vif" device
+ config_get hwmode "$device" hwmode
+
+ if [ "$ap_isolate" -gt 0 ]; then
+ append "$var" "ap_isolate=$ap_isolate" "$N"
+ fi
# Examples:
# psk-mixed/tkip => WPA1+2 PSK, TKIP
# explicit override for crypto setting
case "$enc" in
- *tkip+aes|*tkip+ccmp) crypto="CCMP TKIP";;
+ *tkip+aes|*tkip+ccmp|*aes+tkip|*ccmp+tkip) crypto="CCMP TKIP";;
*aes|*ccmp) crypto="CCMP";;
*tkip) crypto="TKIP";;
esac
+ # enforce CCMP for 11ng and 11na
+ case "$hwmode" in
+ *ng|*na) crypto="CCMP";;
+ esac
+
# use crypto/auth settings for building the hostapd config
case "$enc" in
*psk*)
config_get channel "$device" channel
config_get hwmode "$device" hwmode
case "$hwmode" in
- *bg) hwmode=g;;
+ *bg|*gdt|*gst|*fh) hwmode=g;;
+ *adt|*ast) hwmode=a;;
esac
[ "$channel" = auto ] && channel=
[ -n "$channel" -a -z "$hwmode" ] && wifi_fixup_hwmode "$device"