chiark / gitweb /
resolved: actually, the peer with the lower IP address wins conflicts
[elogind.git] / src / resolve / resolved-dns-transaction.c
index dfed74dc9147d4deb253588bf4fdf3252707d372..990b1f2e43b5a66f1811610228755ffab09cb37b 100644 (file)
@@ -137,12 +137,12 @@ static void dns_transaction_tentative(DnsTransaction *t, DnsPacket *p) {
 
         /* RFC 4795, Section 4.1 says that the peer with the
          * lexicographically smaller IP address loses */
-        if (memcmp(&p->sender, &p->destination, FAMILY_ADDRESS_SIZE(p->family)) < 0) {
-                log_debug("Peer has lexicographically smaller IP address and thus lost in the conflict.");
+        if (memcmp(&p->sender, &p->destination, FAMILY_ADDRESS_SIZE(p->family)) >= 0) {
+                log_debug("Peer has lexicographically larger IP address and thus lost in the conflict.");
                 return;
         }
 
-        log_debug("We have the lexicographically smaller IP address and thus lost in the conflict.");
+        log_debug("We have the lexicographically larger IP address and thus lost in the conflict.");
 
         t->block_gc++;
         while ((z = set_first(t->zone_items))) {