]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
explictly convert ISC_R_NOSPACE from dns_message_parse to DNS_R_FORMERR and remove...
authorMark Andrews <marka@isc.org>
Mon, 7 Jan 2019 03:05:43 +0000 (14:05 +1100)
committerMark Andrews <marka@isc.org>
Wed, 9 Jan 2019 04:19:42 +0000 (15:19 +1100)
lib/dns/result.c
lib/ns/client.c

index ffbe7f760b26e1a1853a4c7c03052b308f47bdc6..69b7eec91e771a06975cad1ab16a2b694b06db61 100644 (file)
@@ -407,7 +407,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:
index 36dbb1d2ab073529879a2ec243fbdd22b6b1d6d9..b71aa73eaa36b4bb2be8467a9660357e7cef2eec 100644 (file)
@@ -2445,14 +2445,18 @@ ns__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);
                return;
        }