Commit Graph

100 Commits

Author SHA1 Message Date
vyzo
543c5da34a explicit construction of DNS resolver 2021-05-10 21:03:27 -07:00
Hector Sanjuan
3db9551f79 Extract the namesys and the keystore submodules
Namesys is a very useful submodule. Given a ValueStore and a Datastore it can
resolve and publish /ipns/ paths.

This functionality does not need to be sequestered inside go-ipfs as it can
and should be used without IPFS, for example, for implementing lightweight
IPNS publishing services or for resolving /ipns/ paths.

"keystore" extraction was necessary, as there is a dependency to it in
namesys. Keystore is also a useful module by itself within the stack.

Fixes #6537
2021-03-12 14:09:36 -05:00
Steven Allen
ccc2d23730 feat: remove secio support
We've had a reliable and enabled by default TLS implementation since
0.4.23 (over a year ago) and turned off SECIO in September of last year.
We might as well remove support entirely in the next release and
encourage users to upgrade their networks.

Noise is faster, anyways.
2021-02-25 13:36:40 -08:00
Adin Schmahmann
0b1276db59 Use datastore based pinner 2020-12-04 15:33:31 -05:00
Adin Schmahmann
2ecde1a18c chore: update dht and kbucket 2020-08-25 21:13:18 -04:00
Adin Schmahmann
40738e4fec
Merge pull request #7598 from ipfs/chore/bump-graphsync-dep
Upgrade graphsync deps
2020-08-18 19:53:52 -04:00
Adin Schmahmann
08913c70ad feat: disable secio by default 2020-08-17 08:16:54 -04:00
Peter Rabbitson
90a573354a Upgrade graphsync deps 2020-08-17 12:23:59 +02:00
Marten Seemann
be171d5e3c update QUIC, enable the RetireBugBackwardsCompatibilityMode 2020-07-20 10:29:43 -04:00
Adin Schmahmann
19d6230cde Merge branch 'release' into master 2020-06-19 20:04:30 -04:00
Steven Allen
3ce725dd96 fix: upgrade warning to error 2020-06-16 15:15:51 -07:00
Steven Allen
e164af1f2a feat: add a transport config section
This way, users can disable transports (especially QUIC), and set muxer/security
transport priorities.
2020-06-16 15:15:47 -07:00
Steven Allen
ac8a88d054 fix(pubsub): flood publish
When publishing a value, flood. This ensures that our messages make it to the
network even if some of our peers are bad and/or overloaded.
2020-05-29 16:42:10 -07:00
Steven Allen
d48b80b30e feat: add noise support
We can add a proper configuration option in a followup patch after the RC.
2020-05-25 23:46:48 -07:00
Steven Allen
978091a626 feat: implement peering service
MVP for #6097

This feature will repeatedly reconnect (with a randomized exponential backoff)
to peers in a set of "peered" peers.

In the future, this should be extended to:

1. Include a CLI for modifying this list at runtime.
2. Include additional options for peers we want to _protect_ but not connect to.
3. Allow configuring timeouts, backoff, etc.
4. Allow groups? Possibly through textile threads.
5. Allow for runtime-only peering rules.
6. Different reconnect policies.

But this MVP should be a significant step forward.
2020-05-25 20:24:41 -07:00
Steven Allen
c17bcbd4e0
Merge pull request #7340 from ipfs/feat/boostrap-when-low
feat: bootstrap in dht when the routing table is empty
2020-05-25 13:01:08 -07:00
Steven Allen
ff17485cbb feat: bootstrap in dht when the routing table is empty
Otherwise, we could end up with only DHT clients and never re-bootstrap.

I've left the default go-ipfs bootstrapping code in for now as it's technically
possible to disable the DHT entirely.
2020-05-24 22:55:30 -07:00
Steven Allen
4714c0cecc feat: enable QUIC by default
But only if private networks are disabled.
2020-05-22 13:48:58 -07:00
Steven Allen
03c1f769d7 fix: remove strict signature verification option
Signature verification is now always strict.
2020-05-22 13:48:26 -07:00
@RubenKelevra
2dc1f691f1 quic: remove experimental status and add it to the default config 2020-05-22 04:54:19 +02:00
Steven Allen
0a8b2f117b chore: update deps
And remove use of mafilter library (now rolled into go-multiaddr).
2020-05-20 17:51:04 -07:00
Steven Allen
69ccf99915 chore: update libp2p 2020-05-20 16:56:22 -07:00
Steven Allen
5d13ac370b fix: fix duplicate block issue in bitswap
1. Increase broadcast timeout.
2. Fix use of sessions when pinning.

This also includes some bitswap changes to reduce some memory allocations and
optimize some hot spots.
2020-04-23 00:31:06 -07:00
Steven Allen
1f23fc000c feat: add autonat config options
1. Enable AutoNATService on _all_ nodes by default. If it's an issue, we can
disable it in RC3 but this will give us the best testing results.
2. Expose options to configure AutoNAT rate limiting.
2020-04-14 20:54:58 -07:00
Steven Allen
28e31e17a8
Merge pull request #7127 from ipfs/feat/dual-dht
feat: introduce the dual WAN/LAN DHT
2020-04-13 19:01:12 -07:00
Steven Allen
b64d17b924 properly expose dual dht 2020-04-13 15:58:12 -07:00
Steven Allen
8679954f9b chore: update flatfs
And remove retry logic. This was flatfs specific and we've moved the logic down
into flatfs itself.

This update:

* Retries in more cases when we run out of file descriptors.
* Ensures we don't leak temporary files on batch put.
2020-04-10 16:42:29 -07:00
Steven Allen
8a002250dc feat: introduce the dual WAN/LAN DHT
And only join the WAN DHT if we're publicly reachable.
2020-04-09 21:41:38 -07:00
Steven Allen
ba631bbab0 fix: start the IPFS dht in server mode by default for now 2020-04-06 18:53:16 -07:00
Steven Allen
56e0e18294 feat: add a dhtserver option 2020-04-06 18:53:16 -07:00
Steven Allen
70fe64581d feat(dht): update to cypress DHT in backwards compatibility mode
This upgrades to the next DHT version, but in backwards compatibility mode.
2020-04-06 18:53:14 -07:00
Steven Allen
06ba6d0fc2 fix: remove internal relay discovery
This logic collects a list of known relays by testing every new connection.

It exists so we can dial /p2p-circuit/p2p/QmFoobar addresses (circuit addresses
that don't specify the relay). However, this kind of address is useless outside
of basic demos as a random relay is practically guaranteed to not be connected
to the target peer. Picking a random relay to connect to some peer is almost
_never_ the desired behavior.
2020-03-31 12:24:55 -07:00
Steven Allen
f28b8fce66 feat: tls by default
Switches to TLS as the default security transports.
2020-03-29 19:12:54 -07:00
Steven Allen
ad543f0724 feat: update go-libp2p & go-bitswap
Uses the new libp2p AutoNAT option.
2020-03-24 14:54:09 -07:00
Marten Seemann
53782d439c update to new private network interfaces 2020-03-09 19:39:06 -07:00
Steven Allen
46d26af0b6 feat(graphsync): mount the graphsync libp2p protocol
This won't fetch files from graphsync but will serve them.

fixes #6830
2020-02-26 09:11:15 -08:00
Steven Allen
a53d48059b fix: migrate from deprecated warning function 2020-01-28 21:20:21 -08:00
Steven Allen
98d2fef6ec fix: use pre-defined relays for autorelay
Unfortunately, we don't currently have any way to pick out good relays from bad.
That means we keep searching, trying bad relays, searching some more, trying
_the same relays_, etc. until we randomly find 3 good stable relays. In
practice, this means we just keep searching forever and keep thrashing the DHT.

see https://github.com/libp2p/go-libp2p/issues/694
2020-01-17 06:28:23 -08:00
Adin Schmahmann
3a0d0e817a support async datastores 2019-12-19 00:59:31 -05:00
Steven Allen
8f3b274080 fix: move away from deprecated peer ID functions 2019-12-14 19:48:31 +01:00
Steven Allen
1b7f3a8d51
Merge pull request #6758 from ipfs/feat/ipns-persistent-pubsub
IPNS over PubSub as an Independent Transport
2019-12-13 14:55:56 +01:00
Roman Proskuryakov
7fdcbce1f1 Change Reporter to BandwidthCounter in IpfsNode 2019-12-12 12:42:25 +03:00
Adin Schmahmann
36494e493a ipns(pubsub): utilize persistent pubsub value store 2019-12-11 11:52:05 -05:00
Michael Muré
c3692a5913 extract the pinner to go-ipfs-pinner and dagutils into go-merkledag 2019-12-02 15:45:44 -05:00
Steven Allen
208a340eb1
Merge pull request #6686 from kishansagathiya/fix/typo
Fix typo
2019-09-30 07:27:45 -07:00
Kishan Mohanbhai Sagathiya
f0253dd108 Fix typo 2019-09-28 15:15:41 +05:30
Steven Allen
853ed0be5d chore: fix deprecation warnings 2019-09-26 15:38:12 -07:00
Steven Allen
416195de00 discovery: improve mdns warnings
* Don't warn when connecting to peers.
* Include the peer id when failing to connect to discovered nodes.
2019-09-23 12:17:56 -07:00
Steven Allen
9f1f958432 fix: close peerstore on stop
fixes #6627
2019-09-05 17:20:14 -07:00
Cole Brown
1bcf51e02d Update go-libp2p, fix tests with weak RSA keys 2019-08-23 14:26:20 -07:00