in crypto/s2n_hmac.c [33:49]
int s2n_hash_hmac_alg(s2n_hash_algorithm hash_alg, s2n_hmac_algorithm *out)
{
POSIX_ENSURE(S2N_MEM_IS_WRITABLE_CHECK(out, sizeof(*out)), S2N_ERR_PRECONDITION_VIOLATION);
switch(hash_alg) {
case S2N_HASH_NONE: *out = S2N_HMAC_NONE; break;
case S2N_HASH_MD5: *out = S2N_HMAC_MD5; break;
case S2N_HASH_SHA1: *out = S2N_HMAC_SHA1; break;
case S2N_HASH_SHA224: *out = S2N_HMAC_SHA224; break;
case S2N_HASH_SHA256: *out = S2N_HMAC_SHA256; break;
case S2N_HASH_SHA384: *out = S2N_HMAC_SHA384; break;
case S2N_HASH_SHA512: *out = S2N_HMAC_SHA512; break;
case S2N_HASH_MD5_SHA1: /* Fall through ... */
default:
POSIX_BAIL(S2N_ERR_HASH_INVALID_ALGORITHM);
}
return S2N_SUCCESS;
}