aboutsummaryrefslogtreecommitdiff
path: root/src/or/circuitbuild.c
Commit message (Expand)AuthorAge
* Merge remote-tracking branch 'origin/maint-0.2.2'Nick Mathewson2011-11-03
|\
| * Fix a memleak when fetching descriptors for bridges in ExcludeNodes.George Kadianakis2011-11-03
* | Merge remote-tracking branch 'asn2/bug3656'•••Conflicts: src/common/util.c src/common/util.h src/or/config.h src/or/main.c src/test/test_util.c Nick Mathewson2011-10-07
|\ \
| * | Improve wording in some comments and log messages.George Kadianakis2011-09-23
| * | Put some sense into our logging.•••Transform our logging severities to something more sensible. Remove sneaky printf()s. George Kadianakis2011-09-12
| * | Don't warn of stray Bridges if managed proxies are still unconfigured.•••With managed proxies you would always get the error message: "You have a Bridge line using the X pluggable transport, but there doesn't seem to be a corresponding ClientTransportPlugin line." because the check happened directly after parse_client_transport_line() when managed proxies were not fully configured and their transports were not registered. The fix is to move the validation to run_scheduled_events() and make sure that all managed proxies are configured first. George Kadianakis2011-09-11
| * | Make check-spaces happy.George Kadianakis2011-09-11
| * | Trivial fixes around the code.•••* C90-fy. * Remove ASN comments. * Don't smartlist_clear() before smartlist_free(). * Plug a mem. leak. George Kadianakis2011-09-11
| * | Prepare circuitbuild.[ch] and config.[ch] for SIGHUPs.•••* Create mark/sweep functions for transports. * Create a transport_resolve_conflicts() function that tries to resolve conflicts when registering transports. George Kadianakis2011-09-11
| * | Replaced some leftover assert()s with tor_assert()s.George Kadianakis2011-09-10
| * | Server transport proxies should bind on the same port each time, if possible.George Kadianakis2011-08-07
| * | Updated #includes etc. to use transports.[ch].George Kadianakis2011-07-18
| * | Changed a couple of 180 spec stuff according to #3578.•••* Restored "proxy" in external ServerTransportPlugin lines. * Changed the extended OR port and ORPort env. vars to addr:port. George Kadianakis2011-07-14
| * | Put some last missing pieces together.•••* Add some utility transport functions in circuitbuild.[ch] so that we can use them from pt.c. * Make the accounting system consider traffic coming from proxies. * Make sure that we only fetch bridge descriptors when all the transports are configured. George Kadianakis2011-07-13
* | | Merge branch 'maint-0.2.2'Roger Dingledine2011-09-28
|\ \ \ | | |/ | |/|
| * | bridges should use create_fast cells for their own circuits•••fixes bug 4124, as noticed in bug 4115 Roger Dingledine2011-09-28
* | | if we have enough usable guards, just pick one•••we don't need to check whether we don't have enough guards right after concluding that we do have enough. slight efficiency fix suggested by an anonymous fellow on irc. Roger Dingledine2011-09-27
* | | Merge branch 'maint-0.2.2'Roger Dingledine2011-09-24
|\| |
| * | Ticket #4063 - change circuit build timeout log entries from NOTICE to INFOTom Lowenthal2011-09-24
* | | Merge remote-tracking branch 'origin/maint-0.2.2'•••Conflicts: configure.in src/or/circuitbuild.c Nick Mathewson2011-09-09
|\| |
| * | Use %f with printf-style formatting, not %lf•••For printf, %f and %lf are synonymous, since floats are promoted to doubles when passed as varargs. It's only for scanf that we need to say "%lf" for doubles and "%f" for floats. Apparenly, some older compilers think it's naughty to say %lf and like to spew warnings about it. Found by grarpamp. Nick Mathewson2011-08-30
| * | Switch a SMARTLIST_FOREACH in circuitbuild.c to BEGIN/END•••It had some cpp stuff inside, and older GCCs don't like preprocessor directives inside macro arguments. Found by grarpamp. Nick Mathewson2011-08-30
* | | Remove a now-needless test.Nick Mathewson2011-09-07
* | | Move entry-only fields from edge_connection_t to entry_connection_t•••Also, refactor the code accordingly. Nick Mathewson2011-07-21
* | | Remove compare_addr_to_node_policy•••Instead, use compare_tor_addr_to_node_policy everywhere. One advantage of this is that compare_tor_addr_to_node_policy can better distinguish 0.0.0.0 from "unknown", which caused a nasty bug with microdesc users. Nick Mathewson2011-07-15
* | | Merge branch 'bug2798'Nick Mathewson2011-07-11
|\ \ \
| * | | Tweaks to bug2798 based on comments by armaNick Mathewson2011-07-11
| * | | Revise code for adding EntryNodes to guards.•••Previously, we'd just take all the nodes in EntryNodes, see which ones were already in the guard list, and add the ones that weren't. There were some problems there, though: * We'd add _every_ entry in EntryNodes, and add them in the order they appeared in the routerlist. This wasn't a problem until we added the ability to give country-code or IP-range entries in the EntryNodes set, but now that we did, it is. (Fix: We now shuffle the entry nodes before adding them; only add up to 10*NumEntryGuards) * We didn't screen EntryNodes for the Guard flag. That's okay if the user has specified two or three entry nodes manually, but if they have listed a whole subcontinent, we should restrict ourselves to the entries that are currently guards. (Fix: separate out the new guard from the new non-guard nodes, and add the Guards first.) * We'd prepend new EntryNodes _before_ the already configured EntryNodes. This could lead to churn. (Fix: don't prepend these.) This patch also pre-screens EntryNodes entries for reachableaddresses/excludenodes, even though we check for that later. This is important now, since we cap the number of entries we'll add. Nick Mathewson2011-07-11
* | | | Merge branch 'bug2616'Nick Mathewson2011-07-11
|\ \ \ \
| * | | | Rename and tweak nodelist_add_node_family() to add node•••It's very easy for nodelist_add_node_family(sl,node) to accidentally add 'node', and kind of hard to make sure that it omits it. Instead of taking pains to leave 'node' out, let's instead make sure that we always include it. I also rename the function to nodelist_add_node_and_family, and audit its users so that they don't add the node itself any longer, since the function will take care of that for them. Resolves bug 2616, which was not actually a bug. Nick Mathewson2011-07-11
| |/ / /
* | | | Disable recording new broken conns when we have bootstrapped•••Rationale: right now there seems to be no way for our bootstrap status to dip under 100% once it has reached 100%. Thus, recording broken connections after that point is useless, and wastes memory. If at some point in the future we allow our bootstrap level to go backwards, then we should change this rule so that we disable recording broken connection states _as long as_ the bootstrap status is 100%. Nick Mathewson2011-07-11
* | | | Clear broken connection map on successful bootstrapNick Mathewson2011-07-11
* | | | Merge remote-tracking branch 'public/bug2841'•••Conflicts: src/or/config.c Nick Mathewson2011-07-11
|\ \ \ \ | |/ / / |/| | / | | |/ | |/|
| * | Refactor the interfaces of transport/proxy lookup fns•••Returning a tristate is needless here; we can just use the yielded transport/proxy_type field to tell whether there's a proxy, and have the return indicate success/failure. Also, store the proxy_type in the or_connection_t rather than letting it get out of sync if a configuration reload happens between launching the or_connection and deciding what to say with it. Nick Mathewson2011-07-03
| * | Style and grammar tweaks on 2841 branchNick Mathewson2011-07-02
| * | Small tweaks to 2841 code••• - const-ify some transport_t pointers - Remove a vestigial argument to parse_bridge_line - Make it compile without warnings on my laptop with --enable-gcc-warnings Nick Mathewson2011-07-02
| * | Trivial code tweaks and documentation updates.George Kadianakis2011-06-28
| * | Revised how we handle ClientTransportPlugin and Bridge lines.•••Multiple Bridge lines can point to the same one ClientTransportPlugin line, and we can have multiple ClientTransportPlugin lines in our configuration file that don't match with a bridge. We also issue a warning when we have a Bridge line with a pluggable transport but we can't match it to a ClientTransportPlugin line. George Kadianakis2011-06-22
| * | Fixes on circuitbuild.[ch] based on nick's comments.•••* Renamed transport_info_t to transport_t. * Introduced transport_get_by_name(). * Killed match_bridges_with_transports(). We currently *don't* detect whether any bridges miss their transports, of if any transports miss their bridges. * Various code and aesthetic tweaks and English language changes. George Kadianakis2011-06-21
| * | Fixes small bugs.George Kadianakis2011-06-14
| * | Various trivial changes.•••* Improved function documentation. * Renamed find_bridge_transport_by_addrport() to find_transport_by_bridge_addrport(). * Sanitized log severities we use. * Ran check-spaces. George Kadianakis2011-06-12
| * | We can now connect using transports as well!George Kadianakis2011-06-12
| * | We can now match our transports with our bridges.George Kadianakis2011-06-11
* | | Kill redundant checks around routerset_contains_*()•••All of the routerset_contains*() functions return 0 if their routerset_t argument is NULL. Therefore, there's no point in doing "if (ExcludeNodes && routerset_contains*(ExcludeNodes...))", for example. This patch fixes every instance of if (X && routerstatus_contains*(X,...)) Note that there are other patterns that _aren't_ redundant. For example, we *don't* want to change: if (EntryNodes && !routerstatus_contains(EntryNodes,...)) Fixes #2797. No bug here; just needless code. Nick Mathewson2011-07-07
* | | Merge branch 'maint-0.2.2'Roger Dingledine2011-07-06
|\ \ \ | | |/ | |/|
| * | appease check-spacesRoger Dingledine2011-07-06
* | | Merge branch 'bug3465-022' into bug3465-023•••* bug3465-022: Add BUILDTIMEOUT_SET to the result of GETINFO events/names Correct a comment Fix minor comment issues Robert Ransom2011-06-25
|\| |
| * | Fix minor comment issuesRobert Ransom2011-06-23
* | | Make the get_options() return const•••This lets us make a lot of other stuff const, allows the compiler to generate (slightly) better code, and will make me get slightly fewer patches from folks who stick mutable stuff into or_options_t. const: because not every input is an output! Nick Mathewson2011-06-14
| |/ |/|
* | Merge remote-tracking branch 'origin/maint-0.2.2'Nick Mathewson2011-06-06
|\|