mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-24 04:13:28 +01:00
Always defer bufferevent_openssl callbacks to avoid reentrant invocations
This commit is contained in:
parent
89e8f31c42
commit
b7ae108e18
@ -1710,12 +1710,16 @@ tor_tls_init_bufferevent(tor_tls_t *tls, struct bufferevent *bufev_in,
|
||||
bufferevent_free(bufev_in);
|
||||
}
|
||||
tls->state = TOR_TLS_ST_BUFFEREVENT;
|
||||
|
||||
/* Current versions (as of 2.0.7-rc) of Libevent need to defer
|
||||
* bufferevent_openssl callbacks, or else our callback functions will
|
||||
* get called reentrantly, which is bad for us.
|
||||
*/
|
||||
out = bufferevent_openssl_socket_new(tor_libevent_get_base(),
|
||||
socket,
|
||||
tls->ssl,
|
||||
state,
|
||||
0);
|
||||
//BEV_OPT_DEFER_CALLBACKS);
|
||||
BEV_OPT_DEFER_CALLBACKS);
|
||||
#endif
|
||||
return out;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user