tor/src/or
Nick Mathewson 5719dfb48f Move the "activate linked connections" logic to a postloop event.
A linked connection_t is one that gets its I/O, not from the
network, but from another connection_t.  When such a connection has
something to write, we want the corresponding connection to run its
read callback ... but not immediately, to avoid infinite recursion
and/or event loop starvation.

Previously we handled this case by activating the read events
outside the event loop.  Now we use the "postloop event" logic.
This lets us simplify do_main_loop_once() a little.
2018-04-13 10:44:15 -04:00
..
addressmap.c Convert remaining function (mostly static) to new free style 2017-12-08 14:47:19 -05:00
addressmap.h Run our #else/#endif annotator on our source code. 2017-09-15 16:24:44 -04:00
auth_dirs.inc Lift the list of default directory servers into their own file. 2018-04-09 16:00:26 +02:00
bridges.c Merge remote-tracking branch 'isis-github/bug25425_squashed2' 2018-04-10 15:32:26 -04:00
bridges.h test: Add testing module and some unittests for bridges.c. 2018-04-09 19:32:46 +00:00
channel.c Merge remote-tracking branch 'fristonio/ticket-25645' 2018-04-03 19:19:02 -04:00
channel.h Merge branch 'maint-0.3.1' into maint-0.3.2 2018-02-16 09:54:13 -05:00
channelpadding.c Remove an unnecessary event2 include. 2018-04-02 11:11:34 -04:00
channelpadding.h Run our #else/#endif annotator on our source code. 2017-09-15 16:24:44 -04:00
channeltls.c Merge branch 'maint-0.3.1' into maint-0.3.2 2018-02-16 09:54:13 -05:00
channeltls.h Run our #else/#endif annotator on our source code. 2017-09-15 16:24:44 -04:00
circpathbias.c Fix spelling mistakes corresponding to ticket #23650 2018-02-07 10:41:57 -05:00
circpathbias.h Run our #else/#endif annotator on our source code. 2017-09-15 16:24:44 -04:00
circuitbuild.c Merge remote-tracking branch 'public/split_relay_crypto' 2018-04-05 12:12:18 -04:00
circuitbuild.h rephist: Stop tracking EXTEND attempts 2018-02-06 12:43:55 -05:00
circuitlist.c Merge remote-tracking branch 'public/split_relay_crypto' 2018-04-05 12:12:18 -04:00
circuitlist.h Merge branch 'maint-0.3.2' 2017-12-11 09:45:17 -05:00
circuitmux_ewma.c cmux: Rename cell_ewma_set_scale_factor() 2018-02-15 13:51:34 -05:00
circuitmux_ewma.h cmux: Rename cell_ewma_set_scale_factor() 2018-02-15 13:51:34 -05:00
circuitmux.c cmux: Always use the cmux policy 2018-02-15 14:54:24 -05:00
circuitmux.h Merge branch 'maint-0.3.2' 2017-12-21 10:54:05 -05:00
circuitstats.c Fix spelling mistakes corresponding to ticket #23650 2018-02-07 10:41:57 -05:00
circuitstats.h Report close and timeout rates since uptime, not based on data. 2017-12-07 00:04:39 +00:00
circuituse.c Merge branch 'maint-0.3.3' 2018-04-11 10:48:46 -04:00
circuituse.h Implement layer 2 and layer 3 guard pinning via torrc. 2018-01-19 22:21:48 +00:00
command.c use channel_is_client for create cell counts 2018-04-02 01:00:31 -04:00
command.h Run our #else/#endif annotator on our source code. 2017-09-15 16:24:44 -04:00
config.c Merge branch 'maint-0.3.3' 2018-04-12 12:25:51 -04:00
config.h Use less memory for MaxMemInQueues for machines with more than 8 GB of RAM. 2018-04-12 11:14:16 -04:00
confparse.c Update free functions into macros: src/or/ part 1 2017-12-08 14:47:19 -05:00
confparse.h Simplify the very repetitious options_transition_allowed() 2017-12-15 15:32:46 -05:00
connection_edge.c refactor: rename connection_t struct fields. 2018-02-01 03:12:38 +01:00
connection_edge.h Run our #else/#endif annotator on our source code. 2017-09-15 16:24:44 -04:00
connection_or.c test: Add unittest for the OR connection failure cache 2018-03-27 12:43:39 -04:00
connection_or.h test: Add unittest for the OR connection failure cache 2018-03-27 12:43:39 -04:00
connection.c Merge remote-tracking branch 'fristonio/ticket-25261' 2018-02-20 10:03:52 -05:00
connection.h Fix wide lines introduced by previous patch. 2017-12-08 14:47:19 -05:00
conscache.c Merge branch 'macro_free_v2_squashed' 2017-12-08 14:58:43 -05:00
conscache.h Fix wide lines introduced by previous patch. 2017-12-08 14:47:19 -05:00
consdiff.c Improve fragile-hardening performance of consensus_split_lines. 2018-01-16 12:42:40 -05:00
consdiff.h Run our #else/#endif annotator on our source code. 2017-09-15 16:24:44 -04:00
consdiffmgr.c Merge branch 'maint-0.3.2' 2018-01-31 10:06:49 -05:00
consdiffmgr.h Run our #else/#endif annotator on our source code. 2017-09-15 16:24:44 -04:00
control.c Add an API for a scheduled/manually activated event in the mainloop 2018-04-05 12:35:11 -04:00
control.h control: Don't use void pointer for ADD_ONION secret key 2017-12-05 19:39:46 -05:00
cpuworker.c Move responsibility for threadpool reply-handler events to workqueue 2018-04-05 12:36:28 -04:00
cpuworker.h Run our #else/#endif annotator on our source code. 2017-09-15 16:24:44 -04:00
dircollate.c Convert remaining function (mostly static) to new free style 2017-12-08 14:47:19 -05:00
dircollate.h Fix wide lines introduced by previous patch. 2017-12-08 14:47:19 -05:00
directory.c Merge branch 'maint-0.3.3' 2018-03-03 11:53:05 -05:00
directory.h remove the max_failures argument from download_status_is_ready. 2018-01-31 15:03:47 -05:00
dirserv.c Merge branch 'maint-0.3.3' 2018-04-02 08:51:47 -04:00
dirserv.h Fix spelling mistakes corresponding to ticket #23650 2018-02-07 10:41:57 -05:00
dirvote.c Fix spelling mistakes corresponding to ticket #23650 2018-02-07 10:41:57 -05:00
dirvote.h Merge branch 'macro_free_v2_squashed' 2017-12-08 14:58:43 -05:00
dns_structs.h Run our #else/#endif annotator on our source code. 2017-09-15 16:24:44 -04:00
dns.c Merge branch 'bug21394_029_redux' into maint-0.3.3 2018-04-04 08:55:37 -04:00
dns.h Run our #else/#endif annotator on our source code. 2017-09-15 16:24:44 -04:00
dnsserv.c Merge branch 'bug25617_029' into maint-0.3.3 2018-03-29 14:58:58 -04:00
dnsserv.h Run our #else/#endif annotator on our source code. 2017-09-15 16:24:44 -04:00
dos.c Merge remote-tracking branch 'dgoulet/bug25223_029_01' into ticket24902_029_05 2018-02-13 13:11:10 -05:00
dos.h dos: Make sure cc_stats_refill_bucket can't overflow while calculating 2018-01-31 09:27:59 -05:00
entrynodes.c fix confusing comment 2018-04-05 15:59:37 -04:00
entrynodes.h Improve doc of primary_guards_up_to_date. 2018-02-07 11:46:30 +02:00
ext_orport.c Convert remaining function (mostly static) to new free style 2017-12-08 14:47:19 -05:00
ext_orport.h Convert remaining function (mostly static) to new free style 2017-12-08 14:47:19 -05:00
fallback_dirs.inc Add 7 other fallback dirs from teor's tests 2018-01-08 11:03:44 -05:00
fp_pair.c Change the free macro convention in the rest of src/or/*.h 2017-12-08 14:47:19 -05:00
fp_pair.h Change the free macro convention in the rest of src/or/*.h 2017-12-08 14:47:19 -05:00
geoip.c Switch to use should_record_bridge_info() 2018-04-05 08:37:39 -04:00
geoip.h Merge branch 'maint-0.3.1' into maint-0.3.2 2018-02-16 09:54:13 -05:00
git_revision.c Move tor_git_revision into a new module. 2017-10-18 13:49:35 -04:00
git_revision.h re-run ./scripts/maint/annotate_ifdef_directives 2017-11-21 14:07:43 -05:00
hibernate.c refactor: using get_uptime() (and reset_uptime()) consistently. 2018-01-31 02:36:38 +01:00
hibernate.h Run our #else/#endif annotator on our source code. 2017-09-15 16:24:44 -04:00
hs_cache.c more fixes for typos, grammar, whitespace, etc 2018-02-07 12:22:29 -05:00
hs_cache.h hs-v3: Add an encoded descriptor client cache lookup function 2017-11-20 11:02:30 -05:00
hs_cell.c hs: Fix two typos in an inline comment. 2018-03-22 22:33:34 +00:00
hs_cell.h Run our #else/#endif annotator on our source code. 2017-09-15 16:24:44 -04:00
hs_circuit.c whitespace and typo cleanups 2018-02-09 17:05:20 -05:00
hs_circuit.h Merge branch 'maint-0.3.2' 2017-12-11 09:45:17 -05:00
hs_circuitmap.c Merge remote-tracking branch 'ffmancera/github/bug23459' 2017-12-11 09:53:39 -05:00
hs_circuitmap.h Split client-side get_rend_circ into two functions. 2017-12-08 18:14:08 +01:00
hs_client.c Remove a bunch of other redundant #includes 2018-02-20 10:14:15 -05:00
hs_client.h hs-v3: Attempt descriptor refetch when dirinfo changes 2017-10-31 12:14:11 -04:00
hs_common.c Remove a bunch of other redundant #includes 2018-02-20 10:14:15 -05:00
hs_common.h Merge branch 'maint-0.3.2' 2018-01-19 16:30:53 -05:00
hs_config.c Fix spelling mistakes corresponding to ticket #23650 2018-02-07 10:41:57 -05:00
hs_config.h Run our #else/#endif annotator on our source code. 2017-09-15 16:24:44 -04:00
hs_control.c Check the return value of hs_parse_address(). 2017-12-06 14:56:52 +01:00
hs_control.h hs-v3: Add an handler for the HSPOST command 2017-12-05 19:39:46 -05:00
hs_descriptor.c Fix wide lines from typo-fix patch. 2018-02-07 10:46:05 -05:00
hs_descriptor.h Fix wide lines introduced by previous patch. 2017-12-08 14:47:19 -05:00
hs_ident.c Change the free macro convention in the rest of src/or/*.h 2017-12-08 14:47:19 -05:00
hs_ident.h Fix wide lines introduced by previous patch. 2017-12-08 14:47:19 -05:00
hs_intropoint.c Remove a bunch of other redundant #includes 2018-02-20 10:14:15 -05:00
hs_intropoint.h Run our #else/#endif annotator on our source code. 2017-09-15 16:24:44 -04:00
hs_ntor.c Explicit length checks in create_rend_cpath(). 2017-07-07 11:12:27 -04:00
hs_ntor.h Run our #else/#endif annotator on our source code. 2017-09-15 16:24:44 -04:00
hs_service.c Merge branch 'maint-0.3.3' 2018-03-23 17:49:29 -04:00
hs_service.h Merge branch 'macro_free_v2_squashed' 2017-12-08 14:58:43 -05:00
hs_stats.c Add onion service activity information to our heartbeat logs. 2018-01-23 12:31:06 +02:00
hs_stats.h Add onion service activity information to our heartbeat logs. 2018-01-23 12:31:06 +02:00
include.am Merge branch 'maint-0.3.2' into maint-0.3.3 2018-04-10 14:26:32 -04:00
keypin.c Merge branch 'bug24658-rm-curve25519-header' into bug24658-merge 2018-03-26 20:12:59 -04:00
keypin.h Run our #else/#endif annotator on our source code. 2017-09-15 16:24:44 -04:00
main.c Move the "activate linked connections" logic to a postloop event. 2018-04-13 10:44:15 -04:00
main.h refactor: using get_uptime() (and reset_uptime()) consistently. 2018-01-31 02:36:38 +01:00
Makefile.nmake Netflow record collapsing defense. 2017-05-08 13:49:21 -04:00
microdesc.c remove the max_failures argument from download_status_is_ready. 2018-01-31 15:03:47 -05:00
microdesc.h Change the free macro convention in the rest of src/or/*.h 2017-12-08 14:47:19 -05:00
networkstatus.c Merge remote-tracking branch 'fristonio/ticket-24740' 2018-03-23 11:22:58 -04:00
networkstatus.h Add networkstatus_consensus_has_ipv6() and unit tests 2017-12-11 00:34:19 +11:00
nodelist.c Merge branch 'maint-0.3.3' 2018-03-28 14:23:06 -04:00
nodelist.h Merge branch 'maint-0.3.3' 2018-03-28 14:23:06 -04:00
ntmain.c Add wrappers for event_base_loopexit and event_base_loopbreak. 2018-04-05 12:36:05 -04:00
ntmain.h Run our #else/#endif annotator on our source code. 2017-09-15 16:24:44 -04:00
onion_fast.c Fix spelling mistakes corresponding to ticket #23650 2018-02-07 10:41:57 -05:00
onion_fast.h Replace all FREE_AND_NULL* uses to take a type and a free function. 2017-12-08 14:47:19 -05:00
onion_ntor.c Include crypto_digest.h in order to solve dependency issues. 2018-02-03 17:04:36 +01:00
onion_ntor.h Replace all FREE_AND_NULL* uses to take a type and a free function. 2017-12-08 14:47:19 -05:00
onion_tap.c Rename the hybrid_encrypt/decrypt functions; label them as dangerous 2017-07-24 14:34:53 -04:00
onion_tap.h Run our #else/#endif annotator on our source code. 2017-09-15 16:24:44 -04:00
onion.c Fix a stack-protector warning: don't use a variable-length buffer 2018-02-15 20:52:01 -05:00
onion.h Fix wide lines introduced by previous patch. 2017-12-08 14:47:19 -05:00
or.h Merge branch 'maint-0.3.3' 2018-04-11 10:48:46 -04:00
parsecommon.c Fix warnings about passing uninitialized buffers into functions 2017-09-12 21:32:42 -04:00
parsecommon.h Run our #else/#endif annotator on our source code. 2017-09-15 16:24:44 -04:00
periodic.c Add an API for a scheduled/manually activated event in the mainloop 2018-04-05 12:35:11 -04:00
periodic.h Add an API for a scheduled/manually activated event in the mainloop 2018-04-05 12:35:11 -04:00
policies.c Fix spelling mistakes corresponding to ticket #23650 2018-02-07 10:41:57 -05:00
policies.h Fix wide lines introduced by previous patch. 2017-12-08 14:47:19 -05:00
proto_cell.c Add unit tests for var_cell and control0 proto functions. 2017-09-27 09:09:00 -04:00
proto_cell.h Run our #else/#endif annotator on our source code. 2017-09-15 16:24:44 -04:00
proto_control0.c Refactor buffer APIs to put a buf_t first. 2017-09-05 13:57:51 -04:00
proto_control0.h Run our #else/#endif annotator on our source code. 2017-09-15 16:24:44 -04:00
proto_ext_or.c Refactor buffer APIs to put a buf_t first. 2017-09-05 13:57:51 -04:00
proto_ext_or.h Run our #else/#endif annotator on our source code. 2017-09-15 16:24:44 -04:00
proto_http.c Refactor buffer APIs to put a buf_t first. 2017-09-05 13:57:51 -04:00
proto_http.h Run our #else/#endif annotator on our source code. 2017-09-15 16:24:44 -04:00
proto_socks.c Allow IPv6 address strings to be used as hostnames in SOCKS5 requests 2018-03-28 07:39:03 -04:00
proto_socks.h Fix wide lines introduced by previous patch. 2017-12-08 14:47:19 -05:00
protover_rust.c re-run ./scripts/maint/annotate_ifdef_directives 2017-11-21 14:07:43 -05:00
protover.c protover: Change protover_all_supported() to return only unsupported. 2018-04-02 19:59:12 +00:00
protover.h move a macro; fix a build? 2017-12-08 15:11:18 -05:00
reasons.c Fix spelling mistakes corresponding to ticket #23650 2018-02-07 10:41:57 -05:00
reasons.h Run our #else/#endif annotator on our source code. 2017-09-15 16:24:44 -04:00
relay_crypto.c Document a requirement for cells to be encrypted. 2018-03-24 13:49:44 -04:00
relay_crypto.h Extract the cryptographic parts of crypt_path_t and or_circuit_t. 2018-03-17 10:59:15 -04:00
relay.c Merge remote-tracking branch 'public/split_relay_crypto' 2018-04-05 12:12:18 -04:00
relay.h Merge remote-tracking branch 'public/split_relay_crypto' 2018-04-05 12:12:18 -04:00
rendcache.c more fixes for typos, grammar, whitespace, etc 2018-02-07 12:22:29 -05:00
rendcache.h Fix spelling mistakes corresponding to ticket #23650 2018-02-07 10:41:57 -05:00
rendclient.c Merge remote-tracking branch 'valentecaio/t-24714' 2018-02-15 20:19:53 -05:00
rendclient.h Run our #else/#endif annotator on our source code. 2017-09-15 16:24:44 -04:00
rendcommon.c Change the free macro convention in the rest of src/or/*.h 2017-12-08 14:47:19 -05:00
rendcommon.h Fix wide lines introduced by previous patch. 2017-12-08 14:47:19 -05:00
rendmid.c Merge branch 'maint-0.3.1' into maint-0.3.2 2018-02-16 09:54:13 -05:00
rendmid.h Run our #else/#endif annotator on our source code. 2017-09-15 16:24:44 -04:00
rendservice.c more fixes for typos, grammar, whitespace, etc 2018-02-07 12:22:29 -05:00
rendservice.h Fix spelling mistakes corresponding to ticket #23650 2018-02-07 10:41:57 -05:00
rephist.c Remove a bunch of other redundant #includes 2018-02-20 10:14:15 -05:00
rephist.h rephist: Stop tracking relay connection status 2018-02-06 12:56:36 -05:00
replaycache.c whitespace and typo cleanups 2018-02-09 17:05:20 -05:00
replaycache.h Fix wide lines introduced by previous patch. 2017-12-08 14:47:19 -05:00
router.c Refactor: suppress duplicated functions from router.c and encapsulate NODE_DESC_BUF_LEN constant. 2018-03-06 20:42:32 +01:00
router.h Refactor: suppress duplicated functions from router.c and encapsulate NODE_DESC_BUF_LEN constant. 2018-03-06 20:42:32 +01:00
routerkeys.c Merge branch 'maint-0.3.2' 2018-01-31 09:19:55 -05:00
routerkeys.h Run our #else/#endif annotator on our source code. 2017-09-15 16:24:44 -04:00
routerlist.c Merge branch 'ticket23814' into maint-0.3.3 2018-03-03 11:53:01 -05:00
routerlist.h Fix wide lines introduced by previous patch. 2017-12-08 14:47:19 -05:00
routerparse.c Merge branch 'ticket23814' into maint-0.3.3 2018-03-03 11:53:01 -05:00
routerparse.h Fix a failing unit test. 2018-01-31 14:06:37 -05:00
routerset.c Change the free macro convention in the rest of src/or/*.h 2017-12-08 14:47:19 -05:00
routerset.h Replace all FREE_AND_NULL* uses to take a type and a free function. 2017-12-08 14:47:19 -05:00
scheduler_kist.c Add an API for a scheduled/manually activated event in the mainloop 2018-04-05 12:35:11 -04:00
scheduler_vanilla.c Add an API for a scheduled/manually activated event in the mainloop 2018-04-05 12:35:11 -04:00
scheduler.c Add an API for a scheduled/manually activated event in the mainloop 2018-04-05 12:35:11 -04:00
scheduler.h Add an API for a scheduled/manually activated event in the mainloop 2018-04-05 12:35:11 -04:00
shared_random_state.c Fix spelling mistakes corresponding to ticket #23650 2018-02-07 10:41:57 -05:00
shared_random_state.h Convert remaining function (mostly static) to new free style 2017-12-08 14:47:19 -05:00
shared_random.c Fix spelling mistakes corresponding to ticket #23650 2018-02-07 10:41:57 -05:00
shared_random.h Replace all FREE_AND_NULL* uses to take a type and a free function. 2017-12-08 14:47:19 -05:00
statefile.c Change the free macro convention in the rest of src/or/*.h 2017-12-08 14:47:19 -05:00
statefile.h Replace all FREE_AND_NULL* uses to take a type and a free function. 2017-12-08 14:47:19 -05:00
status.c Remove a bunch of other redundant #includes 2018-02-20 10:14:15 -05:00
status.h Run our #else/#endif annotator on our source code. 2017-09-15 16:24:44 -04:00
tor_api_internal.h re-run ./scripts/maint/annotate_ifdef_directives 2017-11-21 14:07:43 -05:00
tor_api.c Add a public tor_api.h with an implementation in tor_api.c 2017-11-01 13:22:09 -04:00
tor_api.h Update the documentation in tor_api.h 2018-03-13 10:00:41 +01:00
tor_main.c Add a mostly disabled feature to debug restarting in-process 2018-01-19 09:52:05 -05:00
torcert.c Merge branch 'maint-0.3.2' 2018-01-31 09:19:55 -05:00
torcert.h Merge branch 'maint-0.3.2' 2018-01-31 09:19:55 -05:00
transports.c Merge remote-tracking branch 'isis-github/bug25425_squashed2' 2018-04-10 15:32:26 -04:00
transports.h test: Add testing module and some unittests for bridges.c. 2018-04-09 19:32:46 +00:00