* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: query.c,v 1.313.20.26 2011/03/12 04:57:23 tbox Exp $ */
+/* $Id: query.c,v 1.313.20.27 2011/03/19 09:47:54 marka Exp $ */
/*! \file */
goto cleanup;
}
result = dns_name_concatenate(prefix, tname, fname, NULL);
+
+ /*
+ * RFC2672, section 4.1, subsection 3c says
+ * we should return YXDOMAIN if the constructed
+ * name would be too long.
+ */
+ if (result == DNS_R_NAMETOOLONG)
+ client->message->rcode = dns_rcode_yxdomain;
if (result != ISC_R_SUCCESS) {
dns_message_puttempname(client->message, &tname);
- if (result == ISC_R_NOSPACE) {
- /*
- * RFC2672, section 4.1, subsection 3c says
- * we should return YXDOMAIN if the constructed
- * name would be too long.
- */
- client->message->rcode = dns_rcode_yxdomain;
- }
goto cleanup;
}
+
query_keepname(client, fname, dbuf);
/*
* Synthesize a CNAME for this DNAME.