- 21 Dec, 2018 1 commit
-
-
Taylor Yu authored
Add a publish-subscribe subsystem to publish messages about changes to origin circuits. Functions in circuitbuild.c and circuitlist.c publish messages to this subsystem. Move circuit event constants out of control.h so that subscribers don't have to include all of control.h to take actions based on messages they receive. Part of ticket 27167.
-
- 14 Nov, 2018 1 commit
-
-
Nick Mathewson authored
-
- 18 Oct, 2018 1 commit
-
-
David Goulet authored
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>
-
- 27 Sep, 2018 1 commit
-
-
Nick Mathewson authored
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.
-
- 21 Sep, 2018 3 commits
-
-
Nick Mathewson authored
Parts of this C file naturally belong in dircache, dirclient, and dircommon: so, move them there.
-
Nick Mathewson authored
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.
-
Nick Mathewson authored
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.
-
- 18 Sep, 2018 1 commit
-
-
Nick Mathewson authored
-
- 05 Jul, 2018 2 commits
-
-
Nick Mathewson authored
I am very glad to have written this script.
-
Nick Mathewson authored
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.
-
- 03 Jul, 2018 2 commits
-
-
Nick Mathewson authored
These were mostly cases where our previous macros had been casting, and the values that we were trying to printf were not in fact uint64_t.
-
Nick Mathewson authored
The standard is printf("%"PRIu64, x);
-
- 01 Jul, 2018 2 commits
-
-
Nick Mathewson authored
-
Nick Mathewson authored
or.h should really include only the minimum of stuff from or/*, common/*, and lib/*.
-
- 21 Jun, 2018 3 commits
-
-
Nick Mathewson authored
-
Nick Mathewson authored
-
Nick Mathewson authored
-
- 20 Jun, 2018 2 commits
-
-
Nick Mathewson authored
-
Nick Mathewson authored
-
- 15 Jun, 2018 6 commits
-
-
Nick Mathewson authored
-
Nick Mathewson authored
More modules use this than I had expected!
-
Nick Mathewson authored
-
Nick Mathewson authored
-
Nick Mathewson authored
-
Nick Mathewson authored
-
- 26 Apr, 2018 1 commit
-
-
Nick Mathewson authored
Implements ticket 25932.
-
- 06 Apr, 2018 1 commit
-
-
Isis Lovecruft authored
* ADD new /src/common/crypto_rand.[ch] module. * ADD new /src/common/crypto_util.[ch] module (contains the memwipe() function, since all crypto_* modules need this). * FIXES part of #24658: https://bugs.torproject.org/24658
-
- 20 Mar, 2018 1 commit
-
-
This patch adds some additional logging to circuits_handle_oom() to give us more information about which specific compression backend that is using a certain amount of memory. See: https://bugs.torproject.org/25372
-
- 17 Mar, 2018 1 commit
-
-
Nick Mathewson authored
Additionally, this change extracts the functions that created and freed these elements. These structures had common "forward&reverse stream&digest" elements, but they were initialized and freed through cpath objects, and different parts of the code depended on them. Now all that code is extacted, and kept in relay_crypto.c
-
- 15 Feb, 2018 1 commit
-
-
David Goulet authored
Since 0.2.4, tor uses EWMA circuit policy to prioritize. The previous algorithm, round-robin, hasn't been used since then but was still used as a fallback. Now that EWMA is mandatory, remove that code entirely and enforce a cmux policy to be set. This is part of a circuitmux cleanup to improve performance and reduce complexity in the code. We'll be able to address future optimization with this work. Closes #25268 Signed-off-by:
David Goulet <dgoulet@torproject.org>
-
- 07 Feb, 2018 1 commit
-
-
- 06 Feb, 2018 1 commit
-
-
David Goulet authored
This removes the code that tracks the extend attemps a client makes. We don't use it and it was only used to provide statistics on a SIGUSR1 from the rephist dump stats function. Part of #25163 Signed-off-by:
David Goulet <dgoulet@torproject.org>
-
- 31 Jan, 2018 2 commits
-
-
David Goulet authored
Tor preemptiely builds circuits and they can be cannibalized later in their lifetime. A Guard node can become unusable (from our guard state) but we can still have circuits using that node opened. It is important to not pick those circuits for any usage through the cannibalization process. Fixes #24469 Signed-off-by:
David Goulet <dgoulet@torproject.org>
-
Mike Perry authored
This is only half of the changes needed. We should also parameterize the number of concurrent cbt learning circuits in needs_circuits_for_build().
-
- 19 Jan, 2018 2 commits
-
-
Mike Perry authored
Prebuilt circs are 4 hops, since only server side HSDIR and intro circs are 3 hops, and it is OK if those sometimes take longer to build.
-
Mike Perry authored
This lets us control their path len and usage.
-
- 12 Jan, 2018 1 commit
-
-
Fernando Fernandez Mancera authored
Define TOR_PRIuSZ as minGW compiler doesn't support zu format specifier for size_t type. Fixes #24861 on ac9eebd6 . Signed-off-by:
Fernando Fernandez Mancera <ffernandezmancera@gmail.com>
-
- 20 Dec, 2017 1 commit
-
-
Fernando Fernandez Mancera authored
Exposing cell_queues_get_total_allocation(), buf_get_total_allocation(), tor_compress_get_total_allocation(), tor_compress_get_total_allocation() when hit MaxMemInQueues threshold. Fixes #24501 Signed-off-by:
Fernando Fernandez Mancera <ffernandezmancera@gmail.com>
-
- 08 Dec, 2017 2 commits
-
-
Nick Mathewson authored
-
Nick Mathewson authored
This covers addressmap.h (no change needed) through confparse.h
-