if (r == 0 && k == 0) /* No actual cname happened? */
return -ELOOP;
+ if (r == 0)
+ nq_idna = dns_question_ref(q->question_idna);
+ if (k == 0)
+ nq_utf8 = dns_question_ref(q->question_utf8);
+
if (q->answer_protocol == DNS_PROTOCOL_DNS)
/* Don't permit CNAME redirects from unicast DNS to LLMNR or MulticastDNS, so that global resources
* cannot invade the local namespace. The opposite way we permit: local names may redirect to global
ASSERT_EQ(query->n_cname_redirects, 1u);
ASSERT_EQ(dns_question_size(query->collected_questions), 2u);
- ASSERT_NULL(query->question_utf8);
+ ASSERT_EQ(dns_question_size(query->question_utf8), 1u);
ASSERT_EQ(dns_question_size(query->question_idna), 1u);
key = dns_resource_key_new(DNS_CLASS_IN, DNS_TYPE_A, "www.\xF0\x9F\x98\xB1.com");
ASSERT_TRUE(dns_question_contains_key(query->collected_questions, key));
dns_resource_key_unref(key);
+ key = dns_resource_key_new(DNS_CLASS_IN, DNS_TYPE_A, "www.\xF0\x9F\x98\xB1.com");
+ ASSERT_NOT_NULL(key);
+ ASSERT_TRUE(dns_question_contains_key(query->question_utf8, key));
+ dns_resource_key_unref(key);
+
key = dns_resource_key_new(DNS_CLASS_IN, DNS_TYPE_A, "www.v2.xn--tl8h.com");
ASSERT_NOT_NULL(key);
ASSERT_TRUE(dns_question_contains_key(query->question_idna, key));