This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
[PATCH COMMITTED] resolv: Fix CNAME chaining in resolv/tst-resolv-ai_idn-common.c
- From: Florian Weimer <fweimer at redhat dot com>
- To: libc-alpha at sourceware dot org
- Date: Fri, 07 Feb 2020 18:50:23 +0100
- Subject: [PATCH COMMITTED] resolv: Fix CNAME chaining in resolv/tst-resolv-ai_idn-common.c
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(-)
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);
}