Commit Graph

429 Commits

Author SHA1 Message Date
cbdbaa836e feat(quic): promote to stable release
- Cut a stable release of `libp2p-quic`.
- Export `libp2p-quic` as `libp2p::quic`.
- Update examples to use `libp2p-quic` through `libp2p`.

Pull-Request: #4325.
2023-08-17 07:54:29 +00:00
2c4c961d69 deps: bump log from 0.4.19 to 0.4.20
Pull-Request: #4322.
2023-08-14 10:16:13 +00:00
a4b8ff4673 deps: bump tokio from 1.29.1 to 1.31.0
Pull-Request: #4318.
2023-08-14 09:00:31 +00:00
79aca371d1 fix(quic): add support for reusing an existing socket for local dialing
Tracked in #4259. Now if a listener supports loopback interfaces, when a remote address is also a loopback address, we reuse an existing listener.

Pull-Request: #4304.
2023-08-11 12:14:37 +00:00
5a8eb793fe chore: prepare libp2p v0.52.2
Pull-Request: #4312.
2023-08-11 10:10:42 +00:00
02dc432227 fix(quic): allow listening on ipv4 and ipv6 separately
Resolves #4165.

Pull-Request: #4289.
2023-08-08 16:48:08 +00:00
6478fafc70 deps: bump x509-parser from 0.15.0 to 0.15.1
Pull-Request: #4297.
2023-08-07 10:47:47 +00:00
3af3d5d23a chore(quic): prepare v0.9.0-alpha
Pull-Request: #4262.
2023-07-31 11:11:57 +00:00
856d85f9b6 deps: bump webpki-roots from 0.24.0 to 0.25.1
Pull-Request: #4272.
2023-07-31 10:41:14 +00:00
ceccb8e9c0 chore: fix clippy
Pull-Request: #4267.
2023-07-31 05:53:53 +00:00
4e1fa9b8b8 refactor(quic): rewrite quic using quinn
Rewrite quic using quinn instead of quinn-proto. libp2p-quic::endpoint::Driver is eliminated (and that hard quinn-proto machinery). Also:
- ECN bits are handled
- Support Generic Send Offload (GSO)

Pull-Request: #3454.
2023-07-28 10:22:03 +00:00
3f0fef2823 deps: bump asynchronous-codec from 0.6.1 to 0.6.2
Pull-Request: #4244.
2023-07-24 16:51:08 +00:00
cfa879396c deps: bump tempfile from 3.6.0 to 3.7.0
Pull-Request: #4247.
2023-07-24 16:35:29 +00:00
12c98dca35 deps: bump either from 1.8.1 to 1.9.0
Pull-Request: #4243.
2023-07-24 16:02:14 +00:00
521eea2d01 deps: bump thiserror from 1.0.43 to 1.0.44
Pull-Request: #4242.
2023-07-24 15:46:36 +00:00
d3b4714730 chore: apply suggestions from clippy beta (1.72)
Pull-Request: #4211.
2023-07-18 08:45:26 +00:00
efdba39f83 deps: bump thiserror from 1.0.40 to 1.0.43
Pull-Request: #4174.
2023-07-17 08:45:14 +00:00
30024f38d4 fix: clippy useless_conversion and useless_vec
Pull-Request: #4190.
2023-07-16 03:31:37 +00:00
4ddaa550c7 deps: bump webpki-roots from 0.23.1 to 0.24.0
Pull-Request: #4177.
2023-07-11 11:11:24 +00:00
a92a801cce deps: bump smallvec from 1.10.0 to 1.11.0
Pull-Request: #4171.
2023-07-11 08:58:09 +00:00
185cb4a2e3 deps: bump tokio from 1.28.2 to 1.29.1
Pull-Request: #4148.
2023-07-10 09:31:15 +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
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
8b91c89775 deps: bump libc from 0.2.146 to 0.2.147
Pull-Request: #4113.
2023-06-26 11:29:05 +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
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
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
84ccf26695 deps: bump wasm-bindgen from 0.2.86 to 0.2.87
Pull-Request: #4086.
2023-06-20 13:54:05 +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
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
fd803e2697 chore(quic,webrtc): prepare v0.8.0-alpha & v0.5.0-alpha
Pull-Request: #4089.


  
Co-Authored-By: Max Inden <mail@max-inden.de>
2023-06-20 07:27:10 +00:00
8776fa8766 chore: prepare libp2p v0.52.0 release
Pull-Request: #4053.


  
Co-Authored-By: Max Inden <mail@max-inden.de>
  

  
Co-Authored-By: Thomas Eizinger <thomas@eizinger.io>
2023-06-19 11:49:39 +00:00
755e3417f7 feat(noise): add WebTransport certhashes extension
The extension for WebTransport certhashes was added and can be configured via `Config::with_webtransport_certhashes`.

In case of initiator, these certhashes will be used to validate the ones reported by responder. In case of responder, these certhashes will be reported to initiator.

Resolves #3988.

Pull-Request: #3991.
2023-06-13 12:03:35 +00:00
cf3e4c6860 feat(quic): implement hole punching
Implement `Transport::dial_as_listener` for QUIC as specified by the [DCUtR spec](https://github.com/libp2p/specs/blob/master/relay/DCUtR.md).

To facilitate hole punching in QUIC, one side needs to send random UDP packets to establish a mapping in the routing table of the NAT device. If successful, our listener will emit a new inbound connection. This connection needs to then be sent to the dialing task. We achieve this by storing a `HashMap` of hole punch attempts indexed by the remote's `SocketAddr`. A matching incoming connection is then sent via a oneshot channel to the dialing task which continues with upgrading the connection.

Related #2883.

Pull-Request: #3964.
2023-06-13 11:42:18 +00:00
d263ee67a9 deps: bump log from 0.4.18 to 0.4.19
Pull-Request: #4058.
2023-06-13 10:29:36 +00:00
f93719cfd3 refactor(wasm-ext): replace parity-send-wrapper with send-wrapper
Co-authored-by: Yiannis Marangos <yiannis@eiger.co>

Related: #4065.

Pull-Request: #4066.
2023-06-12 16:14:42 +00:00
ed14630672 feat: leverage type-safe /p2p in multiaddr
This updates `multiaddr` to version `0.19`.

Depends-On: #3656.
Depends-On: https://github.com/multiformats/rust-multiaddr/pull/83.
Resolves: #4039.

Pull-Request: #4037.
2023-06-08 01:38:18 +00:00
61128713eb feat(core): remove deprecated identity module
Related: #3647.

Pull-Request: #4040.
2023-06-06 19:22:50 +00:00
f2253abdd3 deps: bump libc from 0.2.144 to 0.2.145
Pull-Request: #4028.
2023-06-05 21:03:08 +00:00
49eed8c4fd deps: bump once_cell from 1.17.1 to 1.18.0
Pull-Request: #4026.
2023-06-05 10:41:11 +00:00
1dbdb6a008 deps: bump futures_ringbuf from 0.3.1 to 0.4.0
Pull-Request: #4023.
2023-06-05 09:53:02 +00:00
ddc2b879e2 fix: apply suggestions from 1.71 clippy beta
Pull-Request: #4009.
2023-05-30 13:30:04 +00:00
34d87a8208 deps: bump log from 0.4.17 to 0.4.18
Pull-Request: #4000.
2023-05-29 10:17:23 +00:00
95eca886f2 deps: bump tokio from 1.28.1 to 1.28.2
Pull-Request: #4001.
2023-05-29 09:59:17 +00:00
fc386a51a7 fix: remove obsolete event_process = false
The `libp2p-swarm-derive` `event_process` option was removed in https://github.com/libp2p/rust-libp2p/pull/2840.

Pull-Request: #3984.
2023-05-25 05:44:54 +00:00
ccb6e9586d feat(transports): remove deprecated items in tcp
Related: https://github.com/libp2p/rust-libp2p/issues/3647.

Pull-Request: #3978.
2023-05-23 16:50:24 +00:00
61725ca772 deps: bump wasm-bindgen-futures from 0.4.35 to 0.4.36
Pull-Request: #3968.
2023-05-22 19:28:36 +00:00