aboutsummaryrefslogtreecommitdiff
path: root/src/or/control.c
AgeCommit message (Collapse)Author
2018-07-05Move literally everything out of src/orNick Mathewson
This commit won't build yet -- it just puts everything in a slightly more logical place. The reasoning here is that "src/core" will hold the stuff that every (or nearly every) tor instance will need in order to do onion routing. Other features (including some necessary ones) will live in "src/feature". The "src/app" directory will hold the stuff needed to have Tor be an application you can actually run. This commit DOES NOT refactor the former contents of src/or into a logical set of acyclic libraries, or change any code at all. That will have to come in the future. We will continue to move things around and split them in the future, but I hope this lays a reasonable groundwork for doing so.
2018-07-05Clean up include paths for libtor-evloop (automated)Nick Mathewson
2018-07-03Merge remote-tracking branch 'github/ticket26626'Nick Mathewson
2018-07-03Return U64_PRINTF_ARG and U64_FORMATNick Mathewson
The standard is printf("%"PRIu64, x);
2018-07-01Remove system headers from or.hNick Mathewson
2018-07-01Remove needless includes from or.hNick Mathewson
or.h should really include only the minimum of stuff from or/*, common/*, and lib/*.
2018-07-01Merge branch 'maint-0.3.4'Nick Mathewson
2018-07-01Merge branch 'maint-0.3.3' into maint-0.3.4Nick Mathewson
2018-06-28Fix paths for buffers.h; automated.Nick Mathewson
2018-06-27control: Make HSPOST properly parse HSADDRESS= paramDavid Goulet
For HSv3, the HSADDRESS= wasn't properly parsed for the HSPOST command. It now correctly use it and furthermore sends back a "200 OK" in case the command is successful for a v3 descriptor. Fixes #26523 Signed-off-by: David Goulet <dgoulet@torproject.org>
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>