[COMMITTED] resolv: Fix CNAME chaining in resolv/tst-resolv-ai_idn-common.c

Message ID 875zgi5lsw.fsf@oldenburg2.str.redhat.com
State Committed
Headers

Commit Message

Florian Weimer Feb. 7, 2020, 5:50 p.m. UTC
  The second CNAME record optionally generated by the response function
used the question name, not the redirected name from the first CNAME.
This breaks the chain and results in failures of these IDNA tests if
CNAME owner names are checked as expected (which the current
implementation does not do).

-----
 resolv/tst-resolv-ai_idn-common.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
  

Patch

diff --git a/resolv/tst-resolv-ai_idn-common.c b/resolv/tst-resolv-ai_idn-common.c
index 9e8ed7611c..97eb617cfa 100644
--- a/resolv/tst-resolv-ai_idn-common.c
+++ b/resolv/tst-resolv-ai_idn-common.c
@@ -219,8 +219,9 @@  response (const struct resolv_response_context *ctx,
     }
   if (with_idn_cname)
     {
+      const char *previous_name = next_name;
       next_name = ANDERES_NAEMCHEN_IDNA ".example";
-      resolv_response_open_record (b, qname, C_IN, T_CNAME, 0);
+      resolv_response_open_record (b, previous_name, C_IN, T_CNAME, 0);
       resolv_response_add_name (b, next_name);
       resolv_response_close_record (b);
     }