aboutsummaryrefslogtreecommitdiff
path: root/src/or/circuitbuild.c
Commit message (Collapse)AuthorAge
...
| * | If we have chosen an exit that shares a family with all bridges, fail the ↵Nick Mathewson2011-04-26
| | | | | | | | | | | | | | | | | | | | | circuit We could probably do something smarter here, but the situation is unusual enough that it's okay to just fail the circuit.
| * | Do not try to download descriptors for bridges in ExcludeNodes.Nick Mathewson2011-04-26
| | |
| * | Do not automatically ignore Fast/Stable for exits when ExitNodes is setNick Mathewson2011-04-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This once maybe made sense when ExitNodes meant "Here are 3 exits; use them all", but now it more typically means "Here are 3 countries; exit from there." Using non-Fast/Stable exits created a potential partitioning opportunity and an annoying stability problem. (Don't worry about the case where all of our ExitNodes are non-Fast or non-Stable: we handle that later in the function by retrying with need_capacity and need_uptime set to 0.)
| * | Add an XXX022-1090 to note consider_exit_fmily b0rkennessNick Mathewson2011-04-26
| | |
| * | three more cases where maybe we want to excludeRoger Dingledine2011-04-26
| | |
| * | If ExitNodes and Exclude{Exit}Nodes overlap, obey Exclude{Exit}Nodes.Roger Dingledine2011-04-26
| | | | | | | | | | | | Also, ExitNodes are always strict.
| * | the new entrynodes behavior is always strictRoger Dingledine2011-04-26
| | |
| * | If EntryNodes and ExcludeNodes overlap, obey ExcludeNodes.Roger Dingledine2011-04-26
| | |
* | | Merge remote-tracking branch 'origin/maint-0.2.2'Nick Mathewson2011-04-07
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/common/address.c src/common/compat_libevent.c src/common/memarea.c src/common/util.h src/or/buffers.c src/or/circuitbuild.c src/or/circuituse.c src/or/connection.c src/or/directory.c src/or/networkstatus.c src/or/or.h src/or/routerlist.c
| * | Merge remote-tracking branch 'public/xxx_fixups' into maint-0.2.2Nick Mathewson2011-04-07
| |\ \ | | | | | | | | | | | | | | | | Conflicts: src/or/or.h
| | * | Triage the XXX022 and XXX021 comments remaining in the codeNick Mathewson2011-03-25
| | | | | | | | | | | | | | | | | | | | Remove some, postpone others, leave some alone. Now the only remaining XXX022s are ones that seem important to fix or investigate.
| * | | Use timevals, not time_t, when expiring circuits.Nick Mathewson2011-03-30
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We've got millisecond timers now, we might as well use them. This change won't actually make circuits get expiered with microsecond precision, since we only call the expiry functions once per second. Still, it should avoid the situation where we have a circuit get expired too early because of rounding. A couple of the expiry functions now call tor_gettimeofday: this should be cheap since we're only doing it once per second. If it gets to be called more often, though, we should onsider having the current time be an argument again.
* | | Merge remote-tracking branch 'origin/maint-0.2.2'Nick Mathewson2011-03-16
|\| | | | | | | | | | | | | | | | | | | | Trivial Conflicts in src/common/crypto.c src/or/main.h src/or/or.h
| * | Fix up all doxygen warnings other than "foo is not documented"Nick Mathewson2011-03-16
| | |
* | | clarify log messages based on suggestion from armaNick Mathewson2011-03-14
| | |
* | | finish a commentNick Mathewson2011-03-14
| | |
* | | Merge remote branch 'origin/maint-0.2.2'Nick Mathewson2011-03-14
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Resolved nontrivial conflict around rewrite_x_address_for_bridge and learned_bridge_descriptor. Now, since leanred_bridge_descriptor works on nodes, we must make sure that rewrite_node_address_for_bridge also works on nodes. Conflicts: src/or/circuitbuild.c
| * | Merge remote branch 'arma/bug2510' into maint-0.2.2Nick Mathewson2011-03-14
| |\ \
| | * | support multihomed bridges (bug 2510)Roger Dingledine2011-02-08
| | | |
* | | | Merge remote branch 'origin/maint-0.2.2'Nick Mathewson2011-03-08
|\| | |
| * | | Merge remote branch 'origin/maint-0.2.1' into maint-0.2.2Nick Mathewson2011-03-08
| |\ \ \ | | | |/ | | |/|
| | * | Avoid crash in any_pending_bridge_descriptor_fetchesNick Mathewson2011-03-08
| | | | | | | | | | | | | | | | | | | | This is based on shitlei's fix for bug2629, with extra parens removed. Fixes bug 2629, bugfix on 0.2.1.2-alpha.
* | | | Merge remote branch 'origin/maint-0.2.2'Nick Mathewson2011-02-22
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | There was a conflict from the node_t transition, but it was an easy fix. Conflicts: src/or/circuitbuild.c
| * | | prevent same entry and exit for insane edge caseRoger Dingledine2011-02-22
| | |/ | |/|
* | | Merge remote branch 'origin/maint-0.2.2'Nick Mathewson2011-01-26
|\| |
| * | Merge branch 'bug2321' into maint-0.2.2Nick Mathewson2011-01-26
| |\ \
| | * | Avoid sketchy integer cast in cbt codeNick Mathewson2011-01-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When calling circuit_build_times_shuffle_and_store_array, we were passing a uint32_t as an int. arma is pretty sure that this can't actually cause a bug, because of checks elsewhere in the code, but it's best not to pass a uint32_t as an int anyway. Found by doorss; fix on 0.2.2.4-alpha.
* | | | Merge remote branch 'origin/maint-0.2.2'Nick Mathewson2011-01-25
|\| | |
| * | | Comment remaining CBT functions.Mike Perry2011-01-25
| | | | | | | | | | | | | | | | | | | | | | | | Left circuit_build_times_get_bw_scale() uncommented because it is in the wrong place due to an improper bug2317 fix. It needs to be moved and renamed, as it is not a cbt parameter.
* | | | Merge remote branch 'origin/maint-0.2.2'Nick Mathewson2011-01-25
|\| | |
| * | | Fix bug #2004 by demoting a log message.Mike Perry2011-01-25
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | To quote arma: "So instead of stopping your CBT from screaming, you're just going to throw it in the closet and hope you can't hear it?" Yep. The log message can happen because at 95% point on the curve, we can be way beyond the max timeout we've seen, if the curve has few points and is shallow. Also applied Nick's rule of thumb for rewriting some other notice log messages to read like how you would explain them to a raving lunatic on #tor who was shouting at you demanding what they meant. Hopefully the changes live up to that standard.
* | | Merge branch 'maint-0.2.2'Roger Dingledine2011-01-15
|\| |
| * | Provide constant limits for all consensus paramsSebastian Hahn2011-01-15
| | | | | | | | | | | | | | | This addresses Nick's concern about doing non-constant bounds checking inside networkstatus_get_param().
| * | Sanity-check consensus param valuesSebastian Hahn2011-01-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We need to make sure that the worst thing that a weird consensus param can do to us is to break our Tor (and only if the other Tors are reliably broken in the same way) so that the majority of directory authorities can't pull any attacks that are worse than the DoS that they can trigger by simply shutting down. One of these worse things was the cbtnummodes parameter, which could lead to heap corruption on some systems if the value was sufficiently large. This commit fixes this particular issue and also introduces sanity checking for all consensus parameters.
* | | Merge remote branch 'origin/maint-0.2.2'Nick Mathewson2011-01-03
|\| |
| * | Merge remote branch 'origin/maint-0.2.1' into maint-0.2.2Nick Mathewson2011-01-03
| |\| | | | | | | | | | | | | Conflicts: src/or/routerparse.c
| | * fix whitespace issuesNick Mathewson2011-01-03
| | |
* | | Merge remote branch 'origin/maint-0.2.2'Nick Mathewson2011-01-03
|\| |
| * | Merge remote branch 'origin/maint-0.2.1' into maint-0.2.2Nick Mathewson2011-01-03
| |\| | | | | | | | | | | | | | | | Conflicts: src/common/test.h src/or/test.c
| | * Bump copyright statements to 2011Nick Mathewson2011-01-03
| | |
* | | Merge branch 'maint-0.2.2'Roger Dingledine2010-12-19
|\| |
| * | Merge remote branch fix_security_bug_021 into fix_security_bug_022Nick Mathewson2010-12-15
| |\| | | | | | | | | | | | | | | | | | | Conflicts: src/common/memarea.c src/or/or.h src/or/rendclient.c
| | * Make payloads into uint8_t.Nick Mathewson2010-12-15
| | | | | | | | | | | | This will avoid some signed/unsigned assignment-related bugs.
* | | Merge remote branch 'public/refactor_pports'Nick Mathewson2010-11-11
|\ \ \
| * | | Make the predicted ports logic a little simpler.Nick Mathewson2010-10-15
| | | | | | | | | | | | | | | | | | | | | | | | Mainly, this comes from turning two lists that needed to be kept in synch into a single list of structs. This should save a little RAM, and make the code simpler.
* | | | Fix up comments in choose_good_entry_server. Spotted by Robert Ransom.Nick Mathewson2010-10-29
|/ / /
* | | Fold timestamp_created into highres_createdNick Mathewson2010-10-15
| | | | | | | | | | | | | | | | | | | | | There's no reason to keep a time_t and a struct timeval to represent the same value: highres_created.tv_sec was the same as timestamp_created. This should save a few bytes per circuit.
* | | Remove "is this too slow?" XXXX comments for code not appearing in profilesNick Mathewson2010-10-15
| | |
* | | Merge remote branch 'arma/bug1982_2'Nick Mathewson2010-10-13
|\ \ \ | | | | | | | | | | | | | | | | Resolved a minor conflict in: src/or/circuitbuild.c
| * | | allow countries and IP addresses in EntryNodesRoger Dingledine2010-09-29
| | | |