summaryrefslogtreecommitdiffstats
path: root/contrib/bind/bin/named-xfer/named-xfer.c
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/bind/bin/named-xfer/named-xfer.c')
-rw-r--r--contrib/bind/bin/named-xfer/named-xfer.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/contrib/bind/bin/named-xfer/named-xfer.c b/contrib/bind/bin/named-xfer/named-xfer.c
index b18b163..27d9ac0 100644
--- a/contrib/bind/bin/named-xfer/named-xfer.c
+++ b/contrib/bind/bin/named-xfer/named-xfer.c
@@ -130,7 +130,7 @@ char copyright[] =
#if !defined(lint) && !defined(SABER)
static const char sccsid[] = "@(#)named-xfer.c 4.18 (Berkeley) 3/7/91";
-static const char rcsid[] = "$Id: named-xfer.c,v 8.120 2002/01/29 06:54:52 marka Exp $";
+static const char rcsid[] = "$Id: named-xfer.c,v 8.121 2002/06/26 03:27:22 marka Exp $";
#endif /* not lint */
#include "port_before.h"
@@ -750,6 +750,7 @@ main(int argc, char *argv[]) {
default:
result = XFER_FAIL;
/* fall through */
+ case XFER_REFUSED:
case XFER_TIMEOUT:
case XFER_FAIL:
(void) unlink(tmpname);
@@ -1067,6 +1068,7 @@ getzone(struct zoneinfo *zp, u_int32_t serial_no, int port) {
u_int32_t query_serial = serial_no;
int first_soa_printed;
struct in_addr z_axfr_src;
+ int refused = 0;
#ifdef DEBUG
if (debug) {
@@ -1630,6 +1632,7 @@ receive:
my_addr_text,
inet_ntoa(sin.sin_addr),
zp->z_origin);
+ refused = 1;
} else {
syslog(LOG_INFO,
"[%s] record too short from [%s], zone %s\n",
@@ -1912,6 +1915,7 @@ axfr_response:
my_addr_text,
inet_ntoa(sin.sin_addr),
zp->z_origin);
+ refused = 1;
} else {
syslog(LOG_INFO,
"[%s] record too short from [%s], zone %s\n",
@@ -1951,6 +1955,8 @@ axfr_response:
}
if (!error)
return (XFER_TIMEOUT);
+ if (refused)
+ return (XFER_REFUSED);
return (XFER_FAIL);
}
OpenPOWER on IntegriCloud