diff options
author | Jim Newsome <jnewsome@torproject.org> | 2023-11-06 11:08:28 -0600 |
---|---|---|
committer | Jim Newsome <jnewsome@torproject.org> | 2023-11-06 11:08:28 -0600 |
commit | 1744bee8ec9fec2cc288fb160ad071ad02996570 (patch) | |
tree | b33051a8967d0ab26cc5ebe0f0242463f3de65c9 /spec/tor-spec/cell-packet-format.md | |
parent | a008942db4bd7a6e51c7bd6730383efce641fa5c (diff) | |
download | torspec-1744bee8ec9fec2cc288fb160ad071ad02996570.tar.gz torspec-1744bee8ec9fec2cc288fb160ad071ad02996570.zip |
cell-packet-format: fix section references
Diffstat (limited to 'spec/tor-spec/cell-packet-format.md')
-rw-r--r-- | spec/tor-spec/cell-packet-format.md | 45 |
1 files changed, 22 insertions, 23 deletions
diff --git a/spec/tor-spec/cell-packet-format.md b/spec/tor-spec/cell-packet-format.md index 138a946..10c647b 100644 --- a/spec/tor-spec/cell-packet-format.md +++ b/spec/tor-spec/cell-packet-format.md @@ -46,28 +46,28 @@ values: | Value | Identifier | Description | ---------------------------------------------------------------------- -| 0 | `PADDING` | Padding (See Sec 7.2) | -| 1 | `CREATE` | Create a circuit (See Sec 5.1) | -| 2 | `CREATED` | Acknowledge create (See Sec 5.1) | -| 3 | `RELAY` | End-to-end data (See Sec 5.5 and 6) | -| 4 | `DESTROY` | Stop using a circuit (See Sec 5.4) | -| 5 | `CREATE_FAST` | Create a circuit, no KP (See Sec 5.1) | -| 6 | `CREATED_FAST` | Circuit created, no KP (See Sec 5.1) | -| 8 | `NETINFO` | Time and address info (See Sec 4.5) | -| 9 | `RELAY_EARLY` | End-to-end data; limited (See Sec 5.6) | -| 10 | `CREATE2` | Extended CREATE cell (See Sec 5.1) | -| 11 | `CREATED2` | Extended CREATED cell (See Sec 5.1) | -| 12 | `PADDING_NEGOTIATE` | Padding negotiation (See Sec 7.2) | +| 0 | `PADDING` | Padding (See [Link padding](./flow-control.md#link-padding)) | +| 1 | `CREATE` | Create a circuit (See [`CREATE` and `CREATED` cells](./create-created-cells.md#CREATE)) | +| 2 | `CREATED` | Acknowledge create (See [`CREATE` and `CREATED` cells](./create-created-cells.md#CREATE)) | +| 3 | `RELAY` | End-to-end data (See [Routing relay cells](./routing-relay-cells.md#routing-relay-cells) and [Relay cells](./relay-cells.md#relay-cells)) | +| 4 | `DESTROY` | Stop using a circuit (See [Tearing down circuits](./tearing-down-circuits.md#tearing-down-circuits)) | +| 5 | `CREATE_FAST` | Create a circuit, no KP (See [`CREATE` and `CREATED` cells](./create-created-cells.md#CREATE)) | +| 6 | `CREATED_FAST` | Circuit created, no KP (See [`CREATE` and `CREATED` cells](./create-created-cells.md#CREATE)) | +| 8 | `NETINFO` | Time and address info (See [`NETINFO` cells](./negotiating-channels.md#NETINFO-cells)) | +| 9 | `RELAY_EARLY` | End-to-end data; limited (See [Handling `RELAY_EARLY` cells](./relay-early.md#handling-relay-early-cells)) | +| 10 | `CREATE2` | Extended CREATE cell (See [`CREATE` and `CREATED` cells](./create-created-cells.md#CREATE)) | +| 11 | `CREATED2` | Extended CREATED cell (See [`CREATE` and `CREATED` cells](./create-created-cells.md#CREATE)) | +| 12 | `PADDING_NEGOTIATE` | Padding negotiation (See [Flow control](./flow-control.md#flow-control)) | Variable-length command values are: | Value | Identifier | Description | ------------------------------------------------------------------ -| 7 | `VERSIONS` | Negotiate proto version (See Sec 4) | -| 128 | `VPADDING` | Variable-length padding (See Sec 7.2) | -| 129 | `CERTS` | Certificates (See Sec 4.2) | -| 130 | `AUTH_CHALLENGE` | Challenge value (See Sec 4.3) | -| 131 | `AUTHENTICATE` | Client authentication (See Sec 4.5) | +| 7 | `VERSIONS` | Negotiate proto version (See [Negotiating versions with `VERSIONS` cells](./negotiating-channels.md#VERSIONS-cells)) | +| 128 | `VPADDING` | Variable-length padding (See [Flow control](./flow-control.md#flow-control)) | +| 129 | `CERTS` | Certificates (See [`CERTS cells`](./negotiating-channels.md#CERTS-cells)) | +| 130 | `AUTH_CHALLENGE` | Challenge value (See [`AUTH_CHALLENGE` cells](./negotiating-channels.md#AUTH-CHALLENGE-cells)) | +| 131 | `AUTHENTICATE` | Client authentication (See [`AUTHENTICATE` cells](./negotiating-channels.md#AUTHENTICATE-cells)) | | 132 | `AUTHORIZE` | Client authorization (Not yet used) | The interpretation of `Payload` depends on the type of the cell. @@ -76,7 +76,7 @@ The interpretation of `Payload` depends on the type of the cell. * `CREATE`/`CREATE2`: Payload contains the handshake challenge. * `CREATED`/`CREATED2`: Payload contains the handshake response. * `RELAY`/`RELAY_EARLY`: Payload contains the relay header and relay body. -* `DESTROY`: Payload contains a reason for closing the circuit. (see 5.4) +* `DESTROY`: Payload contains a reason for closing the circuit. (see [Tearing down circuits](./tearing-down-circuits.md#tearing-down-circuits)) Upon receiving any other value for the command field, an OR must drop the cell. Since more cell types may be added in the future, ORs @@ -97,7 +97,7 @@ Senders set padding bytes depending on the cell's command: * Padding bytes SHOULD be set to NUL. We recommend random padding in `RELAY`/`RELAY_EARLY` cells, so that the cell -content is unpredictable. See the format of relay cells in section 6.1 +content is unpredictable. See the format of relay cells in [Relay cells](./relay-cells.md#relay-cells) for detail. For other cells, TLS authenticates cell content, so randomized padding @@ -110,12 +110,11 @@ If there is no other traffic, ORs and OPs send one another a `PADDING` cell every few minutes. `CREATE`, `CREATE2`, `CREATED`, `CREATED2`, and `DESTROY` cells are used to -manage circuits; see section 5 below. +manage circuits; see [Circuit management](./circuit-management.md#circuit-management). `RELAY` cells are used to send commands and data along a circuit; see -section 6 below. +[Application connections and stream management](./streams.md#application-connections-and-stream-management). `VERSIONS` and `NETINFO` cells are used to set up connections in link protocols v2 and higher; in link protocol v3 and higher, `CERTS`, -`AUTH_CHALLENGE`, and `AUTHENTICATE` may also be used. See section 4 -below. +`AUTH_CHALLENGE`, and `AUTHENTICATE` may also be used. See [Negotiating and initializing connections](./negotiating-channels.md#negotiating-and-initializing-connections). |