mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-10 21:23:58 +01:00
Some versions of openssl have an SSL_pending function that erroneously
returns bytes when there is a non-application record pending. I have no idea when/why this would even happen, but let's catch it and make sure tor_tls_get_pending_bytes stays correct. svn:r1727
This commit is contained in:
parent
06624df622
commit
873564ea9c
@ -603,7 +603,14 @@ int
|
||||
tor_tls_get_pending_bytes(tor_tls *tls)
|
||||
{
|
||||
tor_assert(tls);
|
||||
#if OPENSSL_VERSION_NUMBER < 0x0090700fl
|
||||
if (tls->ssl->rstate == SSL_ST_READ_BODY)
|
||||
return 0;
|
||||
if (tls->ssl->s3->rrec.type != SSL3_RT_APPLICATION_DATA)
|
||||
return 0;
|
||||
#endif
|
||||
return SSL_pending(tls->ssl);
|
||||
|
||||
}
|
||||
|
||||
/* Return the number of bytes read across the underlying socket. */
|
||||
|
Loading…
Reference in New Issue
Block a user