summaryrefslogtreecommitdiff
path: root/src/sbearssl/sbearssl_sni_policy_vtable.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/sbearssl/sbearssl_sni_policy_vtable.c')
-rw-r--r--src/sbearssl/sbearssl_sni_policy_vtable.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/sbearssl/sbearssl_sni_policy_vtable.c b/src/sbearssl/sbearssl_sni_policy_vtable.c
index ea97f53..973dab7 100644
--- a/src/sbearssl/sbearssl_sni_policy_vtable.c
+++ b/src/sbearssl/sbearssl_sni_policy_vtable.c
@@ -167,6 +167,7 @@ static inline size_t sign_ec (sbearssl_sni_policy_context *pol, unsigned int alg
static size_t do_sign (br_ssl_server_policy_class const **pctx, unsigned int algo_id, unsigned char *data, size_t hv_len, size_t len)
{
sbearssl_sni_policy_context *pol = INSTANCE(pctx) ;
+ algo_id &= 0xff ; /* workaround for bearssl bug */
switch (pol->skey.type)
{
case BR_KEYTYPE_RSA : return sign_rsa(pol, algo_id, data, hv_len, len) ;