summaryrefslogtreecommitdiff
path: root/src/feature/rend
AgeCommit message (Collapse)Author
2019-01-16Bump copyright date to 2019Nick Mathewson
2019-01-11Merge branch 'maint-0.3.5'Nick Mathewson
2018-12-04conn: Use connection_ap_mark_as_waiting_for_renddesc()David Goulet
Use the helper function connection_ap_mark_as_waiting_for_renddesc() introduced in previous commit everywhere in the code where an AP connection state is transitionned to AP_CONN_STATE_RENDDESC_WAIT. Part of #28669 Signed-off-by: David Goulet <dgoulet@torproject.org>
2018-11-13Comment for rend_cache_failure in feature/rend/rendcache.c: "usuable" should ↵Neel Chauhan
be "usable"
2018-10-21clean up a tor2web commentRoger Dingledine
2018-10-18hs-v3: Close client intro circuits if the descriptor is replacedDavid Goulet
When storing a descriptor in the client cache, if we are about to replace an existing descriptor, make sure to close every introduction circuits of the old descriptor so we don't have leftovers lying around. Ticket 27471 describes a situation where tor is sending an INTRODUCE1 cell on an introduction circuit for which it doesn't have a matching intro point object (taken from the descriptor). The main theory is that, after a new descriptor showed up, the introduction points changed which led to selecting an introduction circuit not used by the service anymore thus for which we are unable to find the corresponding introduction point within the descriptor we just fetched. Closes #27471. Signed-off-by: David Goulet <dgoulet@torproject.org>
2018-10-01Remove routerparse include from files that dont use itNick Mathewson
2018-10-01Move v2 hs parsing into feature/rendNick Mathewson
2018-10-01Split the authority-cert and signature/hash code from routerparseNick Mathewson
2018-10-01Move routerparse and parsecommon to their own module.Nick Mathewson
2018-09-27Move the predicted ports code out of rephist.cNick Mathewson
It differs from the rest of the rephist code in that it's actually necessary for Tor to operate, so it should probably go somewhere else. I'm not sure where yet, so I'll leave it in the same directory, but give it its own file.
2018-09-25Revise things that had included router.h beforeNick Mathewson
Make them only include the headers that they needed, and sort their headers while we're at it.
2018-09-25Move key-loading and crosscert-checking out of feature/relayNick Mathewson
This is also used by onion services, so it needs to go in another module.
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-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-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-14hs-v2: Demote log warning to info when we don't have a consensusDavid Goulet
Fixes #27040 Signed-off-by: David Goulet <dgoulet@torproject.org>
2018-09-07Merge branch 'maint-0.3.4'Nick Mathewson
2018-09-06Merge remote-tracking branch 'tor-github/pr/294'Nick Mathewson
2018-09-04Merge branch 'nss_squashed' into nss_mergeNick Mathewson
2018-09-04Rename crypto_pk_check_key(), use it more reasonably, add testsNick Mathewson
This function was a wrapper around RSA_check_key() in openssl, which checks for invalid RSA private keys (like those where p or q are composite, or where d is not the inverse of e, or where n != p*q). We don't need a function like this in NSS, since unlike OpenSSL, NSS won't let you import a bogus private key. I've renamed the function and changed its return type to make it more reasonable, and added a unit test for trying to read a key where n != p*q.
2018-08-28Merge branch 'bug26367_035_01'Nick Mathewson
2018-08-28hs: Remove rend_client_non_anonymous_mode_enabledDavid Goulet
The removal of Tor2Web made this function useless. Signed-off-by: David Goulet <dgoulet@torproject.org>
2018-08-28hs: Remove rend_client_allow_non_anonymous_connectionDavid Goulet
By removing Tor2Web, there is no way a client can be non anonymous so we remove that function and the callsites. Signed-off-by: David Goulet <dgoulet@torproject.org>
2018-08-28hs: Render obsolete Tor2webDavid Goulet
Remove support for Tor2web in the code and build system. At this commit, tor doesn't have Tor2web support anymore. Ref: https://lists.torproject.org/pipermail/tor-dev/2018-July/013295.html Close #26367 Signed-off-by: David Goulet <dgoulet@torproject.org>
2018-08-28Stricter HiddenServicePort parsingrl1987
2018-08-22hs: Learn service version by trying to load the keysDavid Goulet
In order to switch the default HS version from 2 to 3, we need tor to be smart and be able to decide on the version by trying to load the service keys during configuration validation. Part of #27215 Signed-off-by: David Goulet <dgoulet@torproject.org>
2018-07-11Rename crypto.c to crypto_cipher.c (since that's all it still has.)Nick Mathewson
2018-07-10Isolate resolve.h usage in the modules that really need it.Nick Mathewson
(Almost none of Tor should actually need to touch the platform resolver.)
2018-07-05Fix every include path changed in the previous commit (automated)Nick Mathewson
I am very glad to have written this script.
2018-07-05Move literally everything out of src/orNick Mathewson
This commit won't build yet -- it just puts everything in a slightly more logical place. The reasoning here is that "src/core" will hold the stuff that every (or nearly every) tor instance will need in order to do onion routing. Other features (including some necessary ones) will live in "src/feature". The "src/app" directory will hold the stuff needed to have Tor be an application you can actually run. This commit DOES NOT refactor the former contents of src/or into a logical set of acyclic libraries, or change any code at all. That will have to come in the future. We will continue to move things around and split them in the future, but I hope this lays a reasonable groundwork for doing so.