2012-08-02 15:31:43 +02:00
|
|
|
bin_PROGRAMS+= src/or/tor
|
2013-06-06 20:56:05 +02:00
|
|
|
noinst_LIBRARIES += \
|
|
|
|
src/or/libtor.a
|
|
|
|
if UNITTESTS_ENABLED
|
|
|
|
noinst_LIBRARIES += \
|
|
|
|
src/or/libtor-testing.a
|
|
|
|
endif
|
2013-07-09 18:37:11 +02:00
|
|
|
if COVERAGE_ENABLED
|
|
|
|
noinst_PROGRAMS+= src/or/tor-cov
|
|
|
|
endif
|
2012-08-02 15:31:43 +02:00
|
|
|
|
|
|
|
if BUILD_NT_SERVICES
|
|
|
|
tor_platform_source=src/or/ntmain.c
|
|
|
|
else
|
|
|
|
tor_platform_source=
|
|
|
|
endif
|
|
|
|
|
2015-03-12 09:04:28 +01:00
|
|
|
EXTRA_DIST+= src/or/ntmain.c src/or/Makefile.nmake
|
2012-08-02 15:31:43 +02:00
|
|
|
|
2013-06-06 20:56:05 +02:00
|
|
|
LIBTOR_A_SOURCES = \
|
2012-10-28 21:13:58 +01:00
|
|
|
src/or/addressmap.c \
|
2016-11-15 13:49:06 +01:00
|
|
|
src/or/bridges.c \
|
Add channel.c/channel.h for bug 6465
Note: this is a squashed commit; see branch bug6465_rebased_v2 of user/andrea/tor.git for full history of the following 90 commits:
Add channel.c/channel.h for bug 6465
Fix make check-spaces in new channel.c/channel.h
Make sure new channel.h is in nodist_HEADERS and Makefile.nmake is up to date too
Add channel_state_t and state utility functions
Add channel_change_state()
Better comments in channel.h
Add CHANNEL_STATE_LISTENING for channel_t
Fix wide line in channel.c
Add structures/prototypes for incoming cell handling
Implement channel_queue_cell() and channel_queue_var_cell()
Implement channel_process_cells()
Fix asserts in channel_queue_cell() and channel_queue_var_cell()
Add descriptive comments for channel_queue_cell() and channel_queue_var_cell()
Implement channel cell handler getters/setters
Queue outgoing writes when not in writeable state
Drain queues and test assertions when changing channel_t state
Add log_debug() messages for channel_t stuff
Add log_debug() messages for channel_t stuff
Add some channel_t metadata
Add time_t client_used to channel_t
Add channel_touched_by_client()
Declare a few channel_t metadata queries we'll have to implement later for use by circuitbuild.c
Add next_circ_id/circ_id_type to channel_t for use by circuitbuild.c
Count n_circuits in channel_t
Channel timestamp calls
Add create timestamp for channel.h
Declare some new metadata queries on channel_t
Add get_real_remote_descr() prototype
Move active_circuits stuff to channel_t, some other or.h and channel.h changes
Make channel_t refcounted and use global lists of active channels
Update channel_request_close() and channel_change_state() for channel_t registration mechanism
Handle closing channels sensibly
Add global_identifier for channels, channel_init() internal use function
Add timestamp_last_added_nonpadding to channel_t
Better comments in channel_init()
Correctly handle next_circ_id in channel_init()
Correctly handle next_circ_id in channel_init() and even compile this time
Appease make check-spaces
Update timestamps when writing cells to channel_t
Add channel_flush_some_cells() to call channel_flush_from_first_active_circuit()
Add registered channel lookup functions
Get rid of client_used in or_connection_t; it's in channel_t now
Get rid of circ_id_type in or_connection_t; implement channel_set_circ_id_type()
Eliminate is_bad_for_new_circs in or_connection_t; implement getter/setter for it in channel_t
Eliminate next_circ_id in or_connection_t in favor of channel_t
Handle packed cells in channel_t for relay.c
Add channel_identity_map and related functions
Handle add/remove from channel identity map on state transitions
Implement channel_is_local() and channel_mark_local()
Implement channel_is_client() and channel_mark_client()
Implement channel_is_outgoing() and channel_mark_outgoing()
Eliminate declaration for redundant channel_nonopen_was_started_here()
Add channel timestamps
Add channel timestamps, fix some make-check-spaces complaints
Remove redundant channel_was_started_here() function and initiated_remotely bit
Rename channel_get_remote_descr()/channel_get_real_remote_descr() to something clearer in channel.h
Replace channel_get_write_queue_len() with sufficient and easier to implement channel_has_queued_writes() in channel.h
Change return type of channel_is_bad_for_new_circs() to int for consistency
Implement channel_has_queued_writes()
Rename channel_touched_by_client() and client_used field for consistency with other timestamps in channel.{c,h}
Implement channel_get_actual_remote_descr() and channel_get_canonical_remote_descr() in channel.{c,h}
Implement channel_matches_extend_info() in channel.{c,h}
Implement channel_get_for_extend() and channel_is_better() in channel.{c,h}
Make channel_is_better() public in channel.{c,h}
Implement channel_matches_target_addr_for_extend() in channel.{c,h}
Implement channel_is_canonical_is_reliable() in channel.{c,h}
Demoronize get_remote_descr() method prototype - what the hell was I thinking there?
Timestamp channels in the right places in channel.c
Add missing tor_assert() in channel.c
Check if the lower layer accepted a cell in channel_write_cell() et al. of channel.c
Implement channel_flush_cells() in channel.c (w00t, it builds at last)
Call channel_timestamp_drained() at the right places in channel.c
Implement channel_run_cleanup()
Support optional channel_get_remote_addr() method and use it for GeoIP in channel_do_open_actions()
Get rid of channel refcounting; it'll be too complicated to handle it properly with all the pointers from circuits to channels, and closing from channel_run_cleanup() will work okay just like with connections
Doxygenate channel.c
Appease make check-spaces in channel.c
Fix superfluous semicolons in channel.c
Add/remove channels from identity digest map in all the right places in channel.c
The cell queues on channel_t must be empty when going to a CLOSED or ERROR state
Appease make check-spaces in channel.c
Add channel_clear/set_identity_digest() and some better logging to channel.{c,h}
Fix better logging to channel.c
Avoid SIGSEGV testing for queue emptiness in channel_flush_some_cells_from_outgoing_queue()
Remove TODO about checking cell queue in channel_free(); no need for it
Appease make check-spaces in channel.c
Add channel_free_all() and support functions
Check nullness of active_circuit_pqueue in channel_free()
Fix SMARTLIST_FOREACH_END usage in channel_process_cells()
Rearrange channel_t struct to use a union distinguishing listener from cell-bearing channels in channel.{c,h}
2012-07-31 06:49:39 +02:00
|
|
|
src/or/channel.c \
|
2016-09-06 20:35:53 +02:00
|
|
|
src/or/channelpadding.c \
|
2012-08-01 13:18:42 +02:00
|
|
|
src/or/channeltls.c \
|
2013-10-31 19:17:32 +01:00
|
|
|
src/or/circpathbias.c \
|
2012-08-02 15:31:43 +02:00
|
|
|
src/or/circuitbuild.c \
|
|
|
|
src/or/circuitlist.c \
|
2012-09-21 23:45:32 +02:00
|
|
|
src/or/circuitmux.c \
|
2012-10-01 06:41:25 +02:00
|
|
|
src/or/circuitmux_ewma.c \
|
2012-10-15 20:48:34 +02:00
|
|
|
src/or/circuitstats.c \
|
2012-08-02 15:31:43 +02:00
|
|
|
src/or/circuituse.c \
|
|
|
|
src/or/command.c \
|
2012-09-12 23:34:50 +02:00
|
|
|
src/or/config.c \
|
|
|
|
src/or/confparse.c \
|
2012-08-02 15:31:43 +02:00
|
|
|
src/or/connection.c \
|
|
|
|
src/or/connection_edge.c \
|
|
|
|
src/or/connection_or.c \
|
2017-04-04 15:35:39 +02:00
|
|
|
src/or/conscache.c \
|
2017-03-07 15:58:30 +01:00
|
|
|
src/or/consdiff.c \
|
2017-04-06 20:46:45 +02:00
|
|
|
src/or/consdiffmgr.c \
|
2012-08-02 15:31:43 +02:00
|
|
|
src/or/control.c \
|
|
|
|
src/or/cpuworker.c \
|
|
|
|
src/or/directory.c \
|
|
|
|
src/or/dirserv.c \
|
2018-04-25 15:06:29 +02:00
|
|
|
src/or/dirvote_common.c \
|
2012-08-02 15:31:43 +02:00
|
|
|
src/or/dns.c \
|
|
|
|
src/or/dnsserv.c \
|
2018-01-25 21:54:58 +01:00
|
|
|
src/or/dos.c \
|
2015-08-18 04:30:02 +02:00
|
|
|
src/or/fp_pair.c \
|
2012-08-02 15:31:43 +02:00
|
|
|
src/or/geoip.c \
|
2017-01-16 19:19:44 +01:00
|
|
|
src/or/entrynodes.c \
|
|
|
|
src/or/ext_orport.c \
|
2017-10-18 19:49:35 +02:00
|
|
|
src/or/git_revision.c \
|
2017-01-16 19:19:44 +01:00
|
|
|
src/or/hibernate.c \
|
2016-03-29 21:08:04 +02:00
|
|
|
src/or/hs_cache.c \
|
2017-02-21 20:20:39 +01:00
|
|
|
src/or/hs_cell.c \
|
2017-01-16 19:19:44 +01:00
|
|
|
src/or/hs_circuit.c \
|
2017-05-12 17:39:46 +02:00
|
|
|
src/or/hs_circuitmap.c \
|
2017-01-16 19:19:44 +01:00
|
|
|
src/or/hs_client.c \
|
2016-05-31 20:51:30 +02:00
|
|
|
src/or/hs_common.c \
|
2017-01-16 19:19:44 +01:00
|
|
|
src/or/hs_config.c \
|
2017-11-10 18:07:57 +01:00
|
|
|
src/or/hs_control.c \
|
2016-03-08 21:51:53 +01:00
|
|
|
src/or/hs_descriptor.c \
|
2017-05-12 17:39:46 +02:00
|
|
|
src/or/hs_ident.c \
|
|
|
|
src/or/hs_intropoint.c \
|
|
|
|
src/or/hs_ntor.c \
|
|
|
|
src/or/hs_service.c \
|
2018-01-23 11:31:06 +01:00
|
|
|
src/or/hs_stats.c \
|
2014-10-02 21:34:23 +02:00
|
|
|
src/or/keypin.c \
|
2012-08-02 15:31:43 +02:00
|
|
|
src/or/main.c \
|
|
|
|
src/or/microdesc.c \
|
|
|
|
src/or/networkstatus.c \
|
|
|
|
src/or/nodelist.c \
|
|
|
|
src/or/onion.c \
|
2012-12-04 22:09:52 +01:00
|
|
|
src/or/onion_fast.c \
|
|
|
|
src/or/onion_tap.c \
|
2012-08-02 15:31:43 +02:00
|
|
|
src/or/transports.c \
|
2016-03-11 19:26:04 +01:00
|
|
|
src/or/parsecommon.c \
|
2015-11-02 15:48:18 +01:00
|
|
|
src/or/periodic.c \
|
2016-08-10 01:11:47 +02:00
|
|
|
src/or/protover.c \
|
2017-10-11 21:21:20 +02:00
|
|
|
src/or/protover_rust.c \
|
2017-08-08 17:51:36 +02:00
|
|
|
src/or/proto_cell.c \
|
|
|
|
src/or/proto_control0.c \
|
2017-08-08 18:23:39 +02:00
|
|
|
src/or/proto_ext_or.c \
|
2017-08-08 17:51:36 +02:00
|
|
|
src/or/proto_http.c \
|
|
|
|
src/or/proto_socks.c \
|
2012-08-02 15:31:43 +02:00
|
|
|
src/or/policies.c \
|
|
|
|
src/or/reasons.c \
|
|
|
|
src/or/relay.c \
|
2018-03-17 15:21:57 +01:00
|
|
|
src/or/relay_crypto.c \
|
2015-06-18 17:00:10 +02:00
|
|
|
src/or/rendcache.c \
|
2012-08-02 15:31:43 +02:00
|
|
|
src/or/rendclient.c \
|
|
|
|
src/or/rendcommon.c \
|
|
|
|
src/or/rendmid.c \
|
|
|
|
src/or/rendservice.c \
|
|
|
|
src/or/rephist.c \
|
|
|
|
src/or/replaycache.c \
|
|
|
|
src/or/router.c \
|
2014-09-30 22:00:17 +02:00
|
|
|
src/or/routerkeys.c \
|
2012-08-02 15:31:43 +02:00
|
|
|
src/or/routerlist.c \
|
|
|
|
src/or/routerparse.c \
|
2012-09-13 18:46:39 +02:00
|
|
|
src/or/routerset.c \
|
2013-08-25 17:45:07 +02:00
|
|
|
src/or/scheduler.c \
|
2017-07-10 22:10:29 +02:00
|
|
|
src/or/scheduler_kist.c \
|
|
|
|
src/or/scheduler_vanilla.c \
|
2018-04-24 17:34:31 +02:00
|
|
|
src/or/shared_random_common.c \
|
2012-09-12 23:58:33 +02:00
|
|
|
src/or/statefile.c \
|
2012-08-02 15:31:43 +02:00
|
|
|
src/or/status.c \
|
2014-09-30 22:00:17 +02:00
|
|
|
src/or/torcert.c \
|
2017-10-18 20:26:29 +02:00
|
|
|
src/or/tor_api.c \
|
2014-10-27 14:37:50 +01:00
|
|
|
src/or/onion_ntor.c \
|
2015-04-01 15:54:20 +02:00
|
|
|
$(tor_platform_source)
|
2012-08-02 15:31:43 +02:00
|
|
|
|
2018-04-03 21:06:34 +02:00
|
|
|
#
|
|
|
|
# Modules are conditionnally compiled in tor starting here. We add the C files
|
2018-04-27 17:33:22 +02:00
|
|
|
# only if the modules has been enabled at configure time. We always add the
|
|
|
|
# source files of every module to libtor-testing.a so we can build the unit
|
|
|
|
# tests for everything.
|
2018-04-03 21:06:34 +02:00
|
|
|
#
|
|
|
|
|
|
|
|
# The Directory Authority module.
|
2018-04-27 17:33:22 +02:00
|
|
|
MODULE_DIRAUTH_SOURCES = \
|
2018-04-05 20:27:30 +02:00
|
|
|
src/or/dirauth/dircollate.c \
|
|
|
|
src/or/dirauth/dirvote.c \
|
|
|
|
src/or/dirauth/shared_random.c \
|
|
|
|
src/or/dirauth/shared_random_state.c
|
2018-04-27 17:33:22 +02:00
|
|
|
if BUILD_MODULE_DIRAUTH
|
|
|
|
LIBTOR_A_SOURCES += $(MODULE_DIRAUTH_SOURCES)
|
2018-04-03 21:06:34 +02:00
|
|
|
endif
|
|
|
|
|
2013-06-06 20:56:05 +02:00
|
|
|
src_or_libtor_a_SOURCES = $(LIBTOR_A_SOURCES)
|
2018-04-27 17:33:22 +02:00
|
|
|
src_or_libtor_testing_a_SOURCES = $(LIBTOR_A_SOURCES) $(MODULE_DIRAUTH_SOURCES)
|
2013-06-06 20:56:05 +02:00
|
|
|
|
2012-08-02 15:31:43 +02:00
|
|
|
src_or_tor_SOURCES = src/or/tor_main.c
|
2012-08-27 16:00:22 +02:00
|
|
|
AM_CPPFLAGS += -I$(srcdir)/src/or -Isrc/or
|
2012-08-02 15:31:43 +02:00
|
|
|
|
2016-01-08 13:05:46 +01:00
|
|
|
src/or/tor_main.$(OBJEXT) \
|
|
|
|
src/or/src_or_tor_cov-tor_main.$(OBJEXT): micro-revision.i
|
2012-08-02 15:31:43 +02:00
|
|
|
|
2015-08-18 04:30:02 +02:00
|
|
|
AM_CPPFLAGS += -DSHARE_DATADIR="\"$(datadir)\"" \
|
|
|
|
-DLOCALSTATEDIR="\"$(localstatedir)\"" \
|
|
|
|
-DBINDIR="\"$(bindir)\""
|
2012-08-02 15:31:43 +02:00
|
|
|
|
2015-03-20 13:12:09 +01:00
|
|
|
src_or_libtor_testing_a_CPPFLAGS = $(AM_CPPFLAGS) $(TEST_CPPFLAGS)
|
2013-07-09 18:37:11 +02:00
|
|
|
src_or_libtor_testing_a_CFLAGS = $(AM_CFLAGS) $(TEST_CFLAGS)
|
2013-06-06 20:56:05 +02:00
|
|
|
|
2012-08-02 15:31:43 +02:00
|
|
|
# -L flags need to go in LDFLAGS. -l flags need to go in LDADD.
|
|
|
|
# This seems to matter nowhere but on windows, but I assure you that it
|
|
|
|
# matters a lot there, and is quite hard to debug if you forget to do it.
|
|
|
|
|
|
|
|
|
|
|
|
src_or_tor_LDFLAGS = @TOR_LDFLAGS_zlib@ @TOR_LDFLAGS_openssl@ @TOR_LDFLAGS_libevent@
|
2016-04-13 00:59:40 +02:00
|
|
|
src_or_tor_LDADD = src/or/libtor.a src/common/libor.a src/common/libor-ctime.a \
|
2015-12-18 23:15:01 +01:00
|
|
|
src/common/libor-crypto.a $(LIBKECCAK_TINY) $(LIBDONNA) \
|
2014-09-30 22:00:17 +02:00
|
|
|
src/common/libor-event.a src/trunnel/libor-trunnel.a \
|
2017-01-23 20:28:10 +01:00
|
|
|
src/trace/libor-trace.a \
|
2017-08-10 10:08:41 +02:00
|
|
|
$(rust_ldadd) \
|
2012-08-02 15:31:43 +02:00
|
|
|
@TOR_ZLIB_LIBS@ @TOR_LIB_MATH@ @TOR_LIBEVENT_LIBS@ @TOR_OPENSSL_LIBS@ \
|
2017-08-10 10:08:41 +02:00
|
|
|
@TOR_LIB_WS32@ @TOR_LIB_GDI@ @TOR_LIB_USERENV@ \
|
|
|
|
@CURVE25519_LIBS@ @TOR_SYSTEMD_LIBS@ \
|
|
|
|
@TOR_LZMA_LIBS@ @TOR_ZSTD_LIBS@
|
2012-08-02 15:31:43 +02:00
|
|
|
|
2013-07-09 18:37:11 +02:00
|
|
|
if COVERAGE_ENABLED
|
|
|
|
src_or_tor_cov_SOURCES = src/or/tor_main.c
|
2015-03-20 13:12:09 +01:00
|
|
|
src_or_tor_cov_CPPFLAGS = $(AM_CPPFLAGS) $(TEST_CPPFLAGS)
|
2013-07-09 18:37:11 +02:00
|
|
|
src_or_tor_cov_CFLAGS = $(AM_CFLAGS) $(TEST_CFLAGS)
|
|
|
|
src_or_tor_cov_LDFLAGS = @TOR_LDFLAGS_zlib@ @TOR_LDFLAGS_openssl@ @TOR_LDFLAGS_libevent@
|
|
|
|
src_or_tor_cov_LDADD = src/or/libtor-testing.a src/common/libor-testing.a \
|
2016-04-13 00:59:40 +02:00
|
|
|
src/common/libor-ctime-testing.a \
|
2015-12-18 23:15:01 +01:00
|
|
|
src/common/libor-crypto-testing.a $(LIBKECCAK_TINY) $(LIBDONNA) \
|
2014-09-30 22:00:17 +02:00
|
|
|
src/common/libor-event-testing.a src/trunnel/libor-trunnel-testing.a \
|
2013-07-09 18:37:11 +02:00
|
|
|
@TOR_ZLIB_LIBS@ @TOR_LIB_MATH@ @TOR_LIBEVENT_LIBS@ @TOR_OPENSSL_LIBS@ \
|
2017-04-18 13:56:02 +02:00
|
|
|
@TOR_LIB_WS32@ @TOR_LIB_GDI@ @CURVE25519_LIBS@ @TOR_SYSTEMD_LIBS@ \
|
2017-04-18 17:54:59 +02:00
|
|
|
@TOR_LZMA_LIBS@ @TOR_ZSTD_LIBS@
|
2013-07-09 18:37:11 +02:00
|
|
|
endif
|
|
|
|
|
2012-09-06 15:56:48 +02:00
|
|
|
ORHEADERS = \
|
2012-10-28 21:13:58 +01:00
|
|
|
src/or/addressmap.h \
|
2018-04-06 03:58:16 +02:00
|
|
|
src/or/auth_dirs.inc \
|
2016-11-15 13:49:06 +01:00
|
|
|
src/or/bridges.h \
|
Add channel.c/channel.h for bug 6465
Note: this is a squashed commit; see branch bug6465_rebased_v2 of user/andrea/tor.git for full history of the following 90 commits:
Add channel.c/channel.h for bug 6465
Fix make check-spaces in new channel.c/channel.h
Make sure new channel.h is in nodist_HEADERS and Makefile.nmake is up to date too
Add channel_state_t and state utility functions
Add channel_change_state()
Better comments in channel.h
Add CHANNEL_STATE_LISTENING for channel_t
Fix wide line in channel.c
Add structures/prototypes for incoming cell handling
Implement channel_queue_cell() and channel_queue_var_cell()
Implement channel_process_cells()
Fix asserts in channel_queue_cell() and channel_queue_var_cell()
Add descriptive comments for channel_queue_cell() and channel_queue_var_cell()
Implement channel cell handler getters/setters
Queue outgoing writes when not in writeable state
Drain queues and test assertions when changing channel_t state
Add log_debug() messages for channel_t stuff
Add log_debug() messages for channel_t stuff
Add some channel_t metadata
Add time_t client_used to channel_t
Add channel_touched_by_client()
Declare a few channel_t metadata queries we'll have to implement later for use by circuitbuild.c
Add next_circ_id/circ_id_type to channel_t for use by circuitbuild.c
Count n_circuits in channel_t
Channel timestamp calls
Add create timestamp for channel.h
Declare some new metadata queries on channel_t
Add get_real_remote_descr() prototype
Move active_circuits stuff to channel_t, some other or.h and channel.h changes
Make channel_t refcounted and use global lists of active channels
Update channel_request_close() and channel_change_state() for channel_t registration mechanism
Handle closing channels sensibly
Add global_identifier for channels, channel_init() internal use function
Add timestamp_last_added_nonpadding to channel_t
Better comments in channel_init()
Correctly handle next_circ_id in channel_init()
Correctly handle next_circ_id in channel_init() and even compile this time
Appease make check-spaces
Update timestamps when writing cells to channel_t
Add channel_flush_some_cells() to call channel_flush_from_first_active_circuit()
Add registered channel lookup functions
Get rid of client_used in or_connection_t; it's in channel_t now
Get rid of circ_id_type in or_connection_t; implement channel_set_circ_id_type()
Eliminate is_bad_for_new_circs in or_connection_t; implement getter/setter for it in channel_t
Eliminate next_circ_id in or_connection_t in favor of channel_t
Handle packed cells in channel_t for relay.c
Add channel_identity_map and related functions
Handle add/remove from channel identity map on state transitions
Implement channel_is_local() and channel_mark_local()
Implement channel_is_client() and channel_mark_client()
Implement channel_is_outgoing() and channel_mark_outgoing()
Eliminate declaration for redundant channel_nonopen_was_started_here()
Add channel timestamps
Add channel timestamps, fix some make-check-spaces complaints
Remove redundant channel_was_started_here() function and initiated_remotely bit
Rename channel_get_remote_descr()/channel_get_real_remote_descr() to something clearer in channel.h
Replace channel_get_write_queue_len() with sufficient and easier to implement channel_has_queued_writes() in channel.h
Change return type of channel_is_bad_for_new_circs() to int for consistency
Implement channel_has_queued_writes()
Rename channel_touched_by_client() and client_used field for consistency with other timestamps in channel.{c,h}
Implement channel_get_actual_remote_descr() and channel_get_canonical_remote_descr() in channel.{c,h}
Implement channel_matches_extend_info() in channel.{c,h}
Implement channel_get_for_extend() and channel_is_better() in channel.{c,h}
Make channel_is_better() public in channel.{c,h}
Implement channel_matches_target_addr_for_extend() in channel.{c,h}
Implement channel_is_canonical_is_reliable() in channel.{c,h}
Demoronize get_remote_descr() method prototype - what the hell was I thinking there?
Timestamp channels in the right places in channel.c
Add missing tor_assert() in channel.c
Check if the lower layer accepted a cell in channel_write_cell() et al. of channel.c
Implement channel_flush_cells() in channel.c (w00t, it builds at last)
Call channel_timestamp_drained() at the right places in channel.c
Implement channel_run_cleanup()
Support optional channel_get_remote_addr() method and use it for GeoIP in channel_do_open_actions()
Get rid of channel refcounting; it'll be too complicated to handle it properly with all the pointers from circuits to channels, and closing from channel_run_cleanup() will work okay just like with connections
Doxygenate channel.c
Appease make check-spaces in channel.c
Fix superfluous semicolons in channel.c
Add/remove channels from identity digest map in all the right places in channel.c
The cell queues on channel_t must be empty when going to a CLOSED or ERROR state
Appease make check-spaces in channel.c
Add channel_clear/set_identity_digest() and some better logging to channel.{c,h}
Fix better logging to channel.c
Avoid SIGSEGV testing for queue emptiness in channel_flush_some_cells_from_outgoing_queue()
Remove TODO about checking cell queue in channel_free(); no need for it
Appease make check-spaces in channel.c
Add channel_free_all() and support functions
Check nullness of active_circuit_pqueue in channel_free()
Fix SMARTLIST_FOREACH_END usage in channel_process_cells()
Rearrange channel_t struct to use a union distinguishing listener from cell-bearing channels in channel.{c,h}
2012-07-31 06:49:39 +02:00
|
|
|
src/or/channel.h \
|
2016-09-06 20:35:53 +02:00
|
|
|
src/or/channelpadding.h \
|
2012-08-01 13:18:42 +02:00
|
|
|
src/or/channeltls.h \
|
2013-10-31 19:17:32 +01:00
|
|
|
src/or/circpathbias.h \
|
2012-08-02 15:31:43 +02:00
|
|
|
src/or/circuitbuild.h \
|
|
|
|
src/or/circuitlist.h \
|
2012-09-21 23:45:32 +02:00
|
|
|
src/or/circuitmux.h \
|
2012-10-01 06:41:25 +02:00
|
|
|
src/or/circuitmux_ewma.h \
|
2012-10-15 20:48:34 +02:00
|
|
|
src/or/circuitstats.h \
|
2012-08-02 15:31:43 +02:00
|
|
|
src/or/circuituse.h \
|
|
|
|
src/or/command.h \
|
|
|
|
src/or/config.h \
|
2012-09-12 23:34:50 +02:00
|
|
|
src/or/confparse.h \
|
2012-08-02 15:31:43 +02:00
|
|
|
src/or/connection.h \
|
|
|
|
src/or/connection_edge.h \
|
|
|
|
src/or/connection_or.h \
|
2017-04-04 15:35:39 +02:00
|
|
|
src/or/conscache.h \
|
2017-03-07 15:58:30 +01:00
|
|
|
src/or/consdiff.h \
|
2017-04-06 20:46:45 +02:00
|
|
|
src/or/consdiffmgr.h \
|
2012-08-02 15:31:43 +02:00
|
|
|
src/or/control.h \
|
|
|
|
src/or/cpuworker.h \
|
|
|
|
src/or/directory.h \
|
|
|
|
src/or/dirserv.h \
|
2018-04-25 15:06:29 +02:00
|
|
|
src/or/dirvote_common.h \
|
2012-08-02 15:31:43 +02:00
|
|
|
src/or/dns.h \
|
2015-09-02 14:45:12 +02:00
|
|
|
src/or/dns_structs.h \
|
2012-08-02 15:31:43 +02:00
|
|
|
src/or/dnsserv.h \
|
2018-01-25 21:54:58 +01:00
|
|
|
src/or/dos.h \
|
2012-12-05 18:18:18 +01:00
|
|
|
src/or/ext_orport.h \
|
Add Fallback Directory Candidate Selection Script
"Tor has included a feature to fetch the initial consensus from nodes
other than the authorities for a while now. We just haven't shipped a
list of alternate locations for clients to go to yet.
Reasons why we might want to ship tor with a list of additional places
where clients can find the consensus is that it makes authority
reachability and BW less important.
We want them to have been around and using their current key, address,
and port for a while now (120 days), and have been running, a guard,
and a v2 directory mirror for most of that time."
Features:
* whitelist and blacklist for an opt-in/opt-out trial.
* excludes BadExits, tor versions that aren't recommended, and low
consensus weight directory mirrors.
* reduces the weighting of Exits to avoid overloading them.
* places limits on the weight of any one fallback.
* includes an IPv6 address and orport for each FallbackDir, as
implemented in #17327. (Tor won't bootstrap using IPv6 fallbacks
until #17840 is merged.)
* generated output includes timestamps & Onionoo URL for traceability.
* unit test ensures that we successfully load all included default
fallback directories.
Closes ticket #15775. Patch by "teor".
OnionOO script by "weasel", "teor", "gsathya", and "karsten".
2015-05-12 20:10:39 +02:00
|
|
|
src/or/fallback_dirs.inc \
|
2013-05-11 04:39:48 +02:00
|
|
|
src/or/fp_pair.h \
|
2012-08-02 15:31:43 +02:00
|
|
|
src/or/geoip.h \
|
2012-10-15 20:48:34 +02:00
|
|
|
src/or/entrynodes.h \
|
2017-10-18 19:49:35 +02:00
|
|
|
src/or/git_revision.h \
|
2012-08-02 15:31:43 +02:00
|
|
|
src/or/hibernate.h \
|
2016-03-29 21:08:04 +02:00
|
|
|
src/or/hs_cache.h \
|
2017-02-21 20:20:39 +01:00
|
|
|
src/or/hs_cell.h \
|
2017-05-12 18:00:43 +02:00
|
|
|
src/or/hs_circuit.h \
|
2017-01-16 19:19:44 +01:00
|
|
|
src/or/hs_circuitmap.h \
|
|
|
|
src/or/hs_client.h \
|
|
|
|
src/or/hs_common.h \
|
2017-11-10 18:07:57 +01:00
|
|
|
src/or/hs_config.h \
|
|
|
|
src/or/hs_control.h \
|
2016-03-08 21:51:53 +01:00
|
|
|
src/or/hs_descriptor.h \
|
2017-05-12 17:39:46 +02:00
|
|
|
src/or/hs_ident.h \
|
2017-01-16 19:19:44 +01:00
|
|
|
src/or/hs_intropoint.h \
|
|
|
|
src/or/hs_ntor.h \
|
2018-01-23 11:31:06 +01:00
|
|
|
src/or/hs_stats.h \
|
2017-01-16 19:19:44 +01:00
|
|
|
src/or/hs_service.h \
|
2014-10-02 21:34:23 +02:00
|
|
|
src/or/keypin.h \
|
2012-08-02 15:31:43 +02:00
|
|
|
src/or/main.h \
|
|
|
|
src/or/microdesc.h \
|
|
|
|
src/or/networkstatus.h \
|
|
|
|
src/or/nodelist.h \
|
|
|
|
src/or/ntmain.h \
|
|
|
|
src/or/onion.h \
|
2012-12-04 22:09:52 +01:00
|
|
|
src/or/onion_fast.h \
|
2012-12-04 03:24:21 +01:00
|
|
|
src/or/onion_ntor.h \
|
2012-12-04 22:09:52 +01:00
|
|
|
src/or/onion_tap.h \
|
2012-08-02 15:31:43 +02:00
|
|
|
src/or/or.h \
|
|
|
|
src/or/transports.h \
|
2016-03-11 19:26:04 +01:00
|
|
|
src/or/parsecommon.h \
|
2015-11-02 15:48:18 +01:00
|
|
|
src/or/periodic.h \
|
2012-08-02 15:31:43 +02:00
|
|
|
src/or/policies.h \
|
2016-08-10 01:11:47 +02:00
|
|
|
src/or/protover.h \
|
2017-08-08 17:51:36 +02:00
|
|
|
src/or/proto_cell.h \
|
|
|
|
src/or/proto_control0.h \
|
2017-08-08 18:23:39 +02:00
|
|
|
src/or/proto_ext_or.h \
|
2017-08-08 17:51:36 +02:00
|
|
|
src/or/proto_http.h \
|
|
|
|
src/or/proto_socks.h \
|
2012-08-02 15:31:43 +02:00
|
|
|
src/or/reasons.h \
|
|
|
|
src/or/relay.h \
|
2018-03-17 15:21:57 +01:00
|
|
|
src/or/relay_crypto.h \
|
2015-06-18 17:00:10 +02:00
|
|
|
src/or/rendcache.h \
|
2012-08-02 15:31:43 +02:00
|
|
|
src/or/rendclient.h \
|
|
|
|
src/or/rendcommon.h \
|
|
|
|
src/or/rendmid.h \
|
|
|
|
src/or/rendservice.h \
|
|
|
|
src/or/rephist.h \
|
|
|
|
src/or/replaycache.h \
|
|
|
|
src/or/router.h \
|
2014-09-30 22:00:17 +02:00
|
|
|
src/or/routerkeys.h \
|
2012-08-02 15:31:43 +02:00
|
|
|
src/or/routerlist.h \
|
2014-09-30 22:00:17 +02:00
|
|
|
src/or/routerkeys.h \
|
2012-09-13 18:46:39 +02:00
|
|
|
src/or/routerset.h \
|
2012-08-02 15:31:43 +02:00
|
|
|
src/or/routerparse.h \
|
2013-08-25 17:45:07 +02:00
|
|
|
src/or/scheduler.h \
|
2018-04-24 17:34:31 +02:00
|
|
|
src/or/shared_random_common.h \
|
2012-09-12 23:58:33 +02:00
|
|
|
src/or/statefile.h \
|
2014-09-30 22:00:17 +02:00
|
|
|
src/or/status.h \
|
2017-10-18 20:26:29 +02:00
|
|
|
src/or/torcert.h \
|
|
|
|
src/or/tor_api_internal.h
|
2012-09-06 15:56:48 +02:00
|
|
|
|
2018-04-03 21:06:34 +02:00
|
|
|
# We add the headers of the modules even though they are disabled so we can
|
|
|
|
# properly compiled the entry points stub.
|
|
|
|
|
|
|
|
# The Directory Authority module headers.
|
2018-04-05 20:27:30 +02:00
|
|
|
ORHEADERS += \
|
|
|
|
src/or/dirauth/dircollate.h \
|
|
|
|
src/or/dirauth/dirvote.h \
|
|
|
|
src/or/dirauth/shared_random.h \
|
|
|
|
src/or/dirauth/shared_random_state.h
|
2018-04-03 21:06:34 +02:00
|
|
|
|
2017-10-18 20:26:29 +02:00
|
|
|
# This may someday want to be an installed file?
|
|
|
|
noinst_HEADERS += src/or/tor_api.h
|
|
|
|
|
|
|
|
noinst_HEADERS += $(ORHEADERS) micro-revision.i
|
2012-08-02 15:31:43 +02:00
|
|
|
|
2012-08-27 16:00:22 +02:00
|
|
|
micro-revision.i: FORCE
|
2015-05-18 17:29:07 +02:00
|
|
|
$(AM_V_at)rm -f micro-revision.tmp; \
|
2016-12-05 04:16:59 +01:00
|
|
|
if test -r "$(top_srcdir)/.git" && \
|
2015-02-25 16:04:02 +01:00
|
|
|
test -x "`which git 2>&1;true`"; then \
|
|
|
|
HASH="`cd "$(top_srcdir)" && git rev-parse --short=16 HEAD`"; \
|
|
|
|
echo \"$$HASH\" > micro-revision.tmp; \
|
|
|
|
fi; \
|
|
|
|
if test ! -f micro-revision.tmp; then \
|
|
|
|
if test ! -f micro-revision.i; then \
|
|
|
|
echo '""' > micro-revision.i; \
|
|
|
|
fi; \
|
|
|
|
elif test ! -f micro-revision.i || \
|
|
|
|
test x"`cat micro-revision.tmp`" != x"`cat micro-revision.i`"; then \
|
|
|
|
mv micro-revision.tmp micro-revision.i; \
|
|
|
|
fi; \
|
|
|
|
rm -f micro-revision.tmp; \
|
|
|
|
true
|
2012-08-02 15:31:43 +02:00
|
|
|
|
2015-04-01 15:54:20 +02:00
|
|
|
CLEANFILES+= micro-revision.i src/or/micro-revision.i micro-revision.tmp
|
2012-08-02 15:31:43 +02:00
|
|
|
|
2012-08-23 19:14:41 +02:00
|
|
|
FORCE:
|