I'm checking to see whether each out-of-order entry is commented with a suitable explanation. Anyone else like to help out with that?
It looks like this line was accidentally removed from CircuitBuildTimeout?
- (Default: 60 seconds)
There are also a few possible line movements that git diff --color-moved isn't unambiguously marking as "moved", so I'll want to do some extra checking of those.
Thanks for looking into this. I would also like to point out that I haven't really organized the PathBias config options because they are just listed out without any descriptions or information. Not sure if they're just placeholders.
I just compared the files and confirmed that that line under CircuitBuildTimeout was accidentally removed.
Thanks for looking into this. I would also like to point out that I haven't really organized the PathBias config options because they are just listed out without any descriptions or information. Not sure if they're just placeholders.
There seem to be descriptions for the PathBias options collected together under a single item. These options seem very specialized, and we probably want to put them in their own subsection later. For now, leaving them out of order (and commented as logically belonging together) makes sense to me.
I also just noticed that OtherSocksPortFlags is explicitly commented as being there only for formatting purposes, so we should also let it remain out of order. (Though maybe we should also consider putting SocksPort flags in their own subsection later?)
I just compared the files and confirmed that that line under CircuitBuildTimeout was accidentally removed.
CircuitsAvailableTimeout should go before CircuitStreamTimeout if we're alphabetizing ignoring case.
I think LearnCircuitBuildTimeout can also go immediately after CircuitBuildTimeout, or it can go in alphabetic order because CircuitBuildTimeout adequately describes LearnCircuitBuildTimeout anyway.
I'm undecided whether ExcludeExitNodes logically belongs out of order after ExcludeNodes; what do other people think?
The PathBias options could use a comment explaining why they're intentionally out of order.
I can make a branch that fixes up these, unless you want to make the changes yourself?
I've tried to prioritise the changes I'm suggesting. Feel free to mark as merge ready when the "must" and "useful" changes are done.
Here are the things I think we must fix before merging:
GuardfractionFile should be moved to the directory authority section. It doesn't apply to clients.
Here are some useful things that I think would help people read the manual:
ReducedConnectionPadding logically belongs immediately after ConnectionPadding.
ReducedCircuitPadding logically belongs immediately after CircuitPadding.
CircuitPadding splits the circuit timeout option group. If we're going to put it out of order anyway, maybe we should put it with ConnectionPadding.
FascistFirewall* logically belongs after Reachable*Addresses.
Reject and Warn PlaintextPorts belong together, probably near SafeSocks. They all do similar things.
Here are things we could fix now, but we could also do the fix in another ticket, possibly by creating a new subsection:
StrictNodes and GeoIPExcludeUnknown might logically belong after ExcludeNodes
All the Nodes options (including the HSNodes) options, would make sense together
This is a big change, so it probably needs another ticket
If we create a section for the *Nodes options, we could mark them as advanced options. They're all options that might compromise anonymity, by changing how tor behaves.
Looks good!
Thanks for the review! I updated the pull request.
I've tried to prioritise the changes I'm suggesting. Feel free to mark as merge ready when the "must" and "useful" changes are done.
Here are the things I think we must fix before merging:
GuardfractionFile should be moved to the directory authority section. It doesn't apply to clients.
I agree. Moved.
Here are some useful things that I think would help people read the manual:
ReducedConnectionPadding logically belongs immediately after ConnectionPadding.
ReducedCircuitPadding logically belongs immediately after CircuitPadding.
CircuitPadding splits the circuit timeout option group. If we're going to put it out of order anyway, maybe we should put it with ConnectionPadding.
I agree, except with moving CircuitPadding. As a slightly more "top-level" option, leaving it in alphabetic order might be better. Maybe we should make a new ticket for moving the timeout options in a new subsection?
FascistFirewall* logically belongs after Reachable*Addresses.
I left this one alone, because we clearly describe FascistFirewall as deprecated and refer to ReachableAddresses.
Reject and Warn PlaintextPorts belong together, probably near SafeSocks. They all do similar things.
Done. Warn now precedes Reject because of how their descriptions are worded. Also moved TestSocks after SafeSocks because they're related and they were like that pre-alphabetization.
Here are things we could fix now, but we could also do the fix in another ticket, possibly by creating a new subsection:
StrictNodes and GeoIPExcludeUnknown might logically belong after ExcludeNodes
All the Nodes options (including the HSNodes) options, would make sense together
This is a big change, so it probably needs another ticket
If we create a section for the *Nodes options, we could mark them as advanced options. They're all options that might compromise anonymity, by changing how tor behaves.
I agree; let's make a new ticket for these.
Here are some useful things that I think would help people read the manual:
CircuitPadding splits the circuit timeout option group. If we're going to put it out of order anyway, maybe we should put it with ConnectionPadding.
I agree, except with moving CircuitPadding. As a slightly more "top-level" option, leaving it in alphabetic order might be better. Maybe we should make a new ticket for moving the timeout options in a new subsection?
Here are things we could fix now, but we could also do the fix in another ticket, possibly by creating a new subsection:
StrictNodes and GeoIPExcludeUnknown might logically belong after ExcludeNodes
All the Nodes options (including the HSNodes) options, would make sense together
This is a big change, so it probably needs another ticket
If we create a section for the *Nodes options, we could mark them as advanced options. They're all options that might compromise anonymity, by changing how tor behaves.
I agree; let's make a new ticket for these.