X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=ssl%2Fstatem%2Fstatem_dtls.c;h=b2ba35763a09b7b2d360f4ca4ad97fa5c1f0216b;hb=150840b9443d371bfa26e2a33051aa137b5606fc;hp=1bc82d1625a9f1d0e2ef3394d5d9d827074a0c81;hpb=c7f47786a5e5f68dc33091ffb2a42e51a73de3a1;p=oweals%2Fopenssl.git diff --git a/ssl/statem/statem_dtls.c b/ssl/statem/statem_dtls.c index 1bc82d1625..b2ba35763a 100644 --- a/ssl/statem/statem_dtls.c +++ b/ssl/statem/statem_dtls.c @@ -214,6 +214,9 @@ int dtls1_do_write(SSL *s, int type) else len = s->init_num; + if (len > s->max_send_fragment) + len = s->max_send_fragment; + /* * XDTLS: this function is too long. split out the CCS part */ @@ -788,7 +791,8 @@ static int dtls_get_reassembled_message(SSL *s, int *errtype, size_t *len) return 0; } - if (!s->server && s->d1->r_msg_hdr.frag_off == 0 + if (!s->server + && s->d1->r_msg_hdr.frag_off == 0 && s->statem.hand_state != TLS_ST_OK && wire[0] == SSL3_MT_HELLO_REQUEST) { /*