spec cleanups

This commit is contained in:
zzz
2019-10-06 11:07:56 +00:00
parent 506cd97eb1
commit 5131507c8c
2 changed files with 33 additions and 11 deletions

View File

@@ -3,7 +3,7 @@ I2CP Specification
================== ==================
.. meta:: .. meta::
:category: Protocols :category: Protocols
:lastupdated: September 2019 :lastupdated: October 2019
:accuratefor: 0.9.43 :accuratefor: 0.9.43
.. contents:: .. contents::
@@ -535,8 +535,10 @@ Contents
- Bit order: 76543210 - Bit order: 76543210
- Bit 0: 0 for everybody, 1 for per-client - Bit 0: 0 for everybody, 1 for per-client
- Bits 3-1: Authentication scheme, if bit 0 is set to 1 for per-client, otherwise 000 - Bits 3-1: Authentication scheme, if bit 0 is set to 1 for per-client, otherwise 000
000: DH client authentication (or no per-client authentication)
001: PSK client authentication * 000: DH client authentication (or no per-client authentication)
* 001: PSK client authentication
- Bit 4: 1 if secret required, 0 if no secret required - Bit 4: 1 if secret required, 0 if no secret required
- Bits 7-5: Unused, set to 0 for future compatibility - Bits 7-5: Unused, set to 0 for future compatibility
@@ -559,10 +561,10 @@ Contents
[SigningPublicKey]_ (length as implied by sig type) [SigningPublicKey]_ (length as implied by sig type)
7. [PrivateKey]_ Decryption key 7. [PrivateKey]_ Decryption key
Only present if flag bit 0 is set to 1 Only present if flag bit 0 is set to 1.
A 32-byte ECIES_X25519 private key A 32-byte ECIES_X25519 private key
8. [String]_ Lookup Password 8. [String]_ Lookup Password
Only present if flag bit 4 is set to 1 Only present if flag bit 4 is set to 1.
Notes Notes

View File

@@ -3,8 +3,8 @@ I2NP Specification
================== ==================
.. meta:: .. meta::
:category: Protocols :category: Protocols
:lastupdated: June 2019 :lastupdated: October 2019
:accuratefor: 0.9.41 :accuratefor: 0.9.43
.. contents:: .. contents::
@@ -51,6 +51,8 @@ below.
0.9.38 DSM type bits 3-0 now contain the type; 0.9.38 DSM type bits 3-0 now contain the type;
LeaseSet2 may be sent in a DSM LeaseSet2 may be sent in a DSM
0.9.36 NTCP2 transport support (if advertised in router address)
0.9.28 RSA sig types disallowed 0.9.28 RSA sig types disallowed
0.9.18 DSM type bits 7-1 ignored 0.9.18 DSM type bits 7-1 ignored
@@ -141,6 +143,14 @@ Standard (16 bytes):
|type| short_expiration | |type| short_expiration |
+----+----+----+----+----+ +----+----+----+----+----+
Short (NTCP2, 9 bytes):
+----+----+----+----+----+----+----+----+
|type| msg_id | short_expira-
+----+----+----+----+----+----+----+----+
tion|
+----+
type :: `Integer` type :: `Integer`
length -> 1 byte length -> 1 byte
purpose -> identifies the message type (see table below) purpose -> identifies the message type (see table below)
@@ -177,8 +187,13 @@ Standard (16 bytes):
Notes Notes
````` `````
* When transmitted over [SSU]_, the 16-byte standard header is not used. Only a * When transmitted over [SSU]_, the 16-byte standard header is not used. Only a
1-byte type and a 4-byte expiration in seconds is included. The message id 1-byte type and a 4-byte expiration in seconds are included. The message id
and size are incorporated into various parts of the SSU data packet format. and size are incorporated in the SSU data packet format.
The checksum is not required since errors are caught in decryption.
* When transmitted over [NTCP2]_, the 16-byte standard header is not used. Only a
1-byte type, 4-byte message id, and a 4-byte expiration in seconds are included.
The size is incorporated in the NTCP2 data packet format.
The checksum is not required since errors are caught in decryption. The checksum is not required since errors are caught in decryption.
* The standard header is also required for I2NP messages contained in other * The standard header is also required for I2NP messages contained in other
@@ -986,7 +1001,8 @@ Used to wrap multiple encrypted I2NP Messages
Contents Contents
```````` ````````
When decrypted, a series of `Garlic Cloves`_. When decrypted, a series of `Garlic Cloves`_ and additional
data, also known as a Clove Set.
Encrypted: Encrypted:
@@ -1010,7 +1026,8 @@ Encrypted:
$length bytes $length bytes
ElGamal encrypted data ElGamal encrypted data
{% endhighlight %} {% endhighlight %}
Unencrypted data:
Decrypted data, also known as a Clove Set:
.. raw:: html .. raw:: html
@@ -1332,6 +1349,9 @@ References
.. [Integer] .. [Integer]
{{ ctags_url('Integer') }} {{ ctags_url('Integer') }}
.. [NTCP2]
{{ spec_url('ntcp2') }}
.. [RouterIdentity] .. [RouterIdentity]
{{ ctags_url('RouterIdentity') }} {{ ctags_url('RouterIdentity') }}