Commit Graph

218 Commits

Author SHA1 Message Date
Juan Benet
63baf78d1e Merge pull request #1943 from ipfs/dht/speed
fix swarm dial backoff
2015-11-10 06:41:54 +00:00
Jeromy
94647ed884 only fail interface setup if all addresses fail
License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2015-11-09 20:02:26 -08:00
Jeromy
724e6cb37d reuseport tcp is now a dial creation option
And other assorted PR feedback

License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2015-11-09 20:02:26 -08:00
Jeromy
8e6609e78a add timeout opt to transport dialer creation
License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2015-11-09 20:02:26 -08:00
Jeromy
d26a918258 refactor net code to use transports, in rough accordance with libp2p
License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2015-11-09 20:02:23 -08:00
Jeromy
097d40ba74 rewrite of backoff mechanism
License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2015-11-08 13:09:36 -08:00
Jeromy
193d73080e fix dial backoff
License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2015-11-08 13:09:36 -08:00
Jeromy
94bdce63a7 vendor logging lib update
License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2015-11-05 15:57:21 -08:00
Jeromy
c023d187b5 update code to use new logging changes
License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2015-10-27 11:04:56 -07:00
Jeromy
def4697852 fix a few race conditions in mocknet
License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2015-10-19 17:20:33 -07:00
Jeromy
49733f4da1 order addresses to give certain address types priority
License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2015-10-16 19:02:46 -07:00
Jeromy
663a0309e5 simplify rate limiting to remove potential panic
License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2015-10-14 12:35:37 -07:00
Jeromy Johnson
c1c9a74a63 fix too many FD error on osx
License: MIT
Signed-off-by: Jeromy Johnson <why@ipfs.io>
2015-10-08 11:07:01 -07:00
Jeromy
1c2223dece rate limit concurrent peer dials
License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2015-10-08 01:20:50 -07:00
Juan Batiz-Benet
a7576c98be mocknet: conn close idempotent with process.
License: MIT
Signed-off-by: Juan Batiz-Benet <juan@benet.ai>
2015-10-04 10:15:45 -04:00
Jeromy
8f0623255d replace imports with absolute path instead of using symlink
License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2015-10-03 14:30:50 -07:00
Jeromy
e5a2896c0e extract logging
License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2015-09-14 17:35:50 -07:00
Jeromy
5ebf962b2d cache nat port mappings for a short period of time
License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2015-09-10 12:59:08 -07:00
Jeromy
1f415714f4 WIP: quick fix to the NAT spam too many open fd's bug
License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2015-09-10 12:45:36 -07:00
Jeromy
7217d6a236 fix mock notification test
License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2015-09-03 14:28:53 -07:00
rht
63c7741fb9 Refactor FullMeshLinked and ConnectAll()
License: MIT
Signed-off-by: rht <rhtbot@gmail.com>
2015-08-28 17:39:05 +07:00
Jeromy
94000e6490 replace nodebuilder with a nicer interface
License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>

use NewNode instead of NewIPFSNode in most of the codebase

License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>

make mocknet work with node constructor better

License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>

finish cleanup of old construction method

License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>

blockservice.New doesnt return an error anymore

License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>

break up node construction into separate function

License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>

add error case to default filling on node constructor

License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2015-08-27 08:43:10 -07:00
rht
30e03b2da6 Replace context.TODO in test files with context.Background
License: MIT
Signed-off-by: rht <rhtbot@gmail.com>
2015-08-23 19:55:45 +07:00
Pavol Rusnak
d3efdcf0c3 remove elliptic.P224 usage
Fedora/RedHat distros comply with US patent law and remove this curve,
which makes it impossible to run ipfs with distro provided Golang.

License: MIT
Signed-off-by: Pavol Rusnak <stick@gk2.sk>
2015-08-03 16:41:10 +02:00
Jeromy
47cd70fa7d fix same test in swarm
License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2015-07-22 16:15:50 -07:00
Jeromy
b60f494c1e fix race condition in notifications test
License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2015-07-22 14:38:13 -07:00
Juan Benet
13d49d9abb Merge pull request #1471 from heems/master
add transport from netsim and bandwidth to mocknet
2015-07-19 23:36:25 -07:00
Jeromy
a4efe42567 make timing tests actually not run under CI
License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2015-07-19 16:11:06 -07:00
Karthik Bala
0e597b3ae6 add transport logic to mocknet
License: MIT
Signed-off-by: Karthik Bala <karthikbala444@gmail.com>
2015-07-15 19:36:15 -07:00
Juan Batiz-Benet
cdb18d2833 Merge pull request #1473 from ipfs/godep-peerstream
update go-peerstream to newest version
2015-07-14 21:29:38 -07:00
Jeromy
a9c971fdbb update go-peerstream to newest version
License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2015-07-14 16:23:30 -07:00
Jeromy
191ac62c12 making the daemon shutdown quicker
License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2015-07-14 14:04:56 -07:00
Jeromy
a19ad97ea5 make ping its own protocol
License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2015-07-13 19:19:25 -07:00
Juan Batiz-Benet
6e9c72ab37 expose internal/pb packages.
we shouldn't use internal packages.

License: MIT
Signed-off-by: Juan Batiz-Benet <juan@benet.ai>
2015-07-10 11:08:49 -07:00
rht
3daf749daa Make sure process context is set last
License: MIT
Signed-off-by: rht <rhtbot@gmail.com>
2015-07-05 09:35:36 +07:00
rht
0ceac5ded9 Use WithContextAndTeardown whenever possible
License: MIT
Signed-off-by: rht <rhtbot@gmail.com>
2015-07-05 09:19:06 +07:00
rht
007a12e7ef Change Process interface into object variable
License: MIT
Signed-off-by: rht <rhtbot@gmail.com>
2015-07-04 22:50:23 +07:00
rht
330b213777 Replace ctxgroup.ContextGroup -> goprocess.Process
License: MIT
Signed-off-by: rht <rhtbot@gmail.com>
2015-07-04 22:50:23 +07:00
Juan Batiz-Benet
0d42a6a7bc Merge pull request #1433 from ipfs/fix/addr-filter
add filters from config to addr filter in swarm
2015-07-02 17:00:36 -07:00
Lars Gierth
9c30b85180 swarm: fix peers_total metric
License: MIT
Signed-off-by: Lars Gierth <larsg@systemli.org>
2015-07-01 21:59:08 +02:00
Jeromy
7cc73f7b86 add command to manipulate address filters and a sharness test for them
License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2015-06-30 18:25:34 -07:00
Jeromy
e7fd57f69a add filters from config to addr filter in swarm
License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2015-06-30 15:03:56 -07:00
Lars Gierth
8b164f9e39 swarm: export ipfs_p2p_peers_total metric
License: MIT
Signed-off-by: Lars Gierth <larsg@systemli.org>
2015-06-30 16:32:46 +02:00
Juan Batiz-Benet
59d6a9a19c fix swarm notif tests
they were failing intermittently

License: MIT
Signed-off-by: Juan Batiz-Benet <juan@benet.ai>
2015-06-27 00:41:19 -07:00
Juan Batiz-Benet
f796615e10 mock: fix notif test
License: MIT
Signed-off-by: Juan Batiz-Benet <juan@benet.ai>
2015-06-27 00:18:12 -07:00
Juan Batiz-Benet
e37fefdfd3 daemon option to optionally disable secio
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: Juan Batiz-Benet <juan@benet.ai>
2015-06-26 23:36:43 -07:00
Jeromy
0bf6b39caf filter incoming connections and add a test of functionality
- add extra check to dialblock test
- move filter to separate package
- also improved tests
- sunk filters down into p2p/net/conn/listener

License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
Signed-off-by: Juan Batiz-Benet <juan@benet.ai>
2015-06-23 01:30:16 -07:00
Jeromy
fbab2a7273 broke filters out into a struct
License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2015-06-23 01:29:29 -07:00
Jeromy
e01f8e4f22 add in basic address dial filtering
License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2015-06-23 01:29:29 -07:00
rht
78b6cc5f2d Replace Critical{,f} with Error{,f}
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: rht <rhtbot@gmail.com>
2015-06-18 10:03:57 +07:00