Age | Commit message (Collapse) | Author |
|
|
|
Previously, these were magical things that we detected by checking
whether a variable's name was prefixed with two or three underscores.
|
|
"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.
|
|
|
|
Additionally, adjust the macros so that we can add new members like
this more easily.
|
|
The testing-only parts now live in a conftesting.h; the shared parts
of the macros live in confmacros.h
|
|
|
|
These functions exist one level higher than typed_var_t. They
describe a type, a name, and an offset within a structure.
|
|
|
|
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.
|
|
This will be a lower-level module than anything that actually
sets or handles configuration variables.
Part of 30864.
|