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