tor/changes
Nick Mathewson 62fb209d83 Stop frobbing timestamp_dirty as our sole means to mark circuits unusable
In a number of places, we decrement timestamp_dirty by
MaxCircuitDirtiness in order to mark a stream as "unusable for any
new connections.

This pattern sucks for a few reasons:
  * It is nonobvious.
  * It is error-prone: decrementing 0 can be a bad choice indeed.
  * It really wants to have a function.

It can also introduce bugs if the system time jumps backwards, or if
MaxCircuitDirtiness is increased.

So in this patch, I add an unusable_for_new_conns flag to
origin_circuit_t, make it get checked everywhere it should (I looked
for things that tested timestamp_dirty), and add a new function to
frob it.

For now, the new function does still frob timestamp_dirty (after
checking for underflow and whatnot), in case I missed any cases that
should be checking unusable_for_new_conns.

Fixes bug 6174. We first used this pattern in 516ef41ac1,
which I think was in 0.0.2pre26 (but it could have been 0.0.2pre27).
2013-02-19 18:29:17 -05:00
..
bug1992 Check for IP address change every minute, not 15 minutes 2013-02-11 21:57:32 -05:00
bug2286 Tweak consensus method 17 based on arma's comments 2013-02-19 11:05:15 -05:00
bug6174 Stop frobbing timestamp_dirty as our sole means to mark circuits unusable 2013-02-19 18:29:17 -05:00
bug7054 Say "KBytes" rather than "KB" in the man page 2012-10-06 01:57:13 -04:00
bug7801 changes file for bug7801 2013-02-08 16:46:50 -05:00
bug7816_023 Avoid leaking headers received from SSL proxy 2012-12-28 22:45:53 -05:00
bug7816_023_small Fix various small leaks on error cases 2012-12-28 22:49:32 -05:00
bug7816.024 Fix an impossible-in-normal-operation leaks in dirvote 2012-12-28 23:04:44 -05:00
bug7902 When we get an END cell before CONNECTED, don't report SOCKS success 2013-01-16 12:09:49 -05:00
bug8065 Downgrade an assert to LD_BUG 2013-02-19 15:02:08 -05:00
bug8121 Tolerate curve25519 backends where the high bit of the pk isn't ignored 2013-02-07 14:09:01 -05:00
bug8151 Include a flag-thresholds line in each vote to describe flag cutoffs 2013-02-04 13:44:05 -05:00
bug8158 Coalesce identical adjacent microdescriptor vote lines. 2013-02-08 12:09:46 -05:00
bug8161 Changes file for path use bias threshold changes. 2013-02-07 14:30:58 -05:00
bug8200 Refactor resolve_my_address() so logs are more accurate / helpful 2013-02-11 13:29:56 -05:00
bug8207 Make hidden service authorization work again. 2013-02-11 15:42:57 -05:00
bug8208 Check whether ei is non-NULL before altering it. 2013-02-11 16:05:03 -05:00
bug8209 Make _SC_OPEN_MAX actually get used when closing fds before exec. 2013-02-11 16:27:35 -05:00
bug8210 Fix a nigh-impossible overflow in cpuworker.c 2013-02-11 16:46:38 -05:00
bug8218 Authorities were adding downtime for every relay every restart 2013-02-14 17:02:22 -05:00
cov980650 Fix a copy-and-paste issue found by coverity 2013-02-11 14:42:33 -05:00
easy.ratelim Wrapper function for the common rate-limited-log pattern. 2012-12-26 11:07:11 -05:00
feature4994 use microdescriptors if *any* of our bridges can handle them 2013-02-02 08:04:20 -08:00
geoip-feb2013 Update to the February 2013 GeoIP database. 2013-02-08 14:39:25 +01:00
integers_donna Use torint.h in curve25519-donna*.c 2013-02-14 15:34:38 -05:00
signof_enum Have autoconf check whether enums are signed. 2013-02-07 16:30:32 -05:00
ticket2267 Refactor resolve_my_address() so logs are more accurate / helpful 2013-02-11 13:29:56 -05:00