Nick Mathewson
a7835202cf
Turn several properties of types or variables into flags.
...
"unsettable" is a property of types. LINELIST_V and OBSOLETE are
unsettable, meaning that they cannot be set by name.
"contained" is a property of types. I'm hoping to find a better
name here. LINELIST_S is "contained" because it always appears
within a LINELIST_V, and as such doesn't need to be dumped ore
copied independently.
"cumulative" is a property of types. Cumulative types can appear
more than once in a torrc without causing a warning, because they
add to each other rather than replacing each other.
"obsolete" is a property of variables.
"marking fragile" is now a command that struct members can accept.
With these changes, confparse and config no longer ever need to
mention CONFIG_TYPE_XYZ values by name.
2019-06-25 12:51:25 -04:00
Nick Mathewson
b6457d4c08
Extend macros to allow flag arguments.
2019-06-25 12:51:25 -04:00
Nick Mathewson
5b252d31ed
Add a "flags" member to config_var_t
...
Additionally, adjust the macros so that we can add new members like
this more easily.
2019-06-25 12:51:25 -04:00
Nick Mathewson
c553750e32
Move responsibility for config var macros
...
The testing-only parts now live in a conftesting.h; the shared parts
of the macros live in confmacros.h
2019-06-25 12:51:25 -04:00
Nick Mathewson
4d101b39d7
Move config_var_t info conftypes.h
2019-06-25 12:51:25 -04:00
Nick Mathewson
e8790971f6
changes file for ticket 30914
2019-06-25 12:51:25 -04:00
Nick Mathewson
c390efe84f
A few more test cases and unreachable lines
2019-06-25 12:51:25 -04:00
Nick Mathewson
a114df9a04
Add a function to make sure all values in a config object are ok
2019-06-25 12:51:25 -04:00
Nick Mathewson
a91ed23403
Use structvar to find the types for config vars.
2019-06-25 12:51:25 -04:00
Nick Mathewson
53e969c137
Use struct_var_{copy,eq} in confparse.c.
2019-06-25 12:51:25 -04:00
Nick Mathewson
59317c8a23
Use struct_magic_decl to verify magic numbers in config objects
2019-06-25 12:51:25 -04:00
Nick Mathewson
3a4d67cf45
Port confparse to use struct_var in place of typed_var.
...
This requires changes to config_var_t, causing corresponding changes
throughout its users.
2019-06-25 12:51:25 -04:00
Nick Mathewson
2da188667d
Add new "struct_var_" functions to manipulate struct fields.
...
These functions exist one level higher than typed_var_t. They
describe a type, a name, and an offset within a structure.
2019-06-25 12:51:25 -04:00
Nick Mathewson
e16b90b88a
Partially port routerset to being a full-fledged config type again.
2019-06-24 17:52:00 -04:00
Nick Mathewson
705bda859e
Add unit tests for the unitparse.c module.
2019-06-24 17:50:43 -04:00
Nick Mathewson
f007437292
Further clarify our clarification about the type of POSINT
2019-06-24 17:50:43 -04:00
Nick Mathewson
c60a85d22a
Add a "typed_var" abstraction to implement lvalue access in C.
...
Right now, this has been done at a high level by confparse.c, but it
makes more sense to lower it.
This API is radically un-typesafe as it stands; we'll be wrapping it
in a safer API as we do #30914 and lower the struct manipulation
code as well.
Closes ticket 30864.
2019-06-24 17:50:43 -04:00
Nick Mathewson
5a2ab886ba
Add a function to append an existing line to a config line list.
...
We had an existing function to do this, but it took a pair of
strings rather than a line.
2019-06-24 15:11:57 -04:00
Nick Mathewson
458da8a80d
Move unit-parsing code to src/lib/confmgt
...
lib/confmgt is at a higher level than lib/conf, since it needs to
call down to logging and similar modules.
2019-06-24 15:11:57 -04:00
Nick Mathewson
246599abb4
Start moving types that will be used for config vars to lib/conf
...
This will be a lower-level module than anything that actually
sets or handles configuration variables.
Part of 30864.
2019-06-24 15:11:57 -04:00
Nick Mathewson
81d16d8d0c
checkSpace.pl: Allow 'bool' before a space and an open-paren
...
We need this so we can declare function pointers returning bool
without upsetting our style checker. :/
2019-06-24 15:11:57 -04:00
Nick Mathewson
aec359ef62
Merge branch 'maint-0.4.1'
2019-06-24 13:36:42 -04:00
Nick Mathewson
bd66a40845
Merge remote-tracking branch 'tor-github/pr/1131'
2019-06-24 13:36:36 -04:00
Nick Mathewson
8803930de8
Merge remote-tracking branch 'tor-github/pr/1130' into maint-0.4.1
2019-06-24 13:36:10 -04:00
Nick Mathewson
3b6bd768d3
Merge branch 'maint-0.4.1'
...
"ours" to avoid version bump.
2019-06-24 09:32:54 -04:00
Nick Mathewson
aab5f42ae0
bump to 0.4.1.3-alpha
2019-06-24 09:32:46 -04:00
teor
45be44ed9c
stats: Split extrainfo_dump_to_string() into smaller functions.
...
Closes ticket 30956.
2019-06-24 20:47:44 +10:00
teor
872b85e689
Merge branch 'bug30956_041' into bug30956_master
2019-06-24 19:47:34 +10:00
teor
8356cc5b51
stats: Always publish pluggable transports in extra info documents
...
Always publish bridge pluggable transport information in the extra info
descriptor, even if ExtraInfoStatistics is 0. This information is
needed by BridgeDB.
Fixes bug 30956; bugfix on 0.4.1.1-alpha.
2019-06-24 19:44:24 +10:00
Nick Mathewson
70415c9f72
Merge branch 'maint-0.4.1'
...
"ours" merge to avoid taking pracktracker removal.
2019-06-19 14:29:22 -04:00
Nick Mathewson
4ecd09cfb7
remove practracker from check-local (0.4.1 only)
2019-06-19 14:29:08 -04:00
David Goulet
91c7d395cf
changes: Fix typo in changes/ticket30893
...
Signed-off-by: David Goulet <dgoulet@torproject.org>
2019-06-19 07:50:02 -04:00
David Goulet
e6579d801f
Merge branch 'tor-github/pr/1113'
2019-06-19 07:47:03 -04:00
Nick Mathewson
125a6300da
Merge remote-tracking branch 'tor-github/pr/1115'
2019-06-18 09:10:34 -04:00
Nick Mathewson
93ca08d66c
Merge branch 'ticket29533_squashed'
2019-06-17 08:56:13 -04:00
rl1987
86478be50f
Add changes file
2019-06-17 08:56:06 -04:00
rl1987
e8da65ee91
Fix SC2034 in pre-push.git-hook
2019-06-17 08:56:06 -04:00
rl1987
19dbd431c5
Shellcheck all the scripts
2019-06-17 08:56:02 -04:00
Nick Mathewson
52d386c9b0
Merge remote-tracking branch 'tor-github/pr/1100'
2019-06-17 08:54:12 -04:00
rl1987
66a15013fa
Allow excluding documentation from the build
2019-06-16 20:21:30 +03:00
Nick Mathewson
7c6cc470f1
Merge branch 'bug30894_035' into ticket30893
2019-06-15 16:50:02 -04:00
Nick Mathewson
4613159c61
Changes file for ticket 30893 (confparse testing)
2019-06-15 16:49:18 -04:00
Nick Mathewson
26436fb1b6
Add more unit tests for confparse.c, so we can refactor.
...
This set of tests gets the line coverage to 100%.
2019-06-15 16:49:18 -04:00
Nick Mathewson
4ab1d1c0c4
Fix memleak when failing to parse a CSV_INTERVAL.
...
Fixes bug 30894; bugfix on 0.3.4.1-alpha
2019-06-15 16:47:16 -04:00
Nick Mathewson
fe9d15cf4b
Remove the PORT configuration type: nothing uses it.
...
All of our port configurations now use an extended format.
2019-06-15 11:30:24 -04:00
Nick Mathewson
ac5e44d9ce
Renaming: CONFIG_TYPE_UINT -> CONFIG_TYPE_POSINT
...
This name has been a historical source of confusion, since "uint"
usually suggests "unsigned int" to people, when the real type is
"nonnegative int".
2019-06-15 11:28:19 -04:00
George Kadianakis
319ce22581
Merge branch 'bug30806'
2019-06-14 13:28:32 +03:00
Nick Mathewson
990b434c4f
Make evloop into a subsystem.
...
Note that the event base object is _not_ created from the initialize
function, since it is configuration-dependent. This will wait until
configuration is integrated into subsystems.
Closes ticket 30806.
2019-06-14 13:28:10 +03:00
teor
16e71c7fb0
practracker: accept an extra line in nt_service_install()
...
Part of 30799.
2019-06-13 18:23:50 +10:00
George Kadianakis
438b7eec85
Merge branch 'tor-github/pr/1099'
2019-06-12 13:02:49 +03:00