diff -up bind-9.5.0-P1/bin/named/xfrout.c.rh454783 bind-9.5.0-P1/bin/named-sdb/xfrout.c
--- bind-9.5.0-P1/bin/named/xfrout.c.rh454783 2008-08-05 12:50:44.000000000 +0200
+++ bind-9.5.0-P1/bin/named/xfrout.c 2008-08-05 12:57:54.000000000 +0200
@@ -829,7 +829,9 @@ typedef struct {
dns_name_t *qname; /* Question name of request */
dns_rdatatype_t qtype; /* dns_rdatatype_{a,i}xfr */
dns_rdataclass_t qclass;
+#ifndef DLZ
dns_zone_t *zone; /* (necessary for stats) */
+#endif
dns_db_t *db;
dns_dbversion_t *ver;
isc_quota_t *quota;
@@ -1330,10 +1332,14 @@ xfrout_ctx_create(isc_mem_t *mctx, ns_cl
xfr->qname = qname;
xfr->qtype = qtype;
xfr->qclass = qclass;
+#ifndef DLZ
xfr->zone = NULL;
+#endif
xfr->db = NULL;
xfr->ver = NULL;
+#ifndef DLZ
dns_zone_attach(zone, &xfr->zone);
+#endif
dns_db_attach(db, &xfr->db);
dns_db_attachversion(db, ver, &xfr->ver);
xfr->end_of_stream = ISC_FALSE;
@@ -1709,8 +1715,10 @@ xfrout_ctx_destroy(xfrout_ctx_t **xfrp)
isc_quota_detach(&xfr->quota);
if (xfr->ver != NULL)
dns_db_closeversion(xfr->db, &xfr->ver, ISC_FALSE);
+#ifndef DLZ
if (xfr->zone != NULL)
dns_zone_detach(&xfr->zone);
+#endif
if (xfr->db != NULL)
dns_db_detach(&xfr->db);
@@ -1744,7 +1752,10 @@ xfrout_senddone(isc_task_t *task, isc_ev
sendstream(xfr);
} else {
/* End of zone transfer stream. */
+#ifndef DLZ
+ /* XXX DLZ zones doesn't support stats */
inc_stats(xfr->zone, dns_nsstatscounter_xfrdone);
+#endif
xfrout_log(xfr, ISC_LOG_INFO, "%s ended", xfr->mnemonic);
ns_client_next(xfr->client, ISC_R_SUCCESS);
xfrout_ctx_destroy(&xfr);