Trac issueshttps://gitlab.torproject.org/legacy/trac/-/issues2020-06-13T15:18:45Zhttps://gitlab.torproject.org/legacy/trac/-/issues/24588Make signal handlers optional, for starting Tor in-process2020-06-13T15:18:45ZNick MathewsonMake signal handlers optional, for starting Tor in-processWhen Tor starts, it installs handlers for a bunch of signals. But if you're running Tor in its own thread, there's a good chance you don't actually want that behavior.When Tor starts, it installs handlers for a bunch of signals. But if you're running Tor in its own thread, there's a good chance you don't actually want that behavior.Tor: 0.3.2.x-finalNick MathewsonNick Mathewsonhttps://gitlab.torproject.org/legacy/trac/-/issues/23900Let programs call tor_main with a preconstructed control socket2020-06-13T15:16:04ZNick MathewsonLet programs call tor_main with a preconstructed control socketAt the ooni/tor/embedding meeting, we mentioned the idea of having a way for programs that want to call tor_main to pass a control socket to tor_main, so that they don't need to have tor listening on a control port at all.At the ooni/tor/embedding meeting, we mentioned the idea of having a way for programs that want to call tor_main to pass a control socket to tor_main, so that they don't need to have tor listening on a control port at all.Tor: 0.3.3.x-finalNick MathewsonNick Mathewsonhttps://gitlab.torproject.org/legacy/trac/-/issues/23848Replace all exit() calls with return code style2020-06-13T15:15:49ZArturo FilastòReplace all exit() calls with return code styleCurrently tor uses inside of various places the `exit()` call, but this is not nice when you are using it as a library as it leads to the whole app crashing, while we would rather just get an exception or a proper error code.
This invol...Currently tor uses inside of various places the `exit()` call, but this is not nice when you are using it as a library as it leads to the whole app crashing, while we would rather just get an exception or a proper error code.
This involves grepping tor for `exit()` calls and replacing them with instead return code style returns.Tor: 0.3.3.x-finalNick MathewsonNick Mathewsonhttps://gitlab.torproject.org/legacy/trac/-/issues/23847Make sure Tor can shut down via control port, and start again in same process2020-06-13T15:18:42ZArturo FilastòMake sure Tor can shut down via control port, and start again in same processIn order to stop tor and restart it cleanly, we would need a tor control port command to tell it to stop and cleanup all it's state so we can call the tor main again.
This involves ensuring that all static variables are properly reset a...In order to stop tor and restart it cleanly, we would need a tor control port command to tell it to stop and cleanup all it's state so we can call the tor main again.
This involves ensuring that all static variables are properly reset and cleanup is done correctly.
Having good integration tests can go a long ways in ensuring that nothing breaks here.Tor: 0.3.3.x-finalhttps://gitlab.torproject.org/legacy/trac/-/issues/23845Document a stable tor main function2020-06-13T15:15:46ZArturo FilastòDocument a stable tor main functionFor the usage in the mobile context it's useful to have a documented tor main function to call to start it and exposed as C headers.For the usage in the mobile context it's useful to have a documented tor main function to call to start it and exposed as C headers.Tor: 0.3.3.x-finalNick MathewsonNick Mathewson