From a239e7ccd568531a87ebe5e9ac043daee33c0658 Mon Sep 17 00:00:00 2001 From: zzz Date: Mon, 26 Apr 2021 10:31:59 -0400 Subject: [PATCH] Update SSU docs for IPv6 introductions, close prop. 158 --- i2p2www/pages/site/docs/transport/ssu.html | 5 ++-- .../158-ipv6-transport-enhancements.rst | 10 ++++++-- i2p2www/spec/ssu.rst | 24 ++++++++++++------- 3 files changed, 27 insertions(+), 12 deletions(-) diff --git a/i2p2www/pages/site/docs/transport/ssu.html b/i2p2www/pages/site/docs/transport/ssu.html index 3454642e..355ae7ce 100644 --- a/i2p2www/pages/site/docs/transport/ssu.html +++ b/i2p2www/pages/site/docs/transport/ssu.html @@ -1,6 +1,6 @@ {% extends "global/layout.html" %} {% block title %}{% trans %}Secure Semireliable UDP{% endtrans %} (SSU){% endblock %} -{% block lastupdated %}2021-03{% endblock %} +{% block lastupdated %}2021-04{% endblock %} {% block accuratefor %}0.9.50{% endblock %} {% block content %} @@ -413,7 +413,8 @@ After the hole punch, the session is established between Alice and Charlie as in IPv6 is supported as of version 0.9.8. Published relay addresses may be IPv4 or IPv6, and Alice-Bob communication may be via IPv4 or IPv6. -Bob-Charlie and Alice-Charlie communication is via IPv4 only. +Through release 0.9.49, Bob-Charlie and Alice-Charlie communication is via IPv4 only. +Relaying for IPv6 is supported as of release 0.9.50. See the specification for details.

diff --git a/i2p2www/spec/proposals/158-ipv6-transport-enhancements.rst b/i2p2www/spec/proposals/158-ipv6-transport-enhancements.rst index b9c77f8c..c3e03dbc 100644 --- a/i2p2www/spec/proposals/158-ipv6-transport-enhancements.rst +++ b/i2p2www/spec/proposals/158-ipv6-transport-enhancements.rst @@ -5,13 +5,19 @@ IPv6 Transport Enhancements :author: zzz, orignal :created: 2021-03-19 :thread: http://zzz.i2p/topics/3060 - :lastupdated: 2021-03-19 - :status: Open + :lastupdated: 2021-04-26 + :status: Closed :target: 0.9.50 .. contents:: +Note +==== +Network deployment and testing in progress. +Subject to minor revisions. + + Overview ======== diff --git a/i2p2www/spec/ssu.rst b/i2p2www/spec/ssu.rst index 1060d2c1..51c79a01 100644 --- a/i2p2www/spec/ssu.rst +++ b/i2p2www/spec/ssu.rst @@ -4,7 +4,7 @@ SSU Protocol Specification .. meta:: :category: Transports :lastupdated: 2021-04 - :accuratefor: 0.9.48 + :accuratefor: 0.9.50 .. contents:: @@ -667,8 +667,10 @@ Notes always 0 and the port is always 0, and the receiver should use the packet's source address and port. -* This message may be sent via IPv4 or IPv6. If IPv6, Alice must include her - IPv4 address and port. +* This message may be sent via IPv4 or IPv6. + If the message is over IPv6 for an IPv4 introduction, + or (as of release 0.9.50) over IPv4 for an IPv6 introduction, + Alice must include her introduction address and port. * If Alice includes her address/port, Bob may perform additional validation before continuing. @@ -678,7 +680,7 @@ Notes * Challenge is unimplemented, challenge size is always zero -* There are no plans to implement relaying for IPv6. +* Relaying for IPv6 is supported as of release 0.9.50. * Prior to release 0.9.12, Bob's intro key was always used. As of release 0.9.12, the session key is used if there is an established session between @@ -738,10 +740,11 @@ Notes RelayRequest on (not necessarily the IP Alice included in the RelayRequest), and may be IPv4 or IPv6. Alice currently ignores these on receive. -* Charlie's IP address must be IPv4, as that is the address that Alice will +* Charlie's IP address may be IPv4, or, as of release 0.9.50, IPv6. + as that is the address that Alice will send the SessionRequest to after the Hole Punch. -* There are no plans to implement relaying for IPv6. +* Relaying for IPv6 is supported as of release 0.9.50. * Prior to release 0.9.12, Alice's intro key was always used. As of release 0.9.12, the session key is used if there is an established session between @@ -789,12 +792,17 @@ non-mod-16 padding) Notes ````` -* Alice's IP address is always 4 bytes in the current implementation, because - Alice is trying to connect to Charlie via IPv4. +* For IPv4, Alice's IP address is always 4 bytes, because Alice is trying to connect to Charlie via IPv4. + As of release 0.9.xx, IPv6 is supported, and Alice's IP address may be 16 bytes. * This message must be sent via an established IPv4 connection, as that's the only way that Bob knows Charlie's IPv4 address to return to Alice in the RelayResponse_. +* For IPv4, this message must be sent via an established IPv4 connection, + as that's the only way that Bob knows Charlie's IPv4 address to return to Alice in the RelayResponse_. + As of release 0.9.50, IPv6 is supported, and this message may be sent via an established IPv6 connection. + +* As of release 0.9.50, any SSU address published with introducers must contain "4" or "6" in the "caps" option. * Challenge is unimplemented, challenge size is always zero