Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1 +1,4 @@
target

.DS_Store
.vscode/
25 changes: 25 additions & 0 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 3 additions & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,7 @@ members = [
"protocols/perf",
"protocols/ping",
"protocols/relay",
"protocols/auth-rendezvous",
"protocols/rendezvous",
"protocols/request-response",
"protocols/stream",
Expand Down Expand Up @@ -98,12 +99,13 @@ libp2p-plaintext = { version = "0.43.0", path = "transports/plaintext" }
libp2p-pnet = { version = "0.26.0", path = "transports/pnet" }
libp2p-quic = { version = "0.13.0", path = "transports/quic" }
libp2p-relay = { version = "0.21.0", path = "protocols/relay" }
libp2p-auth-rendezvous = { version = "0.1.0", path = "protocols/auth-rendezvous" }
libp2p-rendezvous = { version = "0.17.0", path = "protocols/rendezvous" }
libp2p-request-response = { version = "0.29.0", path = "protocols/request-response" }
libp2p-server = { version = "0.12.7", path = "misc/server" }
libp2p-stream = { version = "0.4.0-alpha", path = "protocols/stream" }
libp2p-swarm = { version = "0.47.0", path = "swarm" }
libp2p-swarm-derive = { version = "=0.35.1", path = "swarm-derive" } # `libp2p-swarm-derive` may not be compatible with different `libp2p-swarm` non-breaking releases. E.g. `libp2p-swarm` might introduce a new enum variant `FromSwarm` (which is `#[non-exhaustive]`) in a non-breaking release. Older versions of `libp2p-swarm-derive` would not forward this enum variant within the `NetworkBehaviour` hierarchy. Thus the version pinning is required.
libp2p-swarm-derive = { version = "=0.35.1", path = "swarm-derive" } # `libp2p-swarm-derive` may not be compatible with different `libp2p-swarm` non-breaking releases. E.g. `libp2p-swarm` might introduce a new enum variant `FromSwarm` (which is `#[non-exhaustive]`) in a non-breaking release. Older versions of `libp2p-swarm-derive` would not forward this enum variant within the `NetworkBehaviour` hierarchy. Thus the version pinning is required.
libp2p-swarm-test = { version = "0.6.0", path = "swarm-test" }
libp2p-tcp = { version = "0.44.0", path = "transports/tcp" }
libp2p-tls = { version = "0.6.2", path = "transports/tls" }
Expand Down
2 changes: 2 additions & 0 deletions libp2p/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,7 @@ plaintext = ["dep:libp2p-plaintext"]
pnet = ["dep:libp2p-pnet"]
quic = ["dep:libp2p-quic"]
relay = ["dep:libp2p-relay", "libp2p-metrics?/relay"]
auth-rendezvous = ["dep:libp2p-auth-rendezvous"]
rendezvous = ["dep:libp2p-rendezvous"]
request-response = ["dep:libp2p-request-response"]
rsa = ["libp2p-identity/rsa"]
Expand Down Expand Up @@ -113,6 +114,7 @@ libp2p-ping = { workspace = true, optional = true }
libp2p-plaintext = { workspace = true, optional = true }
libp2p-pnet = { workspace = true, optional = true }
libp2p-relay = { workspace = true, optional = true }
libp2p-auth-rendezvous = { workspace = true, optional = true }
libp2p-rendezvous = { workspace = true, optional = true }
libp2p-request-response = { workspace = true, optional = true }
libp2p-swarm = { workspace = true }
Expand Down
3 changes: 3 additions & 0 deletions libp2p/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,9 @@ pub use bytes;
pub use futures;
#[doc(inline)]
pub use libp2p_allow_block_list as allow_block_list;
#[cfg(feature = "auth-rendezvous")]
#[doc(inline)]
pub use libp2p_auth_rendezvous as auth_rendezvous;
#[cfg(feature = "autonat")]
#[doc(inline)]
pub use libp2p_autonat as autonat;
Expand Down
147 changes: 147 additions & 0 deletions protocols/auth-rendezvous/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,147 @@
## 0.17.0

- Emit `ToSwarm::NewExternalAddrOfPeer` for newly discovered peers.
See [PR 5138](https://github.com/libp2p/rust-libp2p/pull/5138).
- Log error instead of panicking when sending response to channel fails
See [PR 6002](https://github.com/libp2p/rust-libp2p/pull/6002).

<!-- Update to libp2p-swarm v0.47.0 -->

## 0.16.0

- Update to `libp2p-request-response` `v0.28.0`.

<!-- Update to libp2p-core v0.43.0 -->

## 0.15.0

<!-- Update to libp2p-swarm v0.45.0 -->

## 0.14.1
- Use `web-time` instead of `instant`.
See [PR 5347](https://github.com/libp2p/rust-libp2p/pull/5347).

## 0.14.0


## 0.13.1
- Refresh registration upon a change in external addresses.
See [PR 4629].

[PR 4629]: https://github.com/libp2p/rust-libp2p/pull/4629

## 0.13.0

- Changed the signature of the function `client::Behavior::register()`,
it returns `Result<(), RegisterError>` now.
Remove the `Remote` variant from `RegisterError` and instead put the information from `Remote`
directly into the variant from the `Event` enum.
See [PR 4073].

- Raise MSRV to 1.65.
See [PR 3715].

[PR 4073]: https://github.com/libp2p/rust-libp2p/pull/4073
[PR 3715]: https://github.com/libp2p/rust-libp2p/pull/3715

## 0.12.1

- Migrate from `prost` to `quick-protobuf`. This removes `protoc` dependency. See [PR 3312].

[PR 3312]: https://github.com/libp2p/rust-libp2p/pull/3312

## 0.12.0

- Update to `libp2p-core` `v0.39.0`.

- Update to `libp2p-swarm` `v0.42.0`.

## 0.11.0

- De- and encode protobuf messages using `prost-codec`. See [PR 3058].

- Update to `libp2p-core` `v0.38.0`.

- Update to `libp2p-swarm` `v0.41.0`.

- Replace `Client` and `Server`'s `NetworkBehaviour` implementation `inject_*` methods with the new `on_*` methods.
See [PR 3011].

- Update `rust-version` to reflect the actual MSRV: 1.62.0. See [PR 3090].

[PR 3011]: https://github.com/libp2p/rust-libp2p/pull/3011
[PR 3058]: https://github.com/libp2p/rust-libp2p/pull/3058
[PR 3090]: https://github.com/libp2p/rust-libp2p/pull/3090

## 0.10.0

- Update to `libp2p-core` `v0.37.0`.

- Update to `libp2p-swarm` `v0.40.0`.

## 0.9.0

- Update to `libp2p-swarm` `v0.39.0`.

- Update to `libp2p-core` `v0.36.0`.

## 0.8.0

- Update prost requirement from 0.10 to 0.11 which no longer installs the protoc Protobuf compiler.
Thus you will need protoc installed locally. See [PR 2788].

- Update to `libp2p-swarm` `v0.38.0`.

- Update to `libp2p-core` `v0.35.0`.

[PR 2788]: https://github.com/libp2p/rust-libp2p/pull/2788

## 0.7.0

- Update to `libp2p-core` `v0.34.0`.

- Update to `libp2p-swarm` `v0.37.0`.

## 0.6.0

- Update to `libp2p-core` `v0.33.0`.

- Update to `libp2p-swarm` `v0.36.0`.

- Renamed `Error::ConversionError` to `Error::Conversion` in the `codec` module. See [PR 2620].

[PR 2620]: https://github.com/libp2p/rust-libp2p/pull/2620

## 0.5.0

- Update to `libp2p-swarm` `v0.35.0`.

## 0.4.0 [2022-02-22]

- Update to `libp2p-core` `v0.32.0`.

- Update to `libp2p-swarm` `v0.34.0`.

- Merge NetworkBehaviour's inject_\* paired methods (see PR 2445).

[PR 2445]: https://github.com/libp2p/rust-libp2p/pull/2445

## 0.3.0 [2022-01-27]

- Update dependencies.

- Migrate to Rust edition 2021 (see [PR 2339]).

[PR 2339]: https://github.com/libp2p/rust-libp2p/pull/2339

## 0.2.0 [2021-11-16]

- Use `instant` and `futures-timer` instead of `wasm-timer` (see [PR 2245]).

- Update dependencies.

[PR 2245]: https://github.com/libp2p/rust-libp2p/pull/2245

## 0.1.0 [2021-11-01]

- Initial release.
51 changes: 51 additions & 0 deletions protocols/auth-rendezvous/Cargo.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
[package]
name = "libp2p-auth-rendezvous"
edition.workspace = true
rust-version = { workspace = true }
description = "Rendezvous protocol for libp2p"
version = "0.1.0"
authors = ["The COMIT guys <hello@comit.network>"]
license = "MIT"
repository = "https://github.com/libp2p/rust-libp2p"
keywords = ["peer-to-peer", "libp2p", "networking"]
categories = ["network-programming", "asynchronous"]

[dependencies]
asynchronous-codec = { workspace = true }
async-trait = "0.1"
bimap = "0.6.3"
futures = { workspace = true, features = ["std"] }
futures-timer = "3.0.3"
web-time = { workspace = true }
libp2p-core = { workspace = true }
libp2p-swarm = { workspace = true }
libp2p-identity = { workspace = true }
libp2p-request-response = { workspace = true }
quick-protobuf = "0.8"
quick-protobuf-codec = { workspace = true }
rand = "0.8"
thiserror = { workspace = true }
tracing = { workspace = true }

[dev-dependencies]
libp2p-swarm = { workspace = true, features = ["macros", "tokio"] }
libp2p-swarm-test = { path = "../../swarm-test" }
rand = "0.8"
tokio = { workspace = true, features = [
"rt-multi-thread",
"time",
"macros",
"sync",
"process",
"fs",
"net",
] }
tracing-subscriber = { workspace = true, features = ["env-filter"] }

# Passing arguments to the docsrs builder in order to properly document cfg's.
# More information: https://docs.rs/about/builds#cross-compiling
[package.metadata.docs.rs]
all-features = true

[lints]
workspace = true
Loading
Loading