Make the third octet of Country String configurable
The new hostapd.conf parameter country3 can now be used to configure the third octet of the Country String that was previously hardcoded to ' ' (= 0x20). For example: All environments of the current frequency band and country (default) country3=0x20 Outdoor environment only country3=0x4f Indoor environment only country3=0x49 Noncountry entity (country_code=XX) country3=0x58 IEEE 802.11 standard Annex E table indication: 0x01 .. 0x1f Annex E, Table E-4 (Global operating classes) country3=0x04 Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
This commit is contained in:
parent
b80130c60b
commit
ff936bc753
4 changed files with 27 additions and 2 deletions
|
@ -2138,8 +2138,8 @@ static int hostapd_config_fill(struct hostapd_config *conf,
|
|||
bss->skip_inactivity_poll = atoi(pos);
|
||||
} else if (os_strcmp(buf, "country_code") == 0) {
|
||||
os_memcpy(conf->country, pos, 2);
|
||||
/* FIX: make this configurable */
|
||||
conf->country[2] = ' ';
|
||||
} else if (os_strcmp(buf, "country3") == 0) {
|
||||
conf->country[2] = strtol(pos, NULL, 16);
|
||||
} else if (os_strcmp(buf, "ieee80211d") == 0) {
|
||||
conf->ieee80211d = atoi(pos);
|
||||
} else if (os_strcmp(buf, "ieee80211h") == 0) {
|
||||
|
|
|
@ -98,8 +98,25 @@ ssid=test
|
|||
# Country code (ISO/IEC 3166-1). Used to set regulatory domain.
|
||||
# Set as needed to indicate country in which device is operating.
|
||||
# This can limit available channels and transmit power.
|
||||
# These two octets are used as the first two octets of the Country String
|
||||
# (dot11CountryString)
|
||||
#country_code=US
|
||||
|
||||
# The third octet of the Country String (dot11CountryString)
|
||||
# This parameter is used to set the third octet of the country string.
|
||||
#
|
||||
# All environments of the current frequency band and country (default)
|
||||
#country3=0x20
|
||||
# Outdoor environment only
|
||||
#country3=0x4f
|
||||
# Indoor environment only
|
||||
#country3=0x49
|
||||
# Noncountry entity (country_code=XX)
|
||||
#country3=0x58
|
||||
# IEEE 802.11 standard Annex E table indication: 0x01 .. 0x1f
|
||||
# Annex E, Table E-4 (Global operating classes)
|
||||
#country3=0x04
|
||||
|
||||
# Enable IEEE 802.11d. This advertises the country_code and the set of allowed
|
||||
# channels and transmit power levels based on the regulatory limits. The
|
||||
# country_code setting must be configured with the correct country for
|
||||
|
|
|
@ -206,6 +206,11 @@ struct hostapd_config * hostapd_config_defaults(void)
|
|||
conf->acs_num_scans = 5;
|
||||
#endif /* CONFIG_ACS */
|
||||
|
||||
/* The third octet of the country string uses an ASCII space character
|
||||
* by default to indicate that the regulations encompass all
|
||||
* environments for the current frequency band in the country. */
|
||||
conf->country[2] = ' ';
|
||||
|
||||
return conf;
|
||||
}
|
||||
|
||||
|
|
|
@ -679,6 +679,9 @@ struct hostapd_config {
|
|||
* ' ' (ascii 32): all environments
|
||||
* 'O': Outdoor environemnt only
|
||||
* 'I': Indoor environment only
|
||||
* 'X': Used with noncountry entity ("XXX")
|
||||
* 0x00..0x31: identifying IEEE 802.11 standard
|
||||
* Annex E table (0x04 = global table)
|
||||
*/
|
||||
|
||||
int ieee80211d;
|
||||
|
|
Loading…
Reference in a new issue