[tor-commits] [tor/master] Merge branch 'maint-0.4.3'
nickm at torproject.org
nickm at torproject.org
Wed Apr 29 12:33:18 UTC 2020
commit d3ded1cc1c4a1bcd158c1705c4c26425ed538be9
Merge: 84fe1c891 29420ab39
Author: cypherpunks <cypherpunks at torproject.org>
Date: Tue Mar 24 05:51:12 2020 +0000
Merge branch 'maint-0.4.3'
.appveyor.yml | 4 +-
.gitignore | 16 +-
.gitlab-ci.yml | 30 -
.travis.yml | 88 +-
ChangeLog | 4578 ++++++++++-
Doxyfile.in | 2597 +++++--
LICENSE | 3 +-
Makefile.am | 181 +-
ReleaseNotes | 4184 +++++++++-
autogen.sh | 5 +-
changes/29241_diagnostic | 4 -
changes/bug12399 | 3 -
changes/bug13221 | 5 -
changes/bug22619 | 3 -
changes/bug23507 | 5 -
changes/bug23818_v2 | 6 -
changes/bug23818_v3 | 6 -
changes/bug24661 | 3 -
changes/bug27197 | 3 -
changes/bug27199 | 3 -
changes/bug27740 | 4 -
changes/bug27741 | 5 -
changes/bug27750 | 6 -
changes/bug27800 | 4 -
changes/bug27804 | 3 -
changes/bug27841 | 7 -
changes/bug27948 | 6 -
changes/bug27963_timeradd | 4 -
changes/bug27968 | 3 -
changes/bug28096 | 13 -
changes/bug28115 | 3 -
changes/bug28127 | 7 -
changes/bug28183 | 4 -
changes/bug28202 | 4 -
changes/bug28245 | 6 -
changes/bug28298 | 4 -
changes/bug28303 | 3 -
changes/bug28348_034 | 5 -
changes/bug28399 | 4 -
changes/bug28413 | 4 -
changes/bug28419 | 3 -
changes/bug28435 | 3 -
changes/bug28441 | 4 -
changes/bug28454 | 4 -
changes/bug28485 | 3 -
changes/bug28524 | 4 -
changes/bug28525 | 7 -
changes/bug28554 | 3 -
changes/bug28562 | 5 -
changes/bug28568 | 4 -
changes/bug28569 | 3 -
changes/bug28612 | 4 -
changes/bug28619 | 6 -
changes/bug28656 | 3 -
changes/bug28698 | 3 -
changes/bug28895 | 5 -
changes/bug28920 | 6 -
changes/bug28938 | 4 -
changes/bug28974 | 3 -
changes/bug28979 | 4 -
changes/bug28981 | 5 -
changes/bug28995 | 5 -
changes/bug29017 | 4 -
changes/bug29029 | 5 -
changes/bug29034 | 5 -
changes/bug29036 | 5 -
changes/bug29040 | 4 -
changes/bug29042 | 5 -
changes/bug29135 | 5 -
changes/bug29144 | 5 -
changes/bug29145 | 3 -
changes/bug29161 | 3 -
changes/bug29175_035 | 4 -
changes/bug29241 | 6 -
changes/bug29244 | 4 -
changes/bug29530_035 | 5 -
changes/bug29599 | 3 -
changes/bug29601 | 6 -
changes/bug29665 | 7 -
changes/bug29670 | 4 -
changes/bug29703 | 4 -
changes/bug29706_minimal | 4 -
changes/bug29819 | 8 -
changes/bug29875 | 11 -
changes/bug29922 | 4 -
changes/bug30011 | 4 -
changes/bug30021 | 8 -
changes/bug30040 | 9 -
changes/bug30041 | 5 -
changes/bug30148 | 4 -
changes/bug30189 | 4 -
changes/bug30190 | 3 -
changes/bug30316 | 4 -
changes/bug30344 | 4 -
changes/bug30452 | 3 -
changes/bug30475 | 4 -
changes/bug30561 | 6 -
changes/bug30713 | 5 -
changes/bug30744 | 3 -
changes/bug30781 | 4 -
changes/bug30894 | 4 -
changes/bug30916 | 4 -
changes/bug31003 | 4 -
changes/bug31107 | 4 -
changes/bug31343 | 9 -
changes/bug31408 | 5 -
changes/bug31463 | 3 -
changes/bug31571 | 7 -
changes/bug31657 | 5 -
changes/bug31837 | 5 -
changes/bug31884 | 3 -
changes/bug31939 | 3 -
changes/bug32449 | 5 -
changes/bug32753 | 3 -
changes/bug33032 | 6 +
changes/bug33374 | 5 +
changes/bug33668 | 4 +
changes/bug33674 | 4 +
changes/chutney_ci | 3 -
changes/cid1444119 | 3 -
changes/doc31089 | 4 -
changes/doc32971 | 3 +
changes/geoip-2018-11-06 | 4 -
changes/geoip-2018-12-05 | 4 -
changes/geoip-2019-01-03 | 4 -
changes/geoip-2019-02-05 | 4 -
changes/geoip-2019-03-04 | 4 -
changes/geoip-2019-04-02 | 4 -
changes/geoip-2019-05-13 | 4 -
changes/geoip-2019-06-10 | 4 -
changes/geoip-2019-10-01 | 4 -
changes/geoip-2019-11-06 | 4 -
changes/geoip-2019-12-03 | 4 -
changes/rust_asan | 8 -
changes/ticket19566 | 6 -
changes/ticket24803 | 5 -
changes/ticket27471 | 5 -
changes/ticket27751 | 2 -
changes/ticket27838 | 4 -
changes/ticket27913 | 3 -
changes/ticket27995 | 4 -
changes/ticket28026 | 3 -
changes/ticket28113 | 5 -
changes/ticket28128 | 4 -
changes/ticket28229_diag | 3 -
changes/ticket28275 | 4 -
changes/ticket28318 | 3 -
changes/ticket28459 | 4 -
changes/ticket28574 | 4 -
changes/ticket28668 | 3 -
changes/ticket28669 | 6 -
changes/ticket28795 | 5 -
changes/ticket28838 | 8 -
changes/ticket28851 | 4 -
changes/ticket28879 | 5 -
changes/ticket28881 | 4 -
changes/ticket28883 | 4 -
changes/ticket28912 | 6 -
changes/ticket28924 | 4 -
changes/ticket28970 | 6 -
changes/ticket28973 | 6 -
changes/ticket28992 | 3 +
changes/ticket29026 | 4 -
changes/ticket29160 | 4 -
changes/ticket29168 | 5 -
changes/ticket29435 | 3 -
changes/ticket29617 | 4 -
changes/ticket29702 | 4 -
changes/ticket29806 | 7 -
changes/ticket29962 | 3 -
changes/ticket30117 | 4 -
changes/ticket30213 | 3 -
changes/ticket30234 | 2 -
changes/ticket30454 | 10 -
changes/ticket30591 | 3 -
changes/ticket30694 | 3 -
changes/ticket30860 | 3 -
changes/ticket30871 | 6 -
changes/ticket31372_appveyor | 4 -
changes/ticket31372_travis | 4 -
changes/ticket31374 | 4 -
changes/ticket31406 | 3 -
changes/ticket31466 | 5 -
changes/ticket31548 | 7 -
changes/ticket31554 | 4 -
changes/ticket31673 | 3 -
changes/ticket31687_1 | 4 -
changes/ticket31687_2 | 5 -
changes/ticket31859 | 3 -
changes/ticket31919_bionic | 5 -
changes/ticket32058 | 5 -
changes/ticket32086 | 3 -
changes/ticket32240 | 4 -
changes/ticket32241 | 2 -
changes/ticket32242 | 2 -
changes/ticket32407 | 4 -
changes/ticket32500 | 5 -
changes/ticket32629 | 4 -
changes/ticket32672 | 4 +
changes/ticket32792 | 3 +
changes/ticket33029 | 5 +
changes/ticket33075 | 4 -
changes/ticket33119 | 8 +
changes/ticket33188 | 5 +
changes/ticket33194 | 4 +
changes/ticket33195 | 4 +
changes/ticket33212 | 4 -
changes/ticket33213 | 3 +
changes/ticket33290 | 4 +
changes/ticket33361 | 3 +
changes/ticket33460 | 4 +
changes/ticket33619 | 5 +
changes/ticket33623 | 2 +
changes/ticket33643 | 5 +
changes/ticket33643_part2 | 3 +
changes/ticket33678_043 | 3 +
changes/trove_2020_003 | 4 +
configure.ac | 337 +-
contrib/README | 2 -
contrib/client-tools/tor-resolve.py | 15 +-
contrib/client-tools/torify | 2 +-
.../dirauth-tools/nagios-check-tor-authority-cert | 10 +-
contrib/dist/suse/tor.sh.in | 118 -
contrib/dist/tor.sh.in | 123 -
contrib/dist/torctl.in | 195 -
contrib/include.am | 4 -
contrib/operator-tools/linux-tor-prio.sh | 192 -
contrib/or-tools/check-tor | 41 -
contrib/win32build/tor-mingw.nsi.in | 2 +-
doc/HACKING/CircuitPaddingDevelopment.md | 1234 +++
doc/HACKING/CircuitPaddingQuickStart.md | 263 +
doc/HACKING/CodeStructure.md | 151 +-
doc/HACKING/CodingStandards.md | 129 +-
doc/HACKING/CodingStandardsRust.md | 6 +-
doc/HACKING/EndOfLifeTor.md | 50 +
doc/HACKING/Fuzzing.md | 14 +-
doc/HACKING/HelpfulTools.md | 45 +-
doc/HACKING/HowToReview.md | 2 +-
doc/HACKING/Maintaining.md | 113 +
doc/HACKING/Module.md | 35 +-
doc/HACKING/ReleasingTor.md | 147 +-
doc/asciidoc-helper.sh | 6 +-
doc/include.am | 24 +-
doc/tor-doxygen.css | 10 +
doc/tor-print-ed-signing-cert.1.txt | 6 +
doc/tor.1.txt | 3312 ++++----
m4/pprint.m4 | 228 +
scripts/coccinelle/apply.sh | 9 +
scripts/coccinelle/check_cocci_parse.sh | 98 +
scripts/coccinelle/ctrl-reply-cleanup.cocci | 43 +
scripts/coccinelle/ctrl-reply.cocci | 87 +
scripts/coccinelle/debugmm.cocci | 29 +
scripts/coccinelle/exceptions.txt | 24 +
scripts/coccinelle/test-operator-cleanup | 13 +
scripts/coccinelle/tor-coccinelle.h | 63 +
scripts/coccinelle/try_parse.sh | 46 +
scripts/codegen/fuzzing_include_am.py | 10 +-
scripts/codegen/gen_server_ciphers.py | 19 +-
scripts/codegen/get_mozilla_ciphers.py | 13 +-
scripts/codegen/makedesc.py | 25 +-
scripts/codegen/run_trunnel.sh | 4 +-
scripts/git/git-merge-forward.sh | 436 ++
scripts/git/git-pull-all.sh | 259 +
scripts/git/git-push-all.sh | 330 +
scripts/git/git-setup-dirs.sh | 550 ++
scripts/git/post-merge.git-hook | 51 +
scripts/git/pre-commit.git-hook | 99 +
scripts/git/pre-push.git-hook | 124 +
scripts/maint/add_c_file.py | 333 +
scripts/maint/annotate_ifdef_directives | 74 -
scripts/maint/annotate_ifdef_directives.py | 322 +
scripts/maint/checkIncludes.py | 120 +-
scripts/maint/checkShellScripts.sh | 61 +
scripts/maint/checkSpace.pl | 84 +-
scripts/maint/checkSpaceTest.sh | 36 +
scripts/maint/checkspace_tests/dubious.c | 83 +
scripts/maint/checkspace_tests/dubious.h | 4 +
scripts/maint/checkspace_tests/expected.txt | 31 +
scripts/maint/checkspace_tests/good_guard.h | 6 +
scripts/maint/checkspace_tests/same_guard.h | 6 +
scripts/maint/checkspace_tests/subdir/dubious.c | 1 +
scripts/maint/fallback.whitelist | 997 ---
scripts/maint/format_changelog.py | 49 +-
scripts/maint/generateFallbackDirLine.py | 38 -
scripts/maint/lintChanges.py | 61 +-
scripts/maint/locatemissingdoxygen.py | 11 +-
scripts/maint/lookupFallbackDirContact.py | 28 -
scripts/maint/practracker/README | 21 +
scripts/maint/practracker/exceptions.txt | 336 +
scripts/maint/practracker/includes.py | 295 +
scripts/maint/practracker/metrics.py | 62 +
scripts/maint/practracker/practracker.py | 320 +
scripts/maint/practracker/practracker_tests.py | 72 +
scripts/maint/practracker/problem.py | 266 +
scripts/maint/practracker/test_practracker.sh | 96 +
scripts/maint/practracker/testdata/.may_include | 4 +
scripts/maint/practracker/testdata/a.c | 41 +
scripts/maint/practracker/testdata/b.c | 15 +
scripts/maint/practracker/testdata/ex.txt | 0
.../maint/practracker/testdata/ex0-expected.txt | 13 +
scripts/maint/practracker/testdata/ex0.txt | 0
.../maint/practracker/testdata/ex1-expected.txt | 5 +
.../testdata/ex1-overbroad-expected.txt | 4 +
.../practracker/testdata/ex1-regen-expected.txt | 46 +
.../testdata/ex1-regen-overbroad-expected.txt | 45 +
scripts/maint/practracker/testdata/ex1.txt | 18 +
scripts/maint/practracker/testdata/header.h | 8 +
scripts/maint/practracker/testdata/not_c_file | 2 +
scripts/maint/practracker/util.py | 61 +
scripts/maint/rectify_include_paths.py | 20 +-
scripts/maint/redox.py | 28 +-
scripts/maint/rename_c_identifier.py | 266 +
scripts/maint/run_calltool.sh | 4 +-
scripts/maint/sortChanges.py | 15 +-
scripts/maint/updateCopyright.pl | 6 +-
scripts/maint/updateFallbackDirs.py | 2216 ------
scripts/maint/updateRustDependencies.sh | 18 +-
scripts/maint/updateVersions.pl.in | 59 -
scripts/maint/update_versions.py | 136 +
scripts/test/appveyor-irc-notify.py | 4 +-
scripts/test/chutney-git-bisect.sh | 14 +-
scripts/test/cov-diff | 9 +-
scripts/test/cov-test-determinism.sh | 51 +
scripts/test/coverage | 18 +-
scripts/test/scan-build.sh | 5 +
src/app/app.md | 6 +
src/app/config/.may_include | 2 +
src/app/config/app_config.md | 6 +
src/app/config/config.c | 3680 ++++-----
src/app/config/config.h | 112 +-
src/app/config/confparse.c | 1207 ---
src/app/config/confparse.h | 233 -
src/app/config/include.am | 21 +
src/app/config/or_options_st.h | 184 +-
src/app/config/or_state_st.h | 15 +-
src/app/config/quiet_level.c | 38 +
src/app/config/quiet_level.h | 30 +
src/app/config/statefile.c | 152 +-
src/app/config/statefile.h | 6 +-
src/app/config/testnet.inc | 32 +
src/app/config/tor_cmdline_mode.h | 34 +
src/app/main/.may_include | 1 +
src/app/main/app_main.md | 2 +
src/app/main/include.am | 18 +
src/app/main/main.c | 380 +-
src/app/main/main.h | 8 +-
src/app/main/ntmain.c | 14 +-
src/app/main/ntmain.h | 5 +-
src/app/main/shutdown.c | 168 +
src/app/main/shutdown.h | 18 +
src/app/main/subsysmgr.c | 464 ++
src/app/main/subsysmgr.h | 51 +
src/app/main/subsystem_list.c | 74 +
src/app/main/tor_main.c | 2 +-
src/arch_goals.md | 31 +
src/config/mmdb-convert.py | 9 +-
src/config/torrc.minimal.in-staging | 3 +
src/config/torrc.sample.in | 9 +-
src/core/core.md | 18 +
src/core/crypto/.may_include | 10 +
src/core/crypto/core_crypto.md | 6 +
src/core/crypto/hs_ntor.c | 16 +-
src/core/crypto/hs_ntor.h | 11 +-
src/core/crypto/include.am | 18 +
src/core/crypto/onion_crypto.c | 2 +-
src/core/crypto/onion_crypto.h | 4 +-
src/core/crypto/onion_fast.c | 2 +-
src/core/crypto/onion_fast.h | 2 +-
src/core/crypto/onion_ntor.c | 2 +-
src/core/crypto/onion_ntor.h | 7 +-
src/core/crypto/onion_tap.c | 2 +-
src/core/crypto/onion_tap.h | 2 +-
src/core/crypto/relay_crypto.c | 55 +-
src/core/crypto/relay_crypto.h | 13 +-
src/core/include.am | 363 +-
src/core/mainloop/.may_include | 24 +
src/core/mainloop/connection.c | 517 +-
src/core/mainloop/connection.h | 205 +-
src/core/mainloop/core_mainloop.md | 10 +
src/core/mainloop/cpuworker.c | 13 +-
src/core/mainloop/cpuworker.h | 6 +-
src/core/mainloop/include.am | 22 +
src/core/mainloop/mainloop.c | 874 +--
src/core/mainloop/mainloop.h | 25 +-
src/core/mainloop/mainloop_pubsub.c | 179 +
src/core/mainloop/mainloop_pubsub.h | 61 +
src/core/mainloop/mainloop_state.inc | 19 +
src/core/mainloop/mainloop_state_st.h | 23 +
src/core/mainloop/mainloop_sys.c | 89 +
src/core/mainloop/mainloop_sys.h | 17 +
src/core/mainloop/netstatus.c | 144 +-
src/core/mainloop/netstatus.h | 23 +-
src/core/mainloop/periodic.c | 223 +-
src/core/mainloop/periodic.h | 37 +-
src/core/or/.may_include | 40 +
src/core/or/addr_policy_st.h | 9 +-
src/core/or/address_set.c | 4 +-
src/core/or/address_set.h | 4 +-
src/core/or/cell_queue_st.h | 11 +-
src/core/or/cell_st.h | 10 +-
src/core/or/channel.c | 64 +-
src/core/or/channel.h | 77 +-
src/core/or/channelpadding.c | 11 +-
src/core/or/channelpadding.h | 2 +-
src/core/or/channeltls.c | 140 +-
src/core/or/channeltls.h | 9 +-
src/core/or/circuit_st.h | 77 +-
src/core/or/circuitbuild.c | 208 +-
src/core/or/circuitbuild.h | 16 +-
src/core/or/circuitlist.c | 215 +-
src/core/or/circuitlist.h | 42 +-
src/core/or/circuitmux.c | 99 +-
src/core/or/circuitmux.h | 70 +-
src/core/or/circuitmux_ewma.c | 115 +-
src/core/or/circuitmux_ewma.h | 114 +-
src/core/or/circuitpadding.c | 3101 ++++++++
src/core/or/circuitpadding.h | 813 ++
src/core/or/circuitpadding_machines.c | 454 ++
src/core/or/circuitpadding_machines.h | 35 +
src/core/or/circuitstats.c | 14 +-
src/core/or/circuitstats.h | 4 +-
src/core/or/circuituse.c | 137 +-
src/core/or/circuituse.h | 11 +-
src/core/or/command.c | 26 +-
src/core/or/command.h | 3 +-
src/core/or/connection_edge.c | 255 +-
src/core/or/connection_edge.h | 21 +-
src/core/or/connection_or.c | 214 +-
src/core/or/connection_or.h | 41 +-
src/core/or/connection_st.h | 9 +-
src/core/or/core_or.md | 62 +
src/core/or/cpath_build_state_st.h | 10 +-
src/core/or/crypt_path.c | 262 +
src/core/or/crypt_path.h | 46 +
src/core/or/crypt_path_reference_st.h | 10 +-
src/core/or/crypt_path_st.h | 32 +-
src/core/or/dataflow.md | 236 +
src/core/or/destroy_cell_queue_st.h | 14 +-
src/core/or/dos.c | 15 +-
src/core/or/dos.h | 6 +-
src/core/or/edge_connection_st.h | 10 +-
src/core/or/entry_connection_st.h | 10 +-
src/core/or/entry_port_cfg_st.h | 13 +-
src/core/or/extend_info_st.h | 9 +-
src/core/or/half_edge_st.h | 10 +-
src/core/or/include.am | 98 +
src/core/or/listener_connection_st.h | 10 +-
src/core/or/ocirc_event.c | 128 +
src/core/or/ocirc_event.h | 72 +
src/core/or/ocirc_event_sys.h | 13 +
src/core/or/onion.c | 2 +-
src/core/or/onion.h | 2 +-
src/core/or/or.h | 39 +-
src/core/or/or_circuit_st.h | 22 +-
src/core/or/or_connection_st.h | 13 +-
src/core/or/or_handshake_certs_st.h | 9 +-
src/core/or/or_handshake_state_st.h | 10 +-
src/core/or/or_periodic.c | 67 +
src/core/or/or_periodic.h | 17 +
src/core/or/or_sys.c | 43 +
src/core/or/or_sys.h | 17 +
src/core/or/orconn_event.c | 99 +
src/core/or/orconn_event.h | 103 +
src/core/or/orconn_event_sys.h | 12 +
src/core/or/origin_circuit_st.h | 13 +-
src/core/or/policies.c | 254 +-
src/core/or/policies.h | 5 +-
src/core/or/port_cfg_st.h | 10 +-
src/core/or/protover.c | 18 +-
src/core/or/protover.h | 26 +-
src/core/or/protover_rust.c | 2 +-
src/core/or/reasons.c | 2 +-
src/core/or/reasons.h | 2 +-
src/core/or/relay.c | 715 +-
src/core/or/relay.h | 23 +-
src/core/or/relay_crypto_st.h | 13 +-
src/core/or/scheduler.c | 11 +-
src/core/or/scheduler.h | 17 +-
src/core/or/scheduler_kist.c | 35 +-
src/core/or/scheduler_vanilla.c | 12 +-
src/core/or/sendme.c | 710 ++
src/core/or/sendme.h | 80 +
src/core/or/server_port_cfg_st.h | 10 +-
src/core/or/socks_request_st.h | 16 +-
src/core/or/status.c | 2 +-
src/core/or/status.h | 8 +-
src/core/or/tor_version_st.h | 10 +-
src/core/or/var_cell_st.h | 10 +-
src/core/or/versions.c | 110 +-
src/core/or/versions.h | 6 +-
src/core/proto/.may_include | 14 +
src/core/proto/core_proto.md | 6 +
src/core/proto/include.am | 18 +
src/core/proto/proto_cell.c | 12 +-
src/core/proto/proto_cell.h | 8 +-
src/core/proto/proto_control0.c | 10 +-
src/core/proto/proto_control0.h | 8 +-
src/core/proto/proto_ext_or.c | 10 +-
src/core/proto/proto_ext_or.h | 7 +-
src/core/proto/proto_haproxy.c | 45 +
src/core/proto/proto_haproxy.h | 12 +
src/core/proto/proto_http.c | 10 +-
src/core/proto/proto_http.h | 8 +-
src/core/proto/proto_socks.c | 19 +-
src/core/proto/proto_socks.h | 7 +-
src/ext/.may_include | 10 +
src/ext/csiphash.c | 18 +-
src/ext/ed25519/ref10/base.py | 19 +-
src/ext/ed25519/ref10/base2.py | 15 +-
src/ext/ed25519/ref10/d.py | 7 +-
src/ext/ed25519/ref10/d2.py | 7 +-
src/ext/ed25519/ref10/sqrtm1.py | 7 +-
src/ext/ht.h | 9 +-
src/ext/include.am | 2 +
src/ext/readpassphrase.c | 2 +-
src/ext/siphash.h | 2 +
src/ext/timeouts/.may_include | 5 +
src/ext/timeouts/test-timeout.c | 2 +-
src/ext/timeouts/timeout.c | 11 +-
src/ext/timeouts/timeout.h | 10 +-
src/ext/tinytest.c | 6 +
src/ext/tinytest.h | 3 +
src/ext/tinytest_macros.h | 4 +-
src/ext/trunnel/trunnel-impl.h | 2 +-
src/ext/trunnel/trunnel.c | 2 +-
src/ext/trunnel/trunnel.h | 2 +-
src/feature/api/.may_include | 1 +
src/feature/api/feature_api.md | 2 +
src/feature/api/include.am | 11 +
src/feature/api/tor_api.c | 6 +-
src/feature/api/tor_api.h | 4 +-
src/feature/api/tor_api_internal.h | 7 +-
src/feature/client/.may_include | 1 +
src/feature/client/addressmap.c | 4 +-
src/feature/client/addressmap.h | 8 +-
src/feature/client/bridges.c | 7 +-
src/feature/client/bridges.h | 2 +-
src/feature/client/circpathbias.c | 39 +-
src/feature/client/circpathbias.h | 2 +-
src/feature/client/dnsserv.c | 10 +-
src/feature/client/dnsserv.h | 2 +-
src/feature/client/entrynodes.c | 8 +-
src/feature/client/entrynodes.h | 8 +-
src/feature/client/feature_client.md | 5 +
src/feature/client/include.am | 20 +
src/feature/client/proxymode.c | 32 +
src/feature/client/proxymode.h | 17 +
src/feature/client/transports.c | 379 +-
src/feature/client/transports.h | 20 +-
src/feature/control/.may_include | 1 +
src/feature/control/btrack.c | 64 +
src/feature/control/btrack_circuit.c | 166 +
src/feature/control/btrack_circuit.h | 18 +
src/feature/control/btrack_orconn.c | 206 +
src/feature/control/btrack_orconn.h | 41 +
src/feature/control/btrack_orconn_cevent.c | 160 +
src/feature/control/btrack_orconn_cevent.h | 18 +
src/feature/control/btrack_orconn_maps.c | 223 +
src/feature/control/btrack_orconn_maps.h | 18 +
src/feature/control/btrack_sys.h | 14 +
src/feature/control/control.c | 7996 +-------------------
src/feature/control/control.h | 376 +-
src/feature/control/control_auth.c | 441 ++
src/feature/control/control_auth.h | 32 +
src/feature/control/control_bootstrap.c | 383 +
src/feature/control/control_cmd.c | 2422 ++++++
src/feature/control/control_cmd.h | 113 +
src/feature/control/control_cmd_args_st.h | 52 +
src/feature/control/control_connection_st.h | 12 +-
src/feature/control/control_events.c | 2314 ++++++
src/feature/control/control_events.h | 353 +
src/feature/control/control_fmt.c | 274 +
src/feature/control/control_fmt.h | 25 +
src/feature/control/control_getinfo.c | 1757 +++++
src/feature/control/control_getinfo.h | 65 +
src/feature/control/control_hs.c | 335 +
src/feature/control/control_hs.h | 34 +
src/feature/control/control_proto.c | 434 ++
src/feature/control/control_proto.h | 120 +
src/feature/control/feature_control.md | 8 +
src/feature/control/fmt_serverstatus.c | 15 +-
src/feature/control/fmt_serverstatus.h | 4 +-
src/feature/control/getinfo_geoip.c | 9 +
src/feature/control/getinfo_geoip.h | 9 +-
src/feature/control/include.am | 39 +
src/feature/dirauth/.may_include | 2 +
src/feature/dirauth/authmode.c | 11 +-
src/feature/dirauth/authmode.h | 18 +-
src/feature/dirauth/bridgeauth.c | 60 +
src/feature/dirauth/bridgeauth.h | 17 +
src/feature/dirauth/bwauth.c | 69 +-
src/feature/dirauth/bwauth.h | 8 +-
src/feature/dirauth/dirauth_config.c | 470 ++
src/feature/dirauth/dirauth_config.h | 91 +
src/feature/dirauth/dirauth_options.inc | 105 +
src/feature/dirauth/dirauth_options_st.h | 24 +
src/feature/dirauth/dirauth_periodic.c | 168 +
src/feature/dirauth/dirauth_periodic.h | 30 +
src/feature/dirauth/dirauth_stub.c | 33 +
src/feature/dirauth/dirauth_sys.c | 70 +
src/feature/dirauth/dirauth_sys.h | 32 +
src/feature/dirauth/dircollate.c | 10 +-
src/feature/dirauth/dircollate.h | 10 +-
src/feature/dirauth/dirvote.c | 192 +-
src/feature/dirauth/dirvote.h | 43 +-
src/feature/dirauth/dsigs_parse.c | 4 +-
src/feature/dirauth/dsigs_parse.h | 4 +-
src/feature/dirauth/feature_dirauth.md | 9 +
src/feature/dirauth/guardfraction.c | 2 +-
src/feature/dirauth/guardfraction.h | 6 +-
src/feature/dirauth/include.am | 52 +
src/feature/dirauth/keypin.c | 6 +-
src/feature/dirauth/keypin.h | 27 +-
src/feature/dirauth/ns_detached_signatures_st.h | 10 +-
src/feature/dirauth/process_descs.c | 382 +-
src/feature/dirauth/process_descs.h | 140 +-
src/feature/dirauth/reachability.c | 12 +-
src/feature/dirauth/reachability.h | 26 +-
src/feature/dirauth/recommend_pkg.c | 2 +-
src/feature/dirauth/recommend_pkg.h | 16 +-
src/feature/dirauth/shared_random.c | 99 +-
src/feature/dirauth/shared_random.h | 67 +-
src/feature/dirauth/shared_random_state.c | 290 +-
src/feature/dirauth/shared_random_state.h | 64 +-
src/feature/dirauth/vote_microdesc_hash_st.h | 10 +-
src/feature/dirauth/voteflags.c | 154 +-
src/feature/dirauth/voteflags.h | 22 +-
src/feature/dircache/.may_include | 1 +
src/feature/dircache/cached_dir_st.h | 10 +-
src/feature/dircache/conscache.c | 13 +-
src/feature/dircache/conscache.h | 13 +-
src/feature/dircache/consdiffmgr.c | 91 +-
src/feature/dircache/consdiffmgr.h | 30 +-
src/feature/dircache/dircache.c | 210 +-
src/feature/dircache/dircache.h | 4 +-
src/feature/dircache/dircache_stub.c | 78 +
src/feature/dircache/dirserv.c | 207 +-
src/feature/dircache/dirserv.h | 44 +-
src/feature/dircache/feature_dircache.md | 6 +
src/feature/dircache/include.am | 21 +
src/feature/dirclient/.may_include | 1 +
src/feature/dirclient/dir_server_st.h | 9 +-
src/feature/dirclient/dirclient.c | 114 +-
src/feature/dirclient/dirclient.h | 6 +-
src/feature/dirclient/dirclient_modes.c | 95 +
src/feature/dirclient/dirclient_modes.h | 24 +
src/feature/dirclient/dlstatus.c | 7 +-
src/feature/dirclient/dlstatus.h | 4 +-
src/feature/dirclient/download_status_st.h | 10 +-
src/feature/dirclient/feature_dirclient.md | 7 +
src/feature/dirclient/include.am | 14 +
src/feature/dircommon/.may_include | 1 +
src/feature/dircommon/consdiff.c | 50 +-
src/feature/dircommon/consdiff.h | 22 +-
src/feature/dircommon/dir_connection_st.h | 13 +-
src/feature/dircommon/directory.c | 117 +-
src/feature/dircommon/directory.h | 9 +-
src/feature/dircommon/feature_dircommon.md | 7 +
src/feature/dircommon/fp_pair.c | 14 +-
src/feature/dircommon/fp_pair.h | 6 +-
src/feature/dircommon/include.am | 16 +
src/feature/dircommon/vote_timing_st.h | 10 +-
src/feature/dircommon/voting_schedule.c | 5 +-
src/feature/dircommon/voting_schedule.h | 15 +-
src/feature/dirparse/.may_include | 1 +
src/feature/dirparse/authcert_members.h | 29 +
src/feature/dirparse/authcert_members.i | 13 -
src/feature/dirparse/authcert_parse.c | 26 +-
src/feature/dirparse/authcert_parse.h | 3 +-
src/feature/dirparse/feature_dirparse.md | 8 +
src/feature/dirparse/include.am | 25 +
src/feature/dirparse/microdesc_parse.c | 318 +-
src/feature/dirparse/microdesc_parse.h | 4 +-
src/feature/dirparse/ns_parse.c | 64 +-
src/feature/dirparse/ns_parse.h | 16 +-
src/feature/dirparse/parsecommon.c | 60 +-
src/feature/dirparse/parsecommon.h | 2 +-
src/feature/dirparse/policy_parse.c | 4 +-
src/feature/dirparse/policy_parse.h | 2 +-
src/feature/dirparse/routerparse.c | 8 +-
src/feature/dirparse/routerparse.h | 5 +-
src/feature/dirparse/sigcommon.c | 2 +-
src/feature/dirparse/sigcommon.h | 4 +-
src/feature/dirparse/signing.c | 2 +-
src/feature/dirparse/signing.h | 4 +-
src/feature/dirparse/unparseable.c | 7 +-
src/feature/dirparse/unparseable.h | 6 +-
src/feature/feature.md | 7 +
src/feature/hibernate/.may_include | 1 +
src/feature/hibernate/feature_hibernate.md | 14 +
src/feature/hibernate/hibernate.c | 37 +-
src/feature/hibernate/hibernate.h | 3 +-
src/feature/hibernate/include.am | 8 +
src/feature/hs/.may_include | 1 +
src/feature/hs/feature_hs.md | 8 +
src/feature/hs/hs_cache.c | 238 +-
src/feature/hs/hs_cache.h | 45 +-
src/feature/hs/hs_cell.c | 189 +-
src/feature/hs/hs_cell.h | 58 +-
src/feature/hs/hs_circuit.c | 334 +-
src/feature/hs/hs_circuit.h | 17 +-
src/feature/hs/hs_circuitmap.c | 90 +-
src/feature/hs/hs_circuitmap.h | 15 +-
src/feature/hs/hs_client.c | 984 ++-
src/feature/hs/hs_client.h | 88 +-
src/feature/hs/hs_common.c | 294 +-
src/feature/hs/hs_common.h | 79 +-
src/feature/hs/hs_config.c | 105 +-
src/feature/hs/hs_config.h | 11 +-
src/feature/hs/hs_control.c | 57 +-
src/feature/hs/hs_control.h | 6 +-
src/feature/hs/hs_descriptor.c | 563 +-
src/feature/hs/hs_descriptor.h | 165 +-
src/feature/hs/hs_dos.c | 221 +
src/feature/hs/hs_dos.h | 42 +
src/feature/hs/hs_ident.c | 27 +-
src/feature/hs/hs_ident.h | 52 +-
src/feature/hs/hs_intropoint.c | 247 +-
src/feature/hs/hs_intropoint.h | 14 +-
src/feature/hs/hs_service.c | 560 +-
src/feature/hs/hs_service.h | 165 +-
src/feature/hs/hs_stats.c | 2 +-
src/feature/hs/hs_stats.h | 6 +-
src/feature/hs/hsdir_index_st.h | 17 +-
src/feature/hs/include.am | 35 +
src/feature/hs_common/.may_include | 1 +
src/feature/hs_common/feature_hs_common.md | 3 +
src/feature/hs_common/include.am | 10 +
src/feature/hs_common/replaycache.c | 2 +-
src/feature/hs_common/replaycache.h | 15 +-
src/feature/hs_common/shared_random_client.c | 22 +-
src/feature/hs_common/shared_random_client.h | 4 +-
src/feature/keymgt/.may_include | 1 +
src/feature/keymgt/feature_keymgt.md | 3 +
src/feature/keymgt/include.am | 8 +
src/feature/keymgt/loadkey.c | 4 +-
src/feature/keymgt/loadkey.h | 4 +-
src/feature/nodelist/.may_include | 1 +
src/feature/nodelist/authcert.c | 5 +-
src/feature/nodelist/authcert.h | 4 +-
src/feature/nodelist/authority_cert_st.h | 10 +-
src/feature/nodelist/desc_store_st.h | 9 +-
src/feature/nodelist/describe.c | 174 +-
src/feature/nodelist/describe.h | 36 +-
src/feature/nodelist/dirlist.c | 35 +-
src/feature/nodelist/dirlist.h | 6 +-
src/feature/nodelist/document_signature_st.h | 10 +-
src/feature/nodelist/extrainfo_st.h | 10 +-
src/feature/nodelist/feature_nodelist.md | 2 +
src/feature/nodelist/fmt_routerstatus.c | 61 +-
src/feature/nodelist/fmt_routerstatus.h | 3 +-
src/feature/nodelist/include.am | 49 +
src/feature/nodelist/microdesc.c | 53 +-
src/feature/nodelist/microdesc.h | 2 +-
src/feature/nodelist/microdesc_st.h | 18 +-
src/feature/nodelist/networkstatus.c | 362 +-
src/feature/nodelist/networkstatus.h | 24 +-
src/feature/nodelist/networkstatus_sr_info_st.h | 10 +-
src/feature/nodelist/networkstatus_st.h | 12 +-
src/feature/nodelist/networkstatus_voter_info_st.h | 9 +-
src/feature/nodelist/nickname.c | 2 +-
src/feature/nodelist/nickname.h | 4 +-
src/feature/nodelist/node_select.c | 138 +-
src/feature/nodelist/node_select.h | 6 +-
src/feature/nodelist/node_st.h | 10 +-
src/feature/nodelist/nodefamily.c | 416 +
src/feature/nodelist/nodefamily.h | 50 +
src/feature/nodelist/nodefamily_st.h | 53 +
src/feature/nodelist/nodelist.c | 307 +-
src/feature/nodelist/nodelist.h | 23 +-
src/feature/nodelist/routerinfo.c | 7 +-
src/feature/nodelist/routerinfo.h | 6 +-
src/feature/nodelist/routerinfo_st.h | 9 +-
src/feature/nodelist/routerlist.c | 47 +-
src/feature/nodelist/routerlist.h | 11 +-
src/feature/nodelist/routerlist_st.h | 10 +-
src/feature/nodelist/routerset.c | 120 +-
src/feature/nodelist/routerset.h | 8 +-
src/feature/nodelist/routerstatus_st.h | 16 +-
src/feature/nodelist/signed_descriptor_st.h | 10 +-
src/feature/nodelist/torcert.c | 8 +-
src/feature/nodelist/torcert.h | 9 +-
src/feature/nodelist/vote_routerstatus_st.h | 8 +-
src/feature/relay/.may_include | 1 +
src/feature/relay/dns.c | 95 +-
src/feature/relay/dns.h | 7 +-
src/feature/relay/dns_structs.h | 5 +-
src/feature/relay/ext_orport.c | 7 +-
src/feature/relay/ext_orport.h | 7 +-
src/feature/relay/feature_relay.md | 4 +
src/feature/relay/include.am | 40 +
src/feature/relay/onion_queue.c | 12 +-
src/feature/relay/onion_queue.h | 4 +-
src/feature/relay/relay_config.c | 1444 ++++
src/feature/relay/relay_config.h | 196 +
src/feature/relay/relay_periodic.c | 310 +
src/feature/relay/relay_periodic.h | 31 +
src/feature/relay/relay_stub.c | 20 +
src/feature/relay/relay_sys.c | 48 +
src/feature/relay/relay_sys.h | 25 +
src/feature/relay/router.c | 837 +-
src/feature/relay/router.h | 35 +-
src/feature/relay/routerkeys.c | 20 +-
src/feature/relay/routerkeys.h | 11 +-
src/feature/relay/routermode.c | 24 +-
src/feature/relay/routermode.h | 22 +-
src/feature/relay/selftest.c | 7 +-
src/feature/relay/selftest.h | 4 +-
src/feature/relay/transport_config.c | 307 +
src/feature/relay/transport_config.h | 85 +
src/feature/rend/.may_include | 1 +
src/feature/rend/feature_rend.md | 7 +
src/feature/rend/include.am | 22 +
src/feature/rend/rend_authorized_client_st.h | 10 +-
.../rend/rend_encoded_v2_service_descriptor_st.h | 10 +-
src/feature/rend/rend_intro_point_st.h | 9 +-
src/feature/rend/rend_service_descriptor_st.h | 10 +-
src/feature/rend/rendcache.c | 38 +-
src/feature/rend/rendcache.h | 4 +-
src/feature/rend/rendclient.c | 111 +-
src/feature/rend/rendclient.h | 5 +-
src/feature/rend/rendcommon.c | 27 +-
src/feature/rend/rendcommon.h | 2 +-
src/feature/rend/rendmid.c | 38 +-
src/feature/rend/rendmid.h | 2 +-
src/feature/rend/rendparse.c | 19 +-
src/feature/rend/rendparse.h | 8 +-
src/feature/rend/rendservice.c | 40 +-
src/feature/rend/rendservice.h | 2 +-
src/feature/stats/.may_include | 1 +
src/feature/stats/feature_stats.md | 10 +
src/feature/stats/geoip_stats.c | 6 +-
src/feature/stats/geoip_stats.h | 3 +-
src/feature/stats/include.am | 12 +
src/feature/stats/predict_ports.c | 2 +-
src/feature/stats/predict_ports.h | 6 +-
src/feature/stats/rephist.c | 4 +-
src/feature/stats/rephist.h | 4 +-
src/include.am | 44 +
src/lib/arch/bytes.h | 29 +-
src/lib/arch/include.am | 1 +
src/lib/arch/lib_arch.md | 2 +
src/lib/buf/.may_include | 10 +
src/lib/{container => buf}/buffers.c | 28 +-
src/lib/{container => buf}/buffers.h | 2 +-
src/lib/buf/include.am | 19 +
src/lib/buf/lib_buf.md | 13 +
src/lib/cc/.may_include | 1 +
src/lib/cc/compat_compiler.h | 51 +-
src/lib/cc/ctassert.h | 53 +
src/lib/cc/include.am | 3 +
src/lib/cc/lib_cc.md | 2 +
src/lib/cc/tokpaste.h | 30 +
src/lib/cc/torint.h | 19 +-
src/lib/compress/.may_include | 2 +
src/lib/compress/compress.c | 23 +-
src/lib/compress/compress.h | 4 +-
src/lib/compress/compress_buf.c | 4 +-
src/lib/compress/compress_lzma.c | 6 +-
src/lib/compress/compress_lzma.h | 2 +-
src/lib/compress/compress_none.c | 2 +-
src/lib/compress/compress_none.h | 2 +-
src/lib/compress/compress_sys.h | 14 +
src/lib/compress/compress_zlib.c | 2 +-
src/lib/compress/compress_zlib.h | 2 +-
src/lib/compress/compress_zstd.c | 28 +-
src/lib/compress/compress_zstd.h | 2 +-
src/lib/compress/include.am | 3 +
src/lib/compress/lib_compress.md | 6 +
src/lib/conf/.may_include | 3 +
src/lib/conf/confdecl.h | 221 +
src/lib/conf/config.md | 126 +
src/lib/conf/confmacros.h | 72 +
src/lib/conf/conftesting.h | 89 +
src/lib/conf/conftypes.h | 381 +
src/lib/conf/include.am | 7 +
src/lib/conf/lib_conf.md | 3 +
src/lib/confmgt/.may_include | 12 +
src/lib/confmgt/confmgt.c | 1406 ++++
src/lib/confmgt/confmgt.h | 136 +
src/lib/confmgt/include.am | 27 +
src/lib/confmgt/lib_confmgt.md | 7 +
src/lib/confmgt/structvar.c | 239 +
src/lib/confmgt/structvar.h | 54 +
src/lib/confmgt/type_defs.c | 849 +++
src/lib/confmgt/type_defs.h | 17 +
src/lib/confmgt/typedvar.c | 236 +
src/lib/confmgt/typedvar.h | 38 +
src/lib/confmgt/unitparse.c | 254 +
src/lib/confmgt/unitparse.h | 35 +
src/lib/confmgt/var_type_def_st.h | 167 +
src/lib/container/.may_include | 9 +-
src/lib/container/bitarray.h | 4 +-
src/lib/container/bloomfilt.c | 4 +-
src/lib/container/bloomfilt.h | 2 +-
src/lib/container/handles.h | 25 +-
src/lib/container/include.am | 7 +-
src/lib/container/lib_container.md | 49 +
src/lib/container/map.c | 4 +-
src/lib/container/map.h | 65 +-
src/lib/container/namemap.c | 189 +
src/lib/container/namemap.h | 35 +
src/lib/container/namemap_st.h | 41 +
src/lib/container/order.c | 2 +-
src/lib/container/order.h | 4 +-
src/lib/container/smartlist.c | 12 +-
src/lib/container/smartlist.h | 15 +-
src/lib/crypt_ops/.may_include | 8 +-
src/lib/crypt_ops/aes.h | 4 +-
src/lib/crypt_ops/aes_nss.c | 6 +-
src/lib/crypt_ops/aes_openssl.c | 11 +-
src/lib/crypt_ops/certs.md | 30 +
src/lib/crypt_ops/compat_openssl.h | 4 +-
src/lib/crypt_ops/crypto_cipher.c | 2 +-
src/lib/crypt_ops/crypto_cipher.h | 6 +-
src/lib/crypt_ops/crypto_curve25519.c | 2 +-
src/lib/crypt_ops/crypto_curve25519.h | 6 +-
src/lib/crypt_ops/crypto_dh.c | 2 +-
src/lib/crypt_ops/crypto_dh.h | 2 +-
src/lib/crypt_ops/crypto_dh_nss.c | 4 +-
src/lib/crypt_ops/crypto_dh_openssl.c | 22 +-
src/lib/crypt_ops/crypto_digest.c | 710 +-
src/lib/crypt_ops/crypto_digest.h | 37 +-
src/lib/crypt_ops/crypto_digest_nss.c | 563 ++
src/lib/crypt_ops/crypto_digest_openssl.c | 521 ++
src/lib/crypt_ops/crypto_ed25519.c | 6 +-
src/lib/crypt_ops/crypto_ed25519.h | 2 +-
src/lib/crypt_ops/crypto_format.c | 92 +-
src/lib/crypt_ops/crypto_format.h | 14 +-
src/lib/crypt_ops/crypto_hkdf.c | 12 +-
src/lib/crypt_ops/crypto_hkdf.h | 2 +-
src/lib/crypt_ops/crypto_init.c | 132 +-
src/lib/crypt_ops/crypto_init.h | 4 +-
src/lib/crypt_ops/crypto_nss_mgt.c | 6 +-
src/lib/crypt_ops/crypto_nss_mgt.h | 6 +-
src/lib/crypt_ops/crypto_ope.c | 11 +-
src/lib/crypt_ops/crypto_ope.h | 17 +-
src/lib/crypt_ops/crypto_openssl_mgt.c | 52 +-
src/lib/crypt_ops/crypto_openssl_mgt.h | 4 +-
src/lib/crypt_ops/crypto_options.inc | 19 +
src/lib/crypt_ops/crypto_options_st.h | 23 +
src/lib/crypt_ops/crypto_pwbox.c | 2 +-
src/lib/crypt_ops/crypto_pwbox.h | 2 +-
src/lib/crypt_ops/crypto_rand.c | 135 +-
src/lib/crypt_ops/crypto_rand.h | 60 +-
src/lib/crypt_ops/crypto_rand_fast.c | 438 ++
src/lib/crypt_ops/crypto_rand_numeric.c | 194 +
src/lib/crypt_ops/crypto_rsa.c | 31 +-
src/lib/crypt_ops/crypto_rsa.h | 15 +-
src/lib/crypt_ops/crypto_rsa_nss.c | 20 +-
src/lib/crypt_ops/crypto_rsa_openssl.c | 80 +-
src/lib/crypt_ops/crypto_s2k.c | 10 +-
src/lib/crypt_ops/crypto_s2k.h | 2 +-
src/lib/crypt_ops/crypto_sys.h | 14 +
src/lib/crypt_ops/crypto_util.c | 10 +-
src/lib/crypt_ops/crypto_util.h | 2 +-
src/lib/crypt_ops/digestset.c | 4 +-
src/lib/crypt_ops/digestset.h | 4 +-
src/lib/crypt_ops/include.am | 9 +
src/lib/crypt_ops/lib_crypt_ops.md | 137 +
src/lib/ctime/di_ops.c | 5 +-
src/lib/ctime/di_ops.h | 25 +-
src/lib/ctime/include.am | 2 +
src/lib/ctime/lib_ctime.md | 14 +
src/lib/defs/dh_sizes.h | 4 +-
src/lib/defs/digest_sizes.h | 4 +-
src/lib/defs/include.am | 3 +
src/lib/defs/lib_defs.md | 2 +
src/lib/defs/logging_types.h | 23 +
src/lib/defs/time.h | 23 +
src/lib/defs/x25519_sizes.h | 12 +-
src/lib/dispatch/.may_include | 11 +
src/lib/dispatch/dispatch.h | 114 +
src/lib/dispatch/dispatch_cfg.c | 141 +
src/lib/dispatch/dispatch_cfg.h | 50 +
src/lib/dispatch/dispatch_cfg_st.h | 33 +
src/lib/dispatch/dispatch_core.c | 260 +
src/lib/dispatch/dispatch_naming.c | 70 +
src/lib/dispatch/dispatch_naming.h | 51 +
src/lib/dispatch/dispatch_new.c | 176 +
src/lib/dispatch/dispatch_st.h | 108 +
src/lib/dispatch/include.am | 27 +
src/lib/dispatch/lib_dispatch.md | 14 +
src/lib/dispatch/msgtypes.h | 80 +
src/lib/encoding/.may_include | 1 +
src/lib/encoding/binascii.c | 24 +-
src/lib/encoding/binascii.h | 5 +-
src/lib/encoding/confline.c | 17 +-
src/lib/encoding/confline.h | 6 +-
src/lib/encoding/cstring.c | 2 +-
src/lib/encoding/cstring.h | 2 +-
src/lib/encoding/include.am | 6 +
src/lib/encoding/keyval.c | 2 +-
src/lib/encoding/keyval.h | 4 +-
src/lib/encoding/kvline.c | 297 +
src/lib/encoding/kvline.h | 27 +
src/lib/encoding/lib_encoding.md | 6 +
src/lib/encoding/pem.c | 12 +-
src/lib/encoding/pem.h | 4 +-
src/lib/encoding/qstring.c | 90 +
src/lib/encoding/qstring.h | 18 +
src/lib/encoding/time_fmt.c | 2 +-
src/lib/encoding/time_fmt.h | 4 +-
src/lib/err/.may_include | 3 +
src/lib/err/backtrace.c | 86 +-
src/lib/err/backtrace.h | 13 +-
src/lib/err/include.am | 10 +-
src/lib/err/lib_err.md | 13 +
src/lib/err/torerr.c | 79 +-
src/lib/err/torerr.h | 12 +-
src/lib/err/torerr_sys.c | 46 +
src/lib/err/torerr_sys.h | 14 +
src/lib/evloop/.may_include | 5 +-
src/lib/evloop/compat_libevent.c | 6 +-
src/lib/evloop/compat_libevent.h | 8 +-
src/lib/evloop/evloop_sys.c | 49 +
src/lib/evloop/evloop_sys.h | 17 +
src/lib/evloop/include.am | 5 +-
src/lib/evloop/lib_evloop.md | 7 +
src/lib/evloop/procmon.c | 8 +-
src/lib/evloop/procmon.h | 2 +-
src/lib/evloop/time_periodic.md | 76 +
src/lib/evloop/timers.c | 15 +-
src/lib/evloop/timers.h | 3 +-
src/lib/evloop/token_bucket.c | 54 +-
src/lib/evloop/token_bucket.h | 35 +-
src/lib/evloop/workqueue.c | 38 +-
src/lib/evloop/workqueue.h | 9 +-
src/lib/fdio/fdio.c | 13 +-
src/lib/fdio/fdio.h | 5 +-
src/lib/fdio/include.am | 2 +
src/lib/fdio/lib_fdio.md | 5 +
src/lib/fs/.may_include | 2 +-
src/lib/fs/conffile.c | 2 +-
src/lib/fs/conffile.h | 4 +-
src/lib/fs/dir.c | 6 +-
src/lib/fs/dir.h | 4 +-
src/lib/fs/files.c | 2 +-
src/lib/fs/files.h | 16 +-
src/lib/fs/freespace.c | 2 +-
src/lib/fs/include.am | 2 +
src/lib/fs/lib_fs.md | 9 +
src/lib/fs/lockfile.c | 2 +-
src/lib/fs/lockfile.h | 4 +-
src/lib/fs/mmap.c | 20 +-
src/lib/fs/mmap.h | 9 +-
src/lib/fs/path.c | 17 +-
src/lib/fs/path.h | 6 +-
src/lib/fs/storagedir.c | 2 +-
src/lib/fs/storagedir.h | 6 +-
src/lib/fs/userdb.c | 2 +-
src/lib/fs/userdb.h | 6 +-
src/lib/fs/winlib.c | 2 +-
src/lib/fs/winlib.h | 6 +-
src/lib/geoip/country.h | 10 +-
src/lib/geoip/geoip.c | 18 +-
src/lib/geoip/geoip.h | 3 +-
src/lib/geoip/include.am | 2 +
src/lib/geoip/lib_geoip.md | 3 +
src/lib/intmath/addsub.c | 2 +-
src/lib/intmath/addsub.h | 4 +-
src/lib/intmath/bits.c | 2 +-
src/lib/intmath/bits.h | 2 +-
src/lib/intmath/cmp.h | 5 +-
src/lib/intmath/include.am | 2 +
src/lib/intmath/lib_intmath.md | 2 +
src/lib/intmath/logic.h | 4 +-
src/lib/intmath/muldiv.c | 16 +-
src/lib/intmath/muldiv.h | 4 +-
src/lib/intmath/weakrng.c | 2 +-
src/lib/intmath/weakrng.h | 7 +-
src/lib/lib.md | 131 +
src/lib/lock/compat_mutex.c | 12 +-
src/lib/lock/compat_mutex.h | 9 +-
src/lib/lock/compat_mutex_pthreads.c | 24 +-
src/lib/lock/compat_mutex_winthreads.c | 2 +-
src/lib/lock/include.am | 2 +
src/lib/lock/lib_lock.md | 6 +
src/lib/log/.may_include | 5 +-
src/lib/log/escape.c | 2 +-
src/lib/log/escape.h | 4 +-
src/lib/log/include.am | 12 +-
src/lib/log/lib_log.md | 10 +
src/lib/log/log.c | 182 +-
src/lib/log/log.h | 149 +-
src/lib/log/log_sys.c | 37 +
src/lib/log/log_sys.h | 14 +
src/lib/log/ratelim.c | 2 +-
src/lib/log/ratelim.h | 6 +-
src/lib/log/util_bug.c | 76 +-
src/lib/log/util_bug.h | 66 +-
src/lib/log/win32err.c | 4 +-
src/lib/log/win32err.h | 4 +-
src/lib/malloc/.may_include | 2 +-
src/lib/malloc/include.am | 8 +-
src/lib/malloc/lib_malloc.md | 76 +
src/lib/malloc/malloc.c | 2 +-
src/lib/malloc/malloc.h | 6 +-
src/lib/malloc/map_anon.c | 271 +
src/lib/malloc/map_anon.h | 71 +
src/lib/math/.may_include | 2 +
src/lib/math/fp.c | 32 +-
src/lib/math/fp.h | 5 +-
src/lib/math/include.am | 9 +-
src/lib/math/laplace.c | 2 +-
src/lib/math/laplace.h | 4 +-
src/lib/math/lib_math.md | 6 +
src/lib/math/prob_distr.c | 1690 +++++
src/lib/math/prob_distr.h | 253 +
src/lib/memarea/.may_include | 2 +-
src/lib/memarea/include.am | 2 +
src/lib/memarea/lib_memarea.md | 28 +
src/lib/memarea/memarea.c | 9 +-
src/lib/memarea/memarea.h | 5 +-
src/lib/meminfo/include.am | 2 +
src/lib/meminfo/lib_meminfo.md | 5 +
src/lib/meminfo/meminfo.c | 8 +-
src/lib/meminfo/meminfo.h | 4 +-
src/lib/net/.may_include | 6 +-
src/lib/net/address.c | 138 +-
src/lib/net/address.h | 26 +-
src/lib/net/alertsock.c | 2 +-
src/lib/net/alertsock.h | 4 +-
src/lib/net/buffers_net.c | 138 +-
src/lib/net/buffers_net.h | 11 +-
src/lib/net/gethostname.c | 2 +-
src/lib/net/gethostname.h | 4 +-
src/lib/net/inaddr.c | 16 +-
src/lib/net/inaddr.h | 4 +-
src/lib/net/inaddr_st.h | 4 +-
src/lib/net/include.am | 4 +
src/lib/net/lib_net.md | 6 +
src/lib/net/nettypes.h | 6 +-
src/lib/net/network_sys.c | 46 +
src/lib/net/network_sys.h | 14 +
src/lib/net/resolve.c | 359 +-
src/lib/net/resolve.h | 21 +-
src/lib/net/socket.c | 46 +-
src/lib/net/socket.h | 7 +-
src/lib/net/socketpair.c | 18 +-
src/lib/net/socketpair.h | 9 +-
src/lib/net/socks5_status.h | 14 +-
src/lib/osinfo/include.am | 2 +
src/lib/osinfo/lib_osinfo.md | 8 +
src/lib/osinfo/uname.c | 4 +-
src/lib/osinfo/uname.h | 4 +-
src/lib/process/.may_include | 7 +-
src/lib/process/daemon.c | 4 +-
src/lib/process/daemon.h | 4 +-
src/lib/process/env.c | 5 +-
src/lib/process/env.h | 4 +-
src/lib/process/include.am | 18 +-
src/lib/process/lib_process.md | 2 +
src/lib/process/pidfile.c | 2 +-
src/lib/process/pidfile.h | 4 +-
src/lib/process/process.c | 798 ++
src/lib/process/process.h | 148 +
src/lib/process/process_sys.c | 33 +
src/lib/process/process_sys.h | 14 +
src/lib/process/process_unix.c | 698 ++
src/lib/process/process_unix.h | 68 +
src/lib/process/process_win32.c | 1105 +++
src/lib/process/process_win32.h | 97 +
src/lib/process/restrict.c | 6 +-
src/lib/process/restrict.h | 2 +-
src/lib/process/setuid.c | 16 +-
src/lib/process/setuid.h | 4 +-
src/lib/process/subprocess.c | 1236 ---
src/lib/process/subprocess.h | 134 -
src/lib/process/waitpid.c | 4 +-
src/lib/process/waitpid.h | 2 +-
src/lib/process/winprocess_sys.c | 66 +
src/lib/process/winprocess_sys.h | 14 +
src/lib/pubsub/.may_include | 10 +
src/lib/pubsub/include.am | 28 +
src/lib/pubsub/lib_pubsub.md | 14 +
src/lib/pubsub/pub_binding_st.h | 38 +
src/lib/pubsub/publish_subscribe.md | 144 +
src/lib/pubsub/pubsub.h | 89 +
src/lib/pubsub/pubsub_build.c | 307 +
src/lib/pubsub/pubsub_build.h | 97 +
src/lib/pubsub/pubsub_builder_st.h | 161 +
src/lib/pubsub/pubsub_check.c | 414 +
src/lib/pubsub/pubsub_connect.h | 54 +
src/lib/pubsub/pubsub_flags.h | 32 +
src/lib/pubsub/pubsub_macros.h | 373 +
src/lib/pubsub/pubsub_publish.c | 72 +
src/lib/pubsub/pubsub_publish.h | 20 +
src/lib/sandbox/.may_include | 7 +-
src/lib/sandbox/include.am | 2 +
src/lib/sandbox/lib_sandbox.md | 15 +
src/lib/sandbox/sandbox.c | 27 +-
src/lib/sandbox/sandbox.h | 14 +-
src/lib/smartlist_core/.may_include | 2 +-
src/lib/smartlist_core/include.am | 2 +
src/lib/smartlist_core/lib_smartlist_core.md | 10 +
src/lib/smartlist_core/smartlist_core.c | 28 +-
src/lib/smartlist_core/smartlist_core.h | 7 +-
src/lib/smartlist_core/smartlist_foreach.h | 15 +-
src/lib/smartlist_core/smartlist_split.c | 2 +-
src/lib/smartlist_core/smartlist_split.h | 4 +-
src/lib/string/.may_include | 4 +-
src/lib/string/compat_ctype.c | 2 +-
src/lib/string/compat_ctype.h | 2 +-
src/lib/string/compat_string.c | 6 +-
src/lib/string/compat_string.h | 13 +-
src/lib/string/include.am | 2 +
src/lib/string/lib_string.md | 13 +
src/lib/string/parse_int.c | 7 +-
src/lib/string/parse_int.h | 4 +-
src/lib/string/printf.c | 10 +-
src/lib/string/printf.h | 4 +-
src/lib/string/scanf.c | 2 +-
src/lib/string/scanf.h | 4 +-
src/lib/string/strings.md | 102 +
src/lib/string/util_string.c | 56 +-
src/lib/string/util_string.h | 9 +-
src/lib/subsys/.may_include | 1 +
src/lib/subsys/include.am | 4 +
src/lib/subsys/initialization.md | 75 +
src/lib/subsys/lib_subsys.md | 32 +
src/lib/subsys/subsys.h | 205 +
src/lib/term/.may_include | 3 +-
src/lib/term/getpass.c | 4 +-
src/lib/term/getpass.h | 4 +-
src/lib/term/include.am | 2 +
src/lib/term/lib_term.md | 2 +
src/lib/testsupport/include.am | 1 +
src/lib/testsupport/lib_testsupport.md | 2 +
src/lib/testsupport/testsupport.h | 57 +-
src/lib/thread/.may_include | 1 +
src/lib/thread/compat_pthreads.c | 4 +-
src/lib/thread/compat_threads.c | 30 +-
src/lib/thread/compat_winthreads.c | 2 +-
src/lib/thread/include.am | 7 +-
src/lib/thread/lib_thread.md | 7 +
src/lib/thread/numcpus.c | 2 +-
src/lib/thread/numcpus.h | 4 +-
src/lib/thread/thread_sys.h | 14 +
src/lib/thread/threading.md | 26 +
src/lib/thread/threads.h | 22 +-
src/lib/time/.may_include | 2 +
src/lib/time/compat_time.c | 30 +-
src/lib/time/compat_time.h | 152 +-
src/lib/time/include.am | 4 +
src/lib/time/lib_time.md | 9 +
src/lib/time/time_sys.c | 28 +
src/lib/time/time_sys.h | 14 +
src/lib/time/tvdiff.c | 5 +-
src/lib/time/tvdiff.h | 4 +-
src/lib/tls/.may_include | 7 +-
src/lib/tls/buffers_tls.c | 12 +-
src/lib/tls/buffers_tls.h | 2 +-
src/lib/tls/include.am | 3 +
src/lib/tls/lib_tls.md | 11 +
src/lib/tls/nss_countbytes.c | 2 +-
src/lib/tls/nss_countbytes.h | 4 +-
src/lib/tls/tortls.c | 21 +-
src/lib/tls/tortls.h | 12 +-
src/lib/tls/tortls_internal.h | 15 +-
src/lib/tls/tortls_nss.c | 6 +-
src/lib/tls/tortls_openssl.c | 26 +-
src/lib/tls/tortls_st.h | 14 +-
src/lib/tls/tortls_sys.h | 14 +
src/lib/tls/x509.c | 2 +-
src/lib/tls/x509.h | 8 +-
src/lib/tls/x509_internal.h | 4 +-
src/lib/tls/x509_nss.c | 10 +-
src/lib/tls/x509_openssl.c | 10 +-
src/lib/trace/debug.h | 4 +-
src/lib/trace/events.h | 8 +-
src/lib/trace/include.am | 3 +-
src/lib/trace/lib_trace.md | 6 +
src/lib/trace/trace.c | 2 +-
src/lib/trace/trace.h | 4 +-
src/lib/version/.may_include | 3 +
src/lib/{log => version}/git_revision.c | 19 +-
src/lib/{log => version}/git_revision.h | 7 +-
src/lib/version/include.am | 27 +
src/lib/version/lib_version.md | 2 +
src/lib/version/torversion.h | 17 +
src/lib/version/version.c | 59 +
src/lib/wallclock/.may_include | 1 +
src/lib/wallclock/approx_time.c | 26 +-
src/lib/wallclock/approx_time.h | 4 +-
src/lib/wallclock/include.am | 5 +-
src/lib/wallclock/lib_wallclock.md | 11 +
src/lib/wallclock/time_to_tm.c | 2 +-
src/lib/wallclock/time_to_tm.h | 4 +-
src/lib/wallclock/timeval.h | 27 +-
src/lib/wallclock/tor_gettimeofday.c | 2 +-
src/lib/wallclock/tor_gettimeofday.h | 4 +-
src/lib/wallclock/wallclock_sys.h | 14 +
src/mainpage.md | 147 +
src/rust/build.rs | 4 +-
src/rust/protover/ffi.rs | 2 +
src/rust/protover/protover.rs | 12 +-
src/rust/tor_log/tor_log.rs | 8 +-
src/rust/tor_util/strings.rs | 6 +-
src/test/.may_include | 2 +
src/test/Makefile.nmake | 8 +-
src/test/bench.c | 121 +-
src/test/bt_test.py | 4 +
src/test/conf_examples/badnick_1/error | 1 +
.../badnick_1/expected_log_no_dirauth_relay | 1 +
.../badnick_1/expected_no_dirauth_relay | 1 +
src/test/conf_examples/badnick_1/torrc | 4 +
src/test/conf_examples/badnick_2/error | 1 +
.../badnick_2/expected_log_no_dirauth_relay | 1 +
.../badnick_2/expected_no_dirauth_relay | 1 +
src/test/conf_examples/badnick_2/torrc | 4 +
.../conf_examples/bridgeauth_1/error_no_dirauth | 1 +
.../bridgeauth_1/error_no_dirauth_relay | 1 +
src/test/conf_examples/bridgeauth_1/expected | 7 +
src/test/conf_examples/bridgeauth_1/expected_log | 1 +
src/test/conf_examples/bridgeauth_1/torrc | 8 +
src/test/conf_examples/contactinfo_notutf8/error | 1 +
.../expected_log_no_dirauth_relay | 1 +
.../contactinfo_notutf8/expected_no_dirauth_relay | 1 +
src/test/conf_examples/contactinfo_notutf8/torrc | 5 +
src/test/conf_examples/controlsock/error | 1 +
src/test/conf_examples/controlsock/torrc | 1 +
src/test/conf_examples/crypto_accel/expected | 2 +
src/test/conf_examples/crypto_accel/expected_log | 1 +
.../conf_examples/crypto_accel/expected_log_nss | 1 +
src/test/conf_examples/crypto_accel/expected_nss | 2 +
src/test/conf_examples/crypto_accel/torrc | 3 +
src/test/conf_examples/crypto_accel_req/error | 1 +
.../crypto_accel_req/expected_log_nss | 1 +
.../conf_examples/crypto_accel_req/expected_nss | 2 +
src/test/conf_examples/crypto_accel_req/torrc | 3 +
src/test/conf_examples/dirauth_1/error_no_dirauth | 1 +
.../conf_examples/dirauth_1/error_no_dirauth_relay | 1 +
src/test/conf_examples/dirauth_1/expected | 8 +
src/test/conf_examples/dirauth_1/expected_log | 1 +
src/test/conf_examples/dirauth_1/torrc | 8 +
src/test/conf_examples/dirauth_2/expected | 1 +
src/test/conf_examples/dirauth_2/expected_log | 1 +
.../dirauth_2/expected_log_no_dirauth | 1 +
.../dirauth_2/expected_log_no_dirauth_relay | 1 +
.../conf_examples/dirauth_2/expected_no_dirauth | 0
.../dirauth_2/expected_no_dirauth_relay | 0
src/test/conf_examples/dirauth_2/torrc | 5 +
src/test/conf_examples/empty_1/expected | 0
src/test/conf_examples/empty_1/expected_log | 1 +
src/test/conf_examples/empty_1/torrc | 0
src/test/conf_examples/empty_2/cmdline | 0
src/test/conf_examples/empty_2/expected | 0
src/test/conf_examples/empty_2/expected_log | 1 +
src/test/conf_examples/empty_2/torrc | 0
src/test/conf_examples/empty_2/torrc.defaults | 0
src/test/conf_examples/empty_3/expected | 0
src/test/conf_examples/empty_3/expected_log | 1 +
src/test/conf_examples/empty_3/included/empty | 0
src/test/conf_examples/empty_3/torrc | 1 +
src/test/conf_examples/empty_4/error | 1 +
src/test/conf_examples/example_1/expected | 2 +
src/test/conf_examples/example_1/expected_log | 1 +
src/test/conf_examples/example_1/torrc | 5 +
src/test/conf_examples/example_2/error | 1 +
src/test/conf_examples/example_2/torrc | 1 +
src/test/conf_examples/example_3/cmdline | 1 +
src/test/conf_examples/example_3/expected | 1 +
src/test/conf_examples/example_3/expected_log | 1 +
src/test/conf_examples/example_3/torrc | 0
.../conf_examples/include_1/error_no_dirauth_relay | 1 +
src/test/conf_examples/include_1/expected | 3 +
src/test/conf_examples/include_1/expected_log | 1 +
src/test/conf_examples/include_1/included.inc | 4 +
src/test/conf_examples/include_1/nested.inc | 2 +
src/test/conf_examples/include_1/torrc | 4 +
.../include_bug_31408/error_no_dirauth_relay | 1 +
src/test/conf_examples/include_bug_31408/expected | 2 +
.../conf_examples/include_bug_31408/expected_log | 1 +
.../include_bug_31408/included/01_nickname.inc | 1 +
.../include_bug_31408/included/02_no_configs.inc | 3 +
src/test/conf_examples/include_bug_31408/torrc | 2 +
.../conf_examples/large_1/error_no_dirauth_relay | 1 +
src/test/conf_examples/large_1/expected | 159 +
src/test/conf_examples/large_1/expected_log | 1 +
.../conf_examples/large_1/expected_log_no_dirauth | 1 +
src/test/conf_examples/large_1/expected_no_dirauth | 158 +
src/test/conf_examples/large_1/torrc | 167 +
src/test/conf_examples/lzma_zstd_1/expected | 0
src/test/conf_examples/lzma_zstd_1/expected_log | 1 +
.../conf_examples/lzma_zstd_1/expected_log_lzma | 1 +
.../lzma_zstd_1/expected_log_lzma_zstd | 1 +
.../conf_examples/lzma_zstd_1/expected_log_zstd | 1 +
src/test/conf_examples/lzma_zstd_1/expected_lzma | 0
.../conf_examples/lzma_zstd_1/expected_lzma_zstd | 0
src/test/conf_examples/lzma_zstd_1/expected_zstd | 0
src/test/conf_examples/lzma_zstd_1/torrc | 1 +
src/test/conf_examples/missing_cl_arg/cmdline | 1 +
src/test/conf_examples/missing_cl_arg/error | 1 +
src/test/conf_examples/missing_cl_arg/torrc | 0
src/test/conf_examples/nss_1/expected | 0
src/test/conf_examples/nss_1/expected_log | 1 +
src/test/conf_examples/nss_1/expected_log_nss | 1 +
src/test/conf_examples/nss_1/expected_nss | 0
src/test/conf_examples/nss_1/torrc | 1 +
src/test/conf_examples/obsolete_1/expected | 0
src/test/conf_examples/obsolete_1/expected_log | 1 +
src/test/conf_examples/obsolete_1/torrc | 70 +
src/test/conf_examples/obsolete_2/expected | 0
src/test/conf_examples/obsolete_2/expected_log | 1 +
src/test/conf_examples/obsolete_2/torrc | 5 +
src/test/conf_examples/obsolete_3/expected | 0
src/test/conf_examples/obsolete_3/expected_log | 1 +
src/test/conf_examples/obsolete_3/torrc | 4 +
src/test/conf_examples/ops_1/cmdline | 1 +
.../conf_examples/ops_1/error_no_dirauth_relay | 1 +
src/test/conf_examples/ops_1/expected | 2 +
src/test/conf_examples/ops_1/expected_log | 1 +
src/test/conf_examples/ops_1/torrc | 3 +
src/test/conf_examples/ops_2/cmdline | 1 +
src/test/conf_examples/ops_2/expected | 0
src/test/conf_examples/ops_2/expected_log | 1 +
src/test/conf_examples/ops_2/torrc | 3 +
src/test/conf_examples/ops_3/cmdline | 1 +
.../conf_examples/ops_3/error_no_dirauth_relay | 1 +
src/test/conf_examples/ops_3/expected | 3 +
src/test/conf_examples/ops_3/expected_log | 1 +
src/test/conf_examples/ops_3/torrc | 3 +
.../conf_examples/ops_4/error_no_dirauth_relay | 1 +
src/test/conf_examples/ops_4/expected | 2 +
src/test/conf_examples/ops_4/expected_log | 1 +
src/test/conf_examples/ops_4/torrc | 3 +
src/test/conf_examples/ops_4/torrc.defaults | 1 +
.../conf_examples/ops_5/error_no_dirauth_relay | 1 +
src/test/conf_examples/ops_5/expected | 3 +
src/test/conf_examples/ops_5/expected_log | 1 +
src/test/conf_examples/ops_5/torrc | 3 +
src/test/conf_examples/ops_5/torrc.defaults | 1 +
src/test/conf_examples/ops_6/expected | 0
src/test/conf_examples/ops_6/expected_log | 1 +
src/test/conf_examples/ops_6/torrc | 3 +
src/test/conf_examples/ops_6/torrc.defaults | 1 +
src/test/conf_examples/pt_01/expected | 0
src/test/conf_examples/pt_01/expected_log | 1 +
src/test/conf_examples/pt_01/torrc | 7 +
src/test/conf_examples/pt_02/error | 1 +
.../pt_02/expected_log_no_dirauth_relay | 1 +
.../conf_examples/pt_02/expected_no_dirauth_relay | 8 +
src/test/conf_examples/pt_02/torrc | 13 +
src/test/conf_examples/pt_03/expected | 1 +
src/test/conf_examples/pt_03/expected_log | 1 +
.../pt_03/expected_log_no_dirauth_relay | 1 +
.../conf_examples/pt_03/expected_no_dirauth_relay | 1 +
src/test/conf_examples/pt_03/torrc | 4 +
src/test/conf_examples/pt_04/expected | 3 +
src/test/conf_examples/pt_04/expected_log | 1 +
.../pt_04/expected_log_no_dirauth_relay | 1 +
.../conf_examples/pt_04/expected_no_dirauth_relay | 3 +
src/test/conf_examples/pt_04/torrc | 6 +
.../conf_examples/pt_05/error_no_dirauth_relay | 1 +
src/test/conf_examples/pt_05/expected | 4 +
src/test/conf_examples/pt_05/expected_log | 1 +
src/test/conf_examples/pt_05/torrc | 6 +
src/test/conf_examples/pt_06/expected | 6 +
src/test/conf_examples/pt_06/expected_log | 1 +
.../pt_06/expected_log_no_dirauth_relay | 1 +
.../conf_examples/pt_06/expected_no_dirauth_relay | 6 +
src/test/conf_examples/pt_06/torrc | 9 +
.../conf_examples/pt_07/error_no_dirauth_relay | 1 +
src/test/conf_examples/pt_07/expected | 4 +
src/test/conf_examples/pt_07/expected_log | 1 +
src/test/conf_examples/pt_07/torrc | 6 +
src/test/conf_examples/pt_08/error | 1 +
.../pt_08/expected_log_no_dirauth_relay | 1 +
.../conf_examples/pt_08/expected_no_dirauth_relay | 2 +
src/test/conf_examples/pt_08/torrc | 7 +
src/test/conf_examples/pt_09/error | 1 +
.../conf_examples/pt_09/error_no_dirauth_relay | 1 +
src/test/conf_examples/pt_09/torrc | 7 +
src/test/conf_examples/relay_01/expected | 0
src/test/conf_examples/relay_01/expected_log | 1 +
src/test/conf_examples/relay_01/torrc | 5 +
src/test/conf_examples/relay_02/error | 1 +
.../conf_examples/relay_02/error_no_dirauth_relay | 1 +
src/test/conf_examples/relay_02/torrc | 7 +
.../conf_examples/relay_03/error_no_dirauth_relay | 1 +
src/test/conf_examples/relay_03/expected | 2 +
src/test/conf_examples/relay_03/expected_log | 1 +
src/test/conf_examples/relay_03/torrc | 5 +
.../conf_examples/relay_04/error_no_dirauth_relay | 1 +
src/test/conf_examples/relay_04/expected | 2 +
src/test/conf_examples/relay_04/expected_log | 1 +
src/test/conf_examples/relay_04/torrc | 4 +
.../conf_examples/relay_05/error_no_dirauth_relay | 1 +
src/test/conf_examples/relay_05/expected | 3 +
src/test/conf_examples/relay_05/expected_log | 1 +
src/test/conf_examples/relay_05/torrc | 5 +
.../conf_examples/relay_06/error_no_dirauth_relay | 1 +
src/test/conf_examples/relay_06/expected | 3 +
src/test/conf_examples/relay_06/expected_log | 1 +
src/test/conf_examples/relay_06/torrc | 5 +
.../conf_examples/relay_07/error_no_dirauth_relay | 1 +
src/test/conf_examples/relay_07/expected | 3 +
src/test/conf_examples/relay_07/expected_log | 1 +
src/test/conf_examples/relay_07/torrc | 5 +
.../conf_examples/relay_08/error_no_dirauth_relay | 1 +
src/test/conf_examples/relay_08/expected | 3 +
src/test/conf_examples/relay_08/expected_log | 1 +
src/test/conf_examples/relay_08/torrc | 6 +
.../conf_examples/relay_09/error_no_dirauth_relay | 1 +
src/test/conf_examples/relay_09/expected | 3 +
src/test/conf_examples/relay_09/expected_log | 1 +
src/test/conf_examples/relay_09/torrc | 6 +
.../conf_examples/relay_10/error_no_dirauth_relay | 1 +
src/test/conf_examples/relay_10/expected | 3 +
src/test/conf_examples/relay_10/expected_log | 1 +
src/test/conf_examples/relay_10/torrc | 7 +
src/test/conf_examples/relay_11/error | 1 +
.../conf_examples/relay_11/error_no_dirauth_relay | 1 +
src/test/conf_examples/relay_11/torrc | 4 +
src/test/conf_examples/relay_12/error | 1 +
.../conf_examples/relay_12/error_no_dirauth_relay | 1 +
src/test/conf_examples/relay_12/torrc | 4 +
src/test/conf_examples/relay_13/error | 1 +
.../conf_examples/relay_13/error_no_dirauth_relay | 1 +
src/test/conf_examples/relay_13/torrc | 4 +
.../conf_examples/relay_14/error_no_dirauth_relay | 1 +
src/test/conf_examples/relay_14/expected | 1 +
src/test/conf_examples/relay_14/expected_log | 1 +
src/test/conf_examples/relay_14/torrc | 4 +
src/test/conf_examples/relay_15/error | 1 +
.../conf_examples/relay_15/error_no_dirauth_relay | 1 +
src/test/conf_examples/relay_15/torrc | 5 +
src/test/conf_examples/relay_16/error | 1 +
.../conf_examples/relay_16/error_no_dirauth_relay | 1 +
src/test/conf_examples/relay_16/torrc | 4 +
.../conf_examples/relay_17/error_no_dirauth_relay | 1 +
src/test/conf_examples/relay_17/expected | 4 +
src/test/conf_examples/relay_17/expected_log | 1 +
src/test/conf_examples/relay_17/torrc | 6 +
src/test/conf_examples/relay_18/error | 1 +
.../conf_examples/relay_18/error_no_dirauth_relay | 1 +
src/test/conf_examples/relay_18/torrc | 4 +
.../conf_examples/relay_19/error_no_dirauth_relay | 1 +
src/test/conf_examples/relay_19/expected | 3 +
src/test/conf_examples/relay_19/expected_log | 1 +
src/test/conf_examples/relay_19/torrc | 5 +
src/test/conf_examples/relay_20/error | 1 +
.../conf_examples/relay_20/error_no_dirauth_relay | 1 +
src/test/conf_examples/relay_20/torrc | 5 +
.../conf_examples/relay_21/error_no_dirauth_relay | 1 +
src/test/conf_examples/relay_21/expected | 3 +
src/test/conf_examples/relay_21/expected_log | 1 +
src/test/conf_examples/relay_21/torrc | 5 +
src/test/conf_examples/relay_22/error | 1 +
.../conf_examples/relay_22/error_no_dirauth_relay | 1 +
src/test/conf_examples/relay_22/torrc | 6 +
src/test/conf_examples/relay_23/error | 1 +
.../conf_examples/relay_23/error_no_dirauth_relay | 1 +
src/test/conf_examples/relay_23/torrc | 5 +
src/test/conf_examples/relay_24/error | 1 +
.../conf_examples/relay_24/error_no_dirauth_relay | 1 +
src/test/conf_examples/relay_24/torrc | 5 +
src/test/conf_examples/relay_25/error | 1 +
.../conf_examples/relay_25/error_no_dirauth_relay | 1 +
src/test/conf_examples/relay_25/torrc | 5 +
src/test/conf_examples/relay_26/error | 1 +
.../conf_examples/relay_26/error_no_dirauth_relay | 1 +
src/test/conf_examples/relay_26/torrc | 5 +
src/test/conf_examples/relay_27/error | 1 +
.../conf_examples/relay_27/error_no_dirauth_relay | 1 +
src/test/conf_examples/relay_27/torrc | 5 +
src/test/conf_examples/relay_28/error | 1 +
.../conf_examples/relay_28/error_no_dirauth_relay | 1 +
src/test/conf_examples/relay_28/torrc | 5 +
.../conf_examples/relay_29/error_no_dirauth_relay | 1 +
src/test/conf_examples/relay_29/expected | 2 +
src/test/conf_examples/relay_29/expected_log | 1 +
src/test/conf_examples/relay_29/torrc | 5 +
src/test/conf_examples/relpath_rad/error | 1 +
src/test/conf_examples/relpath_rad/torrc | 4 +
src/test/conf_failures/README | 5 +
src/test/conf_failures/fail-error-success/error | 1 +
src/test/conf_failures/fail-error-success/torrc | 0
src/test/conf_failures/fail-error/error | 1 +
src/test/conf_failures/fail-error/torrc | 1 +
.../conf_failures/fail-expected-error/expected | 0
src/test/conf_failures/fail-expected-error/torrc | 1 +
src/test/conf_failures/fail-expected-log/expected | 0
.../conf_failures/fail-expected-log/expected_log | 1 +
src/test/conf_failures/fail-expected-log/torrc | 0
src/test/conf_failures/fail-expected/expected | 1 +
src/test/conf_failures/fail-expected/torrc | 0
src/test/ed25519_exts_ref.py | 25 +-
src/test/fakechans.h | 2 +-
src/test/fakecircs.c | 91 +
src/test/fakecircs.h | 17 +
src/test/fuzz/.may_include | 1 +
src/test/fuzz/fixup_filenames.sh | 6 +-
src/test/fuzz/fuzz_consensus.c | 8 +-
src/test/fuzz/fuzz_descriptor.c | 2 +-
src/test/fuzz/fuzz_diff.c | 34 +-
src/test/fuzz/fuzz_diff_apply.c | 15 +-
src/test/fuzz/fuzz_extrainfo.c | 2 +-
src/test/fuzz/fuzz_hsdescv2.c | 2 +-
src/test/fuzz/fuzz_hsdescv3.c | 13 +-
src/test/fuzz/fuzz_http.c | 4 +-
src/test/fuzz/fuzz_http_connect.c | 4 +-
src/test/fuzz/fuzz_iptsv2.c | 2 +-
src/test/fuzz/fuzz_microdesc.c | 2 +-
src/test/fuzz/fuzz_multi.sh | 6 +-
src/test/fuzz/fuzz_socks.c | 4 +-
src/test/fuzz/fuzz_strops.c | 253 +
src/test/fuzz/fuzz_vrs.c | 26 +-
src/test/fuzz/fuzzing.h | 4 +-
src/test/fuzz/fuzzing_common.c | 23 +-
src/test/fuzz/include.am | 29 +
src/test/fuzz/minimize.sh | 2 +-
src/test/fuzz_static_testcases.sh | 2 +-
src/test/hs_build_address.py | 5 +
src/test/hs_indexes.py | 5 +
src/test/hs_ntor_ref.py | 5 +
src/test/hs_test_helpers.c | 159 +-
src/test/hs_test_helpers.h | 9 +-
src/test/include.am | 81 +-
src/test/log_test_helpers.c | 2 +-
src/test/log_test_helpers.h | 2 +-
src/test/ntor_ref.py | 7 +-
src/test/ope_ref.py | 7 +-
src/test/opts_test_helpers.c | 38 +
src/test/opts_test_helpers.h | 22 +
src/test/prob_distr_mpfr_ref.c | 64 +
src/test/ptr_helpers.c | 50 +
src/test/ptr_helpers.h | 23 +
src/test/rend_test_helpers.c | 2 +-
src/test/rend_test_helpers.h | 2 +-
src/test/resolve_test_helpers.c | 85 +
src/test/resolve_test_helpers.h | 18 +
src/test/rng_test_helpers.c | 259 +
src/test/rng_test_helpers.h | 25 +
src/test/slow_ed25519.py | 5 +
src/test/slownacl_curve25519.py | 7 +-
src/test/sr_commit_calc_ref.py | 5 +
src/test/sr_srv_calc_ref.py | 5 +
src/test/test-child.c | 61 -
src/test/test-memwipe.c | 4 +-
src/test/test-network.sh | 48 +-
src/test/test-process.c | 85 +
src/test/test-timers.c | 4 +-
src/test/test.c | 230 +-
src/test/test.h | 155 +-
src/test/test_accounting.c | 18 +-
src/test/test_addr.c | 668 +-
src/test/test_address.c | 168 +-
src/test/test_address_set.c | 17 +-
src/test/test_bridges.c | 4 +-
src/test/test_bt.sh | 2 -
src/test/test_bt_cl.c | 16 +-
src/test/test_btrack.c | 129 +
src/test/test_buffers.c | 4 +-
src/test/test_bwmgt.c | 219 +-
src/test/test_cell_formats.c | 2 +-
src/test/test_cell_queue.c | 2 +-
src/test/test_channel.c | 39 +-
src/test/test_channelpadding.c | 13 +-
src/test/test_channeltls.c | 6 +-
src/test/test_checkdir.c | 2 +-
src/test/test_circuitbuild.c | 9 +-
src/test/test_circuitlist.c | 6 +-
src/test/test_circuitmux.c | 395 +-
src/test/test_circuitmux_ewma.c | 228 +
src/test/test_circuitpadding.c | 3147 ++++++++
src/test/test_circuitstats.c | 22 +-
src/test/test_circuituse.c | 2 +-
src/test/test_cmdline.sh | 65 +
src/test/test_compat_libevent.c | 7 +-
src/test/test_config.c | 605 +-
src/test/test_confmgr.c | 499 ++
src/test/test_confparse.c | 1091 +++
src/test/test_connection.c | 100 +-
src/test/test_connection.h | 7 +-
src/test/test_conscache.c | 2 +-
src/test/test_consdiff.c | 96 +-
src/test/test_consdiffmgr.c | 47 +-
src/test/test_containers.c | 92 +-
src/test/test_controller.c | 624 +-
src/test/test_controller_events.c | 353 +-
src/test/test_crypto.c | 256 +-
src/test/test_crypto_ope.c | 2 +-
src/test/test_crypto_openssl.c | 2 +-
src/test/test_crypto_rng.c | 332 +
src/test/test_crypto_slow.c | 6 +-
src/test/test_data.c | 2 +-
src/test/test_dir.c | 2025 +++--
src/test/test_dir_common.c | 19 +-
src/test/test_dir_common.h | 6 +-
src/test/test_dir_handle_get.c | 214 +-
src/test/test_dispatch.c | 278 +
src/test/test_dns.c | 243 +-
src/test/test_dos.c | 6 +-
src/test/test_entryconn.c | 4 +-
src/test/test_entrynodes.c | 71 +-
src/test/test_extorport.c | 37 +-
src/test/test_geoip.c | 2 +-
src/test/test_guardfraction.c | 2 +-
src/test/test_handles.c | 2 +-
src/test/test_helpers.c | 152 +-
src/test/test_helpers.h | 11 +-
src/test/test_hs.c | 18 +-
src/test/test_hs_cache.c | 171 +-
src/test/test_hs_cell.c | 102 +-
src/test/test_hs_client.c | 507 +-
src/test/test_hs_common.c | 56 +-
src/test/test_hs_config.c | 119 +-
src/test/test_hs_control.c | 514 +-
src/test/test_hs_descriptor.c | 168 +-
src/test/test_hs_dos.c | 176 +
src/test/test_hs_intropoint.c | 228 +-
src/test/test_hs_ntor.c | 2 +-
src/test/test_hs_ntor.sh | 2 +-
src/test/test_hs_ntor_cl.c | 2 +-
src/test/test_hs_service.c | 172 +-
src/test/test_introduce.c | 5 +-
src/test/test_key_expiration.sh | 40 +-
src/test/test_keygen.sh | 70 +-
src/test/test_keypin.c | 2 +-
src/test/test_link_handshake.c | 20 +-
src/test/test_logging.c | 28 +-
src/test/test_mainloop.c | 243 +-
src/test/test_microdesc.c | 175 +-
src/test/test_namemap.c | 174 +
src/test/test_netinfo.c | 48 +
src/test/test_nodelist.c | 1197 ++-
src/test/test_ntor_cl.c | 2 +-
src/test/test_oom.c | 4 +-
src/test/test_oos.c | 2 +-
src/test/test_options.c | 2204 +++---
src/test/test_options_act.c | 272 +
src/test/test_parsecommon.c | 594 ++
src/test/test_parseconf.sh | 655 ++
src/test/test_pem.c | 32 +-
src/test/test_periodic_event.c | 104 +-
src/test/test_policy.c | 287 +-
src/test/test_prob_distr.c | 1404 ++++
src/test/test_process.c | 669 ++
src/test/test_process_descs.c | 70 +
src/test/test_process_slow.c | 365 +
src/test/test_procmon.c | 5 +-
src/test/test_proto_haproxy.c | 66 +
src/test/test_proto_http.c | 4 +-
src/test/test_proto_misc.c | 4 +-
src/test/test_protover.c | 12 +-
src/test/test_pt.c | 132 +-
src/test/test_ptr_slow.c | 106 +
src/test/test_pubsub_build.c | 578 ++
src/test/test_pubsub_msg.c | 305 +
src/test/test_rebind.py | 8 +-
src/test/test_rebind.sh | 46 +-
src/test/test_relay.c | 41 +-
src/test/test_relaycell.c | 10 +-
src/test/test_relaycrypt.c | 12 +-
src/test/test_rendcache.c | 43 +-
src/test/test_replay.c | 2 +-
src/test/test_rng.c | 59 +
src/test/test_router.c | 277 +-
src/test/test_routerkeys.c | 14 +-
src/test/test_routerlist.c | 26 +-
src/test/test_routerset.c | 1033 ++-
src/test/test_rust.sh | 5 +-
src/test/test_scheduler.c | 60 +-
src/test/test_sendme.c | 365 +
src/test/test_shared_random.c | 380 +-
src/test/test_slow.c | 6 +-
src/test/test_socks.c | 41 +-
src/test/test_stats.c | 258 +
src/test/test_status.c | 632 +-
src/test/test_storagedir.c | 2 +-
src/test/test_switch_id.c | 4 +-
src/test/test_switch_id.sh | 4 +-
src/test/test_threads.c | 4 +-
src/test/test_token_bucket.c | 152 +
src/test/test_tortls.c | 10 +-
src/test/test_tortls.h | 4 +-
src/test/test_tortls_openssl.c | 14 +-
src/test/test_util.c | 616 +-
src/test/test_util_format.c | 15 +-
src/test/test_util_process.c | 4 +-
src/test/test_util_slow.c | 396 -
src/test/test_voting_flags.c | 193 +
src/test/test_voting_schedule.c | 2 +-
src/test/test_workqueue.c | 12 +-
src/test/test_workqueue_cancel.sh | 2 +-
src/test/test_workqueue_efd.sh | 2 +-
src/test/test_workqueue_efd2.sh | 2 +-
src/test/test_workqueue_pipe.sh | 2 +-
src/test/test_workqueue_pipe2.sh | 2 +-
src/test/test_workqueue_socketpair.sh | 2 +-
src/test/test_x509.c | 2 +-
src/test/test_zero_length_keys.sh | 40 +-
src/test/testing_common.c | 65 +-
src/test/testing_rsakeys.c | 7 +-
src/test/zero_length_keys.sh | 6 +-
src/tools/.may_include | 1 +
src/tools/include.am | 7 +-
src/tools/tools.md | 6 +
src/tools/tor-gencert.c | 8 +-
src/tools/tor-print-ed-signing-cert.c | 9 +-
src/tools/tor-resolve.c | 402 +-
src/tools/tor_runner.c | 2 +-
src/trunnel/.may_include | 1 +
src/trunnel/channelpadding_negotiation.c | 2 +-
src/trunnel/channelpadding_negotiation.h | 2 +-
src/trunnel/circpad_negotiation.c | 549 ++
src/trunnel/circpad_negotiation.h | 195 +
src/trunnel/circpad_negotiation.trunnel | 44 +
src/trunnel/ed25519_cert.c | 2 +-
src/trunnel/ed25519_cert.h | 2 +-
src/trunnel/ed25519_cert.trunnel | 6 -
src/trunnel/hs/.may_include | 1 +
src/trunnel/hs/cell_common.c | 118 +-
src/trunnel/hs/cell_common.h | 100 +-
src/trunnel/hs/cell_common.trunnel | 4 +-
src/trunnel/hs/cell_establish_intro.c | 471 +-
src/trunnel/hs/cell_establish_intro.h | 161 +-
src/trunnel/hs/cell_establish_intro.trunnel | 23 +
src/trunnel/hs/cell_introduce1.c | 2 +-
src/trunnel/hs/cell_introduce1.h | 2 +-
src/trunnel/hs/cell_rendezvous.c | 2 +-
src/trunnel/hs/cell_rendezvous.h | 2 +-
src/trunnel/include.am | 14 +-
src/trunnel/link_handshake.c | 2 +-
src/trunnel/link_handshake.h | 2 +-
src/trunnel/netinfo.c | 723 ++
src/trunnel/netinfo.h | 226 +
src/trunnel/netinfo.trunnel | 24 +
src/trunnel/pwbox.c | 2 +-
src/trunnel/pwbox.h | 2 +-
src/trunnel/sendme_cell.c | 347 +
src/trunnel/sendme_cell.h | 101 +
src/trunnel/sendme_cell.trunnel | 19 +
src/trunnel/socks5.c | 15 +-
src/trunnel/socks5.h | 2 +-
src/trunnel/socks5.trunnel | 2 +-
src/trunnel/trunnel-local.h | 1 +
src/win32/orconfig.h | 5 +-
1840 files changed, 108321 insertions(+), 35898 deletions(-)
More information about the tor-commits
mailing list