Skip to content

Commit

Permalink
Reordering error code ranges, per Martin
Browse files Browse the repository at this point in the history
  • Loading branch information
MikeBishop committed Jan 12, 2017
1 parent 13bdc70 commit c1e73f2
Show file tree
Hide file tree
Showing 3 changed files with 102 additions and 102 deletions.
34 changes: 17 additions & 17 deletions draft-ietf-quic-http.md
Expand Up @@ -718,63 +718,63 @@ of HTTP/2 error codes into the QUIC error code space.

## HTTP-Defined QUIC Error Codes {#http-error-codes}

QUIC allocates error codes 0x8000-0xAFFF to application protocol definition.
QUIC allocates error codes 0x0000-0x3FFF to application protocol definition.
The following error codes are defined by HTTP for use in QUIC RST_STREAM,
GOAWAY, and CONNECTION_CLOSE frames.

HTTP_SETTINGS_TIMEOUT (0x8000):
HTTP_SETTINGS_TIMEOUT (0x00):
: After sending a SETTINGS frame which requested acknowledgement, the
acknowledgement was not completed (see {{settings-synchronization}}) in a
timely manner.

HTTP_PUSH_REFUSED (0x8001):
HTTP_PUSH_REFUSED (0x01):
: The server has attempted to push content which the client will not accept
on this connection.

HTTP_INTERNAL_ERROR (0x8002):
HTTP_INTERNAL_ERROR (0x02):
: An internal error has occurred in the HTTP stack.

HTTP_PUSH_ALREADY_IN_CACHE (0x8003):
HTTP_PUSH_ALREADY_IN_CACHE (0x03):
: The server has attempted to push content which the client has cached.

HTTP_REQUEST_CANCELLED (0x8004):
HTTP_REQUEST_CANCELLED (0x04):
: The client no longer needs the requested data.

HTTP_HPACK_DECOMPRESSION_FAILED (0x8005):
HTTP_HPACK_DECOMPRESSION_FAILED (0x05):
: HPACK failed to decompress a frame and cannot continue.

HTTP_CONNECT_ERROR (0x8006):
HTTP_CONNECT_ERROR (0x06):
: The connection established in response to a CONNECT request was reset or
abnormally closed.

HTTP_EXCESSIVE_LOAD (0x8007):
HTTP_EXCESSIVE_LOAD (0x07):
: The endpoint detected that its peer is exhibiting a behavior that might be
generating excessive load.

HTTP_VERSION_FALLBACK (0x8008):
HTTP_VERSION_FALLBACK (0x08):
: The requested operation cannot be served over HTTP/QUIC. The peer should
retry over HTTP/2.

HTTP_MALFORMED_HEADERS (0x8009):
HTTP_MALFORMED_HEADERS (0x09):
: A HEADERS frame has been received with an invalid format.

HTTP_MALFORMED_PRIORITY (0x800A):
HTTP_MALFORMED_PRIORITY (0x0A):
: A HEADERS frame has been received with an invalid format.

HTTP_MALFORMED_SETTINGS (0x800B):
HTTP_MALFORMED_SETTINGS (0x0B):
: A HEADERS frame has been received with an invalid format.

HTTP_MALFORMED_PUSH_PROMISE (0x800C):
HTTP_MALFORMED_PUSH_PROMISE (0x0C):
: A HEADERS frame has been received with an invalid format.

HTTP_MALFORMED_SETTINGS_ACK (0x800D):
HTTP_MALFORMED_SETTINGS_ACK (0x0D):
: A HEADERS frame has been received with an invalid format.

HTTP_INTERRUPTED_HEADERS (0x800E):
HTTP_INTERRUPTED_HEADERS (0x0E):
: A HEADERS frame without the End Header Block flag was followed by a frame
other than HEADERS.

HTTP_SETTINGS_ON_WRONG_STREAM (0x800F):
HTTP_SETTINGS_ON_WRONG_STREAM (0x0F):
: A SETTINGS frame was received on a request control stream.


Expand Down
52 changes: 26 additions & 26 deletions draft-ietf-quic-tls.md
Expand Up @@ -1234,86 +1234,86 @@ packets as indicative of an attack.
# Error codes {#errors}

The portion of the QUIC error code space allocated for the crypto handshake is
0x4000-0x7FFF. The following error codes are defined when TLS is used for the
0xB000-0xFFFF. The following error codes are defined when TLS is used for the
crypto handshake:

TLS_HANDSHAKE_FAILED (0x401c):
TLS_HANDSHAKE_FAILED (0xB01c):
: Crypto errors. Handshake failed.

TLS_MESSAGE_OUT_OF_ORDER (0x401d):
TLS_MESSAGE_OUT_OF_ORDER (0xB01d):
: Handshake message received out of order.

TLS_TOO_MANY_ENTRIES (0x401e):
TLS_TOO_MANY_ENTRIES (0xB01e):
: Handshake message contained too many entries.

TLS_INVALID_VALUE_LENGTH (0x401f):
TLS_INVALID_VALUE_LENGTH (0xB01f):
: Handshake message contained an invalid value length.

TLS_MESSAGE_AFTER_HANDSHAKE_COMPLETE (0x4020):
TLS_MESSAGE_AFTER_HANDSHAKE_COMPLETE (0xB020):
: A handshake message was received after the handshake was complete.

TLS_INVALID_RECORD_TYPE (0x4021):
TLS_INVALID_RECORD_TYPE (0xB021):
: A handshake message was received with an illegal record type.

TLS_INVALID_PARAMETER (0x4022):
TLS_INVALID_PARAMETER (0xB022):
: A handshake message was received with an illegal parameter.

TLS_INVALID_CHANNEL_ID_SIGNATURE (0x4034):
TLS_INVALID_CHANNEL_ID_SIGNATURE (0xB034):
: An invalid channel id signature was supplied.

TLS_MESSAGE_PARAMETER_NOT_FOUND (0x4023):
TLS_MESSAGE_PARAMETER_NOT_FOUND (0xB023):
: A handshake message was received with a mandatory parameter missing.

TLS_MESSAGE_PARAMETER_NO_OVERLAP (0x4024):
TLS_MESSAGE_PARAMETER_NO_OVERLAP (0xB024):
: A handshake message was received with a parameter that has no overlap with the
local parameter.

TLS_MESSAGE_INDEX_NOT_FOUND (0x4025):
TLS_MESSAGE_INDEX_NOT_FOUND (0xB025):
: A handshake message was received that contained a parameter with too few values.

TLS_UNSUPPORTED_PROOF_DEMAND (0x405e):
TLS_UNSUPPORTED_PROOF_DEMAND (0xB05e):
: A demand for an unsupported proof type was received.

TLS_INTERNAL_ERROR (0x4026):
TLS_INTERNAL_ERROR (0xB026):
: An internal error occured in handshake processing.

TLS_VERSION_NOT_SUPPORTED (0x4027):
TLS_VERSION_NOT_SUPPORTED (0xB027):
: A handshake handshake message specified an unsupported version.

TLS_HANDSHAKE_STATELESS_REJECT (0x4048):
TLS_HANDSHAKE_STATELESS_REJECT (0xB048):
: A handshake handshake message resulted in a stateless reject.

TLS_NO_SUPPORT (0x4028):
TLS_NO_SUPPORT (0xB028):
: There was no intersection between the crypto primitives supported by the peer
and ourselves.

TLS_TOO_MANY_REJECTS (0x4029):
TLS_TOO_MANY_REJECTS (0xB029):
: The server rejected our client hello messages too many times.

TLS_PROOF_INVALID (0x402a):
TLS_PROOF_INVALID (0xB02a):
: The client rejected the server's certificate chain or signature.

TLS_DUPLICATE_TAG (0x402b):
TLS_DUPLICATE_TAG (0xB02b):
: A handshake message was received with a duplicate tag.

TLS_ENCRYPTION_LEVEL_INCORRECT (0x402c):
TLS_ENCRYPTION_LEVEL_INCORRECT (0xB02c):
: A handshake message was received with the wrong encryption level (i.e. it
should have been encrypted but was not.)

TLS_SERVER_CONFIG_EXPIRED (0x402d):
TLS_SERVER_CONFIG_EXPIRED (0xB02d):
: The server config for a server has expired.

TLS_SYMMETRIC_KEY_SETUP_FAILED (0x4035):
TLS_SYMMETRIC_KEY_SETUP_FAILED (0xB035):
: We failed to set up the symmetric keys for a connection.

TLS_MESSAGE_WHILE_VALIDATING_CLIENT_HELLO (0x4036):
TLS_MESSAGE_WHILE_VALIDATING_CLIENT_HELLO (0xB036):
: A handshake message arrived, but we are still validating the previous
handshake message.

TLS_UPDATE_BEFORE_HANDSHAKE_COMPLETE (0x4041):
TLS_UPDATE_BEFORE_HANDSHAKE_COMPLETE (0xB041):
: A server config update arrived before the handshake is complete.

TLS_CLIENT_HELLO_TOO_LARGE (0x405a):
TLS_CLIENT_HELLO_TOO_LARGE (0xB05a):
: ClientHello cannot fit in one packet.


Expand Down

0 comments on commit c1e73f2

Please sign in to comment.