mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-12-06 19:41:15 +01:00
tor_tls_get_buffer_sizes() will not work on openssl 1.1. Patch from yawning
This commit is contained in:
+15
-2
@@ -2875,12 +2875,23 @@ tor_tls_get_tlssecrets(tor_tls_t *tls, uint8_t *secrets_out)
|
||||
* Set *<b>rbuf_capacity</b> to the amount of storage allocated for the read
|
||||
* buffer and *<b>rbuf_bytes</b> to the amount actually used.
|
||||
* Set *<b>wbuf_capacity</b> to the amount of storage allocated for the write
|
||||
* buffer and *<b>wbuf_bytes</b> to the amount actually used. */
|
||||
void
|
||||
* buffer and *<b>wbuf_bytes</b> to the amount actually used.
|
||||
*
|
||||
* Return 0 on success, -1 on failure.*/
|
||||
int
|
||||
tor_tls_get_buffer_sizes(tor_tls_t *tls,
|
||||
size_t *rbuf_capacity, size_t *rbuf_bytes,
|
||||
size_t *wbuf_capacity, size_t *wbuf_bytes)
|
||||
{
|
||||
#if OPENSSL_VERSION_NUMBER >= OPENSSL_V_SERIES(1,1,0)
|
||||
(void)tls;
|
||||
(void)rbuf_capacity;
|
||||
(void)rbuf_bytes;
|
||||
(void)wbuf_capacity;
|
||||
(void)wbuf_bytes;
|
||||
|
||||
return -1;
|
||||
#else
|
||||
if (tls->ssl->s3->rbuf.buf)
|
||||
*rbuf_capacity = tls->ssl->s3->rbuf.len;
|
||||
else
|
||||
@@ -2891,6 +2902,8 @@ tor_tls_get_buffer_sizes(tor_tls_t *tls,
|
||||
*wbuf_capacity = 0;
|
||||
*rbuf_bytes = tls->ssl->s3->rbuf.left;
|
||||
*wbuf_bytes = tls->ssl->s3->wbuf.left;
|
||||
return 0;
|
||||
#endif
|
||||
}
|
||||
|
||||
#ifdef USE_BUFFEREVENTS
|
||||
|
||||
+1
-1
@@ -92,7 +92,7 @@ size_t tor_tls_get_forced_write_size(tor_tls_t *tls);
|
||||
void tor_tls_get_n_raw_bytes(tor_tls_t *tls,
|
||||
size_t *n_read, size_t *n_written);
|
||||
|
||||
void tor_tls_get_buffer_sizes(tor_tls_t *tls,
|
||||
int tor_tls_get_buffer_sizes(tor_tls_t *tls,
|
||||
size_t *rbuf_capacity, size_t *rbuf_bytes,
|
||||
size_t *wbuf_capacity, size_t *wbuf_bytes);
|
||||
|
||||
|
||||
+7
-6
@@ -2315,12 +2315,13 @@ dumpstats(int severity)
|
||||
if (conn->type == CONN_TYPE_OR) {
|
||||
or_connection_t *or_conn = TO_OR_CONN(conn);
|
||||
if (or_conn->tls) {
|
||||
tor_tls_get_buffer_sizes(or_conn->tls, &rbuf_cap, &rbuf_len,
|
||||
&wbuf_cap, &wbuf_len);
|
||||
tor_log(severity, LD_GENERAL,
|
||||
"Conn %d: %d/%d bytes used on OpenSSL read buffer; "
|
||||
"%d/%d bytes used on write buffer.",
|
||||
i, (int)rbuf_len, (int)rbuf_cap, (int)wbuf_len, (int)wbuf_cap);
|
||||
if (tor_tls_get_buffer_sizes(or_conn->tls, &rbuf_cap, &rbuf_len,
|
||||
&wbuf_cap, &wbuf_len) == 0) {
|
||||
tor_log(severity, LD_GENERAL,
|
||||
"Conn %d: %d/%d bytes used on OpenSSL read buffer; "
|
||||
"%d/%d bytes used on write buffer.",
|
||||
i, (int)rbuf_len, (int)rbuf_cap, (int)wbuf_len, (int)wbuf_cap);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user