From fed846067d265db1037483d81d01f3651c8a3f28 Mon Sep 17 00:00:00 2001 From: Brian Wellington Date: Fri, 29 Jun 2001 06:06:02 +0000 Subject: [PATCH] 916. [bug] Specifying type ixfr to dig without specifying a serial number failed in unexpected ways. --- CHANGES | 3 +++ bin/dig/dig.c | 17 ++++++++++++++++- 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/CHANGES b/CHANGES index d987e35978..ee8e3f7b16 100644 --- a/CHANGES +++ b/CHANGES @@ -1,4 +1,7 @@ + 916. [bug] Specifying type ixfr to dig without specifying + a serial number failed in unexpected ways. + 915. [func] The named-checkconf and named-checkzone programs now have a '-v' option for printing their version. [RT #1151] diff --git a/bin/dig/dig.c b/bin/dig/dig.c index a486d22cfe..013c3dcffb 100644 --- a/bin/dig/dig.c +++ b/bin/dig/dig.c @@ -15,7 +15,7 @@ * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: dig.c,v 1.146 2001/06/11 18:08:15 gson Exp $ */ +/* $Id: dig.c,v 1.147 2001/06/29 06:06:00 bwelling Exp $ */ #include #include @@ -38,6 +38,7 @@ #include #include #include +#include #include @@ -1001,6 +1002,11 @@ dash_option(char *option, char *next, dig_lookup_t **lookup, tr.length = strlen(value); result = dns_rdatatype_fromtext(&rdtype, (isc_textregion_t *)&tr); + if (result == ISC_R_SUCCESS && + rdtype == dns_rdatatype_ixfr) + { + result = DNS_R_UNKNOWN; + } } if (result == ISC_R_SUCCESS) { if ((*lookup)->rdtypeset) { @@ -1218,6 +1224,15 @@ parse_args(isc_boolean_t is_batchfile, isc_boolean_t config_only, tr.length = strlen(rv[0]); result = dns_rdatatype_fromtext(&rdtype, (isc_textregion_t *)&tr); + if (result == ISC_R_SUCCESS && + rdtype == dns_rdatatype_ixfr) + { + result = DNS_R_UNKNOWN; + fprintf(stderr, ";; Warning, " + "ixfr requires a " + "serial number\n"); + continue; + } } if (result == ISC_R_SUCCESS) {