1. 06 May, 2020 1 commit
    • Nick Mathewson's avatar
      Use __attribute__((fallthrough)) rather than magic GCC comments. · cc397449
      Nick Mathewson authored
      GCC added an implicit-fallthrough warning a while back, where it
      would complain if you had a nontrivial "case:" block that didn't end
      with break, return, or something like that.  Clang recently added
      the same thing.
      GCC, however, would let you annotate a fall-through as intended by
      any of various magic "/* fall through */" comments.  Clang, however,
      only seems to like "__attribute__((fallthrough))".  Fortunately, GCC
      accepts that too.
      A previous commit in this branch defined a FALLTHROUGH macro to do
      the right thing if GNUC is defined; here we replace all of our "fall
      through" comments with uses of that macro.
      This is an automated commit, made with the following perl one-liner:
        #!/usr/bin/perl -i -p
        s#/\* *falls? ?thr.*?\*/#FALLTHROUGH;#i;
  2. 16 Jan, 2019 1 commit
  3. 01 Oct, 2018 2 commits
  4. 27 Sep, 2018 1 commit
  5. 25 Sep, 2018 1 commit
  6. 21 Sep, 2018 3 commits
  7. 10 Sep, 2018 1 commit
    • Taylor Yu's avatar
      Defer reporting directory bootstrap progress · 61716089
      Taylor Yu authored
      Existing cached directory information can cause misleadingly high
      bootstrap percentages.  To improve user experience, defer reporting of
      directory information progress until at least one connection has
      succeeded to a relay or bridge.
      Closes ticket 27169.
  8. 09 Aug, 2018 1 commit
  9. 19 Jul, 2018 1 commit
  10. 17 Jul, 2018 1 commit
  11. 05 Jul, 2018 2 commits
    • Nick Mathewson's avatar
      Fix every include path changed in the previous commit (automated) · ef486e3c
      Nick Mathewson authored
      I am very glad to have written this script.
    • Nick Mathewson's avatar
      Move literally everything out of src/or · 63b4ea22
      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.
  12. 28 Jun, 2018 2 commits
  13. 21 Jun, 2018 5 commits
  14. 20 Jun, 2018 2 commits
  15. 15 Jun, 2018 8 commits
  16. 01 Jun, 2018 1 commit
  17. 16 May, 2018 1 commit
  18. 15 May, 2018 1 commit
  19. 14 May, 2018 2 commits
  20. 09 May, 2018 1 commit
    • Mike Perry's avatar
      Bug 25903: Perform accounting for new CIRC_BW fields. · e07e95ed
      Mike Perry authored
      Two new values in each direction. DELIVERED counts valid end-to-end circuit
      data that is accepted by our end and OVERHEAD counts the slack unused data in
      each of the relay command cells for those accepted cells.
      Control port changes are in the next commit.
  21. 17 Apr, 2018 1 commit
    • David Goulet's avatar
      heartbeat: Log the number of circuits killed because too many cells · 93ff1870
      David Goulet authored and Nick Mathewson's avatar Nick Mathewson committed
      We recently merged a circuit cell queue size safeguard. This commit adds the
      number of killed circuits that have reached the limit to the DoS heartbeat. It
      now looks like this:
        [notice] DoS mitigation since startup: 0 circuits killed with too many
        cells. 0 circuits rejected, 0 marked addresses. 0 connections closed. 0
        single hop clients refused.
      Second thing that this patch does. It makes tor always print the DoS
      mitigation heartbeat line (for a relay) even though no DoS mitigation have
      been enabled. The reason is because we now kill circuits that have too many
      cells regardless on if it is enabled or not but also it will give the operator
      a chance to learn what is enabled with the heartbeat instead of suddenly
      appearing when it is enabled by let say the consensus.
      Fixes #25824
      Signed-off-by: David Goulet's avatarDavid Goulet <dgoulet@torproject.org>
  22. 16 Apr, 2018 1 commit