FROMLIST: HS20: support credentials with multiple home OIs

Until now hotspot 2.0 credentials were only supporting one home OI (with
roaming_consortium option) and one required home OI (with
required_roaming_consortium option). To improve the compliance with
Passpoint specification, this changeset adds the support for multiple
home and required OIs.

The lists of OIs are provided using two new configuration options
home_ois and required_home_ois that expect a list of OI formatted as the
roaming_consortiums list. It allows to keep the old options to avoid
breaking currently running configurations and better fits the vocabulary
used in the spec.

The OI match algorithm is updated to implement the behavior described in
Passpoint spec. 3.2 paragraph 9.1.2 (Home OIs nodes description
PerProviderSubscription/<X+>/HomeSP/HomeOIList/<X+>).

Signed-off-by: Damien Dejean <damiendejean@chromium.org>
(am from https://patchwork.ozlabs.org/patch/1678155)

BUG=b:237981538
TEST="Run hwsim test: ./run-all.sh
tast run ${DUT} wifi.PasspointSelection.* wifi.PasspointRoaming.* \
        wifi.PasspointARCProvisioning"

Change-Id: I1a879fd75aba911b3bed84015af5de9fa06c9566
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/hostap/+/3881465
Reviewed-by: Sean Paul <sean@poorly.run>
Commit-Queue: Damien Dejean <damiendejean@google.com>
Tested-by: Damien Dejean <damiendejean@google.com>
Reviewed-by: Matthew Wang <matthewmwang@chromium.org>
Reviewed-by: Hugo Benichi <hugobenichi@google.com>
11 files changed