From 06e00c4dbfd44562436230d24f0f9f824378b85c Mon Sep 17 00:00:00 2001
From: zzz <zzz@mail.i2p>
Date: Sun, 2 Sep 2012 13:44:55 +0000
Subject: [PATCH] I2CP updates for 0.9.2

---
 www.i2p2/pages/i2cp.html      |  4 +--
 www.i2p2/pages/i2cp_spec.html | 57 +++++++++++++++++++++++++++++++++--
 2 files changed, 57 insertions(+), 4 deletions(-)

diff --git a/www.i2p2/pages/i2cp.html b/www.i2p2/pages/i2cp.html
index c12d5133b..f3881309d 100644
--- a/www.i2p2/pages/i2cp.html
+++ b/www.i2p2/pages/i2cp.html
@@ -1,7 +1,7 @@
 {% extends "_layout.html" %}
 {% block title %}I2CP{% endblock %}
 {% block content %}
-Updated June 2012, current as of router version 0.9
+Updated September 2012, current as of router version 0.9.2
 
 <p>The I2P Client Protocol (I2CP) exposes a strong separation of concerns between
 the router and any client that wishes to communicate over the network.  It enables
@@ -130,7 +130,7 @@ a <a href="i2cp_spec.html#type_SessionConfig">SessionConfig</a> contained in a <
       the client is configured with a large number of inbound tunnels (Leases).
       If replies are still required, this may shift the bandwidth burden to
       the far-end client and the floodfill.
-      There are several cases where "false" is may be appropriate:
+      There are several cases where "false" may be appropriate:
      <ul><li>
       Unidirectional communication, no reply required
       <li>
diff --git a/www.i2p2/pages/i2cp_spec.html b/www.i2p2/pages/i2cp_spec.html
index ac8bca857..312bafd7c 100644
--- a/www.i2p2/pages/i2cp_spec.html
+++ b/www.i2p2/pages/i2cp_spec.html
@@ -1,7 +1,7 @@
 {% extends "_layout.html" %}
 {% block title %}I2CP Specification{% endblock %}
 {% block content %}
-Updated May 2011, current as of router version 0.8.7
+Updated September 2012, current as of router version 0.9.2
 <h1>I2P Control Protocol (I2CP) Specification</h1>
 <h2>Overview</h2>
 <p>
@@ -856,8 +856,61 @@ As of release 0.7.1.
 </p><p>
 As of release 0.8.4, the upper two bytes of the Date are redefined to contain
 flags. The flags must default to all zeros for backward compatibility.
-The individual flag bits will be defined in a future release.
 The Date will not encroach on the flags field until the year 10889.
+The flags may be used by the application to provide hints to the router
+as to whether a LeaseSet and/or ElGamal/AES Session Tags should be delivered
+with the message. The settings will significantly affect the amount of
+protocol overhead and the reliability of message delivery.
+The individual flag bits are defined as follows, as of release 0.9.2.
+Definitions are subject to change. Use the SendMessageOptions class to construct the flags.
+</p><p>
+Bit order: 15...0
+</p><p>
+Bits 15-9: Unused, must be zero
+</p><p>
+Bit 8: If 1, don't send lease set
+</p><p>
+Bits 7-4: Low tag threshold. If there are less than this many tags available, send more.
+<table border=1>
+<tr><th>Field value<th>Tag threshold
+<tr><td align="center">0000<td align="center">Use session key manager settings
+<tr><td align="center">0001<td align="center">2
+<tr><td align="center">0010<td align="center">3
+<tr><td align="center">0011<td align="center">6
+<tr><td align="center">0100<td align="center">9
+<tr><td align="center">0101<td align="center">14
+<tr><td align="center">0110<td align="center">20
+<tr><td align="center">0111<td align="center">27
+<tr><td align="center">1000<td align="center">35
+<tr><td align="center">1001<td align="center">45
+<tr><td align="center">1010<td align="center">57
+<tr><td align="center">1011<td align="center">72
+<tr><td align="center">1100<td align="center">92
+<tr><td align="center">1101<td align="center">117
+<tr><td align="center">1110<td align="center">147
+<tr><td align="center">1111<td align="center">192
+</table>
+</p><p>
+Bits 3-0: Number of tags to send if required.
+<table border=1>
+<tr><th>Field value<th>Tags to send
+<tr><td align="center">0000<td align="center">Use session key manager settings
+<tr><td align="center">0001<td align="center">2
+<tr><td align="center">0010<td align="center">4
+<tr><td align="center">0011<td align="center">6
+<tr><td align="center">0100<td align="center">8
+<tr><td align="center">0101<td align="center">12
+<tr><td align="center">0110<td align="center">16
+<tr><td align="center">0111<td align="center">24
+<tr><td align="center">1000<td align="center">32
+<tr><td align="center">1001<td align="center">40
+<tr><td align="center">1010<td align="center">51
+<tr><td align="center">1011<td align="center">64
+<tr><td align="center">1100<td align="center">80
+<tr><td align="center">1101<td align="center">100
+<tr><td align="center">1110<td align="center">125
+<tr><td align="center">1111<td align="center">160
+</table>
 </p>
 
 
-- 
GitLab