Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
David Goulet
Tor
Commits
40eb6b19
Commit
40eb6b19
authored
Jul 10, 2020
by
Nick Mathewson
🐕
Browse files
NSS: Tell NSS that our SSL sockets are nonblocking.
Closes ticket 40035.
parent
c9751e26
Changes
2
Hide whitespace changes
Inline
Side-by-side
changes/ticket40035
0 → 100644
View file @
40eb6b19
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.
src/lib/tls/tortls_nss.c
View file @
40eb6b19
...
...
@@ -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
;
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment