aboutsummaryrefslogtreecommitdiff
path: root/src/or/control.c
Commit message (Expand)AuthorAge
...
| | * Split control connection cleanup out of connection_freeRobert Ransom2011-05-20
| | * Add an XXXRobert Ransom2011-05-20
| | * Fix trailing asterisk in the output of "GETINFO info/names"Robert Ransom2011-05-20
| | * Exit immediately if we can't monitor our owning controller process•••tor_process_monitor_new can't currently return NULL, but if it ever can, we want that to be an explicitly fatal error, without relying on the fact that monitor_owning_controller_process's chain of caller will exit if it fails. Robert Ransom2011-05-20
| | * Implement __OwningControllerProcess option•••Implements part of feature 3049. Robert Ransom2011-05-20
* | | Merge remote-tracking branch 'origin/maint-0.2.2'•••Conflicts: src/or/config.c src/or/dirserv.c src/or/or.h Nick Mathewson2011-05-13
|\| |
| * | Add a ControlPortFileGroupWritable optionNick Mathewson2011-05-13
| * | Write automatically-chosen control ports to a file.Nick Mathewson2011-05-13
| * | new GETINFO command to return list of listeners of a given typeNick Mathewson2011-05-13
* | | 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
|\| |
| * | Add an assert to un-confuse clang's analyzer•••The analyzer assumed that bootstrap_percent could be less than 0 when we call control_event_bootstrap_problem(), which would mean we're calling log_fn() with undefined values. The assert makes it clear this can't happen. Sebastian Hahn2011-05-09
| * | Fix a docstringSebastian Hahn2011-05-09
* | | Replace _AUTHORITY enum values with _DIRINFO values (automted)Nick Mathewson2011-05-05
* | | Merge remote-tracking branch 'origin/maint-0.2.2'•••Conflicts: src/or/main.h Nick Mathewson2011-04-26
|\| |
| * | Expose a new process_signal(uintptr_t), not signal_callback()•••This is a tweak to the bug2917 fix. Basically, if we want to simulate a signal arriving in the controller, we shouldn't have to pretend that we're Libevent, or depend on how Tor sets up its Libevent callbacks. Nick Mathewson2011-04-26
| * | Make SIGNAL DUMP work on FreeBSD•••While doing so, get rid of the now unnecessary function control_signal_act(). Fixes bug 2917, reported by Robert Ransom. Bugfix on commit 9b4aa8d2abbce71398e58188209a1b1d04885b96. This patch is loosely based on a patch by Robert (Changelog entry). Sebastian Hahn2011-04-15
* | | Merge remote-tracking branch 'origin/maint-0.2.2'Nick Mathewson2011-04-07
|\| |
| * | Allow controllers a more up-to-date view of bridge usage.•••Instead of answering GETINFO requests about our geoip usage only after running for 24 hours, this patch makes us answer GETINFO requests immediately. We still round and quantize as before. Implements bug2711. Also, refactor the heck out of the bridge usage formatting code. No longer should we need to do a generate-parse-and-regenerate cycle to get the controller string, and that lets us simplify the code a lot. Nick Mathewson2011-04-07
* | | Fix wide lines in control.cNick Mathewson2011-01-07
* | | GETINFO options for querying traffic usage•••This was originally a patch provided by pipe (http://www.mail-archive.com/or-talk@freehaven.net/msg13085.html) to provide a method for controllers to query the total amount of traffic tor has handled (this is a frequently requested piece of information by relay operators). Damian Johnson2011-01-07
* | | Tweak GETINFO process/* code: no need to print an int as anything other than %dNick Mathewson2011-01-03
* | | Implementing getinfo options for the pid, uid, user, and descriptor limit as ...Damian Johnson2011-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.2•••Conflicts: src/common/test.h src/or/test.c Nick Mathewson2011-01-03
| |\|
| | * Bump copyright statements to 2011Nick Mathewson2011-01-03
* | | Merge remote branch 'origin/maint-0.2.2'Nick Mathewson2010-12-02
|\| |
| * | Fix a harmless off-by-one error in counting controller argument lengths•••Bugfix on 0.1.1.1-alpha; found by boboper. Nick Mathewson2010-12-02
* | | Add missing cast when formatting uintptr_t•••Found by Christian Kujau Nick Mathewson2010-11-20
* | | Fix wide lines in SIGNAL patchNick Mathewson2010-11-19
* | | Add a SIGNAL event for control connections•••Implements ticket #1955 John Brooks2010-11-19
* | | Merge branch 'nodes'Nick Mathewson2010-10-13
|\ \ \
| * | | Initial conversion to use node_t throughout our codebase.•••A node_t is an abstraction over routerstatus_t, routerinfo_t, and microdesc_t. It should try to present a consistent interface to all of them. There should be a node_t for a server whenever there is * A routerinfo_t for it in the routerlist * A routerstatus_t in the current_consensus. (note that a microdesc_t alone isn't enough to make a node_t exist, since microdescriptors aren't usable on their own.) There are three ways to get a node_t right now: looking it up by ID, looking it up by nickname, and iterating over the whole list of microdescriptors. All (or nearly all) functions that are supposed to return "a router" -- especially those used in building connections and circuits -- should return a node_t, not a routerinfo_t or a routerstatus_t. A node_t should hold all the *mutable* flags about a node. This patch moves the is_foo flags from routerinfo_t into node_t. The flags in routerstatus_t remain, but they get set from the consensus and should not change. Some other highlights of this patch are: * Looking up routerinfo and routerstatus by nickname is now unified and based on the "look up a node by nickname" function. This tries to look only at the values from current consensus, and not get confused by the routerinfo_t->is_named flag, which could get set for other weird reasons. This changes the behavior of how authorities (when acting as clients) deal with nodes that have been listed by nickname. * I tried not to artificially increase the size of the diff here by moving functions around. As a result, some functions that now operate on nodes are now in the wrong file -- they should get moved to nodelist.c once this refactoring settles down. This moving should happen as part of a patch that moves functions AND NOTHING ELSE. * Some old code is now left around inside #if 0/1 blocks, and should get removed once I've verified that I don't want it sitting around to see how we used to do things. There are still some unimplemented functions: these are flagged with "UNIMPLEMENTED_NODELIST()." I'll work on filling in the implementation here, piece by piece. I wish this patch could have been smaller, but there did not seem to be any piece of it that was independent from the rest. Moving flags forces many functions that once returned routerinfo_t * to return node_t *, which forces their friends to change, and so on. Nick Mathewson2010-10-01
| * | | Try to make most routerstatus_t interfaces constNick Mathewson2010-10-01
| * | | Try to make most routerinfo_t interfaces constNick Mathewson2010-10-01
* | | | Use connection_mark_and_flush consistently.Nick Mathewson2010-10-13
|/ / /
* | | Fix more remaining users of inbuf/outbuf to handle bufferevents instead.Nick Mathewson2010-09-27
* | | Move the "stop writing when the buffer is empty" logic to cnnection_finished_...Nick Mathewson2010-09-27
* | | Add a new connection_fetch_from_buf_line() that can handle buffereventsNick Mathewson2010-09-27
|/ /
* | Rename has_completed_circuit to can_complete_circuit•••Also redocument it. Related to #1362. Nick Mathewson2010-09-22
* | Fix misplaced labelsSebastian Hahn2010-08-16
* | Create routerparse.hSebastian Hahn2010-07-27
* | Create reasons.hSebastian Hahn2010-07-27
* | Create policies.hSebastian Hahn2010-07-27
* | Create networkstatus.hSebastian Hahn2010-07-27
* | Create main.hSebastian Hahn2010-07-27
* | Create hibernate.hSebastian Hahn2010-07-27