aboutsummaryrefslogtreecommitdiff
path: root/src/or/circuitbuild.c
Commit message (Collapse)AuthorAge
...
| * Detect insanely large circuit build state; don't give its length to rand_intNick Mathewson2011-06-06
| |
* | Merge remote-tracking branch 'origin/maint-0.2.2'Nick Mathewson2011-06-02
|\| | | | | | | | | | | | | | | This merge was a bit nontrivial, since I had to write a new node_is_a_configured_bridge to parallel router_is_a_configured_bridge. Conflicts: src/or/circuitbuild.c
| * fix a bridge edge case similar to 2511Roger Dingledine2011-05-31
| | | | | | | | | | If you had configured a bridge but then switched to a different bridge via the controller, you would still be willing to use the old one.
* | Merge remote-tracking branch 'origin/maint-0.2.2'Nick Mathewson2011-05-30
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | The conflicts were mainly caused by the routerinfo->node transition. Conflicts: src/or/circuitbuild.c src/or/command.c src/or/connection_edge.c src/or/directory.c src/or/dirserv.c src/or/relay.c src/or/rendservice.c src/or/routerlist.c
| * Merge branch 'bug3045' into maint-0.2.2Nick Mathewson2011-05-30
| |\ | | | | | | | | | | | | Conflicts: src/or/circuitbuild.c
| | * Log descriptions of nodes, not just nicknames.Nick Mathewson2011-05-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch introduces a few new functions in router.c to produce a more helpful description of a node than its nickame, and then tweaks nearly all log messages taking a nickname as an argument to call these functions instead. There are a few cases where I left the old log messages alone: in these cases, the nickname was that of an authority (whose nicknames are useful and unique), or the message already included an identity and/or an address. I might have missed a couple more too. This is a fix for bug 3045.
* | | Merge branch 'maint-0.2.2'Roger Dingledine2011-05-29
|\| |
| * | answer an XXX nickm asked in aa950e6c4Roger Dingledine2011-05-29
| | |
* | | Merge remote-tracking branch 'origin/maint-0.2.2'Nick Mathewson2011-05-28
|\| |
| * | Fix GCC 4.6's new -Wunused-but-set-variable warnings.Nick Mathewson2011-05-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Most instances were dead code; for those, I removed the assignments. Some were pieces of info we don't currently plan to use, but which we might in the future. For those, I added an explicit cast-to-void to indicate that we know that the thing's unused. Finally, one was a case where we were testing the wrong variable in a unit test. That one I fixed. This resolves bug 3208.
* | | Merge branch 'maint-0.2.2'Roger Dingledine2011-05-21
|\| |
| * | what's up with this trailing whitespaceRoger Dingledine2011-05-20
| | |
* | | Merge remote-tracking branch 'origin/maint-0.2.2'Nick Mathewson2011-05-17
|\| |
| * | Handle NULL argument to get_configured_bridge_by_addr_port_digestNick Mathewson2011-05-17
| |/ | | | | | | Fixes bug 2313; bugfix on 0.2.2.26-beta.
* | Merge remote-tracking branch 'origin/maint-0.2.2'Nick Mathewson2011-05-15
|\| | | | | | | | | Conflicts: src/or/circuitbuild.h
| * Preserve bridge download status across SETCONF, HUPNick Mathewson2011-05-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This code changes it so that we don't remove bridges immediately when we start re-parsing our configuration. Instead, we mark them all, and remove all the marked ones after re-parsing our bridge lines. As we add a bridge, we see if it's already in the list. If so, we just unmark it. This new behavior will lose the property we used to have that bridges were in bridge_list in the same order in which they appeared in the torrc. I took a quick look through the code, and I'm pretty sure we didn't actually depend on that anywhere. This is for bug 3019; it's a fix on 0.2.0.3-alpha.
* | Merge remote-tracking branch 'public/bug3122_memcmp_022' into bug3122_memcmp_023Nick Mathewson2011-05-11
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts in various places, mainly node-related. Resolved them in favor of HEAD, with copying of tor_mem* operations from bug3122_memcmp_022. src/common/Makefile.am src/or/circuitlist.c src/or/connection_edge.c src/or/directory.c src/or/microdesc.c src/or/networkstatus.c src/or/router.c src/or/routerlist.c src/test/test_util.c
| * Merge remote-tracking branch 'public/3122_memcmp_squashed' into ↵Nick Mathewson2011-05-11
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | bug3122_memcmp_022 Conflicts throughout. All resolved in favor of taking HEAD and adding tor_mem* or fast_mem* ops as appropriate. src/common/Makefile.am src/or/circuitbuild.c src/or/directory.c src/or/dirserv.c src/or/dirvote.c src/or/networkstatus.c src/or/rendclient.c src/or/rendservice.c src/or/router.c src/or/routerlist.c src/or/routerparse.c src/or/test.c
| | * Hand-conversion and audit phase of memcmp transitionNick Mathewson2011-05-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Here I looked at the results of the automated conversion and cleaned them up as follows: If there was a tor_memcmp or tor_memeq that was in fact "safe"[*] I changed it to a fast_memcmp or fast_memeq. Otherwise if there was a tor_memcmp that could turn into a tor_memneq or tor_memeq, I converted it. This wants close attention. [*] I'm erring on the side of caution here, and leaving some things as tor_memcmp that could in my opinion use the data-dependent fast_memcmp variant.
| | * Automated conversion of memcmp to tor_memcmp/tor_mem[n]eqNick Mathewson2011-05-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit is _exactly_ the result of perl -i -pe 's/\bmemcmp\(/tor_memcmp\(/g' src/*/*.[ch] perl -i -pe 's/\!\s*tor_memcmp\(/tor_memeq\(/g' src/*/*.[ch] perl -i -pe 's/0\s*==\s*tor_memcmp\(/tor_memeq\(/g' src/*/*.[ch] perl -i -pe 's/0\s*!=\s*tor_memcmp\(/tor_memneq\(/g' src/*/*.[ch] git checkout src/common/di_ops.[ch] git checkout src/or/test.c git checkout src/common/test.h
* | | Merge remote-tracking branch 'origin/maint-0.2.2'Nick Mathewson2011-05-09
|\| | | | | | | | | | | | | | Conflicts: src/or/connection.c
| * | Appease clang - and my tortured mindSebastian Hahn2011-05-09
| | | | | | | | | | | | | | | This possible div by 0 warning from clang's analyzer was quite fun to track down. Turns out the current behaviour is safe.
* | | Replace _AUTHORITY enum values with _DIRINFO values (automted)Nick Mathewson2011-05-05
| | |
* | | Merge remote-tracking branch 'origin/maint-0.2.2'Nick Mathewson2011-05-03
|\| |
| * | Fix circuit_list_path_impl(): internal circuits do not have an "exit". ↵Nick Mathewson2011-05-03
| | | | | | | | | | | | Trivial fix for 3079.
* | | Don't choose exit nodes without desc availableSebastian Hahn2011-04-30
| | | | | | | | | | | | | | | | | | | | | n_supported[i] has a random value prior to initialization, so a node that doesn't have routerinfo available can have a random priority. Patch contributed by wanoskarnet from #tor. Thanks!
* | | Merge remote-tracking branch 'origin/maint-0.2.2'Nick Mathewson2011-04-28
|\| |
| * | stop putting wacky values into state->lastwrittenRoger Dingledine2011-04-28
| | |
* | | Merge remote-tracking branch 'origin/maint-0.2.2'Nick Mathewson2011-04-28
|\| |
| * | fix a function commentRoger Dingledine2011-04-28
| | |
* | | Merge maint-0.2.2 for the bug1090-part1-squashed branchNick Mathewson2011-04-27
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Resolved conflicts in: doc/tor.1.txt src/or/circuitbuild.c src/or/circuituse.c src/or/connection_edge.c src/or/connection_edge.h src/or/directory.c src/or/rendclient.c src/or/routerlist.c src/or/routerlist.h These were mostly releated to the routerinfo_t->node_t conversion.
| * | better user-facing warnings for unexpected last hopsRoger Dingledine2011-04-27
| | | | | | | | | | | | | | | these still aren't perfect, but we won't know how to correct them until we start experiencing surprised users.
| * | revert most of ef81649d2fcRoger Dingledine2011-04-27
| | | | | | | | | | | | | | | | | | | | | | | | Now we believe it to be the case that we never build a circuit for our stream that has an unsuitable exit, so we'll never need to use such a circuit. The risk is that we have some code that builds the circuit, but now we refuse to use it, meaning we just build a bazillion circuits and ignore them all.
| * | Add a circuit_purpose_to_string() function, and use itNick Mathewson2011-04-27
| | | | | | | | | | | | | | | We had a circuit_purpose_to_controller_string() function, but it was pretty coarse-grained and didn't try to be human-readable.
| * | Explain the "using anyway" log message betterSebastian Hahn2011-04-26
| | | | | | | | | | | | | | | Also add a request to report any cases where we are not honoring StrictNodes to the developers: These should now all be bugs.
| * | 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
| | |