diff --git a/README.md b/README.md index 7df3589b..61089a71 100644 --- a/README.md +++ b/README.md @@ -34,19 +34,19 @@ ______________________________________________________________________ | -------------------------------------- | :--------: | :---------------------------------------------------------------------------------: | | **`libp2p-tcp`** | ✅ | [source](https://github.com/libp2p/py-libp2p/blob/main/libp2p/transport/tcp/tcp.py) | | **`libp2p-quic`** | 🌱 | | -| **`libp2p-websocket`** | ❌ | | -| **`libp2p-webrtc-browser-to-server`** | ❌ | | -| **`libp2p-webrtc-private-to-private`** | ❌ | | +| **`libp2p-websocket`** | 🌱 | | +| **`libp2p-webrtc-browser-to-server`** | 🌱 | | +| **`libp2p-webrtc-private-to-private`** | 🌱 | | ______________________________________________________________________ ### NAT Traversal -| **NAT Traversal** | **Status** | -| ----------------------------- | :--------: | -| **`libp2p-circuit-relay-v2`** | ❌ | -| **`libp2p-autonat`** | ❌ | -| **`libp2p-hole-punching`** | ❌ | +| **NAT Traversal** | **Status** | **Source** | +| ----------------------------- | :--------: | :-----------------------------------------------------------------------------: | +| **`libp2p-circuit-relay-v2`** | ✅ | [source](https://github.com/libp2p/py-libp2p/tree/main/libp2p/relay/circuit_v2) | +| **`libp2p-autonat`** | ✅ | [source](https://github.com/libp2p/py-libp2p/tree/main/libp2p/host/autonat) | +| **`libp2p-hole-punching`** | ✅ | [source](https://github.com/libp2p/py-libp2p/tree/main/libp2p/relay/circuit_v2) | ______________________________________________________________________ @@ -54,27 +54,27 @@ ______________________________________________________________________ | **Secure Communication** | **Status** | **Source** | | ------------------------ | :--------: | :---------------------------------------------------------------------------: | -| **`libp2p-noise`** | 🌱 | [source](https://github.com/libp2p/py-libp2p/tree/main/libp2p/security/noise) | -| **`libp2p-tls`** | ❌ | | +| **`libp2p-noise`** | ✅ | [source](https://github.com/libp2p/py-libp2p/tree/main/libp2p/security/noise) | +| **`libp2p-tls`** | 🌱 | | ______________________________________________________________________ ### Discovery -| **Discovery** | **Status** | -| -------------------- | :--------: | -| **`bootstrap`** | ❌ | -| **`random-walk`** | ❌ | -| **`mdns-discovery`** | ❌ | -| **`rendezvous`** | ❌ | +| **Discovery** | **Status** | **Source** | +| -------------------- | :--------: | :--------------------------------------------------------------------------------: | +| **`bootstrap`** | ✅ | [source](https://github.com/libp2p/py-libp2p/tree/main/libp2p/discovery/bootstrap) | +| **`random-walk`** | 🌱 | | +| **`mdns-discovery`** | ✅ | [source](https://github.com/libp2p/py-libp2p/tree/main/libp2p/discovery/mdns) | +| **`rendezvous`** | 🌱 | | ______________________________________________________________________ ### Peer Routing -| **Peer Routing** | **Status** | -| -------------------- | :--------: | -| **`libp2p-kad-dht`** | ❌ | +| **Peer Routing** | **Status** | **Source** | +| -------------------- | :--------: | :--------------------------------------------------------------------: | +| **`libp2p-kad-dht`** | ✅ | [source](https://github.com/libp2p/py-libp2p/tree/main/libp2p/kad_dht) | ______________________________________________________________________ @@ -89,10 +89,10 @@ ______________________________________________________________________ ### Stream Muxers -| **Stream Muxers** | **Status** | **Status** | -| ------------------ | :--------: | :----------------------------------------------------------------------------------------: | -| **`libp2p-yamux`** | 🌱 | | -| **`libp2p-mplex`** | 🛠️ | [source](https://github.com/libp2p/py-libp2p/blob/main/libp2p/stream_muxer/mplex/mplex.py) | +| **Stream Muxers** | **Status** | **Source** | +| ------------------ | :--------: | :-------------------------------------------------------------------------------: | +| **`libp2p-yamux`** | ✅ | [source](https://github.com/libp2p/py-libp2p/tree/main/libp2p/stream_muxer/yamux) | +| **`libp2p-mplex`** | ✅ | [source](https://github.com/libp2p/py-libp2p/tree/main/libp2p/stream_muxer/mplex) | ______________________________________________________________________ @@ -100,7 +100,7 @@ ______________________________________________________________________ | **Storage** | **Status** | | ------------------- | :--------: | -| **`libp2p-record`** | ❌ | +| **`libp2p-record`** | 🌱 | ______________________________________________________________________ diff --git a/libp2p/security/noise/io.py b/libp2p/security/noise/io.py index 877aa5ab..a24b6c74 100644 --- a/libp2p/security/noise/io.py +++ b/libp2p/security/noise/io.py @@ -41,7 +41,8 @@ class BaseNoiseMsgReadWriter(EncryptedMsgReadWriter): read_writer: NoisePacketReadWriter noise_state: NoiseState - # FIXME: This prefix is added in msg#3 in Go. Check whether it's a desired behavior. + # NOTE: This prefix is added in msg#3 in Go. + # Support in py-libp2p is available but not used prefix: bytes = b"\x00" * 32 def __init__(self, conn: IRawConnection, noise_state: NoiseState) -> None: diff --git a/libp2p/security/noise/transport.py b/libp2p/security/noise/transport.py index 8fdd6b6e..b26e0644 100644 --- a/libp2p/security/noise/transport.py +++ b/libp2p/security/noise/transport.py @@ -29,11 +29,6 @@ class Transport(ISecureTransport): early_data: bytes | None with_noise_pipes: bool - # NOTE: Implementations that support Noise Pipes must decide whether to use - # an XX or IK handshake based on whether they possess a cached static - # Noise key for the remote peer. - # TODO: A storage of seen noise static keys for pattern IK? - def __init__( self, libp2p_keypair: KeyPair, diff --git a/newsfragments/592.internal.rst b/newsfragments/592.internal.rst new file mode 100644 index 00000000..6450be85 --- /dev/null +++ b/newsfragments/592.internal.rst @@ -0,0 +1 @@ +remove FIXME comment since it's obsolete and 32-byte prefix support is there but not enabled by default diff --git a/newsfragments/816.internal.rst b/newsfragments/816.internal.rst new file mode 100644 index 00000000..ade49df8 --- /dev/null +++ b/newsfragments/816.internal.rst @@ -0,0 +1 @@ +The TODO IK patterns in Noise has been deprecated in specs: https://github.com/libp2p/specs/tree/master/noise#handshake-pattern