diff --git a/i2p2www/pages/site/about/team.html b/i2p2www/pages/site/about/team.html
index 68974c6e..4d3f9785 100644
--- a/i2p2www/pages/site/about/team.html
+++ b/i2p2www/pages/site/about/team.html
@@ -88,7 +88,7 @@ network.
{% trans website=i2pconv('www.i2p2.i2p') %}Website admin{% endtrans %} |
- [{{ _('vacant') }}] |
+ str4d |
{{ _('manage the public project website content') }} |
@@ -103,7 +103,7 @@ network.
|
- {{ _('Dev') }} |
+ {{ _('Dev') }} |
{{ _('Core Lead') }} |
zzz |
{{ _('lead dev for the SDK and router') }} |
@@ -168,6 +168,11 @@ network.
[{{ _('vacant') }}] |
{{ _('SAM maintainer') }} |
+
+ {{ _('I2PCPP lead') }} |
+ orion |
+ {{ _('C++ Router') }} |
+
{{ _('Console Translations') }} |
walking |
@@ -202,7 +207,7 @@ network.
{{ _('Other languages') }} |
- {{ _('Contributors') }} |
+ {{ _('Contributors') }} |
cervantes |
{{ _('fire2pe dev, console enhancements') }} |
@@ -214,6 +219,10 @@ network.
KillYourTV |
{{ _('Debian/Ubuntu Packager and PPA maintainer') }} |
+
+ str4d |
+ {{ _('Routerconsole backend and UI work, website revamp, unit tests work') }} |
+
[{{ _('vacant') }}] |
diff --git a/i2p2www/pages/site/docs/spec/common-structures.html b/i2p2www/pages/site/docs/spec/common-structures.html
index 0d25580f..2c044ca3 100644
--- a/i2p2www/pages/site/docs/spec/common-structures.html
+++ b/i2p2www/pages/site/docs/spec/common-structures.html
@@ -1,7 +1,7 @@
{% extends "global/layout.html" %}
{% block title %}{% trans %}Common structure Specification{% endtrans %}{% endblock %}
-{% block lastupdated %}{% trans %}March 2012{% endtrans %}{% endblock %}
-{% block accuratefor %}0.8.13{% endblock %}
+{% block lastupdated %}{% trans %}June 2013{% endtrans %}{% endblock %}
+{% block accuratefor %}0.9.6{% endblock %}
{% block content %}
{% trans %}Data types Specification{% endtrans %}
{% trans i2np=site_url('docs/protocol/i2np'),
@@ -546,6 +546,19 @@ The signature may be verified using the signing public key of the destination.
The signing_key is currently unused. It was intended for LeaseSet revocation, which is unimplemented.
It is currently generated anew at every router startup, it is not persistent.
{%- endtrans %}
+
{% trans -%}
+The earliest expiration of all the Leases is treated as the timestamp or version of the LeaseSet.
+Routers will generally not accept a store of a LeaseSet unless it is "newer" than the current one.
+Take care when publishing a new LeaseSet where the oldest Lease is the same as the oldest Lease
+in the previous LeaseSet. The publishing router should generally increment the expiration
+of the oldest Lease by at least 1 ms in that case.
+{%- endtrans %}
+{% trans -%}
+Prior to release 0.9.7, when included in a DatabaseStore Message sent by the originating router,
+the router set all the published leases' expirations to the same value, that of the
+earliest lease. As of release 0.9.7, the router publishes the actual lease expiration for each lease.
+This is an implementation detail and not part of the structures specification.
+{%- endtrans %}
diff --git a/i2p2www/pages/site/docs/spec/i2np.html b/i2p2www/pages/site/docs/spec/i2np.html
index 17279637..c5e20008 100644
--- a/i2p2www/pages/site/docs/spec/i2np.html
+++ b/i2p2www/pages/site/docs/spec/i2np.html
@@ -275,6 +275,14 @@ The two padding bytes from the block (the zero bytes at locations 0 and 257) are
{% highlight %}
unencrypted:
+----+----+----+----+----+----+----+----+
+| |
++ +
+| |
++ SHA-256 Hash of following bytes +
+| |
++ +
+| |
++----+----+----+----+----+----+----+----+
| random data... |
~ ~
| |
@@ -285,8 +293,9 @@ unencrypted:
Definition
{% highlight %}
unencrypted:
-bytes 0-526: random data
-byte 527 : reply
+bytes 0-31 : SHA-256 Hash of bytes 32-527
+bytes 32-526 : random data
+byte 527 : reply
encrypted:
bytes 0-527: AES-encrypted record(note: same size as BuildRequestRecord)
@@ -297,7 +306,7 @@ total length: 528
Notes
-
- The first 527 bytes could, in the future, be used to return congestion or peer connectivity information
+ The random data field could, in the future, be used to return congestion or peer connectivity information
back to the requestor.
-
See the tunnel creation specification for details on the reply field.
diff --git a/i2p2www/pages/site/docs/spec/tunnel-creation.html b/i2p2www/pages/site/docs/spec/tunnel-creation.html
index fcfd3444..c0cbbe8f 100644
--- a/i2p2www/pages/site/docs/spec/tunnel-creation.html
+++ b/i2p2www/pages/site/docs/spec/tunnel-creation.html
@@ -166,13 +166,18 @@ uses TUNNEL_REJECT_BANDWIDTH for almost all rejections.
The reply is encrypted with the AES session
-key delivered to it in the encrypted block, padded with 527 bytes of random data
+key delivered to it in the encrypted block, padded with 495 bytes of random data
to reach the full record size.
The padding is placed before the status byte:
- AES-256-CBC(SHA-256(padding+status) + padding + status, key, IV)
+ AES-256-CBC(SHA-256(padding+status) + padding + status, key, IV)
+
+ bytes 0-31 : SHA-256 of bytes 32-527
+ bytes 32-526 : Random padding
+ byte 527 : Reply value
+
This is also described in the
-I2NP spec.
+I2NP spec.
Tunnel Build Message Preparation