summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2018-09-21Split directory.c code into several modulesNick Mathewson
Parts of this C file naturally belong in dircache, dirclient, and dircommon: so, move them there.
2018-09-21Merge remote-tracking branch 'ahf-github/asn/bugs4700_2'Nick Mathewson
2018-09-21Merge branch 'split_mainloop_onion'Nick Mathewson
2018-09-21Merge branch 'maint-0.3.4'Nick Mathewson
2018-09-21Merge branch 'maint-0.3.3' into maint-0.3.4Nick Mathewson
2018-09-21Merge branch 'maint-0.3.2' into maint-0.3.3Nick Mathewson
2018-09-21Merge branch 'maint-0.2.9' into maint-0.3.2maint-0.3.2Nick Mathewson
2018-09-21Merge remote-tracking branch 'dgoulet/ticket27797_035_01'Nick Mathewson
2018-09-21Split main.c into main.c and mainloop.cNick Mathewson
The main.c code is responsible for initialization and shutdown; the mainloop.c code is responsible for running the main loop of Tor. Splitting the "generic event loop" part of mainloop.c from the event-loop-specific part is not done as part of this patch.
2018-09-21Move the non-crypto parts of onion.c out of src/core/cryptoNick Mathewson
The parts for handling cell formats should be in src/core/or. The parts for handling onionskin queues should be in src/core/or. Only the crypto wrapper belongs in src/core/crypto.
2018-09-21Bump to 0.3.5.2-alpha-devNick Mathewson
2018-09-21Put dirlist_free_all back in routerlist_free_all for unit testsNick Mathewson
2018-09-20Bump to 0.3.5.2-alphaNick Mathewson
2018-09-20Merge remote-tracking branch 'dgoulet/ticket27410_035_01'Nick Mathewson
2018-09-20Merge remote-tracking branch 'dgoulet/ticket27410_032_01'Nick Mathewson
2018-09-20Support 'none' in torrc for HiddenServiceExportCircuitID.Alexander Færøy
See: https://bugs.torproject.org/4700
2018-09-20Merge branch 'bug23512-v4-029-fixes'Nick Mathewson
2018-09-20Remove another needless typedefNick Mathewson
2018-09-20Merge branch 'bug23512-v4-029-fixes'Nick Mathewson
2018-09-20Fix a pair of errors in bug23512Nick Mathewson
2018-09-20Fix an NSS socket leak-on-error found by dgouletNick Mathewson
2018-09-20Use the correct macro to detect an invalid socket in tortls_nss.cNick Mathewson
Fixes bug 27782; bugfix on 0.3.5.1-alpha
2018-09-20Release ownership of the dummy socket that tortls_nss.c will closeNick Mathewson
Related to #27795 -- since NSS will close the socket, we must not count it as owned by Tor.
2018-09-20Fix socket accounting with ORConn sockets.Nick Mathewson
When we close a socket via tor_tls_free(), we previously had no way for our socket accounting logic to learn about it. This meant that the socket accounting code would think we had run out of sockets, and freak out. Fixes bug 27795; bugfix on 0.3.5.1-alpha.
2018-09-20Add a tor_release_socket_ownership() function.Nick Mathewson
2018-09-20Merge branch 'split_routerlist_dirserv_v2'Nick Mathewson
2018-09-20Split most of dirserv.c into several new modulesNick Mathewson
In dirauth: * bwauth.c reads and uses bandwidth files * guardfraction.c reads and uses the guardfraction file * reachability.c tests relay reachability * recommend_pkg.c handles the recommended-packages lines. * recv_descs.c handles fingerprint files and processing incoming routerinfos that relays upload to us * voteflag.c computes flag thresholds and sets those thresholds on routerstatuses when computing votes In control: * fmt_serverstatus.c generates the ancient "v1 server status" format that controllers expect. In nodelist: * routerstatus_fmt.c formats routerstatus entries for a consensus, a vote, or for the controller.
2018-09-20hs-v3: Close all SOCKS request on descriptor failureDavid Goulet
Client side, when a descriptor is finally fetched and stored in the cache, we then go over all pending SOCKS request for that descriptor. If it turns out that the intro points are unusable, we close the first SOCKS request but not the others for the same .onion. This commit makes it that we'll close all SOCKS requests so we don't let hanging the other ones. It also fixes another bug which is having a SOCKS connection in RENDDESC_WAIT state but with a descriptor in the cache. At some point, tor will expire the intro failure cache which will make that descriptor usable again. When retrying all SOCKS connection (retry_all_socks_conn_waiting_for_desc()), we won't end up in the code path where we have already the descriptor for a pending request causing a BUG(). Bottom line is that we should never have pending requests (waiting for a descriptor) with that descriptor in the cache (even if unusable). Fixees #27410. Signed-off-by: David Goulet <dgoulet@torproject.org>
2018-09-20Merge branch 'maint-0.3.4'Nick Mathewson
2018-09-20Merge remote-tracking branch 'github/bug27139_034' into maint-0.3.4Nick Mathewson
2018-09-20node: Make node_supports_v3_rendezvous_point() also check for the keyDavid Goulet
It is not enough to look at protover for v3 rendezvous support but also we need to make sure that the curve25519 onion key is present or in other words that the descriptor has been fetched and does contain it. Fixes #27797. Signed-off-by: David Goulet <dgoulet@torproject.org>
2018-09-19Split routerlist.c into 4 separate modulesNick Mathewson
There are now separate modules for: * the list of router descriptors * the list of authorities and fallbacks * managing authority certificates * selecting random nodes
2018-09-19test: hs-v3 desc has arrived unit testDavid Goulet
That unit test makes sure we don't have pending SOCK request if the descriptor turns out to be unusable. Part of #27410. Signed-off-by: David Goulet <dgoulet@torproject.org>
2018-09-19hs-v3: Close all SOCKS request on descriptor failureDavid Goulet
Client side, when a descriptor is finally fetched and stored in the cache, we then go over all pending SOCKS request for that descriptor. If it turns out that the intro points are unusable, we close the first SOCKS request but not the others for the same .onion. This commit makes it that we'll close all SOCKS requests so we don't let hanging the other ones. It also fixes another bug which is having a SOCKS connection in RENDDESC_WAIT state but with a descriptor in the cache. At some point, tor will expire the intro failure cache which will make that descriptor usable again. When retrying all SOCKS connection (retry_all_socks_conn_waiting_for_desc()), we won't end up in the code path where we have already the descriptor for a pending request causing a BUG(). Bottom line is that we should never have pending requests (waiting for a descriptor) with that descriptor in the cache (even if unusable). Fixees #27410. Signed-off-by: David Goulet <dgoulet@torproject.org>
2018-09-18Comment fix.Nick Mathewson
2018-09-18Merge branch 'ticket27686_035'Nick Mathewson
2018-09-18Merge remote-tracking branch 'tor-github/pr/352'Nick Mathewson
2018-09-18Merge branch 'maint-0.3.4'Nick Mathewson
2018-09-18Merge branch 'maint-0.3.3' into maint-0.3.4Nick Mathewson
2018-09-18Merge remote-tracking branch 'onionk/rust-allsupported1' into maint-0.3.3Nick Mathewson
2018-09-18Merge remote-tracking branch 'github/bug27073_029'Nick Mathewson
2018-09-18Merge remote-tracking branch 'tor-github/pr/344'Nick Mathewson
2018-09-18Merge remote-tracking branch 'asn-github/bug27764'Nick Mathewson
2018-09-18Bump to 0.3.5.1-alpha-devNick Mathewson
2018-09-18Fix minor memleak in edge-case of crypto_rsa.c function.George Kadianakis
2018-09-18Merge branch 'bug23512-v4-033' into bug23512-v4-masterMike Perry
2018-09-17Bug 23512: Test fix: cmux is now allocated by new_fake_channel()Mike Perry
2018-09-17Merge branch 'bug23512-v4-032' into bug23512-v4-033Mike Perry
2018-09-17Remove duplicate TLS define from kist code.Mike Perry
Duplicate comes from introducing this define into 0.2.9, which did not yet have KIST.
2018-09-17Bug 23512: Mock assert_circuit_ok in tests.Mike Perry
This mocking was not available in 0.2.9.