|
@@ -263,7 +263,8 @@ tor_tls_context_new(crypto_pk_env_t *rsa,
|
|
|
crypto_dh_free(dh);
|
|
|
SSL_CTX_set_verify(result->ctx, SSL_VERIFY_PEER,
|
|
|
always_accept_verify_cb);
|
|
|
-
|
|
|
+ /* let us realloc bufs that we're writing from */
|
|
|
+ SSL_CTX_set_mode(result->ctx, SSL_MODE_ACCEPT_MOVING_WRITE_BUFFER);
|
|
|
global_tls_context = result;
|
|
|
return 0;
|
|
|
|
|
@@ -358,8 +359,8 @@ tor_tls_write(tor_tls *tls, char *cp, int n)
|
|
|
if (err == TOR_TLS_DONE) {
|
|
|
return r;
|
|
|
}
|
|
|
- if (err == TOR_TLS_WANTWRITE) {
|
|
|
- log_fn(LOG_INFO,"wantwrite. remembering the number %d.",n);
|
|
|
+ if (err == TOR_TLS_WANTWRITE || err == TOR_TLS_WANTREAD) {
|
|
|
+ log_fn(LOG_INFO,"wantwrite or wantread. remembering the number %d.",n);
|
|
|
tls->wantwrite_n = n;
|
|
|
}
|
|
|
return err;
|