Parse only .torrc files in torrc.d directory
Currently, when using a torrc.d directory, for example:
%include /etc/torrc.d/
Every file in the directory will be treated and parsed as a valid Tor configuration file. However, sometime, this may not be what users and developers want.
For example, users may use /etc/torrc.d/50_user.torrc as the place to put their own torrc configurations. But sometimes, when they use a text editor to edit it, the text editor will leave a /etc/torrc.d/50_user.torrc~ file which will also be treated as a valid torrc file.
Another example that also happens very frequently is, when dpkg does an update on /etc/torrc.d/30_distribution.torrc, users' previous configuration can be saved as /etc/torrc.d/30_distribution.torrc.dpkg-old which will also be parsed by Tor.
In best case users will just be frustrated because Tor does not work as expected and in worst case this could be dangerous. This could be a severe problem especially because of the following reasons:
- filename.torrc~ filename.torrc.dpkg-old has higher priority than filename.torrc when Tor does the parsing.
- In most cases, this will happen without being noticed by the normal suer.
teor suggested on the tor-dev@:
To be more precise, most tools accept files ending in ".conf". We might want tor to accept ".conf" for consistency.
I suggest we also accept files called "torrc", or ending in ".torrc". This should probably also include files called literally ".torrc".
Downstream discussion to link everything together: http://forums.dds6qkxpwdeubwucdiaord2xgbbeyds25rbsgr73tbfpqpt4a6vjwsyd.onion/t/torrc-d-is-comming/4041/20