summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sys/src/libsec/port/tlshand.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/sys/src/libsec/port/tlshand.c b/sys/src/libsec/port/tlshand.c
index bf63312e7..e2f495a9d 100644
--- a/sys/src/libsec/port/tlshand.c
+++ b/sys/src/libsec/port/tlshand.c
@@ -1614,6 +1614,19 @@ msgRecv(TlsConnection *c, Msg *m)
m->u.certificateRequest.types = makebytes(p, nn);
p += nn;
n -= nn;
+ if(c->version >= TLS12Version){
+ /* skip supported_signature_algorithms */
+ if(n < 2)
+ goto Short;
+ nn = get16(p);
+ p += 2;
+ n -= 2;
+ if(nn > n)
+ goto Short;
+ p += nn;
+ n -= nn;
+
+ }
if(n < 2)
goto Short;
nn = get16(p);