1. 14 Nov, 2018 1 commit
  2. 01 Oct, 2018 2 commits
  3. 27 Sep, 2018 1 commit
  4. 25 Sep, 2018 2 commits
  5. 21 Sep, 2018 1 commit
    • 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.
      c7ce6b98
  6. 20 Sep, 2018 2 commits
    • 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.
      b54a5e70
    • David Goulet's avatar
      node: Make node_supports_v3_rendezvous_point() also check for the key · e3713f17
      David Goulet authored
      
      
      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's avatarDavid Goulet <dgoulet@torproject.org>
      e3713f17
  7. 19 Sep, 2018 1 commit
  8. 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.
      61716089
    • Taylor Yu's avatar
      Make control_event_bootstrap() return void · eee62e13
      Taylor Yu authored
      Simplify control_event_bootstrap() by making it return void again.  It
      is currently a fairly complicated function, and it's made more
      complicated by returning an int to signal whether it logged at NOTICE
      or INFO.
      
      The callers conditionally log messages at level NOTICE based on this
      return value.  Change the callers to unconditionally log their verbose
      human-readable messages at level INFO to keep NOTICE logs less
      cluttered.
      
      This partially reverts the changes of #14950.
      eee62e13
  9. 29 Aug, 2018 1 commit
    • David Goulet's avatar
      router: Keep RSA onion public key in ASN.1 format · 2f6bc749
      David Goulet authored and Nick Mathewson's avatar Nick Mathewson committed
      
      
      The OpenSSL "RSA" object is currently 408 bytes compares to the ASN.1 encoding
      which is 140 for a 1024 RSA key.
      
      We save 268 bytes per descriptor (routerinfo_t) *and* microdescriptor
      (microdesc_t). Scaling this to 6000 relays, and considering client usually
      only have microdescriptors, we save 1.608 MB of RAM which is considerable for
      mobile client.
      
      This commit makes it that we keep the RSA onion public key (used for TAP
      handshake) in ASN.1 format instead of an OpenSSL RSA object.
      
      Changes is done in both routerinfo_t and microdesc_t.
      
      Closes #27246
      
      Signed-off-by: David Goulet's avatarDavid Goulet <dgoulet@torproject.org>
      2f6bc749
  10. 24 Aug, 2018 1 commit
  11. 17 Aug, 2018 1 commit
  12. 05 Jul, 2018 4 commits
    • Nick Mathewson's avatar
      667a6e8f
    • 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.
      ef486e3c
    • 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.
      63b4ea22
    • Nick Mathewson's avatar
      Move address_set to src/or · 0adcfbc7
      Nick Mathewson authored
      This is temporary, until src/or is split.
      
      Putting this in containers would be another logical alternative,
      except that addresses depend on containers, and we don't like
      cycles.
      0adcfbc7
  13. 27 Jun, 2018 1 commit
  14. 20 Jun, 2018 3 commits
  15. 16 Jun, 2018 1 commit
  16. 15 Jun, 2018 7 commits
  17. 14 Jun, 2018 1 commit
  18. 02 May, 2018 1 commit
  19. 29 Apr, 2018 1 commit
  20. 22 Apr, 2018 2 commits
  21. 17 Apr, 2018 2 commits
  22. 27 Mar, 2018 2 commits
    • Taylor Yu's avatar
      Fix CID 1430932 · 471f28a2
      Taylor Yu authored
      Coverity found a null pointer reference in nodelist_add_microdesc().
      This is almost certainly impossible assuming that the routerstatus_t
      returned by router_get_consensus_status_by_descriptor_digest() always
      corresponds to an entry in the nodelist.  Fixes bug 25629.
      471f28a2
    • Taylor Yu's avatar
      Fix CID 1430932 · 0c13a84c
      Taylor Yu authored
      Coverity found a null pointer reference in nodelist_add_microdesc().
      This is almost certainly impossible assuming that the routerstatus_t
      returned by router_get_consensus_status_by_descriptor_digest() always
      corresponds to an entry in the nodelist.  Fixes bug 25629.
      0c13a84c