Make router_get_{prim,alt,pref}_addr_port take tor_addr_port_t *.

Rename to *_orport for consistency with node_*.
This commit is contained in:
Linus Nordberg 2011-11-28 13:47:12 +01:00 committed by Nick Mathewson
parent 2376a6ade4
commit 3b51b326e4
4 changed files with 40 additions and 48 deletions

View File

@ -3332,16 +3332,15 @@ extend_info_alloc(const char *nickname, const char *digest,
extend_info_t *
extend_info_from_router(const routerinfo_t *r, int for_direct_connect)
{
tor_addr_t addr;
uint16_t port;
tor_addr_port_t ap;
tor_assert(r);
if (for_direct_connect)
router_get_pref_addr_port(r, &addr, &port);
router_get_pref_orport(r, &ap);
else
router_get_prim_addr_port(r, &addr, &port);
router_get_prim_orport(r, &ap);
return extend_info_alloc(r->nickname, r->cache_info.identity_digest,
r->onion_pkey, &addr, port);
r->onion_pkey, &ap.addr, ap.port);
}
/** Allocate and return a new extend_info that can be used to build a
@ -4855,11 +4854,10 @@ get_configured_bridge_by_addr_port_digest(const tor_addr_t *addr,
static bridge_info_t *
get_configured_bridge_by_routerinfo(const routerinfo_t *ri)
{
tor_addr_t addr;
uint16_t port;
tor_addr_port_t ap;
router_get_pref_addr_port(ri, &addr, &port);
return get_configured_bridge_by_addr_port_digest(&addr, port,
router_get_pref_orport(ri, &ap);
return get_configured_bridge_by_addr_port_digest(&ap.addr, ap.port,
ri->cache_info.identity_digest);
}

View File

@ -688,7 +688,7 @@ void
node_get_prim_orport(const node_t *node, tor_addr_port_t *ap_out)
{
if (node->ri) {
router_get_prim_addr_port(node->ri, &ap_out->addr, &ap_out->port);
router_get_prim_orport(node->ri, ap_out);
}
else if (node->rs) {
tor_addr_from_ipv4h(&ap_out->addr, node->rs->addr);
@ -725,7 +725,7 @@ void
node_get_pref_orport(const node_t *node, tor_addr_port_t *ap_out)
{
if (node->ri) {
router_get_pref_addr_port(node->ri, &ap_out->addr, &ap_out->port);
router_get_pref_orport(node->ri, ap_out);
} else if (node->rs) {
/* No IPv6 in routerstatus_t yet. XXXprop186 ok for private
bridges but needs fixing */
@ -737,7 +737,7 @@ node_get_pref_orport(const node_t *node, tor_addr_port_t *ap_out)
/** Copy the preferred IPv6 OR port (address and TCP port) for
* <b>node</b> into *<b>ap_out</b>. */
void
node_get_pref_ipv6_orport(const node_t *node, tor_addr_port_t *ap_out)
node_get_pref_ipv6_addr(const node_t *node, tor_addr_port_t *ap_out)
{
if (node->ri) {
tor_addr_copy(&ap_out->addr, &node->ri->ipv6_addr);

View File

@ -2122,37 +2122,33 @@ router_dump_router_to_string(char *s, size_t maxlen, routerinfo_t *router,
}
/** Copy the primary, IPv4, address and port for <b>router</b> into
*<b>addr_out</b> and *<b>port_out</b>. */
/** Copy the primary (IPv4) OR port (IP address and TCP port) for
* <b>router</b> into *<b>ap_out</b>. */
void
router_get_prim_addr_port(const routerinfo_t *router, tor_addr_t *addr_out,
uint16_t *port_out)
router_get_prim_orport(const routerinfo_t *router, tor_addr_port_t *ap_out)
{
if (addr_out != NULL)
tor_addr_from_ipv4h(addr_out, router->addr);
if (port_out != NULL)
*port_out = router->or_port;
tor_assert(ap_out != NULL);
tor_addr_from_ipv4h(&ap_out->addr, router->addr);
ap_out->port = router->or_port;
}
/** Copy the alternative, presumably IPv6, address and port for
<b>router</b> into *<b>addr_out</b> and *<b>port_out</b>. */
/** Copy the alternative, presumably IPv6, OR port (IP address and TCP
* port) for <b>router</b> into *<b>ap_out</b>. */
void
router_get_alt_addr_port(const routerinfo_t *router,
tor_addr_t *addr_out,
uint16_t *port_out)
router_get_alt_orport(const routerinfo_t *router, tor_addr_port_t *ap_out)
{
if (addr_out != NULL)
tor_addr_copy(addr_out, &router->ipv6_addr);
if (port_out != NULL)
*port_out = router->ipv6_orport;
tor_assert(ap_out != NULL);
tor_addr_copy(&ap_out->addr, &router->ipv6_addr);
ap_out->port = router->ipv6_orport;
}
/** Return 1 if we prefer the IPv6 address of <b>router</b>, else 0.
We prefer the IPv6 address if the router has one and
i) the routerinfo_t says so
or
ii) the router has no IPv4 address. */
/** Return 1 if we prefer the IPv6 address and OR TCP port of
* <b>router</b>, else 0.
*
* We prefer the IPv6 address if the router has one and
* i) the routerinfo_t says so
* or
* ii) the router has no IPv4 address. */
int
router_ipv6_preferred(const routerinfo_t *router)
{
@ -2160,17 +2156,15 @@ router_ipv6_preferred(const routerinfo_t *router)
&& (router->ipv6_preferred || router->addr == 0));
}
/** Copy the preferred IP address and port for <b>router</b> into
*<b>addr_out</b> and *<b>port_out</b> . */
/** Copy the preferred OR port (IP address and TCP port) for
* <b>router</b> into *<b>addr_out</b>. */
void
router_get_pref_addr_port(const routerinfo_t *router,
tor_addr_t *addr_out,
uint16_t *port_out)
router_get_pref_orport(const routerinfo_t *router, tor_addr_port_t *ap_out)
{
if (router_ipv6_preferred(router))
router_get_alt_addr_port(router, addr_out, port_out);
router_get_alt_orport(router, ap_out);
else
router_get_prim_addr_port(router, addr_out, port_out);
router_get_prim_orport(router, ap_out);
}
/** Load the contents of <b>filename</b>, find the last line starting with

View File

@ -85,12 +85,12 @@ int router_pick_published_address(const or_options_t *options, uint32_t *addr);
int router_rebuild_descriptor(int force);
int router_dump_router_to_string(char *s, size_t maxlen, routerinfo_t *router,
crypto_pk_env_t *ident_key);
void router_get_prim_addr_port(const routerinfo_t *router, tor_addr_t *addr_out,
uint16_t *port_out);
void router_get_alt_addr_port(const routerinfo_t *router, tor_addr_t *addr_out,
uint16_t *port_out);
void router_get_pref_addr_port(const routerinfo_t *router, tor_addr_t *addr_out,
uint16_t *port_out);
void router_get_prim_orport(const routerinfo_t *router,
tor_addr_port_t *addr_port_out);
void router_get_alt_orport(const routerinfo_t *router,
tor_addr_port_t *addr_port_out);
void router_get_pref_orport(const routerinfo_t *router,
tor_addr_port_t *addr_port_out);
int router_ipv6_preferred(const routerinfo_t *router);
int extrainfo_dump_to_string(char **s, extrainfo_t *extrainfo,
crypto_pk_env_t *ident_key);