aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* Fix bug 9082: avoid leak when freeing destroy cell queuesNick Mathewson2013-06-17
| | | | | | | | In my #7912 fix, there wasn't any code to remove entries from the (channel, circuit ID)->circuit map corresponding to queued but un-sent DESTROYs. Spotted by skruffy. Fixes bug 9082; bug not in any released Tor.
* Fix compile warnings wrt printf formating of int64_tNick Mathewson2013-06-13
|
* Add a changes file for bug 7912Nick Mathewson2013-06-13
| | | | | I'm calling it a bugfix on 0.2.0.1-alpha, since that's where cell queues were first introduced.
* Add destroy balance tracking and logging to circuitmuxAndrea Shepard2013-06-13
|
* Implementation of a fix for bug 7912Nick Mathewson2013-06-13
| | | | | | | | | I added the code to pass a destroy cell to a queueing function rather than writing it immediately, and the code to remember that we shouldn't reuse the circuit id until the destroy is actually sent, and the code to release the circuit id once the destroy has been sent... and then I finished by hooking destroy_cell_queue into the rest of Tor.
* Code to track on a circuit whether it has a "pending" delete cellNick Mathewson2013-06-13
| | | | This will be used in a fix for bug7912.
* Implement a placeholder mechanism in the channel,id->circ mapNick Mathewson2013-03-21
| | | | | We'll use this to help fix bug 7912, by providing a way to mark that a circuit ID can't get reused while a DESTROY is queued but not sent.
* Fix a small memory leak in the unit testsNick Mathewson2013-03-21
| | | | Found by coverity; this is CID 992692.
* The *default* guard lifetime is two months; the *min* is oneNick Mathewson2013-03-21
| | | | | | This caused an assertion failure when pruning guards. Fixes bug #8553; bug not in any released Tor.
* Merge remote-tracking branch 'public/bug8475_023' into maint-0.2.4Nick Mathewson2013-03-20
|\
| * Apply ClientDNSRejectInternalAddresses to IPv6 in RESOLVED cellsNick Mathewson2013-03-14
| | | | | | | | Fixes bug 8475; bugfix on 0.2.0.7-alpha.
* | Set default minimum bandwidth for exit flag to zero for TestingTorNetworkAndrea Shepard2013-03-20
| |
* | Fix an EOL@EOF in circuituse.cAndrea Shepard2013-03-20
| |
* | Let testing networks override ABSOLUTE_MIN_VALUE_FOR_FAST_FLAGNick Mathewson2013-03-20
| | | | | | | | | | This adds a new option to fix bug 8508 which broke chutney networks. The bug was introduced by 317d16de.
* | Merge commit '2f98bf5c9fac4dfd1bb07564ce08b13d1e330252' into maint-0.2.4Nick Mathewson2013-03-20
|\ \ | | | | | | | | | (This is the part of the Bug 8042 patch that warns about unsigned time_t)
| * | Warn at configure time when time_t is unsignedNick Mathewson2013-03-11
| | | | | | | | | | | | | | | | | | | | | | | | Inspired by #8042. As far as I know, OpenVMS is the only place you're likely to hit an unsigned time_t these days, and Tor's VMS support is... lacking. Still worth letting people know about it, though.
* | | Merge remote-tracking branch 'public/bug6304_v3' into maint-0.2.4Nick Mathewson2013-03-20
|\ \ \ | | | | | | | | | | | | | | | | | | | | Conflicts: src/or/circuitbuild.c src/or/config.c
| * | | Fix the warning about LearnCircuitBuildTimeout && !CircuitBuildTimeoutNick Mathewson2013-03-13
| | | | | | | | | | | | | | | | | | | | | | | | This is for bug 6304. Add a changes file too
| * | | Simplify the logic of circuit_build_times_get_initial_timeout.Nick Mathewson2013-03-13
| | | |
| * | | Fix to test for bug8444 / 6034Nick Mathewson2013-03-09
| | | |
* | | | Merge branch 'bug7350_redux' into maint-0.2.4Nick Mathewson2013-03-19
|\ \ \ \
| * | | | Don't assert when writing a cell to a CLOSING connection.Nick Mathewson2013-03-19
|/ / / / | | | | | | | | | | | | | | | | | | | | Instead, drop the cell. Fixes another case of bug 7350; bugfix on 0.2.4.4-alpha
* | | | Merge remote-tracking branch 'public/bug7164_diagnostic' into maint-0.2.4Nick Mathewson2013-03-19
|\ \ \ \
| * | | | Log fname:lineno in log messages for #7164Nick Mathewson2013-03-13
| | | | | | | | | | | | | | | | | | | | This should help us track down #7164 at last.
* | | | | Merge branch 'bug8240_v2_squashed' into maint-0.2.4Nick Mathewson2013-03-19
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: doc/tor.1.txt src/or/circuitbuild.c src/or/config.c src/or/or.h
| * | | | | Drop the minimum guard lifetime back down to one monthNick Mathewson2013-03-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Mike believes that raising the default to 2 months with no way to lower it may create horrible load-balancing issues.
| * | | | | Add support for days of the week to intervalsNick Mathewson2013-03-19
| | | | | |
| * | | | | Document the GuardLifetime optionNick Mathewson2013-03-19
| | | | | |
| * | | | | Make the guard lifetime configurable and adjustable via the consensusNick Mathewson2013-03-19
| | |_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes 8240. (Don't actually increase the default guard lifetime. It seems likely to break too many things if done precipitiously.)
* | | | | Merge remote-tracking branch 'public/bug7950' into maint-0.2.4Nick Mathewson2013-03-19
|\ \ \ \ \
| * | | | | Make a parse_config_line_from_str variant that gives error messagesNick Mathewson2013-02-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Without this patch, there's no way to know what went wrong when we fail to parse a torrc line entirely (that is, we can't turn it into a K,V pair.) This patch introduces a new function that yields an error message on failure, so we can at least tell the user what to look for in their nonfunctional torrc. (Actually, it's the same function as before with a new name: parse_config_line_from_str is now a wrapper macro that the unit tests use.) Fixes bug 7950; fix on 0.2.0.16-alpha (58de695f9062576f) which first introduced the possibility of a torrc value not parsing correctly.
* | | | | | Merge remote-tracking branch 'public/bug7768' into maint-0.2.4Nick Mathewson2013-03-19
|\ \ \ \ \ \
| * | | | | | Use --test-commandline name in tor-fw-helper manpageNick Mathewson2013-03-19
| | | | | | |
| * | | | | | Use option name --test-commandline in tor-fw-helper.David Fifield2013-03-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It was previously --Test in the help output and --test-commandline in the getopt call. The man page already had --test. (Originally by David, who resolved the tie in favor of "--test"; I chose --test-commandline" instead so that nothing that depended on it could break. -Nick)
| * | | | | | Fix option names in tor-fw-helper manpageNick Mathewson2013-03-11
| | |_|/ / / | |/| | | | | | | | | | | | | | | | fix for bug 7768
* | | | | | Merge remote-tracking branch 'public/bug8002' into maint-0.2.4Nick Mathewson2013-03-19
|\ \ \ \ \ \
| * | | | | | Check for CPUs more accurartely when ONLN != CONF.Nick Mathewson2013-02-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There are two ways to use sysconf to ask about the number of CPUs. When we're on a VM, we would sometimes get it wrong by asking for the number of total CPUs (say, 64) when we should have been asking for the number of CPUs online (say, 1 or 2). Fix for bug 8002.
* | | | | | | Merge remote-tracking branch 'public/bug8031' into maint-0.2.4Nick Mathewson2013-03-19
|\ \ \ \ \ \ \
| * | | | | | | Another possible diagnostic for 8031.Nick Mathewson2013-03-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This time, I'm checking whether our calculated offset matches our real offset, in each case, as we go along. I don't think this is the bug, but it can't hurt to check.
| * | | | | | | Check more error codes when writing microdescriptors.Nick Mathewson2013-03-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Possible partial fix, or diagnosis tool, for bug 8031.
| * | | | | | | Use fds, not stdio, to manage microdescriptor filesNick Mathewson2013-03-11
| | |_|_|/ / / | |/| | | | | | | | | | | | | | | | | | | This is part of an attempt to mitigate 8031.
* | | | | | | Merge branch 'bug7582_v2' into maint-0.2.4Nick Mathewson2013-03-19
|\ \ \ \ \ \ \
| * | | | | | | Free prepend_policy values in origin circuitsNick Mathewson2013-03-19
| | | | | | | |
| * | | | | | | On END_REASON_EXITPOLICY, mark circuit as unusable for that address.Nick Mathewson2013-03-11
| | |_|/ / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Also, don't call the exit node 'reject *' unless our decision to pick that node was based on a non-summarized version of that node's exit policy. rransom and arma came up with the ideas for this fix. Fix for 7582; the summary-related part is a bugfix on 0.2.3.2-alpha.
* | | | | | | Merge remote-tracking branch 'public/bug6174' into maint-0.2.4Nick Mathewson2013-03-18
|\ \ \ \ \ \ \
| * | | | | | | Rename circuit_expire_all_dirty_circsNick Mathewson2013-02-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The new name is circuit_mark_all_dirty_circs_as_unusable. This resolves an XXX024
| * | | | | | | Stop frobbing timestamp_dirty as our sole means to mark circuits unusableNick Mathewson2013-02-19
| | |_|_|/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 516ef41ac1fd26f338c, which I think was in 0.0.2pre26 (but it could have been 0.0.2pre27).
* | | | | | | Merge remote-tracking branch 'public/bug8062' into maint-0.2.4Nick Mathewson2013-03-18
|\ \ \ \ \ \ \
| * | | | | | | Increase link_proto field to 2 bytesNick Mathewson2013-03-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This should have been 2 bytes all along, since version numbers can be 16 bits long. This isn't a live bug, since the call to is_or_protocol_version_known in channel_tls_process_versions_cell will reject any version number not in the range 1..4. Still, let's fix this before we accidentally start supporting version 256. Reported pseudonymously. Fixes bug 8062; bugfix on 0.2.0.10-alpha -- specifically, on commit 6fcda529, where during development I increased the width of a version to 16 bits without changing the type of link_proto.
* | | | | | | | Merge branch 'bug7947' into maint-0.2.4Nick Mathewson2013-03-18
|\ \ \ \ \ \ \ \