summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-02-25version: Bump version to 0.4.7.4-alphator-0.4.7.4-alphaTor CI Release
2022-02-25release: ChangeLog and ReleaseNotes for 0.4.7.4-alphaTor CI Release
2022-02-25fallbackdir: Update list generated on February 25, 2022Tor CI Release
2022-02-25Update geoip files to match ipfire location db, 2022/02/25.Tor CI Release
2022-02-23Merge branch 'tor-gitlab/mr/488'David Goulet
2022-02-23cc: Fix memleak when building extension responseDavid Goulet
Fixes #40575 Signed-off-by: David Goulet <dgoulet@torproject.org>
2022-02-23Merge branch 'tor-gitlab/mr/536'David Goulet
2022-02-23and fix those typos in the releasenotes tooRoger Dingledine
2022-02-23fix typos, remove wrong stanzas, update 0.4.6.10Roger Dingledine
we were missing the 0.4.6.10 changes in ReleaseNotes, and the 0.4.0.5 releasenotes mistakenly included some 0.4.0.x bugfixes.
2022-02-23fix a typo in a commentRoger Dingledine
2022-02-23Reject intro2 cells that request unadvertized congestion control.Mike Perry
2022-02-23Properly initialize the cc_enabled field in hs intro data.Mike Perry
2022-02-22Add test for sendme_inc validation.Mike Perry
2022-02-22Add test for sendme_cell_is_next with sendme_inc of 31Mike Perry
2022-02-22Add test for circuit_sendme_cell_is_next() when sendme_inc is 100.Mike Perry
This ensures compatibility with old tor.
2022-02-22Add changes fileMike Perry
2022-02-22Add a delta parameter to Vegas.Mike Perry
This allows us to cap the queue use during steady state. In shadow, this reduced instances of long circuit queues at relays.
2022-02-22Exit slow start at the gamma thresholdMike Perry
This improves performance and fairness.
2022-02-22Increment by at least 2 sendme_incs in slow startMike Perry
2022-02-22Only apply more frequent cwnd updates after slow start.Mike Perry
2022-02-22Make N_EWMA a percentage of CWND update rate, capped by a max value.Mike Perry
This proved better in Shadow sims than just a multiple of CWND.
2022-02-22Relocate two parameters from circuit scope to global scope.Mike Perry
Changes in these will not affect in-progress transfers.
2022-02-22Guard against 0 time delta in BDP calc.Mike Perry
This can only happen in Shadow, but it will cause issues there.
2022-02-22Increase RTT ratio used to detect monotime jumps/stalls.Mike Perry
In Shadow, we saw RTT jumps as high as 1000 naturally. So let's set this to 5000, to give us some breathing room.
2022-02-22Fix NULL pointer deref in logsMike Perry
2022-02-22Properly compute the number or recv cells from deliver_windowMike Perry
Without this conversion, there is an implict 1000-recv_cells, which causes the mod to fail if it is not a factor of 1000.
2022-02-22Use path type hint for Vegas queue parameters.Mike Perry
These parameters will vary depending on path length, especially for onions.
2022-02-22Set new defaults for congestion control parameters.Mike Perry
Defaults determined from Shadow experimentation. More parameter functionality changes to follow.
2022-02-22cc: Change edge_get_ccontrol() to look at both cpath and on_circuitDavid Goulet
Signed-off-by: David Goulet <dgoulet@torproject.org>
2022-02-22hs: Fix tests for congestion controlDavid Goulet
2022-02-22hs: Setup congestion control on service rends using intro dataDavid Goulet
Signed-off-by: David Goulet <dgoulet@torproject.org>
2022-02-22hs: Decode and cache the INTRODUCE cell congestion control extensionDavid Goulet
Signed-off-by: David Goulet <dgoulet@torproject.org>
2022-02-22hs: Build INTRODUCE extension in the encrypted sectionDavid Goulet
Signed-off-by: David Goulet <dgoulet@torproject.org>
2022-02-22hs: Setup congestion control on client rendsDavid Goulet
Signed-off-by: David Goulet <dgoulet@torproject.org>
2022-02-22hs: Republish onion descriptor on sendme_inc changeDavid Goulet
Republishing is necessary to ensure that clients connect using the correct sendme_inc upon any change. Additionally, introduction points must be re-chosen, so that cached descriptors with old values are not usable. We do not expect to change sendme_inc, unless cell size or TLS record size changes, so this should be rare. Signed-off-by: David Goulet <dgoulet@torproject.org>
2022-02-22hs: Decode flow-control lineDavid Goulet
This puts the flow control version (unparsed) in the descriptor. The client doesn't use it yet. Signed-off-by: David Goulet <dgoulet@torproject.org>
2022-02-22hs: Encode flow control value in the descriptorDavid Goulet
This simply adds the "flow-control" line, as detailed in prop324, to the descriptor. No decoding is done at this commit. Part of #40506
2022-02-22cc: Export sendme_inc validation into public functionDavid Goulet
This is needed for client validation of server descriptor value, before launching a rend/intro.
2022-02-22cc: Use trunnel extension for ntorv3 circ parametersDavid Goulet
Signed-off-by: David Goulet <dgoulet@torproject.org>
2022-02-22trunnel: Make hs/cell_common.trunnel genericDavid Goulet
Move it to extension.trunnel instead so that extension ABI construction can be used in other parts of tor than just HS cells. Specifically, we'll use it in the ntorv3 data payload and make a congestion control parameter extension using that binary structure. Only rename. No code behavior changes. Signed-off-by: David Goulet <dgoulet@torproject.org>
2022-02-22protover: Add function to get the value of a single typeDavid Goulet
We can now query the protover subsystem to get the current value we support for a specific protover type. This will be useful for prop324 onion service part which puts in the FlowCtrl value in the service descriptor. No behavior change. Signed-off-by: David Goulet <dgoulet@torproject.org>
2022-02-22Add test for congestion control negotiation logic.Mike Perry
2022-02-22Add test for TAP vs ntor2+ntor3 onion queue orderingMike Perry
2022-02-22Add hidden torrc option to always try CC negotiation.Mike Perry
This is for public network testing and for sbws. Should not otherwise be used, hence it is an undocumented __option. The option deliberately does not allow force-disabling congestion control, as this is bad for queueing and fairness.
2022-02-22Handle other places that use onion handshake type valuesMike Perry
We want ntor and ntorv3 to use the same queues and stats.
2022-02-22Extend info argument updates for non-ntorv3 casesMike Perry
2022-02-22Congestion control usage of negotiated paramsMike Perry
2022-02-22Protover flag handling for congestion control negotiationMike Perry
2022-02-22Hook up client usage of congestion control negotiationMike Perry
2022-02-22Implement congestion control parameter negotiationMike Perry