incorporate I2CP status code table

This commit is contained in:
zzz
2013-11-08 17:30:49 +00:00
parent 2b64645da5
commit e4f551054f

View File

@ -1,7 +1,7 @@
{% extends "_layout.html" %}
{% block title %}I2CP Specification{% endblock %}
{% block content %}
Updated June 2013, current as of router version 0.9.6
Updated November 2013, current as of router version 0.9.9
<h1>I2P Control Protocol (I2CP) Specification</h1>
<h2>Overview</h2>
@ -698,10 +698,68 @@ guaranteed failed. The size Integer specifies the size of the available
message and is only relevant for status = 0.
Even though guaranteed is unimplemented, (best effort is the only service), the current
router implementation uses the guaranteed status codes, not the best effort codes.
As of router version 0.9.5, additional status codes are defined.
As of router version 0.9.5, additional status codes are defined,
however they are not necessarily implemented.
See the
<a href="http://docs.i2p-projekt.de/javadoc/net/i2p/data/i2cp/MessageStatusMessage.html">MessageStatusMessage Javadocs</a>
for details.
All status codes:
<table border=1>
<tr><th>Status Code<th>As Of Release<th>Name<th>Description
<tr><td align="center">0<td align="center">&nbsp;<td>Available<td>For incoming messages only.
The included size is the size in bytes of the available message.
This is unused in "fast receive" mode, which is the default as of release 0.9.4.
All other status codes below are for outgoing messages.
<tr><td align="center">1<td align="center">&nbsp;<td>Accepted<td>Outgoing message accepted by the local router for delivery.
The included nonce matches the nonce in the
Send Message Message, and the included Message ID
will be used for subsequent success or failure notification.
<tr><td align="center">2<td align="center">&nbsp;<td>Best Effort Success<td>Probable success (unused)
<tr><td align="center">3<td align="center">&nbsp;<td>Best Effort Failure<td>Probable failure
<tr><td align="center">4<td align="center">&nbsp;<td>Guaranteed Success<td>Probable success
<tr><td align="center">5<td align="center">&nbsp;<td>Guaranteed Failure<td>Generic failure, specific cause unknown.
May not really be a guaranteed failure.
<tr><td align="center">6<td align="center">0.9.5<td>Local Success<td>Local delivery successful.
The destination was another client on the same router.
<tr><td align="center">7<td align="center">0.9.5<td>Local Failure<td>Local delivery failure.
The destination was another client on the same router.
<tr><td align="center">8<td align="center">0.9.5<td>Router Failure<td>The local router is not ready, has shut down,
or has major problems.
This is a guaranteed failure.
<tr><td align="center">9<td align="center">0.9.5<td>Network Failure<td>The local computer apparently has no network connectivity at all.
This is a guaranteed failure.
<tr><td align="center">10<td align="center">0.9.5<td>Bad Session<td>The I2CP session is invalid or closed.
This is a guaranteed failure.
<tr><td align="center">11<td align="center">0.9.5<td>Bad Message<td>The message payload is invalid or zero-length or too big.
This is a guaranteed failure.
<tr><td align="center">12<td align="center">0.9.5<td>Bad Options<td>Something is invalid in the message options,
or the expiration is in the past or too far in the future.
This is a guaranteed failure.
<tr><td align="center">13<td align="center">0.9.5<td>Overflow Failure<td>Some queue or buffer in the router is full and the message was dropped.
This is a guaranteed failure.
<tr><td align="center">14<td align="center">0.9.5<td>Message Expired<td>The message expired before it could be sent.
This is a guaranteed failure.
<tr><td align="center">15<td align="center">0.9.5<td>Bad Local Leaseset<td>The client has not yet signed a leaseset, or the local keys
are invalid, or it has expired, or it does not have any tunnels in it.
This is a guaranteed failure.
<tr><td align="center">16<td align="center">0.9.5<td>No Local Tunnels<td>Local problems. No outbound tunnel to send through,
or no inbound tunnel if a reply is required.
This is a guaranteed failure.
<tr><td align="center">17<td align="center">0.9.5<td>Unsupported Encryption<td>The certs or options in the destination or its leaseset
indicate that it uses an encryption format that we don't support, so we can't talk to it.
This is a guaranteed failure.
<tr><td align="center">18<td align="center">0.9.5<td>Bad Destination<td>Something is wrong with the far-end destination.
Bad format, unsupported options, certificates, etc.
This is a guaranteed failure.
<tr><td align="center">19<td align="center">0.9.5<td>Bad Leaseset<td>We got the far-end leaseset but something strange is wrong with it.
Unsupported options or certificates, no tunnels, etc.
This is a guaranteed failure.
<tr><td align="center">20<td align="center">0.9.5<td>Expired Leaseset<td>We got the far-end leaseset but it's expired and we can't get a new one.
This is a guaranteed failure.
<tr><td align="center">21<td align="center">0.9.5<td>No Leaseset<td>Could not find the far-end leaseset.
This is a common failure, equivalent to a DNS lookup failure.
This is a guaranteed failure.
</table>
</p>
<p>
When status = 1 (accepted), the nonce matches the nonce in the
@ -734,6 +792,9 @@ message id specified in the ReceiveMessageBeginMessage is invalid or
incorrect, the router may simply not reply, or it may send back a
DisconnectMessage.
</p>
<p>
This is unused in "fast receive" mode, which is the default as of release 0.9.4.
</p>
@ -757,6 +818,9 @@ Sent from Client to Router.
The ReceiveMessageBeginMessage is sent after a MessagePayloadMessage fully
delivers a message's payload.
</p>
<p>
This is unused in "fast receive" mode, which is the default as of release 0.9.4.
</p>