51 lines
1.6 KiB
Diff
51 lines
1.6 KiB
Diff
|
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);
|