diff options
author | Nick Mathewson <nickm@torproject.org> | 2012-12-17 15:49:09 -0500 |
---|---|---|
committer | Nick Mathewson <nickm@torproject.org> | 2012-12-17 15:49:09 -0500 |
commit | 9b9cc6774fe81e5bf68293308f713d19816ff6da (patch) | |
tree | e53e3eaee905c92075ceb35c11ec3eb10145fc29 /src/or/addressmap.h | |
parent | 3874e74b49f7f8a7d957e6780679a4aebaddf90a (diff) | |
parent | 4a07ea4a8c41c55ef4d8341ddf67601d3f09711a (diff) | |
download | tor-9b9cc6774fe81e5bf68293308f713d19816ff6da.tar tor-9b9cc6774fe81e5bf68293308f713d19816ff6da.tar.gz |
Merge branch 'ticket7570_7571'
Conflicts:
src/or/routerlist.c
Diffstat (limited to 'src/or/addressmap.h')
-rw-r--r-- | src/or/addressmap.h | 26 |
1 files changed, 21 insertions, 5 deletions
diff --git a/src/or/addressmap.h b/src/or/addressmap.h index 9b0734147..3f1c44571 100644 --- a/src/or/addressmap.h +++ b/src/or/addressmap.h @@ -14,9 +14,12 @@ void addressmap_clean(time_t now); void addressmap_clear_configured(void); void addressmap_clear_transient(void); void addressmap_free_all(void); -int addressmap_rewrite(char *address, size_t maxlen, time_t *expires_out, +#define AMR_FLAG_USE_IPV4_DNS (1u<<0) +#define AMR_FLAG_USE_IPV6_DNS (1u<<1) +int addressmap_rewrite(char *address, size_t maxlen, unsigned flags, + time_t *expires_out, addressmap_entry_source_t *exit_source_out); -int addressmap_rewrite_reverse(char *address, size_t maxlen, +int addressmap_rewrite_reverse(char *address, size_t maxlen, unsigned flags, time_t *expires_out); int addressmap_have_mapping(const char *address, int update_timeout); @@ -24,11 +27,12 @@ void addressmap_register(const char *address, char *new_address, time_t expires, addressmap_entry_source_t source, const int address_wildcard, const int new_address_wildcard); -int parse_virtual_addr_network(const char *val, int validate_only, +int parse_virtual_addr_network(const char *val, + sa_family_t family, int validate_only, char **msg); int client_dns_incr_failures(const char *address); void client_dns_clear_failures(const char *address); -void client_dns_set_addressmap(origin_circuit_t *on_circ, +void client_dns_set_addressmap(entry_connection_t *for_conn, const char *address, const tor_addr_t *val, const char *exitname, int ttl); const char *addressmap_register_virtual_address(int type, char *new_address); @@ -36,9 +40,21 @@ void addressmap_get_mappings(smartlist_t *sl, time_t min_expires, time_t max_expires, int want_expiry); int address_is_in_virtual_range(const char *addr); void clear_trackexithost_mappings(const char *exitname); -void client_dns_set_reverse_addressmap(origin_circuit_t *on_circ, +void client_dns_set_reverse_addressmap(entry_connection_t *for_conn, const char *address, const char *v, const char *exitname, int ttl); +int addressmap_address_should_automap(const char *address, + const or_options_t *options); + +#ifdef ADDRESSMAP_PRIVATE +typedef struct virtual_addr_conf_t { + tor_addr_t addr; + maskbits_t bits; +} virtual_addr_conf_t; + +void get_random_virtual_addr(const virtual_addr_conf_t *conf, + tor_addr_t *addr_out); +#endif #endif |