X-Git-Url: https://git.archive.openwrt.org/?p=openwrt.git;a=blobdiff_plain;f=package%2Fnetwork%2Fservices%2Fhostapd%2Ffiles%2Fnetifd.sh;h=7cdcb52c3dcf2674eeb9341414c135c93e1b426e;hp=8b5e731d7b5bf6668f52d9d209ec4395f54808e1;hb=496192833ea5e4891ba9bfcd0a77f11f8f7f1e82;hpb=83654b84481a5272082520d02bf8bfa4d3a1828c diff --git a/package/network/services/hostapd/files/netifd.sh b/package/network/services/hostapd/files/netifd.sh index 8b5e731d7b..7cdcb52c3d 100644 --- a/package/network/services/hostapd/files/netifd.sh +++ b/package/network/services/hostapd/files/netifd.sh @@ -52,6 +52,7 @@ hostapd_common_add_device_config() { config_add_string country config_add_boolean country_ie doth + config_add_string require_mode hostapd_add_log_config } @@ -63,7 +64,7 @@ hostapd_prepare_device_config() { local base="${config%%.conf}" local base_cfg= - json_get_vars country country_ie beacon_int doth + json_get_vars country country_ie beacon_int doth require_mode hostapd_set_log_options base_cfg @@ -83,6 +84,11 @@ hostapd_prepare_device_config() { for br in $basic_rate_list; do hostapd_add_basic_rate brlist "$br" done + case "$require_mode" in + g) brlist="60 120 240" ;; + n) append base_cfg "require_ht=1" "$N";; + ac) append base_cfg "require_vht=1" "$N";; + esac [ -n "$brlist" ] && append base_cfg "basic_rates=$brlist" "$N" [ -n "$beacon_int" ] && append base_cfg "beacon_int=$beacon_int" "$N" @@ -123,6 +129,9 @@ hostapd_common_add_bss_config() { config_add_string iapp_interface config_add_string eap_type ca_cert client_cert identity auth priv_key priv_key_pwd + config_add_int dynamic_vlan vlan_naming + config_add_string vlan_tagged_interface + config_add_string 'key1:wepkey' 'key2:wepkey' 'key3:wepkey' 'key4:wepkey' 'password:wpakey' config_add_boolean wps_pushbutton wps_label ext_registrar wps_pbc_in_m1 @@ -209,7 +218,8 @@ hostapd_set_bss_options() { acct_server acct_secret acct_port \ dae_client dae_secret dae_port \ nasid iapp_interface ownip \ - eap_reauth_period + eap_reauth_period dynamic_vlan \ + vlan_tagged_interface # legacy compatibility [ -n "$auth_server" ] || json_get_var auth_server server @@ -220,6 +230,8 @@ hostapd_set_bss_options() { set_default acct_port 1813 set_default dae_port 3799 + set_default vlan_naming 1 + append bss_conf "auth_server_addr=$auth_server" "$N" append bss_conf "auth_server_port=$auth_port" "$N" append bss_conf "auth_server_shared_secret=$auth_secret" "$N" @@ -239,10 +251,17 @@ hostapd_set_bss_options() { } append bss_conf "nas_identifier=$nasid" "$N" - [ -n "$ownip" ] && append bss_conf "own_ip_addr=$ownip" "$N" + [ -n "$ownip" ] && append bss_conf "own_ip_addr=$ownip" "$N" append bss_conf "eapol_key_index_workaround=1" "$N" append bss_conf "ieee8021x=1" "$N" append bss_conf "wpa_key_mgmt=WPA-EAP" "$N" + + [ -n "$dynamic_vlan" ] && { + append bss_conf "dynamic_vlan=$dynamic_vlan" "$N" + append bss_conf "vlan_naming=$vlan_naming" "$N" + [ -n "$vlan_tagged_interface" ] && \ + append bss_conf "vlan_tagged_interface=$vlan_tagged_interface" "$N" + } ;; wep) local wep_keyidx=0 @@ -291,7 +310,7 @@ hostapd_set_bss_options() { append bss_conf "ssid=$ssid" "$N" [ -n "$network_bridge" ] && append bss_conf "bridge=$network_bridge" "$N" - [ -n "$iapp_interface" ] && { + [ -n "$iapp_interface" ] && { iapp_interface="$(uci_get_state network "$iapp_interface" ifname "$iapp_interface")" [ -n "$iapp_interface" ] && append bss_conf "iapp_interface=$iapp_interface" "$N" } @@ -371,7 +390,7 @@ hostapd_set_log_options() { set_default log_iapp 1 set_default log_mlme 1 - local log_mask=$(( \ + local log_mask=$(( \ ($log_80211 << 0) | \ ($log_8021x << 1) | \ ($log_radius << 2) | \