1. 27 Sep, 2018 1 commit
    • Nick Mathewson's avatar
      Move the predicted ports code out of rephist.c · 241c1505
      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.
  2. 25 Sep, 2018 4 commits
  3. 21 Sep, 2018 2 commits
    • Nick Mathewson's avatar
      Split directory.c code into several modules · 194acfb5
      Nick Mathewson authored
      Parts of this C file naturally belong in dircache, dirclient, and
      dircommon: so, move them there.
    • Nick Mathewson's avatar
      Split main.c into main.c and mainloop.c · c7ce6b98
      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.
  4. 20 Sep, 2018 1 commit
    • Nick Mathewson's avatar
      Split most of dirserv.c into several new modules · b54a5e70
      Nick Mathewson authored
      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.
  5. 19 Sep, 2018 1 commit
  6. 10 Sep, 2018 2 commits
    • 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.
    • David Goulet's avatar
      hs-v3: Silence some logging for client authorization · 67262090
      David Goulet authored
      If a tor client gets a descriptor that it can't decrypt, chances are that the
      onion requires client authorization.
      If a tor client is configured with client authorization for an onion but
      decryption fails, it means that the configured keys aren't working anymore.
      In both cases, we'll log notice the former and log warn the latter and the
      rest of the decryption errors are now at info level.
      Two logs statement have been removed because it was redundant and printing the
      fetched descriptor in the logs when 80% of it is encrypted wat not helping.
      Fixes #27550
      Signed-off-by: David Goulet's avatarDavid Goulet <dgoulet@torproject.org>
  7. 28 Aug, 2018 1 commit
  8. 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.
  9. 03 Jul, 2018 2 commits
  10. 01 Jul, 2018 3 commits
  11. 29 Jun, 2018 1 commit
  12. 28 Jun, 2018 1 commit
  13. 23 Jun, 2018 1 commit
    • Alexander Færøy's avatar
      Fix memory leak in client_likes_consensus(). · d86c45bf
      Alexander Færøy authored
      This patches fixes a memory leak in client_likes_consensus() where if
      consensus_cache_entry_get_voter_id_digests() would fail we would return
      without having free'd the voters list.
      See: Coverity CID 1437447
  14. 21 Jun, 2018 2 commits
  15. 20 Jun, 2018 2 commits
  16. 15 Jun, 2018 10 commits
  17. 14 Jun, 2018 1 commit
  18. 11 Jun, 2018 1 commit
    • Nick Mathewson's avatar
      Several attempts to diagnose ticket 25686 · faf45800
      Nick Mathewson authored
      There are a few reasons that relays might be uploading desciptors
      without saying X-Desc-Gen-Reason:
        1. They are running an old version of our software, before 0.3.2.stable.
        2. They are not running our software, but they are claiming they
        3. They are uploading through a proxy that strips X-Desc-Gen-Reason.
        4. They somehow had a bug in their software.
      According to the 25686 data, 1 is the most common reason.  This
      ticket is an attempt to diagnose case 4, or prove that case 4
      doesn't actually happen.
  19. 02 May, 2018 1 commit
  20. 01 May, 2018 1 commit