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
  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
    • David Fifield's avatar
      Don't log io.ErrClosedPipe in proxy. · 912bcae2
      David Fifield authored
      We expect one of these at the end of just about every proxy session, as
      the Conns in both directions are closed as soon as the copy loop
      finishes in one direction.
      Closes #40016.
  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.