1. 02 Feb, 2021 1 commit
  2. 25 Jan, 2021 2 commits
  3. 12 Jan, 2021 1 commit
  4. 17 Dec, 2020 1 commit
  5. 16 Dec, 2020 1 commit
  6. 05 Dec, 2020 3 commits
  7. 04 Dec, 2020 1 commit
    • Cecylia Bocovich's avatar
      Create new smux session for each SOCKS connection · 114df695
      Cecylia Bocovich authored
      Each SOCKS connection has its own set of snowflakes and broker poll
      loop. Since the session manager was tied to a single set of snowflakes,
      this resulted in a bug where RedialPacketConn would sometimes try to
      pull snowflakes from a previously melted pool. The fix is to maintain
      separate smux sessions for each SOCKS connection, tied to its own
      snowflake pool.
  8. 27 Nov, 2020 1 commit
    • Philipp Winter's avatar
      Sort snowflake-ips stats by country count. · 5efcde51
      Philipp Winter authored
      We currently don't sort the snowflake-ips metrics:
          snowflake-ips CA=1,DE=1,AR=1,NL=1,FR=1,GB=2,US=4,CH=1
      To facilitate eyeballing our metrics, this patch sorts snowflake-ips by
      value.  If the value is identical, we sort by string, i.e.:
          snowflake-ips US=4,GB=2,AR=1,CA=1,CH=1,DE=1,FR=1,NL=1
      This patch fixes #40011
  9. 23 Nov, 2020 1 commit
    • Cecylia Bocovich's avatar
      Remove for loop around broker.Negotiate · 665d76c5
      Cecylia Bocovich authored
      Instead of continuously polling the broker until the client receives a
      snowflake, fail back to the Connect() loop and try again to collect more
      peers after ReconnectTimeout.
  10. 20 Nov, 2020 2 commits
  11. 18 Nov, 2020 2 commits
  12. 06 Nov, 2020 1 commit
  13. 05 Nov, 2020 2 commits
  14. 29 Oct, 2020 3 commits
  15. 23 Oct, 2020 1 commit
  16. 15 Oct, 2020 1 commit
    • Cecylia Bocovich's avatar
      Add synchronization to prevent post-melt collects · 6baa3c4d
      Cecylia Bocovich authored
      This fixes a race condition in which snowflakes.End() is called while
      snowflakes.Collect() is in progress resulting in a write to a closed
      channel. We now wait for all in-progress collections to finish and add
      an extra check before proceeding with a collection.
  17. 05 Oct, 2020 1 commit
  18. 21 Sep, 2020 1 commit
  19. 27 Aug, 2020 3 commits
  20. 24 Aug, 2020 1 commit
    • Cecylia Bocovich's avatar
      Update broker stats to include info on NAT types · 3c331750
      Cecylia Bocovich authored
      As we now partition proxies by NAT type, our stats are more useful if they
      capture how many proxies of each type we have, and information on
      whether we have enough proxies of the right NAT type for our clients.
      This change adds proxy counts by NAT type and binned counts of denied clients by NAT type.
  21. 30 Jul, 2020 1 commit
    • Cecylia Bocovich's avatar
      Add response header timeouts to broker transports · d5ae7562
      Cecylia Bocovich authored
      The client and proxy use the net/http default transport to make round
      trip connecitons to the broker. These by default don't time out and can
      wait indefinitely for the broker to respond if the broker hangs and
      doesn't terminate the connection.
  22. 24 Jul, 2020 1 commit
  23. 23 Jul, 2020 1 commit
  24. 14 Jul, 2020 3 commits
  25. 09 Jul, 2020 1 commit
  26. 06 Jul, 2020 3 commits
    • Cecylia Bocovich's avatar
      Testing Gitlab sync. · 818226ac
      Cecylia Bocovich authored
    • Cecylia Bocovich's avatar
      Have broker pass client NAT type to proxy · 046dab86
      Cecylia Bocovich authored
      This will allow browser-based proxies that are unable to determine their
      NAT type to conservatively label themselves as restricted NATs if they
      fail to work with clients that have restricted NATs.
    • Cecylia Bocovich's avatar
      Add a new heap at the broker for restricted flakes · 0052c0e1
      Cecylia Bocovich authored
      Now when proxies poll, they provide their NAT type to the broker. This
      introduces a new snowflake heap of just restricted snowflakes that the
      broker can pull from if the client has a known, unrestricted NAT. All
      other clients will pull from a heap of snowflakes with unrestricted or
      unknown NAT topologies.