ReachableAddresses adds an extra reject *:* on every SAVECONF
To fix this issue, we can do two things:
-
We should add the reject : to a copy of the list after it has been parsed in parse_reachable_addresses() using append_exit_policy_string(), rather than adding it to the option itself in options_validate().
-
We might also want to call exit_policy_remove_redundancies() on the parsed policy, so that long policies with redundancies are handled more efficiently. This is only likely to ever matter on busy hidden services.