resolved: fix negative caching of IDNA domains
authorLennart Poettering <lennart@poettering.net>
Thu, 31 Jul 2014 22:39:59 +0000 (00:39 +0200)
committerLennart Poettering <lennart@poettering.net>
Thu, 31 Jul 2014 22:58:12 +0000 (00:58 +0200)
src/resolve/resolved-dns-domain.c

index 80a2b3c..6152047 100644 (file)
@@ -324,7 +324,7 @@ unsigned long dns_name_hash_func(const void *s, const uint8_t hash_key[HASH_KEY_
 
                 k = dns_label_undo_idna(label, r, label, sizeof(label));
                 if (k < 0)
-                        return k;
+                        break;
                 if (k > 0)
                         r = k;
 
@@ -436,7 +436,7 @@ int dns_name_endswith(const char *name, const char *suffix) {
                 q = dns_label_unescape(&s, ls, sizeof(ls));
                 if (r < 0)
                         return r;
-                w = dns_label_undo_idna(ls, r, ls, sizeof(ls));
+                w = dns_label_undo_idna(ls, q, ls, sizeof(ls));
                 if (w < 0)
                         return w;
                 if (w > 0)