diff options
author | David Timber <mieabby@gmail.com> | 2021-07-07 21:21:17 +1000 |
---|---|---|
committer | David Timber <mieabby@gmail.com> | 2021-07-07 21:21:17 +1000 |
commit | 9d963486f66a864aa67e668742b6aa6a6e72fb1f (patch) | |
tree | eb03b72db5ec7ef14ad4f04b2dc6cc18c340442c /src/mbedtls.c | |
parent | 9cc889d0ac25f4e9783a87f3f6cb0bcfa79c5c88 (diff) |
Refactor: impl prne_mbedtls_verify_alp()
Diffstat (limited to 'src/mbedtls.c')
-rw-r--r-- | src/mbedtls.c | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/src/mbedtls.c b/src/mbedtls.c index 7af5e80..6b8b600 100644 --- a/src/mbedtls.c +++ b/src/mbedtls.c @@ -183,3 +183,26 @@ bool prne_mbedtls_pth_handle ( } while (false); } } + +bool prne_mbedtls_verify_alp ( + const mbedtls_ssl_config *conf, + const mbedtls_ssl_context *ctx, + const char *alp) +{ + bool has_alpn = false; + + for (const char **a = conf->alpn_list; a != NULL && *a != NULL; a += 1) { + if (strcmp(*a, alp) == 0) { + has_alpn = true; + break; + } + } + + if (!has_alpn) { + // ALP verification is disabled. + return true; + } + return prne_nstreq( + mbedtls_ssl_get_alpn_protocol(ctx), + alp); +} |