summaryrefslogtreecommitdiff
path: root/src/or/control.c
AgeCommit message (Collapse)Author
2018-06-21Rectify include paths (automated)Nick Mathewson
2018-06-21Merge branch 'maint-0.3.4'Nick Mathewson
2018-06-20eol@eof is still the law in 0.3.4 :(Nick Mathewson
2018-06-20Merge branch 'maint-0.3.4'Nick Mathewson
2018-06-20Fix clang warnings introduced by 9f2b887c5d251b93ee9def708Nick Mathewson
2018-06-20Run rectify_include_paths.pyNick Mathewson
2018-06-20Update copyrights to 2018.Nick Mathewson
2018-06-18Merge branch 'split_or_h'Nick Mathewson
2018-06-17Merge remote-tracking branch 'rl1987/feature8323_squashed2'Nick Mathewson
2018-06-15Extract cached_dir_t into a new header.Nick Mathewson
2018-06-15Extract routerinfo_t into its own header.Nick Mathewson
I was expecting this to be much worse.
2018-06-15Extract microdesc_t into its own header.Nick Mathewson
2018-06-15Extract extrainfo_t into its own headerNick Mathewson
2018-06-15Extract desc_store_t and routerlist_t into their own headers.Nick Mathewson
2018-06-15Extract networkstatus_t and ..sr_info_t into their own headersNick Mathewson
2018-06-15Extract node_t into its own header.Nick Mathewson
2018-06-15Split socks_request_t into its own header.Nick Mathewson
2018-06-15Split rend_authorized_client_t and encoded_.._t into their own headersNick Mathewson
2018-06-15Extract rend_service_descriptor_t into its own header.Nick Mathewson
2018-06-15Extract cpath_build_state into its own header.Nick Mathewson
More modules use this than I had expected!
2018-06-15Extract {or,origin}_circuit_t into their own headersNick Mathewson
2018-06-15Move or_connection_t to its own header.Nick Mathewson
2018-06-15Split control_connection_t into its own header.Nick Mathewson
This one was actually fairly simple.
2018-06-15Split entry and edge_connection_t into their own headers.Nick Mathewson
2018-06-08Implement GETINFO md/allrl1987
2018-06-04Avoid casting smartlist index implicitlyrl1987
2018-05-14Merge branch 'bug25903_v5_squashed'Nick Mathewson
2018-05-11get rid of whitespace before #ifdef'sRoger Dingledine
i don't know if whitespace is ok to have before preprocessing directives on all platforms, but anyway we almost never have it, so now things are more uniform.
2018-05-11control: Mask the event(s) before using ANY_EVENT_IS_INTERESTING()David Goulet
Before this commit, the control events were never triggered. It was introduced with commit 0c19ce7bdece5906e035e71d3fb682632c8bb9cb. Fixes #26082 Signed-off-by: David Goulet <dgoulet@torproject.org>
2018-05-10Enable/disable per-second callback as needed.Nick Mathewson
There are three cases where this can happen: changes in our controller events, changes in our DisableNetwork setting, and changes in our hibernation state. Closes ticket 26063.
2018-05-09Bug 25903: Report new CIRC_BW fields to control port.Mike Perry
2018-05-09Comment-only fix: annotate we_are_hibernating() usageNick Mathewson
Everywhere we use we_are_hibernating(), remind the reader what it means. (Also, add an XXXX to note a DisableNetwork usage to change later.)
2018-05-09Give control.c responsibility for its own once-a-second eventsNick Mathewson
Now it has a function that can tell the rest of Tor whether any once-a-second controller item should fire, and a function to fire all the once-a-second events.
2018-05-09Add a macro to simplify control_update_global_event_mask().Nick Mathewson
2018-05-03Merge remote-tracking branch 'isis/bug24660_r1'Nick Mathewson
2018-05-03Merge remote-tracking branch 'github/ticket25951'Nick Mathewson
2018-05-01sr: Rename shared_random_common.{c|h} to shared_random_client.{c|h}David Goulet
No code behavior change. Pars of #25988 Signed-off-by: David Goulet <dgoulet@torproject.org>
2018-05-01Give queued_events_flush_all() responsibility for flushing log cbsNick Mathewson
This requires that when a log cb happens, the event for flushing queued events is scheduled, so we also add the necessary machinery to have that happen. Note that this doesn't actually help with logs from outside the main thread, but those were already suppressed: see #25987 for a ticket tracking that issue.
2018-04-27sr: Extract shared SR functionsDavid Goulet
Move most of the shared random functions that are needed outside of the dirauth module. At this commit, because dirvote.c hasn't been refactor, it doesn't compile because some SR functions need a dirvote function. Furthermore, 5 functions haven't been touched yet because they are dirauth only but are in used in other C files than the dirauth module ones. No code behavior change. Only moving code around. Signed-off-by: David Goulet <dgoulet@torproject.org>
2018-04-27mod: Move dirauth specific files to its own moduleDavid Goulet
This is a pretty big commit but it only moves these files to src/or/dirauth: dircollate.c dirvote.c shared_random.c shared_random_state.c dircollate.h dirvote.h shared_random.h shared_random_state.h Then many files are modified to change the include line for those header files that have moved into a new directory. Without using --disable-module-dirauth, everything builds fine. When using the flag to disable the module, tor doesn't build due to linking errors. This will be addressed in the next commit(s). No code behavior change. Signed-off-by: David Goulet <dgoulet@torproject.org>
2018-04-23Merge remote-tracking branch 'neel/b25511-r4'Nick Mathewson
2018-04-22Merge remote-tracking branch 'mikeperry/bug25400_squashed'Nick Mathewson
2018-04-22Merge branch 'bug25691_033_again_squashed'Nick Mathewson
2018-04-22control EXTENDCIRCUIT: check node_has_preferred_descriptor().Nick Mathewson
Suggested by teor during code review for 25691.
2018-04-22Rename node_has_descriptor() to node_has_any_descriptor()Nick Mathewson
Changing the name of this function should help keep us from misusing it when node_has_preferred_descriptor() would be more appropriate.
2018-04-16Add GETINFO current-time/{local,utc} command to ControlPortNeel Chauhan
2018-04-16Bug 25400: Make CIRC_BW event properly total everything on a circ.Mike Perry
2018-04-10Remove TestingEnableTbEmptyEventNick Mathewson
This option was used for shadow testing previously, but is no longer used for anything. It interferes with refactoring our token buckets.
2018-04-06crypto: Refactor (P)RNG functionality into new crypto_rand module.Isis Lovecruft
* ADD new /src/common/crypto_rand.[ch] module. * ADD new /src/common/crypto_util.[ch] module (contains the memwipe() function, since all crypto_* modules need this). * FIXES part of #24658: https://bugs.torproject.org/24658
2018-04-05Add an API for a scheduled/manually activated event in the mainloopNick Mathewson
Using this API lets us remove event2/event.h usage from half a dozen modules, to better isolate libevent. Implements part of ticket 23750.