Add index to common structures.

Update version for key certs.
Add another link to garlic message delivery instructions.
This commit is contained in:
zzz
2014-02-11 15:53:30 +00:00
parent 71fad77a3a
commit 4ea615da4a

View File

@@ -1,7 +1,7 @@
{% extends "global/layout.html" %}
{% block title %}{% trans %}Common structures Specification{% endtrans %}{% endblock %}
{% block lastupdated %}{% trans %}January 2014{% endtrans %}{% endblock %}
{% block accuratefor %}0.9.10{% endblock %}
{% block lastupdated %}{% trans %}February 2014{% endtrans %}{% endblock %}
{% block accuratefor %}0.9.11{% endblock %}
{% block content %}
<p>{% trans i2np=site_url('docs/protocol/i2np'),
i2cp=site_url('docs/protocol/i2cp'),
@@ -11,6 +11,32 @@ This document describes some data types common to all I2P protocols, like
<a href="{{ ssu }}">SSU</a>, etc.
{%- endtrans %}</p>
<h2>Index</h2>
<table border=1>
<tr><th>{% trans %}Type{% endtrans %}</th></tr>
<tr><td><a href="#type_Boolean">Boolean</a></td></tr>
<tr><td><a href="#type_Certificate">Certificate</a></td></tr>
<tr><td><a href="#type_Date">Date</a></td></tr>
<tr><td><a href="#struct_DeliveryInstructions">Delivery Instructions</a></td></tr>
<tr><td><a href="#struct_Destination">Destination</a></td></tr>
<tr><td><a href="#type_Hash">Hash</a></td></tr>
<tr><td><a href="#type_Integer">Integer</a></td></tr>
<tr><td><a href="#struct_Lease">Lease</a></td></tr>
<tr><td><a href="#struct_LeaseSet">LeaseSet</a></td></tr>
<tr><td><a href="#type_Mapping">Mapping</a></td></tr>
<tr><td><a href="#type_PrivateKey">PrivateKey</a></td></tr>
<tr><td><a href="#type_PublicKey">PublicKey</a></td></tr>
<tr><td><a href="#struct_RouterAddress">RouterAddress</a></td></tr>
<tr><td><a href="#struct_RouterIdentity">RouterIdentity</a></td></tr>
<tr><td><a href="#struct_RouterInfo">RouterInfo</a></td></tr>
<tr><td><a href="#type_SessionTag">SessionTag</a></td></tr>
<tr><td><a href="#type_Signature">Signature</a></td></tr>
<tr><td><a href="#type_SigningPrivateKey">SigningPrivateKey</a></td></tr>
<tr><td><a href="#type_SigningPublicKey">SigningPublicKey</a></td></tr>
<tr><td><a href="#type_String">String</a></td></tr>
<tr><td><a href="#type_TunnelId">TunnelId</a></td></tr>
</table>
<h2 id="type_Integer">Integer</h2>
<h4>{% trans %}Description{% endtrans %}</h4>
<p>{% trans -%}
@@ -110,7 +136,7 @@ Key type and length are inferred from context or are specified in the Key Certif
The default type is DSA-160.
{% endtrans %}
{% trans -%}
As of release 0.9.11, other types may be supported, depending on context.
As of release 0.9.12, other types may be supported, depending on context.
{% endtrans %}</p>
<table border=1>
@@ -139,7 +165,7 @@ Key type and length are specified when created.
The default type is DSA-160.
{% endtrans %}
{% trans -%}
As of release 0.9.11, other types may be supported, depending on context.
As of release 0.9.12, other types may be supported, depending on context.
{% endtrans %}</p>
<table border=1>
@@ -168,7 +194,7 @@ Signature type and length are inferred from the type of key used.
The default type is DSA-160.
{% endtrans %}
{% trans -%}
As of release 0.9.11, other types may be supported, depending on context.
As of release 0.9.12, other types may be supported, depending on context.
{% endtrans %}</p>
<table border=1>
@@ -290,14 +316,14 @@ however non-NULL certs are not widely used, and any checking is left to the appl
Experimental, unused. Payload contains multiple certificates.
</td></tr>
<tr><td>Key</td><td align="center">5</td><td align="center">4+</td><td align="center">7+</td><td>
Since 0.9.11. See below for details.
Since 0.9.12. See below for details.
</td></tr>
</table>
<h4>{% trans %}Key Certificates{% endtrans %}</h4>
<p>
Key certificates are preliminary, and are scheduled to be introduced in release 0.9.11.
Key certificates are preliminary, and are scheduled to be introduced in release 0.9.12.
Prior to that release, all PublicKeys were 256-byte ElGamal keys, and
all SigningPublicKeys were 128-byte DSA-160 keys.
A key certificate provides a mechanism to indicate the type of the PublicKey and SigningPublicKey
@@ -508,7 +534,7 @@ The certificate for a RouterIdentity is currently unused and is always NULL.
Do not assume that RouterIdentities are always 387 bytes!
They are 387 bytes plus the certificate length specified at bytes 385-386, which may be non-zero in a future release.
</li><li>
As of release 0.9.11, if the certificate is a Key Certificate, the boundaries of the
As of release 0.9.12, if the certificate is a Key Certificate, the boundaries of the
key fields may vary. See the Key Certificate section above for details.
</li></ul>
@@ -566,7 +592,7 @@ which is deprecated. The public key in the LeaseSet is used instead.
Do not assume that Destinations are always 387 bytes!
They are 387 bytes plus the certificate length specified at bytes 385-386, which may be non-zero.
</li><li>
As of release 0.9.11, if the certificate is a Key Certificate, the boundaries of the
As of release 0.9.12, if the certificate is a Key Certificate, the boundaries of the
key fields may vary. See the Key Certificate section above for details.
</li></ul>
@@ -923,6 +949,9 @@ for standard options that are expected to be present in all router infos.
<h2 id="struct_DeliveryInstructions">Delivery Instructions</h2>
<p>{% trans tunnelmessage=site_url('docs/spec/tunnel-message') -%}
Defined in the <a href="{{ tunnelmessage }}#delivery">Tunnel Message Specification</a>.
Tunnel Message Delivery Instructions are defined in the <a href="{{ tunnelmessage }}#delivery">Tunnel Message Specification</a>.
{% endtrans %}</p>
<p>{% trans i2npmessage=site_url('docs/spec/tunnel-message') -%}
Garlic Message Delivery Instructions are defined in the <a href="{{ i2npmessage }}#struct_DeliveryInstructions">I2NP Message Specification</a>.
{% endtrans %}</p>
{% endblock %}