X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?a=blobdiff_plain;f=site.c;h=15dace88d3c74f0e22a35b891d91a061c311877e;hb=d4a85f9aa0b85e9e5b7cac3c4036a485900b0fc9;hp=204ddf5dce812bb66e1e1022a3c8580727a538fc;hpb=d18903cf10fd6bbde2b2c090c1063fe7cd1e7fe9;p=secnet.git diff --git a/site.c b/site.c index 204ddf5..15dace8 100644 --- a/site.c +++ b/site.c @@ -143,9 +143,6 @@ static struct flagstr log_event_table[]={ /* Details of "mobile peer" semantics: - | Note: this comment is wishful thinking right now. It will be - | implemented in subsequent commits. - - We use the same data structure for the different configurations, but manage it with different algorithms. @@ -1194,7 +1191,8 @@ static bool_t send_msg(struct site *st) } static void site_resolve_callback(void *sst, const struct comm_addr *addrs, - int naddrs, int was_naddrs) + int naddrs, int was_naddrs, + const char *failwhy) { struct site *st=sst; @@ -1209,7 +1207,7 @@ static void site_resolve_callback(void *sst, const struct comm_addr *addrs, was_naddrs, naddrs); } } else { - slog(st,LOG_ERROR,"resolution of %s failed",st->address); + slog(st,LOG_ERROR,"resolution of %s failed: %s",st->address,failwhy); } switch (st->state) { @@ -2091,11 +2089,6 @@ static void transport_peers_debug(struct site *st, transport_peers *dst, } } -static bool_t transport_addrs_equal(const struct comm_addr *a, - const struct comm_addr *b) { - return !memcmp(a,b,sizeof(*a)); -} - static void transport_peers_expire(struct site *st, transport_peers *peers) { /* peers must be sorted first */ int previous_peers=peers->npeers; @@ -2119,7 +2112,7 @@ static bool_t transport_peer_record_one(struct site *st, transport_peers *peers, return 0; for (search=0; searchnpeers; search++) - if (transport_addrs_equal(&peers->peers[search].addr, ca)) + if (comm_addr_equal(&peers->peers[search].addr, ca)) return 1; peers->peers[peers->npeers].addr = *ca; @@ -2138,7 +2131,7 @@ static void transport_record_peers(struct site *st, transport_peers *peers, * Caller must first call transport_peers_expire. */ if (naddrs==1 && peers->npeers>=1 && - transport_addrs_equal(&addrs[0], &peers->peers[0].addr)) { + comm_addr_equal(&addrs[0], &peers->peers[0].addr)) { /* optimisation, also avoids debug for trivial updates */ peers->peers[0].last = *tv_now; return;