diff options
author | David Goulet <dgoulet@torproject.org> | 2019-01-09 15:08:14 -0500 |
---|---|---|
committer | David Goulet <dgoulet@torproject.org> | 2019-04-29 12:17:57 -0400 |
commit | 93f9fbbd34f03aca68c8c64a7e39b64548462eeb (patch) | |
tree | 0dbc64e43dcb4b1773fc09a88a546c045f335918 /src/core/or/circuit_st.h | |
parent | 81706d84279f0a2870f8b1789403188fd933b32a (diff) | |
download | tor-93f9fbbd34f03aca68c8c64a7e39b64548462eeb.tar.gz tor-93f9fbbd34f03aca68c8c64a7e39b64548462eeb.zip |
prop289: Keep track of the last seen cell digests
This makes tor remember the last seen digest of a cell if that cell is the
last one before a SENDME on the Exit side.
Closes #26839
Signed-off-by: David Goulet <dgoulet@torproject.org>
Diffstat (limited to 'src/core/or/circuit_st.h')
-rw-r--r-- | src/core/or/circuit_st.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/core/or/circuit_st.h b/src/core/or/circuit_st.h index cc21cf62f7..5adb158935 100644 --- a/src/core/or/circuit_st.h +++ b/src/core/or/circuit_st.h @@ -104,6 +104,12 @@ struct circuit_t { * circuit-level sendme cells to indicate that we're willing to accept * more. */ int deliver_window; + /** FIFO containing the digest of the cells that are just before a SENDME is + * sent by the client. It is done at the last cell before our package_window + * goes down to 0 which is when we expect a SENDME. The protocol doesn't + * allow more than 10 outstanding SENDMEs worth of data meaning this list + * should only contain at most 10 digests of 4 bytes each. */ + smartlist_t *sendme_last_digests; /** Temporary field used during circuits_handle_oom. */ uint32_t age_tmp; |