tor

The Tor anonymity network
git clone https://git.dasho.dev/tor.git
Log | Files | Refs | README | LICENSE

commit f1370a865d211491ebc522cab2d0412e2ea27e72
parent 0bd8752d372df5a424c2550b55fe1040dd179cd2
Author: Mike Perry <mikeperry-git@torproject.org>
Date:   Thu, 21 Nov 2024 17:06:26 +0000

Ticket 40872: Add conflux helper functions for control port info

Diffstat:
Msrc/core/or/conflux_util.c | 27+++++++++++++++++++++++++++
Msrc/core/or/conflux_util.h | 3+++
2 files changed, 30 insertions(+), 0 deletions(-)

diff --git a/src/core/or/conflux_util.c b/src/core/or/conflux_util.c @@ -442,3 +442,30 @@ conflux_validate_legs(const conflux_t *cfx) conflux_log_set(LOG_PROTOCOL_WARN, cfx, is_client); } } + +/** Return the nonce for a circuit, for use on the control port */ +const uint8_t * +conflux_get_nonce(const circuit_t *circ) +{ + if (circ->conflux_pending_nonce) { + return circ->conflux_pending_nonce; + } else if (circ->conflux) { + return circ->conflux->nonce; + } else { + return NULL; + } +} + +/** Return the conflux RTT for a circuit, for use on the control port */ +uint64_t +conflux_get_circ_rtt(const circuit_t *circ) +{ + if (circ->conflux) { + conflux_leg_t *leg = conflux_get_leg(circ->conflux, circ); + tor_assert(leg); + return leg->circ_rtts_usec; + } else { + return 0; + } +} + diff --git a/src/core/or/conflux_util.h b/src/core/or/conflux_util.h @@ -34,6 +34,9 @@ CIRCUIT_IS_CONFLUX(const circuit_t *circ) } } +const uint8_t *conflux_get_nonce(const circuit_t *circ); +uint64_t conflux_get_circ_rtt(const circuit_t *circ); + int circuit_get_package_window(circuit_t *circ, const crypt_path_t *cpath); bool conflux_can_send(conflux_t *cfx);