commit 61694695469824f5daf5155d5f072dd97be22c32 Merge: d3af23783 bcb38d984 Author: teor teor@torproject.org Date: Tue Nov 5 14:23:10 2019 +1000
Merge remote-tracking branch 'tor-github/pr/1477'
Makefile.am | 8 +- changes/bug32213 | 20 + changes/bug32352 | 6 + changes/bug32368 | 4 + changes/bug32370 | 3 + changes/bug32371 | 3 + changes/ticket32213_parseconf | 3 + scripts/maint/practracker/exceptions.txt | 30 +- scripts/maint/update_versions.py | 2 +- src/app/config/config.c | 1561 ++------------------ src/app/config/config.h | 55 +- src/app/config/statefile.c | 3 +- src/app/main/shutdown.c | 2 + src/core/include.am | 12 +- src/feature/client/transports.c | 4 +- src/feature/dirauth/dirauth_config.c | 440 ++++++ src/feature/dirauth/dirauth_config.h | 87 ++ src/feature/dircache/dircache.c | 3 +- src/feature/relay/relay_config.c | 1440 ++++++++++++++++++ src/feature/relay/relay_config.h | 188 +++ src/feature/relay/router.c | 7 +- src/feature/relay/transport_config.c | 307 ++++ src/feature/relay/transport_config.h | 85 ++ src/lib/confmgt/confmgt.c | 9 +- .../conf_examples/badnick_1/error_no_dirauth_relay | 1 + .../conf_examples/badnick_2/error_no_dirauth_relay | 1 + .../conf_examples/bridgeauth_1/error_no_dirauth | 1 + .../bridgeauth_1/error_no_dirauth_relay | 1 + .../conf_examples/bridgeauth_1/expected_no_dirauth | 7 - .../bridgeauth_1/expected_no_dirauth_relay | 6 - .../contactinfo_notutf8/error_no_dirauth_relay | 1 + src/test/conf_examples/dirauth_1/error_no_dirauth | 1 + .../conf_examples/dirauth_1/error_no_dirauth_relay | 1 + .../conf_examples/dirauth_1/expected_no_dirauth | 7 - .../dirauth_1/expected_no_dirauth_relay | 6 - .../conf_examples/example_1/error_no_dirauth_relay | 1 + .../conf_examples/example_3/error_no_dirauth_relay | 1 + .../conf_examples/include_1/error_no_dirauth_relay | 1 + .../include_bug_31408/error_no_dirauth_relay | 1 + .../conf_examples/large_1/error_no_dirauth_relay | 1 + .../conf_examples/ops_1/error_no_dirauth_relay | 1 + .../conf_examples/ops_1/expected_no_dirauth_relay | 1 - .../conf_examples/ops_3/error_no_dirauth_relay | 1 + .../conf_examples/ops_3/expected_no_dirauth_relay | 2 - .../conf_examples/ops_4/error_no_dirauth_relay | 1 + .../conf_examples/ops_4/expected_no_dirauth_relay | 1 - .../conf_examples/ops_5/error_no_dirauth_relay | 1 + .../conf_examples/ops_5/expected_no_dirauth_relay | 2 - .../conf_examples/pt_01/error_no_dirauth_relay | 1 + src/test/conf_examples/pt_01/expected | 0 src/test/conf_examples/pt_01/torrc | 7 + .../conf_examples/pt_02/error_no_dirauth_relay | 1 + src/test/conf_examples/pt_02/expected | 0 src/test/conf_examples/pt_02/torrc | 11 + .../conf_examples/pt_03/error_no_dirauth_relay | 1 + src/test/conf_examples/pt_03/expected | 1 + src/test/conf_examples/pt_03/torrc | 4 + .../conf_examples/pt_04/error_no_dirauth_relay | 1 + src/test/conf_examples/pt_04/expected | 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/torrc | 6 + .../conf_examples/pt_06/error_no_dirauth_relay | 1 + src/test/conf_examples/pt_06/expected | 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/torrc | 6 + src/test/conf_examples/pt_08/error | 1 + .../conf_examples/pt_08/error_no_dirauth_relay | 1 + src/test/conf_examples/pt_08/torrc | 5 + .../conf_examples/pt_09/error_no_dirauth_relay | 1 + src/test/conf_examples/pt_09/expected | 0 src/test/conf_examples/pt_09/torrc | 7 + .../conf_examples/relay_01/error_no_dirauth_relay | 1 + src/test/conf_examples/relay_01/expected | 0 src/test/conf_examples/relay_01/torrc | 5 + .../conf_examples/relay_02/error_no_dirauth_relay | 1 + src/test/conf_examples/relay_02/expected | 0 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/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/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/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/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/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/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/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/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/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/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/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/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/torrc | 5 + src/test/include.am | 1 + src/test/test.c | 163 +- src/test/test.h | 1 + src/test/test_cmdline.sh | 17 + src/test/test_config.c | 214 +-- src/test/test_dir_handle_get.c | 9 +- src/test/test_key_expiration.sh | 21 +- src/test/test_keygen.sh | 21 +- src/test/test_options.c | 536 ++++--- src/test/test_parseconf.sh | 55 +- src/test/test_rebind.sh | 35 +- src/test/test_stats.c | 258 ++++ src/test/test_zero_length_keys.sh | 37 +- 175 files changed, 3989 insertions(+), 2022 deletions(-)