forked from I2P_Developers/i2p.www
spec cleanups
This commit is contained in:
@@ -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
|
||||||
|
@@ -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') }}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user