|
@@ -482,10 +482,12 @@ validate_addr_policies(const or_options_t *options, char **msg)
|
|
|
* Ignore port specifiers.
|
|
|
*/
|
|
|
static int
|
|
|
-load_policy_from_option(config_line_t *config, smartlist_t **policy,
|
|
|
+load_policy_from_option(config_line_t *config, const char *option_name,
|
|
|
+ smartlist_t **policy,
|
|
|
int assume_action)
|
|
|
{
|
|
|
int r;
|
|
|
+ int killed_any_ports = 0;
|
|
|
addr_policy_list_free(*policy);
|
|
|
*policy = NULL;
|
|
|
r = parse_addr_policy(config, policy, assume_action);
|
|
@@ -504,9 +506,13 @@ load_policy_from_option(config_line_t *config, smartlist_t **policy,
|
|
|
c = addr_policy_get_canonical_entry(&newp);
|
|
|
SMARTLIST_REPLACE_CURRENT(*policy, n, c);
|
|
|
addr_policy_free(n);
|
|
|
+ killed_any_ports = 1;
|
|
|
}
|
|
|
} SMARTLIST_FOREACH_END(n);
|
|
|
}
|
|
|
+ if (killed_any_ports) {
|
|
|
+ log_warn(LD_CONFIG, "Ignoring ports in %s option.", option_name);
|
|
|
+ }
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
@@ -516,20 +522,22 @@ int
|
|
|
policies_parse_from_options(const or_options_t *options)
|
|
|
{
|
|
|
int ret = 0;
|
|
|
- if (load_policy_from_option(options->SocksPolicy, &socks_policy, -1) < 0)
|
|
|
+ if (load_policy_from_option(options->SocksPolicy, "SocksPolicy",
|
|
|
+ &socks_policy, -1) < 0)
|
|
|
ret = -1;
|
|
|
- if (load_policy_from_option(options->DirPolicy, &dir_policy, -1) < 0)
|
|
|
+ if (load_policy_from_option(options->DirPolicy, "DirPolicy",
|
|
|
+ &dir_policy, -1) < 0)
|
|
|
ret = -1;
|
|
|
- if (load_policy_from_option(options->AuthDirReject,
|
|
|
+ if (load_policy_from_option(options->AuthDirReject, "AuthDirReject",
|
|
|
&authdir_reject_policy, ADDR_POLICY_REJECT) < 0)
|
|
|
ret = -1;
|
|
|
- if (load_policy_from_option(options->AuthDirInvalid,
|
|
|
+ if (load_policy_from_option(options->AuthDirInvalid, "AuthDirInvalid",
|
|
|
&authdir_invalid_policy, ADDR_POLICY_REJECT) < 0)
|
|
|
ret = -1;
|
|
|
- if (load_policy_from_option(options->AuthDirBadDir,
|
|
|
+ if (load_policy_from_option(options->AuthDirBadDir, "AuthDirBadDir",
|
|
|
&authdir_baddir_policy, ADDR_POLICY_REJECT) < 0)
|
|
|
ret = -1;
|
|
|
- if (load_policy_from_option(options->AuthDirBadExit,
|
|
|
+ if (load_policy_from_option(options->AuthDirBadExit, "AuthDirBadExit",
|
|
|
&authdir_badexit_policy, ADDR_POLICY_REJECT) < 0)
|
|
|
ret = -1;
|
|
|
if (parse_reachable_addresses() < 0)
|