Commit Graph

13425 Commits

Author SHA1 Message Date
Marcin Rataj
b6ded334ec
docs: add SECURITY.md (#9062)
* docs: add SECURITY.md

This moves existing security policy from README to SECURITY.md
which has a special meaning on Github:
https://docs.github.com/en/code-security/getting-started/adding-a-security-policy-to-your-repository

* style: editoral fix

Co-authored-by: Steve Loeppky <biglep@protocol.ai>
2022-06-28 18:51:37 +02:00
GitHub
862ce6bb8f Update .github/workflows/stale.yml 2022-06-27 10:45:42 +00:00
Marcin Rataj
61f0710100
fix: remove mdns_legacy & Discovery.MDNS.Interval
* fix: remove mdns_legacy

We've been running both implementations for a long, long time.
It is time to remove legacy version and lower the number of LAN packets
IPFS node produces.

See https://github.com/ipfs/go-ipfs/pull/9048#discussion_r906814717
for the Interval removal rational.
2022-06-27 04:17:40 +02:00
Jorropo
6602dd704e
refactor: prealloc slices with known sizes (#8892)
Often those are small slices and that cuts down the number
of (small) allocations from 2~7 to 1. 
This is consistent too, always only gets 1.
2022-06-24 21:19:19 +01:00
Jorropo
a3a6a59dbb chore: update go-multihash
This remove github.com/minio/blake2b-simd and replace it with golang.org/x/crypto/blake2b which slightly faster and reduce the code surface.

See https://github.com/multiformats/go-multihash/pull/157 for more info.
2022-06-22 16:03:28 -04:00
siiky
058803f167 docs: fix typo in cid/base32 2022-06-21 22:42:46 +02:00
Marcin Rataj
88d88158c6 docs: mark Swarm.ResourceMgr as experimental 2022-06-16 14:34:13 -04:00
Adin Schmahmann
c4522199bd chore: update go-unixfs 2022-06-16 12:04:13 -04:00
Jorropo
a433064d72
chore: replace ioutil with io and os (#8969)
Co-authored-by: Håvard Anda Estensen <haavard.ae@gmail.com>
2022-06-14 12:37:02 -04:00
Steven Allen
b38bbfa471 chore: update bitswap 2022-06-13 14:30:29 -04:00
ipfs-mgmt-read-write[bot]
910451a7da
Add .github/workflows/stale.yml 2022-06-13 12:49:30 +00:00
Alvin Reyes
04651e395d
feat: add a public function on peering to get the state
PR #9030
2022-06-11 08:34:10 +01:00
Henrique Dias
33843bfe3a fix: honor url filename when downloading as CAR/BLOCK 2022-06-10 00:07:55 +02:00
Adin Schmahmann
1e1e4797a8 Merge branch 'release' 2022-06-09 16:27:55 -04:00
Ikko Ashimine
b36044be34
chore: GitHub format 2022-06-09 17:36:51 +02:00
Chawye Hsu
20083ab328
fix(cmd/config): make config edit subcommand work on windows
Co-authored-by: Jorropo <jorropo.pgm@gmail.com>
2022-06-09 17:36:11 +02:00
Gus Eggert
c9d51bbe01
Merge pull request #9023 from ipfs/release-v0.13.0
Release v0.13.0
2022-06-09 09:36:31 -04:00
Gus Eggert
3b88b441b0
Release v0.13.0 2022-06-08 15:35:37 -04:00
Gus Eggert
56145237bb
docs: v0.13.0 release notes 2022-06-08 15:35:37 -04:00
Adin Schmahmann
6e1de05cd1
chore: bump Go to 1.18.3 (#9021)
(cherry picked from commit 9db6641efd)
2022-06-08 15:35:21 -04:00
Adin Schmahmann
9db6641efd
chore: bump Go to 1.18.3 (#9021) 2022-06-08 15:33:06 -04:00
Gus Eggert
85e3fa60c5
chore: upgrade to go-libp2p v0.19.4
(cherry picked from commit 2e170a4302)
2022-06-08 14:24:44 -04:00
Gus Eggert
7449a4b918
feat: upgrade to go-libp2p-kad-dht@v0.16.0 (#9005)
* feat: upgrade to go-libp2p-kad-dht@v0.16.0

* rename "cid format --codec" to "cid format --mc"

* refactor(test): from --codec to --mc

Co-authored-by: Marcin Rataj <lidel@lidel.org>
(cherry picked from commit 8d7ed002df)
2022-06-08 14:24:43 -04:00
siiky
a1a729c5cd
docs: fix typo in the swarm/peering help text
(cherry picked from commit 0a01574ff7)
2022-06-08 14:24:43 -04:00
Gus Eggert
0fe75d63ea
feat: disable resource manager by default (#9003)
* feat: disable resource manager by default

We are disabling this by default for v0.13 as we work to improve the
UX around Resource Manager. It is still usable and can be enabled in
the IPFS config with "ipfs config --bool Swarm.ResourceMgr.Enabled true".

We intend to enable Resource Manager by default in a subsequent
release.

* docs(config): Swarm.ResourceMgr disabled by default

Co-authored-by: Marcin Rataj <lidel@lidel.org>
(cherry picked from commit b1c051d250)
2022-06-08 14:24:43 -04:00
Gus Eggert
87fca8f225
fix: adjust rcmgr limits for accelerated DHT client rt refresh (#8982)
* fix: adjust rcmgr limits for accelerated DHT client rt refresh

The Accelerated DHT client periodically refreshes its routing table,
including at startup, and if Resource Manager throttling causes the
client's routing table to be incomplete, then content routing may be
degraded or broken for users.

This adjusts the default limits to a level that empirically doesn't
cause Resource Manager throttling during initial DHT client
bootstrapping. Ideally the Accelerated DHT client would handle this
scenario more gracefully, but this works for now to unblock the 0.13
release.

* Set default outbound conns unconditionally

This also sets the default overall conns as a function of the outbound
and inbound conns, since they are adjusted dynamically, and it makes
the intention of the value clear.

* increase min FD limit

(cherry picked from commit b8617b9966)
2022-06-08 14:24:43 -04:00
Marten Seemann
8dffa84d77
chore: update go-libp2p to v0.19.3 (#8990)
(cherry picked from commit f720172a2a)
2022-06-08 14:24:43 -04:00
Antonio Navarro Perez
bf06e54d44
fix(ci): make go-ipfs-as-a-library work without external peers (#8978)
* Do not connect to external nodes on ipfs as a lib example.

It was causing some build timeouts error because CircleCI
was throttling WAN connections.

It closes #8956

* style: rename node vars

since this is example, this should make things easier to follow

Co-authored-by: Marcin Rataj <lidel@lidel.org>
(cherry picked from commit e8f1ce07b3)
2022-06-08 14:24:43 -04:00
Gus Eggert
cb72776dec
feat: log when resource manager limits are exceeded (#8980)
This periodically logs how many times Resource Manager limits were
exceeded. If they aren't exceeded, then nothing is logged. The log
levels are at ERROR log level so that they are shown by default.

The motivation is so that users know when they have exceeded resource
manager limits. To find what is exceeding the limits, they'll need to
turn on debug logging and inspect the errors being logged. This could
collect the specific limits being reached, but that's more complicated
to implement and could result in much longer log messages.

(cherry picked from commit 5615715c55)
2022-06-08 14:24:43 -04:00
Marcin Rataj
4449909b2d
fix: JS caching via Access-Control-Expose-Headers (#8984)
This fix safelists additional headers allowing JS running on websites to
read them when IPFS resource is downloaded via Fetch API.

These headers provide metadata necessary for making smart caching
decisions when IPFS resources are downloaded via Service Worker or a
similar middleware on the edge.

(cherry picked from commit 650bc246ab)
2022-06-08 14:24:43 -04:00
siiky
1adb6eaff2
docs: fix abstractions typo
(cherry picked from commit a72753bade)
2022-06-08 14:24:43 -04:00
Jorropo
57706f218a
fix: hanging goroutine in get fileArchive handler
Fixes #8957

The context was only checked while reading data.
Not while writing data to the http connection.
So since the data flow through an io.Pipe the closing didn't flowed through and left the writer open hanging.

Co-authored-by: Antonio Navarro Perez <antnavper@gmail.com>
(cherry picked from commit 7892cc91f9)
2022-06-08 14:24:42 -04:00
Marcin Rataj
5a1ca27ec6
chore: mark fuse experimental (#8962)
It works only on some platforms, and does not work reliably.
This corrects our error of not setting expectations right.

(cherry picked from commit 53299e84e0)
2022-06-08 14:24:42 -04:00
Lucas Molas
d8d7c215e8
Merge pull request #8965 from ipfs/schomatis/fix/disable-rcmg-checks
fix(node/libp2p): disable rcmgr checkImplicitDefaults

(cherry picked from commit e23a4611d8)
2022-06-08 14:24:42 -04:00
Marcin Rataj
ec6e6f82b9
fix: go-libp2p 0.19.2 with holepunch fixup (#8966)
https://github.com/libp2p/go-libp2p/releases/tag/v0.19.2
(cherry picked from commit 657d4f4dd9)
2022-06-08 14:24:42 -04:00
galargh
93cad3b86f
ci: disable workflows in forks
(cherry picked from commit 4798777377)
2022-06-08 14:24:42 -04:00
Marcin Rataj
a6dc7afe4c
fix(ci): fix flaky t0081-repo-pinning.sh (#8919)
* fix(ci): fix flaky t0081-repo-pinning.sh

Sometimes docker pull fails, this will retry.

* add upper bound on # retries (3)

Co-authored-by: Gus Eggert <gus@gus.dev>
(cherry picked from commit 6a4ee0a8a5)
2022-06-08 14:24:42 -04:00
T Mo
a7048c4551
pubsub multibase encoding (#8933)
* pubsub multibase encoding

Adds clarification for pubsub multibase encoding over HTTP RPC for issue https://github.com/ipfs/ipfs-docs/issues/1007

* Grammatical change

* Moved period

(cherry picked from commit 9a84a4f06e)
2022-06-08 14:24:42 -04:00
Lucas Molas
38c5dba662
Merge pull request #8947 from RubenKelevra/patch-7
'pin rm' helptext: rewrite description as object is not removed from local storage (immediately)

(cherry picked from commit 831c33925f)
2022-06-08 14:24:42 -04:00
Antonio Navarro Perez
51fc526a54
Merge pull request #8934 from ajnavarro/fix/install-on-mac-m1-monterey
(cherry picked from commit ae15e18894)
2022-06-08 14:24:42 -04:00
Daniel Norman
62c64c1566
Add instructions to resolve repo migration error (#8946)
Fixes #8779

Co-authored-by: Daniel N <2color@users.noreply.github.com>
(cherry picked from commit d476f2d6da)
2022-06-08 14:24:42 -04:00
Adin Schmahmann
f6586afa71
fix: use path instead of filepath for asset embeds to support Windows
(cherry picked from commit 1299bcb3fd)
2022-06-08 14:24:41 -04:00
Gus Eggert
2e170a4302
chore: upgrade to go-libp2p v0.19.4 2022-06-03 16:58:37 -04:00
Gus Eggert
8d7ed002df
feat: upgrade to go-libp2p-kad-dht@v0.16.0 (#9005)
* feat: upgrade to go-libp2p-kad-dht@v0.16.0

* rename "cid format --codec" to "cid format --mc"

* refactor(test): from --codec to --mc

Co-authored-by: Marcin Rataj <lidel@lidel.org>
2022-06-03 16:56:30 -04:00
siiky
0a01574ff7 docs: fix typo in the swarm/peering help text 2022-06-03 08:37:58 -07:00
Gus Eggert
b1c051d250
feat: disable resource manager by default (#9003)
* feat: disable resource manager by default

We are disabling this by default for v0.13 as we work to improve the
UX around Resource Manager. It is still usable and can be enabled in
the IPFS config with "ipfs config --bool Swarm.ResourceMgr.Enabled true".

We intend to enable Resource Manager by default in a subsequent
release.

* docs(config): Swarm.ResourceMgr disabled by default

Co-authored-by: Marcin Rataj <lidel@lidel.org>
2022-06-02 10:31:06 -04:00
Gus Eggert
b8617b9966
fix: adjust rcmgr limits for accelerated DHT client rt refresh (#8982)
* fix: adjust rcmgr limits for accelerated DHT client rt refresh

The Accelerated DHT client periodically refreshes its routing table,
including at startup, and if Resource Manager throttling causes the
client's routing table to be incomplete, then content routing may be
degraded or broken for users.

This adjusts the default limits to a level that empirically doesn't
cause Resource Manager throttling during initial DHT client
bootstrapping. Ideally the Accelerated DHT client would handle this
scenario more gracefully, but this works for now to unblock the 0.13
release.

* Set default outbound conns unconditionally

This also sets the default overall conns as a function of the outbound
and inbound conns, since they are adjusted dynamically, and it makes
the intention of the value clear.

* increase min FD limit
2022-06-02 10:23:42 -04:00
Marten Seemann
f720172a2a
chore: update go-libp2p to v0.19.3 (#8990) 2022-06-01 11:08:22 -04:00
Antonio Navarro Perez
e8f1ce07b3
fix(ci): make go-ipfs-as-a-library work without external peers (#8978)
* Do not connect to external nodes on ipfs as a lib example.

It was causing some build timeouts error because CircleCI
was throttling WAN connections.

It closes #8956

* style: rename node vars

since this is example, this should make things easier to follow

Co-authored-by: Marcin Rataj <lidel@lidel.org>
2022-05-25 02:36:01 +02:00
Gus Eggert
5615715c55
feat: log when resource manager limits are exceeded (#8980)
This periodically logs how many times Resource Manager limits were
exceeded. If they aren't exceeded, then nothing is logged. The log
levels are at ERROR log level so that they are shown by default.

The motivation is so that users know when they have exceeded resource
manager limits. To find what is exceeding the limits, they'll need to
turn on debug logging and inspect the errors being logged. This could
collect the specific limits being reached, but that's more complicated
to implement and could result in much longer log messages.
2022-05-19 15:27:44 -04:00