I kinda forgot what non-builtin did, so I had to look at the code.
As far as I can tell, non-builtin and short are now synonyms.
Because when non-builtin passes config_dump(..., /* default_options */ NULL, ...), config_dump() replaces NULL with a newly-allocated copy of the default options. Instead, it should replace them with a zeroed-out copy.
Can you give a command-line where non-builtin and short differ?
Here's what I tried:
tor --dump-config shorttor --dump-config non-builtintor --dump-config short SOCKSPort 0tor --dump-config non-builtin SOCKSPort 0tor --dump-config short SOCKSPort 1tor --dump-config non-builtin SOCKSPort 1
(Also string-based options like Nickname and ContactInfo.)
Trac: Status: closed to reopened Resolution: implemented toN/A
I checked master, 0.4.2, and 0.4.1, and they all behave the same. So this might not even be a regression. (It's hard to tell without a counter-example.)