1. 03 Jul, 2015 1 commit
  2. 01 Jul, 2015 2 commits
  3. 30 Jun, 2015 2 commits
  4. 27 Jun, 2015 3 commits
    • Juan Batiz-Benet's avatar
      fix swarm notif tests · dae8ff49
      Juan Batiz-Benet authored
      
      
      they were failing intermittently
      
      License: MIT
      Signed-off-by: default avatarJuan Batiz-Benet <juan@benet.ai>
      dae8ff49
    • Juan Batiz-Benet's avatar
      mock: fix notif test · 1cef084e
      Juan Batiz-Benet authored
      
      
      License: MIT
      Signed-off-by: default avatarJuan Batiz-Benet <juan@benet.ai>
      1cef084e
    • Juan Batiz-Benet's avatar
      daemon option to optionally disable secio · 19f33952
      Juan Batiz-Benet authored
      
      
      This commit adds an option to turn off all encryption. This is a mode
      used for tests, debugging, achieving protocol implementation interop,
      learning about how the protocol works (nc ftw), and worst case
      networks which _demand_ to be able to snoop on all the traffic.
      (sadly, there are some private intranets like this...). (We should
      consider at least _signing_ all this traffic.)
      
      Because of the severity of this sort of thing, this is an
      all-or-nothing deal. Either encryption is ON or OFF _fully_.
      This way, partially unencrypted nodes cannot be accidentally left
      running without the user's understanding. Nodes without encrypted
      connections will simply not be able to speak to any of the global
      bootstrap nodes, or anybody in the public network.
      
      License: MIT
      Signed-off-by: default avatarJuan Batiz-Benet <juan@benet.ai>
      19f33952
  5. 23 Jun, 2015 3 commits
  6. 18 Jun, 2015 1 commit
    • rht's avatar
      Replace Critical{,f} with Error{,f} · b1702b08
      rht authored
      
      
      Except when there is an explicit os.Exit(1) after the Critical line,
      then replace with Fatal{,f}.
      golang's log and logrus already call os.Exit(1) by default with Fatal.
      
      License: MIT
      Signed-off-by: default avatarrht <rhtbot@gmail.com>
      b1702b08
  7. 08 Jun, 2015 1 commit
    • Juan Batiz-Benet's avatar
      p2p/net/identify: clump addr observers into groups · f5a9795d
      Juan Batiz-Benet authored
      Different mutliaddrs is not enough. Nodes may share transports.
      NAT port mappings will likely only work on the base IP/TCP port
      pair. We go one step further, and require different root (IP)
      addrs. Just in case some NATs group by IP. In practice, this is
      what we want: use addresses only if hosts that are on different
      parts of the network have seen this address.
      f5a9795d
  8. 07 Jun, 2015 1 commit
    • Juan Batiz-Benet's avatar
      p2p/protocol/identify: dont double count observers · c754f210
      Juan Batiz-Benet authored
      If the same peer observed the same address twice, it would be
      double counted as different observations. This change adds a map
      to make sure we're counting each observer once.
      
      This is easily extended to require more than two observations,
      but i have not yet encountered NATs for whom this is relevant.
      c754f210
  9. 03 Jun, 2015 1 commit
  10. 01 Jun, 2015 1 commit
  11. 29 May, 2015 1 commit
  12. 28 May, 2015 1 commit
  13. 26 May, 2015 1 commit
  14. 18 May, 2015 1 commit
  15. 12 May, 2015 1 commit
    • Juan Batiz-Benet's avatar
      net/p2p + secio: parallelize crypto handshake · 95198430
      Juan Batiz-Benet authored
      We had a very nasty problem: handshakes were serial so incoming
      dials would wait for each other to finish handshaking. this was
      particularly problematic when handshakes hung-- nodes would not
      recover quickly. This led to gateways not bootstrapping peers
      fast enough.
      
      The approach taken here is to do what crypto/tls does:
      defer the handshake until Read/Write[1]. There are a number of
      reasons why this is _the right thing to do_:
      - it delays handshaking until it is known to be necessary (doing io)
      - it "accepts" before the handshake, getting the handshake out of the
        critical path entirely.
      - it defers to the user's parallelization of conn handling. users
        must implement this in some way already so use that, instead of
        picking constants surely to be wrong (how many handshakes to run
        in parallel?)
      
      [0] http://golang.org/src/crypto/tls/conn.go#L886
      95198430
  16. 06 May, 2015 1 commit
  17. 05 May, 2015 1 commit
  18. 02 May, 2015 1 commit
  19. 01 May, 2015 2 commits
  20. 30 Apr, 2015 1 commit
  21. 29 Apr, 2015 2 commits
  22. 28 Apr, 2015 4 commits
  23. 22 Apr, 2015 4 commits
  24. 20 Apr, 2015 1 commit
    • Juan Batiz-Benet's avatar
      remove debugerrors · b5957350
      Juan Batiz-Benet authored
      We now consider debugerrors harmful: we've run into cases where
      debugerror.Wrap() hid valuable error information (err == io.EOF?).
      I've removed them from the main code, but left them in some tests.
      Go errors are lacking, but unfortunately, this isn't the solution.
      
      It is possible that debugerros.New or debugerrors.Errorf should
      remain still (i.e. only remove debugerrors.Wrap) but we don't use
      these errors often enough to keep.
      b5957350
  25. 17 Apr, 2015 1 commit
  26. 14 Apr, 2015 1 commit