X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Fresolve%2Fresolved-dns-zone.c;h=a4c9b7d7afad6b1fb64d513c88bb486f5b611c47;hp=13b1b3c595a7f66c8990154356d30b9b83b4a8c6;hb=1dcca8e5fe679b21a7203d6e35d58aa7aa83bbe1;hpb=2fb3034cb21c745ed4f9aa4cba57563f7f071466 diff --git a/src/resolve/resolved-dns-zone.c b/src/resolve/resolved-dns-zone.c index 13b1b3c59..a4c9b7d7a 100644 --- a/src/resolve/resolved-dns-zone.c +++ b/src/resolve/resolved-dns-zone.c @@ -28,7 +28,7 @@ /* Never allow more than 1K entries */ #define ZONE_MAX 1024 -static void dns_zone_item_probe_stop(DnsZoneItem *i) { +void dns_zone_item_probe_stop(DnsZoneItem *i) { DnsTransaction *t; assert(i); @@ -126,11 +126,11 @@ static int dns_zone_init(DnsZone *z) { assert(z); - r = hashmap_ensure_allocated(&z->by_key, dns_resource_key_hash_func, dns_resource_key_compare_func); + r = hashmap_ensure_allocated(&z->by_key, &dns_resource_key_hash_ops); if (r < 0) return r; - r = hashmap_ensure_allocated(&z->by_name, dns_name_hash_func, dns_name_compare_func); + r = hashmap_ensure_allocated(&z->by_name, &dns_name_hash_ops); if (r < 0) return r; @@ -194,7 +194,7 @@ static int dns_zone_item_probe_start(DnsZoneItem *i) { return r; } - r = set_ensure_allocated(&t->zone_items, NULL, NULL); + r = set_ensure_allocated(&t->zone_items, NULL); if (r < 0) goto gc; @@ -527,7 +527,7 @@ void dns_zone_item_ready(DnsZoneItem *i) { /* The probe got a successful reply. If we so far * weren't established we just give up. If we already * were established, and the peer has the - * lexicographically smaller IP address we continue + * lexicographically larger IP address we continue * and defend it. */ if (!IN_SET(i->state, DNS_ZONE_ITEM_ESTABLISHED, DNS_ZONE_ITEM_VERIFYING)) { @@ -535,9 +535,9 @@ void dns_zone_item_ready(DnsZoneItem *i) { we_lost = true; } else { assert(i->probe_transaction->received); - we_lost = memcmp(&i->probe_transaction->received->sender, &i->probe_transaction->received->destination, FAMILY_ADDRESS_SIZE(i->probe_transaction->received->family)) > 0; + we_lost = memcmp(&i->probe_transaction->received->sender, &i->probe_transaction->received->destination, FAMILY_ADDRESS_SIZE(i->probe_transaction->received->family)) < 0; if (we_lost) - log_debug("Got a successful probe reply for an established RR, and we have a lexicographically lower IP address and thus lost."); + log_debug("Got a successful probe reply for an established RR, and we have a lexicographically larger IP address and thus lost."); } if (we_lost) { @@ -570,7 +570,7 @@ static int dns_zone_item_verify(DnsZoneItem *i) { i->state = DNS_ZONE_ITEM_VERIFYING; r = dns_zone_item_probe_start(i); if (r < 0) { - log_error("Failed to start probing for verifying RR: %s", strerror(-r)); + log_error_errno(r, "Failed to start probing for verifying RR: %m"); i->state = DNS_ZONE_ITEM_ESTABLISHED; return r; } @@ -580,7 +580,7 @@ static int dns_zone_item_verify(DnsZoneItem *i) { int dns_zone_check_conflicts(DnsZone *zone, DnsResourceRecord *rr) { DnsZoneItem *i, *first; - int c; + int c = 0; assert(zone); assert(rr); @@ -614,7 +614,7 @@ int dns_zone_check_conflicts(DnsZone *zone, DnsResourceRecord *rr) { int dns_zone_verify_conflicts(DnsZone *zone, DnsResourceKey *key) { DnsZoneItem *i, *first; - int c; + int c = 0; assert(zone);