aboutsummaryrefslogtreecommitdiff
path: root/src/or/circuitbuild.c
Commit message (Expand)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'•••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 Nick Mathewson2011-06-02
|\|
| * fix a bridge edge case similar to 2511•••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. Roger Dingledine2011-05-31
* | Merge remote-tracking branch 'origin/maint-0.2.2'•••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 Nick Mathewson2011-05-30
|\|
| * Merge branch 'bug3045' into maint-0.2.2•••Conflicts: src/or/circuitbuild.c Nick Mathewson2011-05-30
| |\
| | * Log descriptions of nodes, not just nicknames.•••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. Nick Mathewson2011-05-15
* | | 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.•••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. Nick Mathewson2011-05-23
* | | 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_digest•••Fixes bug 2313; bugfix on 0.2.2.26-beta. Nick Mathewson2011-05-17
| |/
* | Merge remote-tracking branch 'origin/maint-0.2.2'•••Conflicts: src/or/circuitbuild.h Nick Mathewson2011-05-15
|\|
| * Preserve bridge download status across SETCONF, HUP•••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. Nick Mathewson2011-05-15
* | Merge remote-tracking branch 'public/bug3122_memcmp_022' into bug3122_memcmp_023•••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 Nick Mathewson2011-05-11
|\|
| * Merge remote-tracking branch 'public/3122_memcmp_squashed' into bug3122_memcm...•••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 Nick Mathewson2011-05-11
| |\
| | * Hand-conversion and audit phase of memcmp transition•••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. Nick Mathewson2011-05-11
| | * Automated conversion of memcmp to tor_memcmp/tor_mem[n]eq•••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 Nick Mathewson2011-05-11
* | | Merge remote-tracking branch 'origin/maint-0.2.2'•••Conflicts: src/or/connection.c Nick Mathewson2011-05-09
|\| |
| * | Appease clang - and my tortured mind•••This possible div by 0 warning from clang's analyzer was quite fun to track down. Turns out the current behaviour is safe. Sebastian Hahn2011-05-09
* | | 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". Trivia...Nick Mathewson2011-05-03
* | | Don't choose exit nodes without desc available•••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! Sebastian Hahn2011-04-30
* | | 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 branch•••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. Nick Mathewson2011-04-27
|\| |
| * | better user-facing warnings for unexpected last hops•••these still aren't perfect, but we won't know how to correct them until we start experiencing surprised users. Roger Dingledine2011-04-27
| * | revert most of ef81649d2fc•••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. Roger Dingledine2011-04-27
| * | Add a circuit_purpose_to_string() function, and use it•••We had a circuit_purpose_to_controller_string() function, but it was pretty coarse-grained and didn't try to be human-readable. Nick Mathewson2011-04-27
| * | Explain the "using anyway" log message better•••Also add a request to report any cases where we are not honoring StrictNodes to the developers: These should now all be bugs. Sebastian Hahn2011-04-26
| * | If we have chosen an exit that shares a family with all bridges, fail the cir...•••We could probably do something smarter here, but the situation is unusual enough that it's okay to just fail the circuit. Nick Mathewson2011-04-26
| * | 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 set•••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.) Nick Mathewson2011-04-26
| * | 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.•••Also, ExitNodes are always strict. Roger Dingledine2011-04-26
| * | 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'•••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 Nick Mathewson2011-04-07
|\| |
| * | Merge remote-tracking branch 'public/xxx_fixups' into maint-0.2.2•••Conflicts: src/or/or.h Nick Mathewson2011-04-07
| |\ \
| | * | Triage the XXX022 and XXX021 comments remaining in the code•••Remove some, postpone others, leave some alone. Now the only remaining XXX022s are ones that seem important to fix or investigate. Nick Mathewson2011-03-25
| * | | Use timevals, not time_t, when expiring circuits.•••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. Nick Mathewson2011-03-30
| |/ /
* | | Merge remote-tracking branch 'origin/maint-0.2.2'•••Trivial Conflicts in src/common/crypto.c src/or/main.h src/or/or.h Nick Mathewson2011-03-16
|\| |
| * | 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