Nick Mathewson
f0c1f96adc
Document configuration type definition functions for routerset_t
...
These functions are all used to implement the ROUTERSET_type_defn
object, which maps strings to and from routerset_t configuration
variables for the configuration module.
2019-08-28 12:23:36 -04:00
Nick Mathewson
2074fed664
Routerset config parsing: represent empty sets as NULL.
...
routerset_t has two representations of an empty routerset: NULL, and
a set containing no elements. But some of our config code assumes
that empty routersets are represented as NULL. So let's give it
what it assumes.
Fixes bug 31495. Bugfix on e16b90b88a76; but not in any released
Tor.
2019-08-28 11:53:28 -04:00
Nick Mathewson
04ab357df8
Remove extraneous "n" from comment in routerset.c
2019-08-28 11:39:31 -04:00
Nick Mathewson
b1d7ddfb02
Merge branch 'ticket31240v2' into ticket31240v2_merged_2
2019-08-28 09:46:59 -04:00
Nick Mathewson
a3e99c5f1e
Add a test for clear_fn support in handling non-managed fields
2019-08-28 09:42:17 -04:00
Nick Mathewson
577e628743
Fix typo in a comment on config_mgr_get_obj_mutable()
2019-08-28 09:42:17 -04:00
Nick Mathewson
c967b5c9ba
Add a test for dumping a compound configuration
2019-08-28 09:42:17 -04:00
Nick Mathewson
8db3859cc6
Simple tests for nested configuration formats
...
One test makes sure that the toplevel magic numbers are distinct.
One test makes sure that we can parse a configuration object
with two sub-objects.
2019-08-28 09:42:17 -04:00
Nick Mathewson
d9fe9f5ede
Confmgr tests: test deprecations and abbreviations.
2019-08-28 09:42:17 -04:00
Nick Mathewson
e4162cdb38
Start on test cases for the multi-object feature of confmgr.
...
This test case, at this point, only constructs the confmgr object.
More code to come.
2019-08-28 09:42:17 -04:00
Nick Mathewson
cb5f8ace79
Tests for config_find_option_name()
...
Fix a bug in config_find_option_name() where it did not consider
the abbreviations table.
2019-08-28 09:42:17 -04:00
Nick Mathewson
aa3f0c4788
Add tests for variable-listing functions.
...
This discovered a bug related to an extra & in
config_mgr_list_deprecated_vars(): fix that.
2019-08-28 09:42:17 -04:00
Nick Mathewson
380d3ee168
Better explain config_clear_fn_t
2019-08-28 09:42:17 -04:00
Nick Mathewson
06da2c0d28
Document or_state_t.substates_
2019-08-28 09:42:17 -04:00
Nick Mathewson
3af1cee6d9
Document or_options_t.subconfigs_
2019-08-28 09:42:17 -04:00
Nick Mathewson
12d980027a
document return lifespans for config_mgr_list_vars()
2019-08-28 09:42:17 -04:00
Nick Mathewson
9cfc811c37
Fix typo in comment about FallbackDir handling
2019-08-28 09:42:17 -04:00
Nick Mathewson
3a530ae535
Document types for config_get_changes()
2019-08-28 09:42:17 -04:00
Nick Mathewson
760d0c056f
finish a comment explaining all_abbrevs
2019-08-28 09:42:17 -04:00
Nick Mathewson
638e58379a
Partial support for multiplicity in configuration objects
...
A configuration manager, in addition to a top-level format object,
may now also know about a suite of sub-formats. Top-level
configuration objects, in turn, may now have a suite of
sub-objects.
2019-08-28 09:40:53 -04:00
Nick Mathewson
38b770bbbb
Make a config_suite_t type to hold multiple config sub-objects
...
Right now, it doesn't do anything; this patch is meant to make sure
that we're doing memory management correctly.
2019-08-28 09:40:53 -04:00
Nick Mathewson
47654d3249
Refactor config free logic to use a single path.
...
The right way to free a config object is now to wrap config_free(),
always. Instead of creating an alternative free function, objects
should provide an alternative clear callback to free any fields that
the configuration manager doesn't manage.
This lets us simplify our code a little, and lets us extend the
confparse.c code to manage additional fields in config_free.
2019-08-28 09:40:53 -04:00
Nick Mathewson
3d1f9f583a
Use special magic to enforce manager/object connection.
...
Every time we finalize a config manager, we now generate a new magic
number for it, so that we'll get an assertion failure if we ever try
to use an object with a different configuration manager than the one
that generated it.
2019-08-28 09:40:46 -04:00
George Kadianakis
357e9a6f2c
Merge branch 'maint-0.3.5' into maint-0.4.0
2019-08-27 11:49:36 +03:00
George Kadianakis
5a73f369db
Merge branch 'maint-0.4.0' into maint-0.4.1
2019-08-27 11:49:36 +03:00
George Kadianakis
35e978da61
Merge branch 'maint-0.4.1'
2019-08-27 11:49:36 +03:00
George Kadianakis
78e084a12e
Merge branch 'tor-github/pr/1267'
2019-08-27 11:47:46 +03:00
George Kadianakis
761a0ec3d1
Merge remote-tracking branch 'arma/ticket31498'
2019-08-27 11:46:52 +03:00
George Kadianakis
92a8573d22
Merge branch 'tor-github/pr/1258'
2019-08-27 11:45:18 +03:00
George Kadianakis
0d7f76d7ca
Merge branch 'tor-github/pr/1234'
2019-08-27 11:44:13 +03:00
George Kadianakis
5782cee71d
Merge branch 'tor-github/pr/1237'
2019-08-27 11:43:10 +03:00
Nick Mathewson
8af92b6577
test_address: parenthesize macro arguments.
...
It's good style to always add parentheses when using macro
arguments, in case somebody someday provides an argument that
contains an operator you don't expect, or causes the expression to
parse differently.
2019-08-26 20:03:16 -04:00
Nick Mathewson
5eca338107
In tests, make sure that "ri" is freed on all paths.
...
In Tor's tests, the tt_*() macros can call "goto done" on failure.
When that happens, we need to make sure that all of our allocated
memory still gets freed, or else Coverity will complain.
2019-08-26 20:03:11 -04:00
Neel Chauhan
c8e69e63f9
Add test for dirserv_router_has_valid_address()
2019-08-26 20:02:11 -04:00
Neel Chauhan
cc5af6dbd5
Add changes file for Bug #31088
2019-08-26 20:02:11 -04:00
Neel Chauhan
d9a7d47798
Check for private IPv6 addresses in dirserv_router_has_valid_address()
2019-08-26 18:21:56 -04:00
David Goulet
d819dfbded
Merge branch 'tor-github/pr/1239'
2019-08-26 14:35:27 -04:00
George Kadianakis
859514d477
Merge branch 'tor-github/pr/1263'
2019-08-26 17:35:34 +03:00
Nick Mathewson
eff95429fd
Merge remote-tracking branch 'tor-github/pr/1241'
2019-08-26 10:15:25 -04:00
Nick Mathewson
ca667b9a8a
Fix/suppress shellcheck warnings in git-push-all.sh
...
(I've chosen to suppress some instances rather than 'fix' them,
since the fix would require arrays or major refactoring.)
Fixes bug 31519; bug not in any released Tor.
2019-08-26 09:58:38 -04:00
David Goulet
24bc2cd7b5
Merge branch 'tor-github/pr/1254'
2019-08-26 09:38:24 -04:00
Nick Mathewson
38c4e1426c
changes file for ticket30935
2019-08-26 09:33:29 -04:00
Nick Mathewson
cde662e259
clarify usage of __ and ___ prefixes on config options
2019-08-24 17:46:08 -04:00
Nick Mathewson
078ba326a1
Make a function for NODUMP.
2019-08-24 17:40:48 -04:00
Nick Mathewson
eb54fe8f97
Make config_var_is_invisible a function.
2019-08-24 17:32:46 -04:00
Nick Mathewson
65511a45ad
Fix comment: ___ options are now that way because of the INVISIBLE flag.
2019-08-24 17:26:02 -04:00
Nick Mathewson
03247c8eaa
whitespace fix
2019-08-24 17:11:41 -04:00
Nick Mathewson
6ba05eea8e
Merge remote-tracking branch 'tor-github/pr/1247'
2019-08-24 16:32:50 -04:00
Nick Mathewson
7a45c9c1d2
Merge remote-tracking branch 'tor-github/pr/1215'
2019-08-24 16:30:55 -04:00
Nick Mathewson
f1707f7db3
Merge branch 'maint-0.4.1'
2019-08-24 16:29:23 -04:00