Commit Graph

2601 Commits

Author SHA1 Message Date
cbb9c7c0f3 feat(kad): allow to explicitly set Mode::{Client,Server}
The current implementation in Kademlia relies on an external address to determine if it should be in client or server mode. However there are instances where a node, which may know an external address, wishes to remain in client mode and switch to server mode at a later point.

This PR introduces `Kademlia::set_mode`, which accepts an `Option<Mode>` that would allow one to set `Mode::Client` for client mode, `Mode::Server` for server mode, or `None` to determine if we should operate as a client or server based on our external addresses.

Resolves #4074.

Pull-Request: #4132.
2023-07-04 06:07:56 +00:00
54640928f6 deps: bump hyper from 0.14.26 to 0.14.27
Pull-Request: #4140.
2023-07-03 18:22:06 +00:00
00ffa04afc deps: bump lru from 0.10.0 to 0.10.1
Pull-Request: #4141.
2023-07-03 17:59:11 +00:00
19f8456902 deps: bump syn from 2.0.22 to 2.0.23
Pull-Request: #4142.
2023-07-03 17:34:58 +00:00
34965357cd deps: bump rust-embed from 6.7.0 to 6.8.1
Pull-Request: #4143.
2023-07-03 17:11:36 +00:00
62ab42aecb deps: bump clap from 4.3.8 to 4.3.10
Pull-Request: #4144.
2023-07-03 16:46:28 +00:00
bb09902052 deps: bump quote from 1.0.28 to 1.0.29
Pull-Request: #4145.
2023-07-03 16:20:57 +00:00
706bde1887 docs: mention open maintainer calls in README.md
Pull-Request: #4150.
2023-07-03 15:58:59 +00:00
ed4b4644d1 deps: bump pin-project from 1.1.0 to 1.1.2
Pull-Request: #4146.
2023-07-03 15:34:26 +00:00
6e588084f5 deps: bump async-trait from 0.1.68 to 0.1.69
Pull-Request: #4147.
2023-07-03 09:12:42 +00:00
1eedcb5fcc fix(core/transport): update doc commment
`Boxed` is not generic over the error but over `Output` (i.e. `O`) only.

Pull-Request: #4137.
2023-07-03 04:01:34 +00:00
68e6bf9c3c docs(swarm): fix stale docs around confirmed addresses
Discovered in https://github.com/libp2p/rust-libp2p/pull/3954#pullrequestreview-1506377385.

Pull-Request: #4135.
2023-07-01 09:01:23 +00:00
7eeb144a73 docs: add CONTRIBUTING.md
Resolves #3743.

Pull-Request: #4134.
2023-06-30 13:10:31 +00:00
f335697573 fix(kad): allow for different order of events in assertion
Fixes the test failure witnessed in https://github.com/libp2p/rust-libp2p/actions/runs/5392115337/jobs/9790198947?pr=4128#step:6:162.

Pull-Request: #4129.
2023-06-28 12:26:44 +00:00
7de8f0b66a deps: bump Swatinem/rust-cache from 2.4.0 to 2.5.0
Pull-Request: #4081.
2023-06-27 22:08:08 +00:00
e7f8eccdf0 deps: bump tower-http from 0.4.0 to 0.4.1
Pull-Request: #4117.
2023-06-27 21:45:26 +00:00
514e2e9370 fix: remove automated contribution message
Unfortunately, the automated contribution message does not work properly. To evaluate this correctly, we need to first filter out all merge commits. To do this, we need to check the length of the `parents` property. I did not find a way to do this with jinja2 filters. Which would allow us to do something like `rejectattr`.

In the code snippet removed in this PR, I attempted to create a property to filter the merge commits on. This also doesn't work because the underlying object exposed by mergify is not a dictionary but a class and thus does not have the `update` function.

Mergify is shipping an additional property next month: https://github.com/Mergifyio/mergify/discussions/4636#discussioncomment-6295474. Thus, I am replacing this automated mechanism with a manual section that we can add to the PR until mergify ships the additional property that we can utilize to implement this in a clean way.

Related: #4130.
Related: #4104.

Pull-Request: #4131.
2023-06-27 22:22:23 +01:00
7953a79fa3 fix(ci): set merge attribute to false for non-merge commits
The previous version of this commit-message template had a bug where `merge` was unset for non-merge commits and thus the template rendering failed. See https://github.com/libp2p/rust-libp2p/pull/4128/checks?check_run_id=14597190466 for example.

Pull-Request: #4130.
2023-06-27 19:35:31 +01:00
86fb960b69 chore(identity): prepare release for libp2p-identity 0.2.1
Pull-Request: #4128.
2023-06-27 18:45:58 +01:00
41076f6acd fix(ci): improve attribution of co-authors
Fix the `Co-authored-by` inclusion in commit messages so that co-authorship is properly expressed. Additionally, filter merge commits before unique authors. Previously, we would not attribute an author if their first commit in a PR was a merge commit. Finally, we remove superfluous newlines between the `Co-authored-by` lines.

Pull-Request: #4104.

Co-authored-by: Thomas Eizinger <thomas@eizinger.io>
2023-06-27 13:01:22 +01:00
5c362fcab1 fix(identity): bump version
In https://github.com/libp2p/rust-libp2p/pull/4107, we forgot to bump the version of `libp2p-identity`.

Pull-Request: #4125.


  
Co-Authored-By: Thomas Eizinger <thomas@eizinger.io>
2023-06-27 08:13:34 +00:00
93aa21aba9 fix(kad): re-expose Distance as KBucketDistance
Adds back in Distance as a public type. Follows `KBucketKey` naming for clarity.

Resolves #4108.

Pull-Request: #4109.


  
Co-Authored-By: Josh Wilson <joshuef@gmail.com>
  

  
Co-Authored-By: Max Inden <mail@max-inden.de>
2023-06-27 01:58:22 +00:00
d5475fccde fix(test): only listen on 127.0.0.1 for ephemeral swarm
This resolves an issue where our tests were depending on the number of network interfaces available on the local machine.

Related #4110.

Pull-Request: #4122.


  
Co-Authored-By: Thomas Eizinger <thomas@eizinger.io>
2023-06-27 01:21:47 +00:00
e32775d6fb chore(webrtc): prepare v0.6.0-alpha
Pull-Request: #4123.


  
Co-Authored-By: Max Inden <mail@max-inden.de>
2023-06-26 23:58:49 +00:00
78510ede84 feat(identity): expose KeyType for PublicKey and Keypair
Resolves https://github.com/libp2p/rust-libp2p/issues/3649.

Pull-Request: #4107.


  
Co-Authored-By: Nick Pavlov <gurinderu@gmail.com>
  

  
Co-Authored-By: Thomas Eizinger <thomas@eizinger.io>
2023-06-26 17:53:23 +00:00
524bfc2130 deps: bump syn from 2.0.18 to 2.0.22
Pull-Request: #4114.
2023-06-26 12:17:06 +00:00
8eb9ba9302 deps: bump webpki-roots from 0.23.0 to 0.23.1
Pull-Request: #4115.
2023-06-26 11:51:50 +00:00
8b91c89775 deps: bump libc from 0.2.146 to 0.2.147
Pull-Request: #4113.
2023-06-26 11:29:05 +00:00
300d2b2256 deps: bump axum from 0.6.7 to 0.6.18
Pull-Request: #4112.
2023-06-26 11:05:25 +00:00
6241b92fe4 deps: bump clap from 4.3.3 to 4.3.8
Pull-Request: #4118.
2023-06-26 10:43:20 +00:00
26801481fa deps: bump serde_json from 1.0.97 to 1.0.99
Pull-Request: #4119.
2023-06-26 10:19:34 +00:00
73dbde1519 refactor(perf): expose single latency measurement
Instead of exposing the time to establish a connection, the time to upload the bytes and the time to download the bytes, expose a single time including all three.

The rational here is, that differentiation of the three is flawed. E.g. when does one stop the upload timer and start the download timer? When the last byte is sent? When the last byte is flushed? When the first byte is received?

See https://github.com/libp2p/test-plans/pull/184#pullrequestreview-1482600521 for past discussion.

Pull-Request: #4105.


  
Co-Authored-By: Max Inden <mail@max-inden.de>
2023-06-26 03:56:17 +00:00
c1551d71b6 chore: prepare libp2p v0.52.1
Pull-Request: #4106.


  
Co-Authored-By: Max Inden <mail@max-inden.de>
2023-06-26 00:33:59 +00:00
85a846a7dd feat(webtransport): add WebTransport for WASM environments
This PR implements `Transport` for WebTransport for browsers by using web-sys.

Related: #3846.
Resolves: #3825.

Pull-Request: #4015.


  
Co-Authored-By: Yiannis Marangos <yiannis@eiger.co>
  

  
Co-Authored-By: Maciej Zwoliński <mac.zwolinski@gmail.com>
  

  
Co-Authored-By: Yiannis Marangos <psyberbits@gmail.com>
2023-06-23 05:50:49 +00:00
b23a4a7b72 chore: add script for generating list of external contributors
Related: https://github.com/libp2p/blog/pull/84.

Pull-Request: #4095.


  
Co-Authored-By: Thomas Eizinger <thomas@eizinger.io>
2023-06-22 10:34:39 +00:00
b3f48caf7e fix(roadmap): correct table formatting
Pull-Request: #4100.


  
Co-Authored-By: Max Inden <mail@max-inden.de>
2023-06-22 06:53:05 +00:00
59d17c206d deps: bump wasm-bindgen-futures from 0.4.36 to 0.4.37
Pull-Request: #4082.
2023-06-21 13:12:22 +00:00
f8b3998661 deps(webrtc): update webrtc to 0.8.0
Pull-Request: #4099.


  
Co-Authored-By: Anton Kaliaev <anton.kalyaev@gmail.com>
2023-06-21 09:11:32 +00:00
e28f0326c7 deps: bump clap from 4.3.2 to 4.3.3
Pull-Request: #4061.
2023-06-20 15:23:15 +00:00
8f9827043c deps: bump js-sys from 0.3.63 to 0.3.64
Pull-Request: #4083.
2023-06-20 15:00:00 +00:00
be54727326 deps: bump rustls from 0.21.1 to 0.21.2
Pull-Request: #4084.
2023-06-20 14:38:22 +00:00
0d5c1eae16 deps: bump serde_json from 1.0.96 to 1.0.97
Pull-Request: #4085.
2023-06-20 14:16:12 +00:00
84ccf26695 deps: bump wasm-bindgen from 0.2.86 to 0.2.87
Pull-Request: #4086.
2023-06-20 13:54:05 +00:00
face06b05c deps: bump arrayvec from 0.7.2 to 0.7.4
Pull-Request: #4087.
2023-06-20 13:32:36 +00:00
04b7668c55 deps: bump sha2 from 0.10.6 to 0.10.7
Pull-Request: #4088.
2023-06-20 13:10:43 +00:00
37d5174c7b deps: bump actions/upload-pages-artifact from 1.0.8 to 1.0.9
Pull-Request: #4080.
2023-06-20 12:48:48 +00:00
78c150d0df chore: don't use workspace inheritance for dev-dependencies
Using workspace inheritance breaks `cargo release` because it cannot resolve that the dev-dependencies should only use a `path` and not a version.

Pull-Request: #4097.


  
Co-Authored-By: Thomas Eizinger <thomas@eizinger.io>
2023-06-20 12:24:28 +00:00
31da9b25c9 chore(roadmap): move QUIC hole punching to done
Pull-Request: #4096.


  
Co-Authored-By: Max Inden <mail@max-inden.de>
2023-06-20 10:45:58 +00:00
ce9821154a fix(cargo.toml): specify muxer harness by path only
`libp2p-muxer-harness` is never published to crates.io. Specifying it with a version makes `cargo release` check crates.io for the the non-existing crate.

Pull-Request: #4093.


  
Co-Authored-By: Max Inden <mail@max-inden.de>
2023-06-20 10:20:27 +00:00
4195840f92 chore(roadmap): move kad client mode to done
Pull-Request: #4094.


  
Co-Authored-By: Max Inden <mail@max-inden.de>
2023-06-20 09:15:09 +00:00