From e4f7d6c41853a158c9dd866470826e6b59191e36 Mon Sep 17 00:00:00 2001 From: Mark Andrews Date: Mon, 7 Jan 2019 14:05:43 +1100 Subject: [PATCH] explictly convert ISC_R_NOSPACE from dns_message_parse to DNS_R_FORMERR and remove from dns_result_torcode (cherry picked from commit 0c42a9c0aba9a791a8ec7ec835c979634b5bc2ab) --- bin/named/client.c | 6 +++++- lib/dns/result.c | 1 - 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/bin/named/client.c b/bin/named/client.c index 9c9a90b6cb..e5159d80e9 100644 --- a/bin/named/client.c +++ b/bin/named/client.c @@ -2471,14 +2471,18 @@ client_request(isc_task_t *task, isc_event_t *event) { * Parsing the request failed. Send a response * (typically FORMERR or SERVFAIL). */ - if (result == DNS_R_OPTERR) + if (result == DNS_R_OPTERR) { (void)ns_client_addopt(client, client->message, &client->opt); + } ns_client_log(client, NS_LOGCATEGORY_CLIENT, NS_LOGMODULE_CLIENT, ISC_LOG_DEBUG(1), "message parsing failed: %s", isc_result_totext(result)); + if (result == ISC_R_NOSPACE) { + result = DNS_R_FORMERR; + } ns_client_error(client, result); goto cleanup; } diff --git a/lib/dns/result.c b/lib/dns/result.c index fcbe7186e6..9bfc959831 100644 --- a/lib/dns/result.c +++ b/lib/dns/result.c @@ -405,7 +405,6 @@ dns_result_torcode(isc_result_t result) { rcode = dns_rcode_noerror; break; case ISC_R_BADBASE64: - case ISC_R_NOSPACE: case ISC_R_RANGE: case ISC_R_UNEXPECTEDEND: case DNS_R_BADAAAA: