-
-
Notifications
You must be signed in to change notification settings - Fork 422
Description
We have a number of locations in code (fewer than I expected, but still) that interpret boolean(-ish) strings from settings.
Some spots handle (case-insensitively) all of "true", "on", "yes, "1" vs. "false", "off", "no", "0" values, others expect just one of those.
This PR is about consolidating the code to one method that can be easily used with old and new settings (e.g. in #2807 discussion), including those where some other non-boolean values are also anticipated, e.g. return -1 for non-boolean (so it can be parsed further or considered non-false/non-true by situation), 0 for false, 1 for true.
It would also simplify configuration for people, so they would not have to keep consulting the man pages where a 0/1 is needed, and where a yes/no, etc.
NOTE: The C++ code already handles that generically, so I suspect nutconf might in fact emit configurations that could be unreadable to those lines in our daemons that expect only a certain value, e.g. "1" while a "true" is in their config and ignored. Never checked for that practically though.
Maybe we would also need to extend augeas definitions for fields that anticipated one specific pattern (e.g. 0/1) to be more omnivorous.
See also #31 about common boolean type definition.