mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-24 04:13:28 +01:00
Merge remote-tracking branch 'tor-gitlab/mr/43' into maint-0.3.5
This commit is contained in:
commit
968b6c30c1
5
changes/ticket40035
Normal file
5
changes/ticket40035
Normal file
@ -0,0 +1,5 @@
|
||||
o Major bugfixes (NSS):
|
||||
- When running with NSS enabled, make sure that NSS knows to expect
|
||||
nonblocking sockets. Previously, we set our TCP sockets as blocking,
|
||||
but did not tell NSS about the fact, which in turn could lead to
|
||||
unexpected blocking behavior. Fixes bug 40035; bugfix on 0.3.5.1-alpha.
|
@ -418,6 +418,16 @@ tor_tls_new(tor_socket_t sock, int is_server)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/* even if though the socket is already nonblocking, we need to tell NSS
|
||||
* about the fact, so that it knows what to do when it says EAGAIN. */
|
||||
PRSocketOptionData data;
|
||||
data.option = PR_SockOpt_Nonblocking;
|
||||
data.value.non_blocking = 1;
|
||||
if (PR_SetSocketOption(ssl, &data) != PR_SUCCESS) {
|
||||
PR_Close(ssl);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
tor_tls_t *tls = tor_malloc_zero(sizeof(tor_tls_t));
|
||||
tls->magic = TOR_TLS_MAGIC;
|
||||
tls->context = ctx;
|
||||
|
Loading…
Reference in New Issue
Block a user