Commit Graph

33919 Commits

Author SHA1 Message Date
teor bf16efeb07 nodelist: fix a comment typo in routerset.h 2019-10-28 23:44:08 +10:00
David Goulet b98631d280 Merge branch 'tor-github/pr/1476' 2019-10-28 08:47:57 -04:00
Nick Mathewson 25d66a3391 add missing docs in crypto_digest* 2019-10-28 08:27:42 -04:00
Nick Mathewson 4d2c8ca338 Merge branch 'config_macros_doc_cleanup' 2019-10-28 07:31:42 -04:00
teor 3479024cb1 scripts: Change to the top source directory as needed
Bugfix on 31919; not in any released version of tor.
2019-10-28 13:28:50 +10:00
teor 18e09913bf practracker: Don't read editor temp files
(Or any dot files.)

Obviously correct changes to already-reviewed code.
2019-10-28 13:09:58 +10:00
teor 68befa3b84 scripts/git: Fix a shellcheck error in pre-commit.git-hook
Some versions of shellcheck do not detect this error.

Bugfix on 31919; not in any released version of tor.
2019-10-28 13:04:29 +10:00
Nick Mathewson f751cc020f Documentation cleanup in confmacros.h 2019-10-26 17:24:22 -04:00
Nick Mathewson bc4b9d7df4 Changes file for ticket 32307. 2019-10-26 12:09:09 -04:00
Nick Mathewson b314b68d61 Fix doxygen HTML warnings in src/feature. 2019-10-26 12:07:09 -04:00
Nick Mathewson 68f8086041 doxygen: add @file declarations for src/feature/
If a file doesn't use the file command (either \file or @file),
Doxygen won't try to process it.
2019-10-26 12:05:28 -04:00
Nick Mathewson 30c6ab5150 doxygen: add @file declarations for src/app
If a file doesn't use the file command (either \file or @file),
Doxygen won't try to process it.
2019-10-26 11:41:43 -04:00
Nick Mathewson 5f299feb82 doxygen: add @file declarations for src/core/crypto
If a file doesn't use the file command (either \file or @file),
Doxygen won't try to process it.
2019-10-26 11:39:17 -04:00
Nick Mathewson ff7a70ca09 doxygen: add @file declarations for src/core/or
If a file doesn't use the file command (either \file or @file),
Doxygen won't try to process it.
2019-10-26 11:37:25 -04:00
Nick Mathewson 943fd734f9 doxygen: add @file declarations for src/core/mainloop
If a file doesn't use the file command (either \file or @file),
Doxygen won't try to process it.
2019-10-26 11:26:06 -04:00
Nick Mathewson 4d4a3eeeb1 doxygen: add @file declarations for src/core/proto
If a file doesn't use the file command (either \file or @file),
Doxygen won't try to process it.

These declarations also turned up a doxygen warning for
proto_socks.c; I fixed that too.
2019-10-26 11:21:25 -04:00
Nick Mathewson 39d09ea081 doxygen: add @file declarations for src/lib
If a file doesn't use the file command (either \file or @file),
Doxygen won't try to process it.

These declarations also turned up a doxygen warning for
crypto_ope.c; I fixed that too.
2019-10-26 11:13:29 -04:00
Nick Mathewson 731464deb5 changes file for 32304 2019-10-26 10:14:05 -04:00
Nick Mathewson 16dffa523e Rename confparse.[ch] identifiers to confmgt.[ch] identifiers.
This is an automated commit, generated by this command:

./scripts/maint/rename_c_identifier.py \
        confparse.h confmgt.h \
        confparse.c confmgt.c \
        CONFPARSE_PRIVATE CONFMGT_PRIVATE \
        TOR_CONFPARSE_H TOR_CONFMGT_H
2019-10-26 10:09:03 -04:00
Nick Mathewson 2402d95715 Rename confparse.[ch] to confmgt.[ch]
This will break compilation until includes etc are fixed.
2019-10-26 10:07:14 -04:00
Nick Mathewson 407fb0c35c Move config_format_t and allied definitions into conftypes.h
Since these are needed by every module that is _configurable_, they
belong in lib/conf, not lib/confmgt.
2019-10-26 10:05:03 -04:00
Nick Mathewson e7993dc046 Merge branch 'ticket31241_v3' 2019-10-25 08:10:39 -04:00
Nick Mathewson 63f2a310cb config,state: check magic in all callbacks. 2019-10-25 08:09:05 -04:00
Nick Mathewson aa6b4b62db confparse: Add a function to check the magic of a toplevel object. 2019-10-25 08:08:43 -04:00
teor 0ae530c8f6 test: Use SEVERITY_MASK_IDX() to find the LOG_* mask indexes
In the unit tests.

Fixes a regression to bug 31334; bug not in any released version of tor.
2019-10-25 17:23:46 +10:00
teor 60aa6dac34 Merge remote-tracking branch 'tor-github/pr/1467' 2019-10-25 17:17:39 +10:00
teor 00c3fba61c scripts/maint: Stop assuming that python3 is in /usr/bin
Obviously correct fix to rename_c_identifier.py.

Bugfix on 32237; not in any released version of tor.
2019-10-25 16:46:54 +10:00
teor f40eb2ead6 Merge remote-tracking branch 'tor-github/pr/1462' 2019-10-25 16:14:37 +10:00
teor 7a5eefd3f8 Makefile: Stop using trailing spaces in an EXTRA_DIST clause
Based on 8-space tabs, the git/less default.

Cleanup after 31919.
2019-10-25 16:13:16 +10:00
teor 9be0324c2c changes: file for 31919 2019-10-25 16:08:44 +10:00
teor c3ff5ad56b Travis: Install coccinelle on macOS and Linux
And print the spatch version and build details

Part of 31919.
2019-10-25 16:08:40 +10:00
teor ba64caee87 Makefile: Add check_cocci_parse.sh as check-cocci
And add it to check-local.

Part of 31919.
2019-10-25 16:08:35 +10:00
teor aff286618c Merge branch 'maint-0.4.2' 2019-10-25 10:56:21 +10:00
teor d7c40beeab Merge branch 'maint-0.4.1' into maint-0.4.2 2019-10-25 10:56:13 +10:00
teor 63581d55a6 Merge branch 'maint-0.4.0' into maint-0.4.1 2019-10-25 10:56:06 +10:00
teor e56e7e865e Merge branch 'maint-0.3.5' into maint-0.4.0 2019-10-25 10:55:58 +10:00
teor e03db9934a Merge branch 'maint-0.2.9' into maint-0.3.5 2019-10-25 10:55:51 +10:00
teor a91f52a443 Merge branch 'maint-0.4.2' 2019-10-25 10:38:22 +10:00
Nick Mathewson 94853b4ab6 changes tile for ticket 31241 2019-10-24 20:38:02 -04:00
Nick Mathewson 620e40bcfc test_options: add a test for options_trial_assign()
This function is used by controllers to set options.  I refactored
it a bit when refactoring options validation, so it needs to get
tested.
2019-10-24 20:38:02 -04:00
Nick Mathewson 06475f30e9 tests: set DataDirectory_option as well as DataDirectory.
options_validate_cb() derives DataDirectory (which we use) from
DataDirectory_option (which the user sets).  I want to add a test
that will call options_validate_cb(), but it will fail unless it
derives the same value.
2019-10-24 20:38:02 -04:00
Nick Mathewson 4d53bbeafb config: make options_act*() mockable.
I'll need this for testing options_trial_assign().
2019-10-24 20:38:02 -04:00
teor c8aa3cc17d Merge remote-tracking branch 'tor-github/pr/1466' into maint-0.4.2 2019-10-25 10:38:01 +10:00
Nick Mathewson f796bf3aa5 Extend confmgr tests to handle validation callbacks. 2019-10-24 20:37:53 -04:00
Nick Mathewson d17aa09308 config.c: Turn options_transition_allowed() into a proper callback 2019-10-24 20:30:32 -04:00
Nick Mathewson bd891f517f config.c: extract validate, check-transition, and set into a function
This eliminates duplicated code.  The options_validate() function
itself is now tests-only.
2019-10-24 20:30:32 -04:00
Nick Mathewson e0ae137df5 Write a new set of config validation callbacks.
Unlike legacy_validate_fn_t, these callbacks have separation of
duties, into:

    * early normalization and computation.
    * validation
    * transition checking
    * late normalization and computation

Only the first and last steps get mutable objects.  Only the
transition-checking step gets to see the previous values of this
object.
2019-10-24 20:30:32 -04:00
Nick Mathewson dc6d7f072d Make foo_validate() functions call config_validate().
The former foo_validate() functions are now toplevel
legacy_validate_fn callbacks.  The new foo_validate() functions now
call them.

This change lets us remove the old shared_random disk state
validation callback entirely.
2019-10-24 20:30:32 -04:00
Nick Mathewson 0cb4238537 Add a config_validate() function to invoke verify callbacks.
As we turn our monolithic configuration objects into suites of
smaller module-specific configuration objects, we will want each one
to be able to provide its own verification callbacks.  That means
that instead of invoking these verification callbacks directly, we will
want to call them via the configuration manager object.
2019-10-24 20:30:32 -04:00
Nick Mathewson 4a248bafba Rename validate_fn{,_t} to start with "legacy_".
The current API of this callback mixes responsibilities, including:
  * validation
  * transition checking
  * processing (modifying) the configuration object.

These will have to be disentangled piece by piece, so for now, we'll
have "legacy" validate functions as well.

This is an automated commit, generated by this command:

./scripts/maint/rename_c_identifier.py \
        validate_fn_t legacy_validate_fn_t \
        validate_fn legacy_validate_fn
2019-10-24 20:30:32 -04:00