zone revision 044903fc42dc86880a11903ca91a466fb7a04af3
5cd4555ad444fd391002ae32450572054369fd42Rob Austein
5cd4555ad444fd391002ae32450572054369fd42Rob Austein Zones
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
d4ef65050feac78554addf6e16a06c6e2e0bd331Brian Wellington $Id: zone,v 1.5 1999/03/11 00:17:36 marka Exp $
39844d471080b2de4f8bb9d81f7e136ef80f0ae2Automatic Updater
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark AndrewsOverview
d4ef65050feac78554addf6e16a06c6e2e0bd331Brian Wellington
ec5347e2c775f027573ce5648b910361aa926c01Automatic Updater Zones are the unit of delegation in the DNS and may go from holding
d4ef65050feac78554addf6e16a06c6e2e0bd331Brian Wellington RR's only at the zone top to holding the complete hierachy (private
d4ef65050feac78554addf6e16a06c6e2e0bd331Brian Wellington roots zones). Zones have an associated database which is the
d4ef65050feac78554addf6e16a06c6e2e0bd331Brian Wellington container for the RR sets that make up the zone.
dafcb997e390efa4423883dafd100c975c4095d6Mark Andrews
dafcb997e390efa4423883dafd100c975c4095d6Mark Andrews Zone have certain properties associated with them.
dafcb997e390efa4423883dafd100c975c4095d6Mark Andrews
dafcb997e390efa4423883dafd100c975c4095d6Mark Andrews * name
dafcb997e390efa4423883dafd100c975c4095d6Mark Andrews * class
dafcb997e390efa4423883dafd100c975c4095d6Mark Andrews * master / slave / stub / hint / cache / forward
dafcb997e390efa4423883dafd100c975c4095d6Mark Andrews * serial number
d4ef65050feac78554addf6e16a06c6e2e0bd331Brian Wellington * signed / unsigned
f5d30e2864e048a42c4dc1134993ae7efdb5d6c3Mark Andrews * update periods (refresh / retry) (slave / stub)
6a550cb83cc2196f8af0592a258f75985cdcb5ebJeremy Reed * last update time (slave / stub)
b5ad6dfea4cc3e7d1d322ac99f1e5a31096837c4Mark Andrews * access restrictions
0b062f4990db5cc6db2fe3398926f71b92a67407Brian Wellington * transfer restrictions (master / slave)
6a550cb83cc2196f8af0592a258f75985cdcb5ebJeremy Reed * update restictions (master / slave)
0b062f4990db5cc6db2fe3398926f71b92a67407Brian Wellington * expire period (slave / stub)
0b062f4990db5cc6db2fe3398926f71b92a67407Brian Wellington * children => bottom
0b062f4990db5cc6db2fe3398926f71b92a67407Brian Wellington * glue
0b062f4990db5cc6db2fe3398926f71b92a67407Brian Wellington * rrsets / data
6ed53e5949d9fcd9715b440015b56e5a896d63dfDavid Hankins * transfer "in" in progress
0b062f4990db5cc6db2fe3398926f71b92a67407Brian Wellington * transfers "out" in progress
0b062f4990db5cc6db2fe3398926f71b92a67407Brian Wellington * "current" check in progress
0b062f4990db5cc6db2fe3398926f71b92a67407Brian Wellington * our masters
0b062f4990db5cc6db2fe3398926f71b92a67407Brian Wellington * primary master name (required to auto generate our masters)
0b062f4990db5cc6db2fe3398926f71b92a67407Brian Wellington * master file name
0b062f4990db5cc6db2fe3398926f71b92a67407Brian Wellington * database name
0b062f4990db5cc6db2fe3398926f71b92a67407Brian Wellington * database type
0b062f4990db5cc6db2fe3398926f71b92a67407Brian Wellington * initially only master_file (BIND 4 & 8)
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein * expanded axfr + ixfr
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein * transaction logs
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein * notification lists
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein * NS's
4b3f3cc67135e676a9b3b688685fb59e3494b0e6Mark Andrews * static additional sites (stealth servers)
c1a883f2e04d94e99c433b1f6cfd0c0338f4ed85Mark Andrews * dynamically learned sites (soa queries)
3398334b3acda24b086957286288ca9852662b12Automatic Updater
39844d471080b2de4f8bb9d81f7e136ef80f0ae2Automatic Updater Zones have two types of versions associated with them.
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein Type 1.
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein The image of the "current" zone when a AXFR out is in progress.
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein There may be several of these at once but they cease to need
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein to exist once the AXFR's on this version has completed. These
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein are maintained by the various database access methods.
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
f5d30e2864e048a42c4dc1134993ae7efdb5d6c3Mark Andrews Type 2.
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein These are virtual versions of the zone and are required to
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein support IXFR requests. While the entire contents of the old
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein version does not need to be kept, a change log needs to be
0b062f4990db5cc6db2fe3398926f71b92a67407Brian Wellington kept. An index into this log would be useful in speeding
0b062f4990db5cc6db2fe3398926f71b92a67407Brian Wellington up replies. These versions have an explict expiry date.
0b062f4990db5cc6db2fe3398926f71b92a67407Brian Wellington
0b062f4990db5cc6db2fe3398926f71b92a67407Brian Wellington "How long are we going to keep them operationally?"
0b062f4990db5cc6db2fe3398926f71b92a67407Brian Wellington While there are expriry dates based on last update /
0b062f4990db5cc6db2fe3398926f71b92a67407Brian Wellington change time + expire. In practice holding the deltas
0b062f4990db5cc6db2fe3398926f71b92a67407Brian Wellington for a few refresh periods should be enough. If the network
0b062f4990db5cc6db2fe3398926f71b92a67407Brian Wellington and servers are up one is enough.
b0c15bd9792112fb47f6d956e580e4369e92f4e7Mark Andrews
0b062f4990db5cc6db2fe3398926f71b92a67407Brian Wellington "How are we going to generate them from a master file?"
b0c15bd9792112fb47f6d956e580e4369e92f4e7Mark Andrews UPDATE should not be the only answer to this question.
50105afc551903541608b11851d73278b23579a3Mark Andrews We need a tool that takes the current zone & new zone.
0b062f4990db5cc6db2fe3398926f71b92a67407Brian Wellington Verifies the new zone, generates a delta and feeds this
e174044290953a2499f574e35cc9c22ba126a303Mark Andrews at named. It could well be part of ndc but does not have
6e8a8077faf96d8da0b6cf738913f5f1f86e4008Mark Andrews to be.
6ed53e5949d9fcd9715b440015b56e5a896d63dfDavid Hankins
0b062f4990db5cc6db2fe3398926f71b92a67407Brian Wellington
e174044290953a2499f574e35cc9c22ba126a303Mark Andrews Zones need to have certain operations performed on them. The need to
0b062f4990db5cc6db2fe3398926f71b92a67407Brian Wellington be:
2534a73a5914470f7ffe00663b6bbaff5e411e57Mark Andrews
0b062f4990db5cc6db2fe3398926f71b92a67407Brian Wellington * loaded
b0c15bd9792112fb47f6d956e580e4369e92f4e7Mark Andrews * unloaded
0b062f4990db5cc6db2fe3398926f71b92a67407Brian Wellington * dumped
0b062f4990db5cc6db2fe3398926f71b92a67407Brian Wellington * updated (UPDATE / IXFR)
b0c15bd9792112fb47f6d956e580e4369e92f4e7Mark Andrews * copied out in full (AXFR) or as partial deltas (IXFR)
6098d364b690cb9dabf96e9664c4689c8559bd2eMark Andrews * read from
6098d364b690cb9dabf96e9664c4689c8559bd2eMark Andrews * validated
6098d364b690cb9dabf96e9664c4689c8559bd2eMark Andrews * generate a delta between two given versions.
0b062f4990db5cc6db2fe3398926f71b92a67407Brian Wellington * signed / resigned
0b062f4990db5cc6db2fe3398926f71b92a67407Brian Wellington * maintenance
0b062f4990db5cc6db2fe3398926f71b92a67407Brian Wellington validate current soa
0b062f4990db5cc6db2fe3398926f71b92a67407Brian Wellington remove old deltas / consolidation
0b062f4990db5cc6db2fe3398926f71b92a67407Brian Wellington purge stale rrsets (cache)
0b062f4990db5cc6db2fe3398926f71b92a67407Brian Wellington * notification
0b062f4990db5cc6db2fe3398926f71b92a67407Brian Wellington responding to
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein generating
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein While not strictly a nameserver function, bad delegation and bad
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein slave setups are continual and ongoing sources of problems in the
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein DNS. Periodic checks to ensure parent and child servers agree on
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein the list of nameservers and that slaves are tracking the changes
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein made in the master server's zone will allow problems in
0b062f4990db5cc6db2fe3398926f71b92a67407Brian Wellington configurations to be identified earlier providing for a more stable
0b062f4990db5cc6db2fe3398926f71b92a67407Brian Wellington DNS.
0b062f4990db5cc6db2fe3398926f71b92a67407Brian Wellington
0b062f4990db5cc6db2fe3398926f71b92a67407Brian WellingtonCompatability:
0b062f4990db5cc6db2fe3398926f71b92a67407Brian Wellington
0b062f4990db5cc6db2fe3398926f71b92a67407Brian Wellington Zones are required to be configuration file compatable with
0b062f4990db5cc6db2fe3398926f71b92a67407Brian Wellington BIND 8.x.
0b062f4990db5cc6db2fe3398926f71b92a67407Brian Wellington
0b062f4990db5cc6db2fe3398926f71b92a67407Brian WellingtonTypes:
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein typedef enum {
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein dns_zone_none = 0,
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein dns_zone_master,
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein dns_zone_slave,
0b062f4990db5cc6db2fe3398926f71b92a67407Brian Wellington dns_zone_stub,
0b062f4990db5cc6db2fe3398926f71b92a67407Brian Wellington dns_zone_hint,
0b062f4990db5cc6db2fe3398926f71b92a67407Brian Wellington dns_zone_cache,
0b062f4990db5cc6db2fe3398926f71b92a67407Brian Wellington dns_zone_forward
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein } dns_zonetypes_t;
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein typedef struct dns_ixfr dns_ixfr_t;
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein struct dns_ixfr {
0b062f4990db5cc6db2fe3398926f71b92a67407Brian Wellington unsigned int magic; /* IXFR */
0b062f4990db5cc6db2fe3398926f71b92a67407Brian Wellington isc_uint32_t serial;
b0c15bd9792112fb47f6d956e580e4369e92f4e7Mark Andrews time_t expire;
b0c15bd9792112fb47f6d956e580e4369e92f4e7Mark Andrews unsigned int offset;
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein ISC_LINK(dns_ixfr_t) link;
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein };
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein struct dns_zone {
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein unsigned int magic; /* ZONE */
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein dns_name_t name;
b0c15bd9792112fb47f6d956e580e4369e92f4e7Mark Andrews dns_rdataclass_t class;
b0c15bd9792112fb47f6d956e580e4369e92f4e7Mark Andrews dns_zonetypes_t type;
50105afc551903541608b11851d73278b23579a3Mark Andrews dns_bt_t top;
50105afc551903541608b11851d73278b23579a3Mark Andrews isc_uint32_t version;
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein isc_uint32_t serial;
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein isc_uint32_t refresh;
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein isc_uint32_t retry;
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein isc_uint32_t serial;
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein char *masterfile;
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein dns_acl_t *access;
50105afc551903541608b11851d73278b23579a3Mark Andrews dns_acl_t *transfer;
50105afc551903541608b11851d73278b23579a3Mark Andrews struct {
0b062f4990db5cc6db2fe3398926f71b92a67407Brian Wellington dns_acl_t *acl;
0b062f4990db5cc6db2fe3398926f71b92a67407Brian Wellington dns_scl_t *scl; /* tsig based acl */
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein } update;
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein char *database;
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein ISC_LIST(dns_ixfr_t) ixfr;
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein ...
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein };
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
0b062f4990db5cc6db2fe3398926f71b92a67407Brian WellingtonOperations:
0b062f4990db5cc6db2fe3398926f71b92a67407Brian WellingtonLoading:
bf7f253e306d0ced8ae24d7a0598773950da11f4Mark Andrews
bf7f253e306d0ced8ae24d7a0598773950da11f4Mark AndrewsFunctions:
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein void
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein dns_zone_init(dns_zone_t *zone, dns_rdataclass_t class, isc_mem_t *mxtc);
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein void
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein dns_zone_invalidate(dns_zone_t *zone);
bf7f253e306d0ced8ae24d7a0598773950da11f4Mark Andrews
bf7f253e306d0ced8ae24d7a0598773950da11f4Mark Andrews void
0b062f4990db5cc6db2fe3398926f71b92a67407Brian Wellington dns_ixfr_init(dns_ixfr_t *ixfr, unsigned long serial, time_t expire);
0b062f4990db5cc6db2fe3398926f71b92a67407Brian Wellington
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein void
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein dns_ixfr_invalidate(dns_ixfr_t *ixfr);
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein dns_zone_axfrout(dns_zone_t *zone);
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein Initiate outgoing zone transfer.
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein dns_zone_axfrin(dns_zone_t *zone, isc_sockaddr_t *addr);
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein Initiate transfer of the zone from the given server or the
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein masters masters listed in the zone structure.
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
0b062f4990db5cc6db2fe3398926f71b92a67407Brian Wellington dns_zone_maintenance(dns_zone_t *zone);
0b062f4990db5cc6db2fe3398926f71b92a67407Brian Wellington
0b062f4990db5cc6db2fe3398926f71b92a67407Brian Wellington Perform any maintenance operations required on the zone
0b062f4990db5cc6db2fe3398926f71b92a67407Brian Wellington * initiate up to date checks
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein * expire zones
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein * initiate ixfr version expire consolidation
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein dns_zone_locateprimary(dns_zone_t *zone);
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein Working from the root zone locate the primary master for the zone.
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein Used if masters are not given in named.conf.
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein dns_zone_locateservers(dns_zone_t *zone);
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein Working from the root zone locate the servers for the zone.
0b062f4990db5cc6db2fe3398926f71b92a67407Brian Wellington Primary master moved to first in list if in NS set. Remove self
0b062f4990db5cc6db2fe3398926f71b92a67407Brian Wellington from list.
0b062f4990db5cc6db2fe3398926f71b92a67407Brian Wellington Used if masters are not given in named.conf.
0b062f4990db5cc6db2fe3398926f71b92a67407Brian Wellington
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein dns_zone_notify(dns_zone_t *);
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein Queue notify messages.
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein dns_zone_checkparents(dns_zone_t *);
561a29af8c54a216e7d30b5b4f6e0d21661654ecMark Andrews
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein check that the parent nameservers NS lists for this zone agree with
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein the NS list this zone, check glue A records. Warn if not identical.
0b062f4990db5cc6db2fe3398926f71b92a67407Brian Wellington This operation is performed on master zones.
0b062f4990db5cc6db2fe3398926f71b92a67407Brian Wellington
0b062f4990db5cc6db2fe3398926f71b92a67407Brian Wellington dns_zone_checkchildren(dns_zone_t *);
0b062f4990db5cc6db2fe3398926f71b92a67407Brian Wellington
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein check that the child zones NS lists agree with the NS lists in this
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein zone, check glue records. Warn if not identical.
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein dns_zone_checkservers(dns_zone_t *);
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein check that all the listed servers for the zone agree on NS list and
0b062f4990db5cc6db2fe3398926f71b92a67407Brian Wellington serial number. NOTE only errors which continue over several refresh
0b062f4990db5cc6db2fe3398926f71b92a67407Brian Wellington periods to be reported.
0b062f4990db5cc6db2fe3398926f71b92a67407Brian Wellington
0b062f4990db5cc6db2fe3398926f71b92a67407Brian Wellington dns_zone_dump(dns_zone_t *, FILE *fp);
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein Write the contents of the zone to the file associated with fp.
561a29af8c54a216e7d30b5b4f6e0d21661654ecMark Andrews
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein dns_zone_validate(dns_zone_t *);
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein Validate the zone contents using DNSSEC.
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein dns_zone_tordatalist(dns_zone_t *zone, dns_rdatalist_t *list)
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein dns_zone_addmaster(dns_zone_t *zone, isc_sockaddr_t *addr);
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein Add addr to the set of masters for the zone.
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein dns_zone_clearmasters(dns_zone_t *zone);
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein Clear the master set.
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein dns_zone_setreadacl(dns_zone_t *, dns_acl_t *)
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein dns_zone_setxfracl(dns_zone_t *, dns_acl_t *)
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
0b062f4990db5cc6db2fe3398926f71b92a67407Brian Wellington dns_zone_addnotify(dns_zone_t *, isc_sockaddr_t *addr, isc_boolean_t perm);
0b062f4990db5cc6db2fe3398926f71b92a67407Brian Wellington
e174044290953a2499f574e35cc9c22ba126a303Mark Andrews dns_zone_clearnotify(dns_zone_t *)
e174044290953a2499f574e35cc9c22ba126a303Mark Andrews
e174044290953a2499f574e35cc9c22ba126a303Mark Andrews dns_zone_load(dns_zone_t *);
e174044290953a2499f574e35cc9c22ba126a303Mark Andrews
e174044290953a2499f574e35cc9c22ba126a303Mark Andrews dns_zone_consolidate(dns_zone_t *);
e174044290953a2499f574e35cc9c22ba126a303Mark Andrews
e174044290953a2499f574e35cc9c22ba126a303Mark Andrews Consolidate on disk copy of zone.
e174044290953a2499f574e35cc9c22ba126a303Mark Andrews