summaryrefslogtreecommitdiff
path: root/src/or/routerlist.c
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2010-09-14 22:19:00 -0400
committerNick Mathewson <nickm@torproject.org>2010-09-14 22:19:00 -0400
commitf5b7e039f39d881fc8f48c2e6004e605ca0e24c1 (patch)
treea14686a165f09e6751e9baeea420c016b42b7e1e /src/or/routerlist.c
parentb2473357f214a5459b4d6e166150bd6cb1ac2873 (diff)
downloadtor-f5b7e039f39d881fc8f48c2e6004e605ca0e24c1.tar.gz
tor-f5b7e039f39d881fc8f48c2e6004e605ca0e24c1.zip
Extract the "do these routers have the same addr:orport" logic into a fn
Diffstat (limited to 'src/or/routerlist.c')
-rw-r--r--src/or/routerlist.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/or/routerlist.c b/src/or/routerlist.c
index 968d5a1040..4cbb49066c 100644
--- a/src/or/routerlist.c
+++ b/src/or/routerlist.c
@@ -1257,6 +1257,13 @@ mark_all_trusteddirservers_up(void)
router_dir_info_changed();
}
+/** Return true iff r1 and r2 have the same address and OR port. */
+int
+routers_have_same_or_addr(const routerinfo_t *r1, const routerinfo_t *r2)
+{
+ return r1->addr == r2->addr && r1->or_port == r2->or_port;
+}
+
/** Reset all internal variables used to count failed downloads of network
* status objects. */
void
@@ -3246,8 +3253,7 @@ router_add_to_routerlist(routerinfo_t *router, const char **msg,
log_debug(LD_DIR, "Replacing entry for router '%s/%s' [%s]",
router->nickname, old_router->nickname,
hex_str(id_digest,DIGEST_LEN));
- if (router->addr == old_router->addr &&
- router->or_port == old_router->or_port) {
+ if (routers_have_same_or_addr(router, old_router)) {
/* these carry over when the address and orport are unchanged. */
router->last_reachable = old_router->last_reachable;
router->testing_since = old_router->testing_since;