mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-11 05:33:47 +01:00
fixup! Add controller getinfo exit-policy/reject-private
Stop ignoring ExitPolicyRejectPrivate in getinfo exit-policy/reject-private. Fix a memory leak. Set ExitPolicyRejectPrivate in the unit tests, and make a mock function declaration static.
This commit is contained in:
parent
289b184e11
commit
e14f9dd44f
@ -2140,14 +2140,20 @@ getinfo_helper_policies(control_connection_t *conn,
|
||||
} else if (!strcmp(question, "exit-policy/reject-private/relay")) {
|
||||
const or_options_t *options = get_options();
|
||||
const routerinfo_t *me = router_get_my_routerinfo();
|
||||
smartlist_t *private_policy_list = smartlist_new();
|
||||
smartlist_t *configured_addresses = smartlist_new();
|
||||
|
||||
if (!me) {
|
||||
*errmsg = "router_get_my_routerinfo returned NULL";
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (!options->ExitPolicyRejectPrivate) {
|
||||
*answer = tor_strdup("");
|
||||
return 0;
|
||||
}
|
||||
|
||||
smartlist_t *private_policy_list = smartlist_new();
|
||||
smartlist_t *configured_addresses = smartlist_new();
|
||||
|
||||
/* Add the configured addresses to the tor_addr_t* list */
|
||||
policies_add_ipv4h_to_smartlist(configured_addresses, me->addr);
|
||||
policies_add_addr_to_smartlist(configured_addresses, &me->ipv6_addr);
|
||||
@ -2162,6 +2168,7 @@ getinfo_helper_policies(control_connection_t *conn,
|
||||
*answer = policy_dump_to_string(private_policy_list, 1, 1);
|
||||
|
||||
addr_policy_list_free(private_policy_list);
|
||||
addr_policy_list_free(configured_addresses);
|
||||
} else if (!strcmpstart(question, "exit-policy/")) {
|
||||
const routerinfo_t *me = router_get_my_routerinfo();
|
||||
|
||||
|
@ -994,6 +994,7 @@ test_policies_getinfo_helper_policies(void *arg)
|
||||
append_exit_policy_string(&mock_my_routerinfo.exit_policy, "reject *6:*");
|
||||
|
||||
mock_options.IPv6Exit = 1;
|
||||
mock_options.ExitPolicyRejectPrivate = 1;
|
||||
tor_addr_from_ipv4h(&mock_options.OutboundBindAddressIPv4_, TEST_IPV4_ADDR);
|
||||
tor_addr_parse(&mock_options.OutboundBindAddressIPv6_, TEST_IPV6_ADDR);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user