1. 05 Dec, 2019 3 commits
    • Cecylia Bocovich's avatar
      Added another lock to protect broker stats · 06298eec
      Cecylia Bocovich authored
      Added another lock to the metrics struct to synchronize accesses to the
      broker stats. There's a possible race condition if stats are updated at
      the same time they are being logged.
    • Cecylia Bocovich's avatar
      Add tests to check for data race in broker · 42e16021
      Cecylia Bocovich authored
      We had some data races in the broker that occur when proxies and clients
      modify the heap/snowflake map at the same time. This test has a client
      and proxy access the broker simultaneously to check for data races.
    • Cecylia Bocovich's avatar
      Add synchronization to prevent race in broker · dccc15a6
      Cecylia Bocovich authored
      There's a race condition in the broker where both the proxy and the
      client processes try to pop/remove the same snowflake from the heap.
      This patch adds synchronization to prevent simultaneous accesses to
  2. 28 Nov, 2019 4 commits
  3. 13 Nov, 2019 2 commits
    • Cecylia Bocovich's avatar
      Remove unnecessary logging at broker · 7557e96a
      Cecylia Bocovich authored
    • Cecylia Bocovich's avatar
      Redo protocol for proxy--broker messages · c4ae6490
      Cecylia Bocovich authored
      Switch to containing all communication between the proxy and the broker
      in the HTTP response body. This will make things easier if we ever use
      something other than HTTP communicate between different actors in the
      snowflake system.
      Other changes to the protocol are as follows:
      - requests are accompanied by a version number so the broker can be
      backwards compatable if desired in the future
      - all responses are 200 OK unless the request was badly formatted
  4. 08 Oct, 2019 1 commit
  5. 19 Sep, 2019 1 commit
    • Cecylia Bocovich's avatar
      Removed extraneous log messages · f3be34a4
      Cecylia Bocovich authored
      Many of our log messages were being used to generate metrics, but are
      now being aggregated and logged to a separate metrics log file and so we
      don't need them in the regular logs anymore.
      This addresses the goal of ticket #30830, to remove unecessary messages
      and keep broker logs for debugging purposes.
  6. 27 Aug, 2019 1 commit
    • Cecylia Bocovich's avatar
      Modified broker /debug page to display counts only · 00eb4aad
      Cecylia Bocovich authored
      The broker /debug page was displaying proxy IDs and roundtrip times. As
      serna pointed out in bug #31460, the proxy IDs can be used to launch a
      denial of service attack. As the metrics team pointed out on #21315, the
      round trip time average can be potentially sensitive.
      This change displays only proxy counts and uses ID lengths to
      distinguish between standalone proxy-go instances and browser-based
      snowflake proxies.
  7. 16 Aug, 2019 1 commit
  8. 25 Jun, 2019 2 commits
  9. 14 Jun, 2019 2 commits
  10. 12 Jun, 2019 2 commits
  11. 11 Jun, 2019 6 commits
  12. 03 Jun, 2019 1 commit
    • Philipp Winter's avatar
      Cache certificates across program restarts. · 11efa42e
      Philipp Winter authored
      So far, we request a certificate each time we start the broker.  Let's
      Encrypt maintains several rate limiters and if we exceed one of them, we
      won't get a certificate.  Worse, since we don't store certificates, we
      won't even be able to use an old one.
      This patch uses autocert's DirCache structure to cache certificates on
      This patch fixes <https://bugs.torproject.org/30512>.
  13. 28 May, 2019 3 commits
  14. 16 May, 2019 2 commits
  15. 14 May, 2019 2 commits
  16. 09 May, 2019 1 commit
  17. 29 Apr, 2019 1 commit
  18. 15 Apr, 2019 1 commit
  19. 11 Apr, 2019 1 commit
  20. 25 Mar, 2019 1 commit
  21. 06 Mar, 2018 1 commit
  22. 24 Feb, 2018 1 commit