[RFC 0/3] Refactor the options system

Matt Johnston matt at ucc.asn.au
Thu Jul 20 00:31:25 AWST 2017


Hi Michael,

Thanks for your patches. The Makefile dependency ones look
useful, I'll try and double-check them and get them merged
in the next week or so. Please if anyone else has comments
on these patches make them known - I'm sure there are
scenarios I have forgotten.

I'm less keen on this options patch series. I don't really
think they add much clarity, and any widespread change is
going to cause extra work for people with their own forks.
(Yes the move to localoptions.h is also disruptive, but I
think it has a clear benefit).
It's pretty clear already which options are expected to be
overridden - they're the ones in default_options.h !
The line between options in sysoptions.h and
default_options.h is kind of vague anyway, something like
KEX_REKEY_TIMEOUT could really go in either, but I've kept
it in sysoptions.h just to try and avoid too many knobs to
fiddle with. The main reason I went with a DROPBEAR_ prefix
is to avoid namespace clashes - CUSTOM_ doesn't really do
that.

Regarding oldstyle comments, I agree // ones are nicer but
it's not too much work to keep the old style working. Most
recently the work was done for Tru64's compiler in 2013.61test
- Compile fixes for old vendor compilers like Tru64 from Daniel Richard G.

For SMALLCODE and DROPBEAR_CLEANUP I think the current state
of options should take precendence over what's documented in
CHANGES - looking at commit history it seems they were
deliberately changed, just not documented. I'm happy to make
historical updates to CHANGES though, I did that recently 
"document changed default RSA key size back in 2013.61test"

Cheers,
Matt


On Tue, Jul 18, 2017 at 02:09:34PM -0000, Michael Witten wrote:
> This is a request for comments on the following patch series, which
> is an attempt to establish a more consistent way of organizing how
> options are defined, used, and documented; it's mainly a bunch of
> refactoring:
> 
>   [1] options: Give the header files names that are more consistent
>   [2] options: Move customizable options to `default_options.h.in'
>   [3] options: Refactor option names
> 
> In short:
> 
>   * Options that can be overridden by the user are placed into
>     `default_options.h.in' and prefixed with `CUSTOM_' (no longer
>     `DROPBEAR_' or nothing).
> 
>   * All other options are considered to be constants; they are
>     placed into `constant_options.h' and prefix with `DROPBEAR_'
>     (no longer nothing).
> 
> Overall:
> 
>   73 files changed, 949 insertions(+), 952 deletions(-)
>   create mode 100644 constant_options.h
>   delete mode 100644 sysoptions.h


More information about the Dropbear mailing list