mirror of
https://github.com/QuasarApp/openssl.git
synced 2025-05-12 17:39:41 +00:00
Fix SSL_pending() for DTLS
DTLS was not correctly returning the number of pending bytes left in a call to SSL_pending(). This makes the detection of truncated packets almost impossible. Fixes #5478 Reviewed-by: Rich Salz <rsalz@openssl.org> (Merged from https://github.com/openssl/openssl/pull/6021)
This commit is contained in:
parent
f55e2fa7b9
commit
71d52f1a8e
@ -423,6 +423,7 @@ int dtls1_read_bytes(SSL *s, int type, int *recvd_type, unsigned char *buf,
|
||||
/* get new packet if necessary */
|
||||
if ((SSL3_RECORD_get_length(rr) == 0)
|
||||
|| (s->rlayer.rstate == SSL_ST_READ_BODY)) {
|
||||
RECORD_LAYER_set_numrpipes(&s->rlayer, 0);
|
||||
ret = dtls1_get_record(s);
|
||||
if (ret <= 0) {
|
||||
ret = dtls1_read_failed(s, ret);
|
||||
@ -432,6 +433,7 @@ int dtls1_read_bytes(SSL *s, int type, int *recvd_type, unsigned char *buf,
|
||||
else
|
||||
goto start;
|
||||
}
|
||||
RECORD_LAYER_set_numrpipes(&s->rlayer, 1);
|
||||
}
|
||||
|
||||
/*
|
||||
|
Loading…
x
Reference in New Issue
Block a user