This is an automated email from the git hooks/post-receive script.
dgoulet pushed a change to branch main in repository tor.
from 22cb4c23d0 Merge branch 'maint-0.4.7' new 533fe36957 Add an underflow check to a cwnd error condition. new af5ef98d1b Changes file for bug 40644. new f51c68729f Merge branch 'maint-0.4.7'
The 3 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference.
Summary of changes: changes/bug40644 | 8 ++++++++ src/core/or/congestion_control_common.c | 11 ++++++++++- 2 files changed, 18 insertions(+), 1 deletion(-) create mode 100644 changes/bug40644
This is an automated email from the git hooks/post-receive script.
dgoulet pushed a commit to branch main in repository tor.
commit 533fe36957e2fc78e2c76fb1a91f5b17c3dfb85e Author: Mike Perry mikeperry-git@torproject.org AuthorDate: Tue Jul 26 22:28:02 2022 +0000
Add an underflow check to a cwnd error condition. --- src/core/or/congestion_control_common.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-)
diff --git a/src/core/or/congestion_control_common.c b/src/core/or/congestion_control_common.c index 71cd666ee2..42f816690f 100644 --- a/src/core/or/congestion_control_common.c +++ b/src/core/or/congestion_control_common.c @@ -882,10 +882,19 @@ congestion_control_update_circuit_bdp(congestion_control_t *cc, if (!cc->ewma_rtt_usec) { uint64_t cwnd = cc->cwnd;
+ tor_assert_nonfatal(cc->cwnd <= cwnd_max); + /* If the channel is blocked, keep subtracting off the chan_q * until we hit the min cwnd. */ if (blocked_on_chan) { - cwnd = MAX(cwnd - chan_q, cc->cwnd_min); + /* Cast is fine because we're less than int32 */ + if (chan_q >= (int64_t)cwnd) { + log_notice(LD_CIRC, + "Clock stall with large chanq: %d %"PRIu64, chan_q, cwnd); + cwnd = cc->cwnd_min; + } else { + cwnd = MAX(cwnd - chan_q, cc->cwnd_min); + } cc->blocked_chan = 1; } else { cc->blocked_chan = 0;
This is an automated email from the git hooks/post-receive script.
dgoulet pushed a commit to branch main in repository tor.
commit af5ef98d1b2221ee4da389bb88dfe1c991d42e8d Author: Mike Perry mikeperry-git@torproject.org AuthorDate: Tue Aug 2 17:33:55 2022 +0000
Changes file for bug 40644. --- changes/bug40644 | 8 ++++++++ 1 file changed, 8 insertions(+)
diff --git a/changes/bug40644 b/changes/bug40644 new file mode 100644 index 0000000000..a27c63ede2 --- /dev/null +++ b/changes/bug40644 @@ -0,0 +1,8 @@ + o Minor bugfixes (congestion control): + - Add a check for an integer underflow condition that might + happen in cases where the system clock is stopped, the + ORconn is blocked, and the endpoint sends more than a + congestion window worth of non-data control cells at once. + This would cause a large congestion window to be calculated + instead of a small one. No security impact. Fixes bug 40644; + bugfix on 0.4.7.5-alpha.
This is an automated email from the git hooks/post-receive script.
dgoulet pushed a commit to branch main in repository tor.
commit f51c68729fbd75cbadabb28999b3677ad58b4d69 Merge: 22cb4c23d0 af5ef98d1b Author: David Goulet dgoulet@torproject.org AuthorDate: Tue Aug 2 15:31:00 2022 -0400
Merge branch 'maint-0.4.7'
changes/bug40644 | 8 ++++++++ src/core/or/congestion_control_common.c | 11 ++++++++++- 2 files changed, 18 insertions(+), 1 deletion(-)
tor-commits@lists.torproject.org