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) }} add_list wireless.{{ section }}.iw_venue_url={{ s((n + 1) + ":" +url) }}
{% endfor %} {% endfor %}
set wireless.{{ section }}.iw_network_auth_type='{{ match_hs20_auth_type(ssid.pass_point.auth_type) }}' 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): %} {% for (let realm in ssid.pass_point.nai_realm): %}
add_list wireless.{{ section }}.iw_nai_realm='{{ realm }}' add_list wireless.{{ section }}.iw_nai_realm='{{ realm }}'
{% endfor %} {% endfor %}

View File

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

View File

@@ -2844,14 +2844,25 @@ function instantiateInterfaceSsidPassPoint(location, value, errors) {
} }
function parseDomainName(location, value, errors) { function parseDomainName(location, value, errors) {
if (type(value) == "string") { if (type(value) == "array") {
if (!matchHostname(value)) function parseItem(location, value, errors) {
push(errors, [ location, "must be a valid hostname" ]); if (type(value) == "string") {
if (!matchHostname(value))
push(errors, [ location, "must be a valid hostname" ]);
}
if (type(value) != "string")
push(errors, [ location, "must be of type string" ]);
return value;
}
return map(value, (item, i) => parseItem(location + "/" + i, item, errors));
} }
if (type(value) != "string") if (type(value) != "array")
push(errors, [ location, "must be of type string" ]); push(errors, [ location, "must be of type array" ]);
return value; return value;
} }

View File

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