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);