11u domain operatore name was a singleton but should be an array

Signed-off-by: John Crispin <john@phrozen.org>
This commit is contained in:
John Crispin
2021-10-11 09:05:21 +02:00
parent 4eb1560a2e
commit 8eb586bce2
4 changed files with 26 additions and 10 deletions

View File

@@ -310,7 +310,7 @@ set wireless.{{ section }}.iw_venue_type='{{ ssid.pass_point.venue_type }}'
add_list wireless.{{ section }}.iw_venue_url={{ s((n + 1) + ":" +url) }}
{% endfor %}
set wireless.{{ section }}.iw_network_auth_type='{{ match_hs20_auth_type(ssid.pass_point.auth_type) }}'
set wireless.{{ section }}.iw_domain_name={{ s(ssid.pass_point.domain_name) }}
set wireless.{{ section }}.iw_domain_name={{ s(join(":", ssid.pass_point.domain_name)) }}
{% for (let realm in ssid.pass_point.nai_realm): %}
add_list wireless.{{ section }}.iw_nai_realm='{{ realm }}'
{% endfor %}

View File

@@ -55,6 +55,8 @@ properties:
domain-name:
description:
The IEEE 802.11u Domain Name.
type: array
items:
type: string
format: hostname
nai-realm:

View File

@@ -2844,6 +2844,8 @@ function instantiateInterfaceSsidPassPoint(location, value, errors) {
}
function parseDomainName(location, value, errors) {
if (type(value) == "array") {
function parseItem(location, value, errors) {
if (type(value) == "string") {
if (!matchHostname(value))
push(errors, [ location, "must be a valid hostname" ]);
@@ -2856,6 +2858,15 @@ function instantiateInterfaceSsidPassPoint(location, value, errors) {
return value;
}
return map(value, (item, i) => parseItem(location + "/" + i, item, errors));
}
if (type(value) != "array")
push(errors, [ location, "must be of type array" ]);
return value;
}
if (exists(value, "domain-name")) {
obj.domain_name = parseDomainName(location + "/domain-name", value["domain-name"], errors);
}

View File

@@ -1126,8 +1126,11 @@
"maxLength": 2
},
"domain-name": {
"type": "array",
"items": {
"type": "string",
"format": "hostname"
}
},
"nai-realm": {
"type": "array",