From 5a80a925265c407f0764ca29d3483283054466dd Mon Sep 17 00:00:00 2001
From: zzz <zzz@mail.i2p>
Date: Wed, 29 Jun 2016 16:22:35 +0000
Subject: [PATCH] SSU: IPv6 Peer Testing updates

---
 i2p2www/pages/site/docs/transport/ssu.html    | 11 +++++++---
 .../spec/proposals/126-ipv6-peer-testing.rst  | 21 ++++++++++++++++---
 i2p2www/spec/ssu.rst                          |  9 ++++++--
 3 files changed, 33 insertions(+), 8 deletions(-)

diff --git a/i2p2www/pages/site/docs/transport/ssu.html b/i2p2www/pages/site/docs/transport/ssu.html
index 4b5688dab..b07b7fc17 100644
--- a/i2p2www/pages/site/docs/transport/ssu.html
+++ b/i2p2www/pages/site/docs/transport/ssu.html
@@ -1,7 +1,7 @@
 {% extends "global/layout.html" %}
 {% block title %}{% trans %}Secure Semireliable UDP{% endtrans %} (SSU){% endblock %}
-{% block lastupdated %}{% trans %}May 2016{% endtrans %}{% endblock %}
-{% block accuratefor %}0.9.26{% endblock %}
+{% block lastupdated %}{% trans %}June 2016{% endtrans %}{% endblock %}
+{% block accuratefor %}0.9.27{% endblock %}
 {% block content %}
 
 <p>{% trans transports=site_url('docs/transport'), ntcp=site_url('docs/transport/ntcp') -%}
@@ -489,8 +489,8 @@ any additional information.  Alice may go on to establish a session
 with either Bob or Charlie, but it is not required.
 {%- endtrans %}</p>
 
+<h3>IPv6 Notes</h3>
 <p>
-IPv6 Notes:
 Through release 0.9.26, only testing of IPv4 addresses is supported.
 Only testing of IPv4 addresses is supported.
 Therefore, all Alice-Bob and Alice-Charlie communication must be via IPv4.
@@ -499,6 +499,11 @@ Alice's address, when specified in the PeerTest message, must be 4 bytes.
 As of release 0.9.27, testing of IPv6 addresses is supported,
 and Alice-Bob and Alice-Charlie communication may be via IPv6.
 See <a href="/spec/proposals/126-ipv6-peer-testing">Proposal 126</a> for details.
+</p><p>
+Alice sends the request to Bob using an existing session over the transport (IPv4 or IPv6) that she wishes to test.
+When Bob receives a request from Alice via IPv4, Bob must select a Charlie that advertises an IPv4 address.
+When Bob receives a request from Alice via IPv6, Bob must select a Charlie that advertises an IPv6 address.
+The actual Bob-Charlie communication may be via IPv4 or IPv6 (i.e., independent of Alice's address type).
 </p>
 
 
diff --git a/i2p2www/spec/proposals/126-ipv6-peer-testing.rst b/i2p2www/spec/proposals/126-ipv6-peer-testing.rst
index b30b9652b..ba173ab2c 100644
--- a/i2p2www/spec/proposals/126-ipv6-peer-testing.rst
+++ b/i2p2www/spec/proposals/126-ipv6-peer-testing.rst
@@ -5,7 +5,7 @@ IPv6 Peer Testing
     :author: zzz
     :created: 2016-05-02
     :thread: http://zzz.i2p/topics/2119
-    :lastupdated: 2016-05-02
+    :lastupdated: 2016-06-29
     :status: Open
 
 .. contents::
@@ -40,10 +40,25 @@ and then you won't get any more (after the RI expires in everybody's netdb).
 Design
 ======
 
-Implement Peer Testing for IPv6.
+Implement Peer Testing for IPv6,
+by removing previous restrictions that peer testing was only allowed for IPv4.
+The peer test message already has a field for IP length.
 
 
 Specification
 =============
 
-TBD, but basically, allow IPv6 addresses and connections in the Peer Testing protocol.
+In the Peer Testing sections of the SSU overview and SSU specification, make the following changes:
+
+IPv6 Notes:
+Through release 0.9.26, only testing of IPv4 addresses is supported.
+Only testing of IPv4 addresses is supported.
+Therefore, all Alice-Bob and Alice-Charlie communication must be via IPv4.
+Bob-Charlie communication, however, may be via IPv4 or IPv6.
+Alice's address, when specified in the PeerTest message, must be 4 bytes.
+As of release 0.9.27, testing of IPv6 addresses is supported, and Alice-Bob and Alice-Charlie communication may be via IPv6.
+
+Alice sends the request to Bob using an existing session over the transport (IPv4 or IPv6) that she wishes to test.
+When Bob receives a request from Alice via IPv4, Bob must select a Charlie that advertises an IPv4 address.
+When Bob receives a request from Alice via IPv6, Bob must select a Charlie that advertises an IPv6 address.
+The actual Bob-Charlie communication may be via IPv4 or IPv6 (i.e., independent of Alice's address type).
diff --git a/i2p2www/spec/ssu.rst b/i2p2www/spec/ssu.rst
index 4123497b5..ee929fd9b 100644
--- a/i2p2www/spec/ssu.rst
+++ b/i2p2www/spec/ssu.rst
@@ -3,8 +3,8 @@ SSU Protocol Specification
 ==========================
 .. meta::
     :category: Transports
-    :lastupdated: May 2016
-    :accuratefor: 0.9.26
+    :lastupdated: June 2016
+    :accuratefor: 0.9.27
 
 .. contents::
 
@@ -1074,6 +1074,11 @@ Notes
   and Alice-Bob and Alice-Charlie communication may be via IPv6.
   See Proposal 126 for details.
 
+  Alice sends the request to Bob using an existing session over the transport (IPv4 or IPv6) that she wishes to test.
+  When Bob receives a request from Alice via IPv4, Bob must select a Charlie that advertises an IPv4 address.
+  When Bob receives a request from Alice via IPv6, Bob must select a Charlie that advertises an IPv6 address.
+  The actual Bob-Charlie communication may be via IPv4 or IPv6 (i.e., independent of Alice's address type).
+
 * A peer must maintain a table of active test states (nonces). On reception of
   a PeerTest message, look up the nonce in the table. If found, it's an
   existing test and you know your role (Alice, Bob, or Charlie). Otherwise, if
-- 
GitLab