}
}
if (current.prf && current.prf != suites[i].prf)
- { /* skip, PRF does not match */
- continue;
+ {
+ if (suites[i].prf != PRF_UNDEFINED)
+ {
+ /* skip, PRF does not match nor is it undefined */
+ continue;
+ }
}
if (current.hash && current.hash != suites[i].hash)
{ /* skip, hash does not match */
static void filter_unsupported_suites(suite_algs_t suites[], int *count)
{
/* filter suite list by each algorithm */
- if (suites->tls_version < TLS_1_3)
- {
- filter_suite(suites, count, offsetof(suite_algs_t, encr),
- lib->crypto->create_aead_enumerator);
- filter_suite(suites, count, offsetof(suite_algs_t, prf),
- lib->crypto->create_prf_enumerator);
- }
+ filter_suite(suites, count, offsetof(suite_algs_t, encr),
+ lib->crypto->create_aead_enumerator);
+ filter_suite(suites, count, offsetof(suite_algs_t, prf),
+ lib->crypto->create_prf_enumerator);
filter_suite(suites, count, offsetof(suite_algs_t, encr),
lib->crypto->create_crypter_enumerator);
filter_suite(suites, count, offsetof(suite_algs_t, mac),