diff --git a/i2p2www/pages/site/get-involved/roadmap.html b/i2p2www/pages/site/get-involved/roadmap.html index a3a47584d4300f406e3d7627fea42b0fcff9a9e1..4805baa808cd5ee99ed9fcddee6ef1938fcb2d35 100644 --- a/i2p2www/pages/site/get-involved/roadmap.html +++ b/i2p2www/pages/site/get-involved/roadmap.html @@ -152,19 +152,43 @@ <h2 id="1.8.0">1.8.0 (API 0.9.54)</h2> -<p><b>Target release: May 2022</b></p> +<p><b>Released: May 23, 2022</b></p> <ul> <li> - Refactoring to support SSU2 (proposal 159) + Router family fixes and improvements + </li> + <li> + Soft restart fixes + </li> + <li> + SSU fixes and performance improvements + </li> + <li> + I2PSnark standalond fixes and improvements + </li> + <li> + Avoid Sybil penalty for trusted families + </li> + <li> + Reduce tunnel build reply timeout + </li> + <li> + UPnP fixes </li> <li> - Continue implementation of SSU2 (proposal 159) + Remove BOB source </li> <li> - i2psnark UDP tracker support (proposal 160) + Certificate import fixes </li> <li> - Improved outproxy support? + Tomcat 9.0.62 + </li> + <li> + Refactoring to support SSU2 (proposal 159) + </li> + <li> + Initial implementation of SSU2 base protocol (proposal 159) </li> <li> SAM authorization popup for Android apps @@ -174,9 +198,30 @@ </li> </ul> + + + <h2 id="1.9.0">1.9.0 (API 0.9.55)</h2> <p><b>Target release: August 2022</b></p> <ul> + <li> + SSU2 peer test and relay implementation + </li> + <li> + SSU2 fixes + </li> + <li> + SSU MTU/PMTU improvements + </li> + <li> + Add deadlock detector + </li> + <li> + More certificate import fixes + </li> + <li> + Fix i2psnark DHT restart after router restart + </li> <li> Yggdrasil support in Go reseed server equivalent to Python version </li> @@ -190,5 +235,28 @@ Automatic reseed servers from .onion URLs </li> </ul> + + + + + +<h2 id="1.10.0">1.10.0 (API 0.9.56)</h2> +<p><b>Target release: November 2022</b></p> +<ul> + <li> + Enable SSU2 by default + </li> + <li> + i2psnark UDP tracker support (proposal 160) ? + </li> +</ul> + + + + + + + + <h4><a href="roadmap-archive">{% trans %}Looking for older releases? Check the roadmap archive by following this link.{% endtrans %}</a></h4> {% endblock %} diff --git a/i2p2www/spec/proposals/159-ssu2.rst b/i2p2www/spec/proposals/159-ssu2.rst index 922ff0d53d3da880bcc0fa73f1df00b56c409a0e..91fac5355054b44c4c692617394421b6590857c6 100644 --- a/i2p2www/spec/proposals/159-ssu2.rst +++ b/i2p2www/spec/proposals/159-ssu2.rst @@ -5,7 +5,7 @@ SSU2 :author: eyedeekay, orignal, zlatinb, zzz :created: 2021-09-12 :thread: http://zzz.i2p/topics/2612 - :lastupdated: 2022-06-22 + :lastupdated: 2022-06-30 :status: Open :target: 0.9.56 @@ -5008,6 +5008,8 @@ is two copies of the 4-byte big-endian relay nonce, i.e. ((nonce << 32) | nonce) The Source Connection ID is the inverse of the Destination Connection ID, i.e. ~((nonce << 32) | nonce). +Alice should ignore the token in the header. The token to be used in +the Session Request is in the Relay Response block. @@ -5675,6 +5677,9 @@ See Relay Process section below. Notes: +The token must be used immediately by Alice in the Session Request. + + Signature: @@ -6532,6 +6537,11 @@ there is no requirement to store multiple inbound or outbound tokens for the sam A token is bound to the combination of source IP/port and destination IP/port. A token received on IPv4 may not be used for IPv6 or vice versa. +Implementations may, but are not required to, save tokens on disk and +reload them on restart. If persisted, the implementation must +ensure that the IP and port have not changed since shutdown +before reloading them. + I2NP Message Fragmentation @@ -7123,6 +7133,16 @@ When Bob receives a request from Alice via IPv6, Bob must select a Charlie that The actual Bob-Charlie communication may be via IPv4 or IPv6 (i.e., independent of Alice's address type). +Processing by Bob +----------------------------- +Unlike in SSU 1, Alice specifies the requested test IP and port in message 1. +Bob should validate this IP and port, and reject with code 5 if invalid. +Recommended IP validation is that, for IPv4, it matches Alice's IP, +and for IPv6, at least the first 8 bytes of the IP match. +Port validation should reject privileged ports and ports for well-known protocols. + + + Relay Process ========================