#include <config.h>
#include <errno.h>
#include <isc/file.h>
#include <isc/hex.h>
#include <isc/mutex.h>
#include <isc/pool.h>
#include <isc/print.h>
#include <isc/random.h>
#include <isc/ratelimiter.h>
#include <isc/refcount.h>
#include <isc/rwlock.h>
#include <isc/serial.h>
#include <isc/stats.h>
#include <isc/stdtime.h>
#include <isc/strerror.h>
#include <isc/string.h>
#include <isc/taskpool.h>
#include <isc/thread.h>
#include <isc/timer.h>
#include <isc/util.h>
#include <dns/acache.h>
#include <dns/acl.h>
#include <dns/adb.h>
#include <dns/callbacks.h>
#include <dns/db.h>
#include <dns/dbiterator.h>
#include <dns/dlz.h>
#include <dns/dnssec.h>
#include <dns/events.h>
#include <dns/journal.h>
#include <dns/keydata.h>
#include <dns/keytable.h>
#include <dns/keyvalues.h>
#include <dns/log.h>
#include <dns/master.h>
#include <dns/masterdump.h>
#include <dns/message.h>
#include <dns/name.h>
#include <dns/nsec.h>
#include <dns/nsec3.h>
#include <dns/peer.h>
#include <dns/private.h>
#include <dns/rbt.h>
#include <dns/rcode.h>
#include <dns/rdata.h>
#include <dns/rdataclass.h>
#include <dns/rdatalist.h>
#include <dns/rdataset.h>
#include <dns/rdatasetiter.h>
#include <dns/rdatastruct.h>
#include <dns/rdatatype.h>
#include <dns/request.h>
#include <dns/resolver.h>
#include <dns/result.h>
#include <dns/rriterator.h>
#include <dns/soa.h>
#include <dns/ssu.h>
#include <dns/stats.h>
#include <dns/time.h>
#include <dns/tsig.h>
#include <dns/update.h>
#include <dns/xfrin.h>
#include <dns/zone.h>
#include <dns/zt.h>
#include <dst/dst.h>
Go to the source code of this file.
Data Structures | |
struct | zonediff_t |
struct | dns_unreachable |
struct | dns_zonemgr |
struct | dns_notify |
Hold notify state. More... | |
struct | dns_stub |
dns_stub holds state while performing a 'stub' transfer. 'db' is the zone's 'db' or a new one if this is the initial transfer. More... | |
struct | dns_load |
Hold load state. More... | |
struct | dns_forward |
Hold forward state. More... | |
struct | dns_io |
Hold IO request state. More... | |
struct | dns_signing |
Hold state for when we are signing a zone with a new DNSKEY as result of an update. More... | |
struct | dns_nsec3chain |
struct | dns_keyfetch |
struct | dns_asyncload |
Hold state for an asynchronous load. More... | |
struct | dns_include |
Reference to an include file encountered during loading. More... | |
struct | nsec3param |
struct | ssevent |
struct | secure_event |
struct | keydone |
Defines | |
#define | ZONE_MAGIC ISC_MAGIC('Z', 'O', 'N', 'E') |
#define | DNS_ZONE_VALID(zone) ISC_MAGIC_VALID(zone, ZONE_MAGIC) |
#define | NOTIFY_MAGIC ISC_MAGIC('N', 't', 'f', 'y') |
#define | DNS_NOTIFY_VALID(notify) ISC_MAGIC_VALID(notify, NOTIFY_MAGIC) |
#define | STUB_MAGIC ISC_MAGIC('S', 't', 'u', 'b') |
#define | DNS_STUB_VALID(stub) ISC_MAGIC_VALID(stub, STUB_MAGIC) |
#define | ZONEMGR_MAGIC ISC_MAGIC('Z', 'm', 'g', 'r') |
#define | DNS_ZONEMGR_VALID(stub) ISC_MAGIC_VALID(stub, ZONEMGR_MAGIC) |
#define | LOAD_MAGIC ISC_MAGIC('L', 'o', 'a', 'd') |
#define | DNS_LOAD_VALID(load) ISC_MAGIC_VALID(load, LOAD_MAGIC) |
#define | FORWARD_MAGIC ISC_MAGIC('F', 'o', 'r', 'w') |
#define | DNS_FORWARD_VALID(load) ISC_MAGIC_VALID(load, FORWARD_MAGIC) |
#define | IO_MAGIC ISC_MAGIC('Z', 'm', 'I', 'O') |
#define | DNS_IO_VALID(load) ISC_MAGIC_VALID(load, IO_MAGIC) |
#define | RANGE(a, min, max) (((a) < (min)) ? (min) : ((a) < (max) ? (a) : (max))) |
Ensure 'a' is at least 'min' but not more than 'max'. | |
#define | NSEC3REMOVE(x) (((x) & DNS_NSEC3FLAG_REMOVE) != 0) |
#define | REVOKE(x) ((dst_key_flags(x) & DNS_KEYFLAG_REVOKE) != 0) |
Key flags. | |
#define | KSK(x) ((dst_key_flags(x) & DNS_KEYFLAG_KSK) != 0) |
#define | ALG(x) dst_key_alg(x) |
#define | DNS_DEFAULT_IDLEIN 3600 |
1 hour | |
#define | DNS_DEFAULT_IDLEOUT 3600 |
1 hour | |
#define | MAX_XFER_TIME (2*3600) |
Documented default is 2 hours. | |
#define | RESIGN_DELAY 3600 |
1 hour | |
#define | DNS_MAX_EXPIRE 14515200 |
24 weeks | |
#define | DNS_DUMP_DELAY 900 |
15 minutes | |
#define | DNS_ZONE_CHECKLOCK |
#define | LOCK_ZONE(z) |
#define | UNLOCK_ZONE(z) do { (z)->locked = ISC_FALSE; UNLOCK(&(z)->lock); } while (0) |
#define | LOCKED_ZONE(z) ((z)->locked) |
#define | TRYLOCK_ZONE(result, z) |
#define | ZONEDB_INITLOCK(l) isc_mutex_init(l) |
#define | ZONEDB_DESTROYLOCK(l) DESTROYLOCK(l) |
#define | ZONEDB_LOCK(l, t) LOCK(l) |
#define | ZONEDB_UNLOCK(l, t) UNLOCK(l) |
#define | zonediff_init(z, d) |
#define | DNS_ZONE_FLAG(z, f) (ISC_TF(((z)->flags & (f)) != 0)) |
#define | DNS_ZONE_SETFLAG(z, f) |
#define | DNS_ZONE_CLRFLAG(z, f) |
#define | DNS_ZONEFLG_REFRESH 0x00000001U |
refresh check in progress | |
#define | DNS_ZONEFLG_NEEDDUMP 0x00000002U |
zone need consolidation | |
#define | DNS_ZONEFLG_USEVC 0x00000004U |
use tcp for refresh query | |
#define | DNS_ZONEFLG_DUMPING 0x00000008U |
a dump is in progress | |
#define | DNS_ZONEFLG_HASINCLUDE 0x00000010U |
$INCLUDE in zone file | |
#define | DNS_ZONEFLG_LOADED 0x00000020U |
database has loaded | |
#define | DNS_ZONEFLG_EXITING 0x00000040U |
zone is being destroyed | |
#define | DNS_ZONEFLG_EXPIRED 0x00000080U |
zone has expired | |
#define | DNS_ZONEFLG_NEEDREFRESH 0x00000100U |
refresh check needed | |
#define | DNS_ZONEFLG_UPTODATE 0x00000200U |
zone contents are uptodate | |
#define | DNS_ZONEFLG_NEEDNOTIFY 0x00000400U |
need to send out notify messages | |
#define | DNS_ZONEFLG_DIFFONRELOAD 0x00000800U |
generate a journal diff on reload | |
#define | DNS_ZONEFLG_NOMASTERS 0x00001000U |
an attempt to refresh a zone with no masters occurred | |
#define | DNS_ZONEFLG_LOADING 0x00002000U |
load from disk in progress | |
#define | DNS_ZONEFLG_HAVETIMERS 0x00004000U |
timer values have been set from SOA (if not set, we are still using default timer values) | |
#define | DNS_ZONEFLG_FORCEXFER 0x00008000U |
Force a zone xfer. | |
#define | DNS_ZONEFLG_NOREFRESH 0x00010000U |
#define | DNS_ZONEFLG_DIALNOTIFY 0x00020000U |
#define | DNS_ZONEFLG_DIALREFRESH 0x00040000U |
#define | DNS_ZONEFLG_SHUTDOWN 0x00080000U |
#define | DNS_ZONEFLAG_NOIXFR 0x00100000U |
IXFR failed, force AXFR. | |
#define | DNS_ZONEFLG_FLUSH 0x00200000U |
#define | DNS_ZONEFLG_NOEDNS 0x00400000U |
#define | DNS_ZONEFLG_USEALTXFRSRC 0x00800000U |
#define | DNS_ZONEFLG_SOABEFOREAXFR 0x01000000U |
#define | DNS_ZONEFLG_NEEDCOMPACT 0x02000000U |
#define | DNS_ZONEFLG_REFRESHING 0x04000000U |
Refreshing keydata. | |
#define | DNS_ZONEFLG_THAW 0x08000000U |
#define | DNS_ZONEFLG_LOADPENDING 0x10000000U |
Loading scheduled. | |
#define | DNS_ZONEFLG_NODELAY 0x20000000U |
#define | DNS_ZONEFLG_SENDSECURE 0x40000000U |
#define | DNS_ZONEFLG_NEEDSTARTUPNOTIFY 0x80000000U |
need to send out notify due to the zone just being loaded for the first time. | |
#define | DNS_ZONE_OPTION(z, o) (((z)->options & (o)) != 0) |
#define | DNS_ZONE_OPTION2(z, o) (((z)->options2 & (o)) != 0) |
#define | DNS_ZONEKEY_OPTION(z, o) (((z)->keyopts & (o)) != 0) |
#define | DNS_ZONELOADFLAG_NOSTAT 0x00000001U |
#define | DNS_ZONELOADFLAG_THAW 0x00000002U |
#define | UNREACH_CHACHE_SIZE 10U |
#define | UNREACH_HOLD_TIME 600 |
#define | CHECK(op) |
#define | DNS_NOTIFY_NOSOA 0x0001U |
#define | DNS_NOTIFY_STARTUP 0x0002U |
#define | HOUR 3600 |
#define | DAY (24*HOUR) |
#define | MONTH (30*DAY) |
#define | SEND_BUFFER_SIZE 2048 |
#define | ENTER zone_debuglog(zone, me, 1, "enter") |
#define | DNS_ZONE_JITTER_ADD(a, b, c) |
#define | DNS_ZONE_TIME_ADD(a, b, c) |
#define | ZONES_PER_TASK 100 |
#define | ZONES_PER_MCTX 1000 |
#define | PENDINGFLAGS (DNS_NSEC3FLAG_CREATE|DNS_NSEC3FLAG_INITIAL) |
Typedefs | |
typedef struct dns_notify | dns_notify_t |
typedef struct dns_stub | dns_stub_t |
typedef struct dns_load | dns_load_t |
typedef struct dns_forward | dns_forward_t |
typedef struct nsec3param | nsec3param_t |
Functions | |
typedef | ISC_LIST (dns_forward_t) |
static void | zone_settimer (dns_zone_t *, isc_time_t *) |
static void | cancel_refresh (dns_zone_t *) |
static void | zone_debuglog (dns_zone_t *zone, const char *, int debuglevel, const char *msg,...) ISC_FORMAT_PRINTF(4 |
static void static void | notify_log (dns_zone_t *zone, int level, const char *fmt,...) ISC_FORMAT_PRINTF(3 |
static void static void static void | queue_xfrin (dns_zone_t *zone) |
static isc_result_t | update_one_rr (dns_db_t *db, dns_dbversion_t *ver, dns_diff_t *diff, dns_diffop_t op, dns_name_t *name, dns_ttl_t ttl, dns_rdata_t *rdata) |
static void | zone_unload (dns_zone_t *zone) |
static void | zone_expire (dns_zone_t *zone) |
static void | zone_iattach (dns_zone_t *source, dns_zone_t **target) |
static void | zone_idetach (dns_zone_t **zonep) |
static isc_result_t | zone_replacedb (dns_zone_t *zone, dns_db_t *db, isc_boolean_t dump) |
static void | zone_attachdb (dns_zone_t *zone, dns_db_t *db) |
static void | zone_detachdb (dns_zone_t *zone) |
static isc_result_t | default_journal (dns_zone_t *zone) |
static void | zone_xfrdone (dns_zone_t *zone, isc_result_t result) |
static isc_result_t | zone_postload (dns_zone_t *zone, dns_db_t *db, isc_time_t loadtime, isc_result_t result) |
static void | zone_needdump (dns_zone_t *zone, unsigned int delay) |
static void | zone_shutdown (isc_task_t *, isc_event_t *) |
static void | zone_loaddone (void *arg, isc_result_t result) |
static isc_result_t | zone_startload (dns_db_t *db, dns_zone_t *zone, isc_time_t loadtime) |
static void | zone_namerd_tostr (dns_zone_t *zone, char *buf, size_t length) |
static void | zone_name_tostr (dns_zone_t *zone, char *buf, size_t length) |
static void | zone_rdclass_tostr (dns_zone_t *zone, char *buf, size_t length) |
static void | zone_viewname_tostr (dns_zone_t *zone, char *buf, size_t length) |
static isc_result_t | zone_send_secureserial (dns_zone_t *zone, isc_uint32_t serial) |
static void | refresh_callback (isc_task_t *, isc_event_t *) |
static void | stub_callback (isc_task_t *, isc_event_t *) |
static void | queue_soa_query (dns_zone_t *zone) |
static void | soa_query (isc_task_t *, isc_event_t *) |
static void | ns_query (dns_zone_t *zone, dns_rdataset_t *soardataset, dns_stub_t *stub) |
static int | message_count (dns_message_t *msg, dns_section_t section, dns_rdatatype_t type) |
static void | notify_cancel (dns_zone_t *zone) |
static void | notify_find_address (dns_notify_t *notify) |
static void | notify_send (dns_notify_t *notify) |
static isc_result_t | notify_createmessage (dns_zone_t *zone, unsigned int flags, dns_message_t **messagep) |
static void | notify_done (isc_task_t *task, isc_event_t *event) |
static void | notify_send_toaddr (isc_task_t *task, isc_event_t *event) |
static isc_result_t | zone_dump (dns_zone_t *, isc_boolean_t) |
static void | got_transfer_quota (isc_task_t *task, isc_event_t *event) |
static isc_result_t | zmgr_start_xfrin_ifquota (dns_zonemgr_t *zmgr, dns_zone_t *zone) |
static void | zmgr_resume_xfrs (dns_zonemgr_t *zmgr, isc_boolean_t multi) |
static void | zonemgr_free (dns_zonemgr_t *zmgr) |
static isc_result_t | zonemgr_getio (dns_zonemgr_t *zmgr, isc_boolean_t high, isc_task_t *task, isc_taskaction_t action, void *arg, dns_io_t **iop) |
static void | zonemgr_putio (dns_io_t **iop) |
static void | zonemgr_cancelio (dns_io_t *io) |
static isc_result_t | zone_get_from_db (dns_zone_t *zone, dns_db_t *db, unsigned int *nscount, unsigned int *soacount, isc_uint32_t *serial, isc_uint32_t *refresh, isc_uint32_t *retry, isc_uint32_t *expire, isc_uint32_t *minimum, unsigned int *errors) |
static void | zone_freedbargs (dns_zone_t *zone) |
static void | forward_callback (isc_task_t *task, isc_event_t *event) |
static void | zone_saveunique (dns_zone_t *zone, const char *path, const char *templat) |
static void | zone_maintenance (dns_zone_t *zone) |
static void | zone_notify (dns_zone_t *zone, isc_time_t *now) |
static void | dump_done (void *arg, isc_result_t result) |
static isc_result_t | zone_signwithkey (dns_zone_t *zone, dns_secalg_t algorithm, isc_uint16_t keyid, isc_boolean_t delete) |
static isc_result_t | delete_nsec (dns_db_t *db, dns_dbversion_t *ver, dns_dbnode_t *node, dns_name_t *name, dns_diff_t *diff) |
static void | zone_rekey (dns_zone_t *zone) |
static isc_result_t | zone_send_securedb (dns_zone_t *zone, dns_db_t *db) |
static void | setrl (isc_ratelimiter_t *rl, unsigned int *rate, unsigned int value) |
typedef | ISC_LIST (nsec3param_t) |
static void | inc_stats (dns_zone_t *zone, isc_statscounter_t counter) |
Increment resolver-related statistics counters. Zone must be locked. | |
isc_result_t | dns_zone_create (dns_zone_t **zonep, isc_mem_t *mctx) |
Creates a new empty zone and attach '*zonep' to it. | |
static void | zone_free (dns_zone_t *zone) |
static isc_boolean_t | inline_secure (dns_zone_t *zone) |
static isc_boolean_t | inline_raw (dns_zone_t *zone) |
void | dns_zone_setclass (dns_zone_t *zone, dns_rdataclass_t rdclass) |
Sets the class of a zone. This operation can only be performed once on a zone. | |
dns_rdataclass_t | dns_zone_getclass (dns_zone_t *zone) |
Returns the current zone class. | |
void | dns_zone_setnotifytype (dns_zone_t *zone, dns_notifytype_t notifytype) |
Sets zone notify method to "notifytype". | |
isc_result_t | dns_zone_getserial2 (dns_zone_t *zone, isc_uint32_t *serialp) |
isc_uint32_t | dns_zone_getserial (dns_zone_t *zone) |
Returns the current serial number of the zone. On success, the SOA serial of the zone will be copied into '*serialp'. dns_zone_getserial() cannot catch failure cases and is deprecated by dns_zone_getserial2(). | |
void | dns_zone_settype (dns_zone_t *zone, dns_zonetype_t type) |
Sets the zone type. This operation can only be performed once on a zone. | |
isc_result_t | dns_zone_getdbtype (dns_zone_t *zone, char ***argv, isc_mem_t *mctx) |
Returns the current dbtype. isc_mem_free() should be used to free 'argv' after use. | |
isc_result_t | dns_zone_setdbtype (dns_zone_t *zone, unsigned int dbargc, const char *const *dbargv) |
Sets the database type to dbargv[0] and database arguments to subsequent dbargv elements. 'db_type' is not checked to see if it is a valid database type. | |
void | dns_zone_setview (dns_zone_t *zone, dns_view_t *view) |
Associate the zone with a view. | |
dns_view_t * | dns_zone_getview (dns_zone_t *zone) |
Returns the zone's associated view. | |
isc_result_t | dns_zone_setorigin (dns_zone_t *zone, const dns_name_t *origin) |
Sets the zones origin to 'origin'. | |
void | dns_zone_setacache (dns_zone_t *zone, dns_acache_t *acache) |
Associate the zone with an additional cache. | |
static isc_result_t | dns_zone_setstring (dns_zone_t *zone, char **field, const char *value) |
isc_result_t | dns_zone_setfile (dns_zone_t *zone, const char *file) |
isc_result_t | dns_zone_setfile2 (dns_zone_t *zone, const char *file, dns_masterformat_t format) |
isc_result_t | dns_zone_setfile3 (dns_zone_t *zone, const char *file, dns_masterformat_t format, const dns_master_style_t *style) |
Sets the name of the master file in the format of 'format' from which the zone loads its database to 'file'. | |
const char * | dns_zone_getfile (dns_zone_t *zone) |
Gets the name of the zone's master file, if any. | |
dns_ttl_t | dns_zone_getmaxttl (dns_zone_t *zone) |
Gets the max ttl of the zone. | |
void | dns_zone_setmaxttl (dns_zone_t *zone, dns_ttl_t maxttl) |
isc_result_t | dns_zone_setjournal (dns_zone_t *zone, const char *myjournal) |
Sets the filename used for journaling updates / IXFR transfers. The default journal name is set by dns_zone_setfile() to be "file.jnl". If 'myjournal' is NULL, the zone will have no journal name. | |
char * | dns_zone_getjournal (dns_zone_t *zone) |
Returns the journal name associated with this zone. If no journal has been set this will be NULL. | |
isc_boolean_t | dns_zone_isdynamic (dns_zone_t *zone, isc_boolean_t ignore_freeze) |
Load the origin names for a writeable DLZ database. | |
isc_result_t | dns_zone_rpz_enable (dns_zone_t *zone, dns_rpz_zones_t *rpzs, dns_rpz_num_t rpz_num) |
Return the number include files that were encountered during load. If the number is greater than zero, 'includesp' will point to an array containing the filenames. | |
dns_rpz_num_t | dns_zone_get_rpz_num (dns_zone_t *zone) |
If a zone is a response policy zone, mark its new database. | |
void | dns_zone_rpz_enable_db (dns_zone_t *zone, dns_db_t *db) |
Set the response policy associated with a zone. | |
static isc_boolean_t | zone_touched (dns_zone_t *zone) |
static isc_result_t | zone_load (dns_zone_t *zone, unsigned int flags, isc_boolean_t locked) |
isc_result_t | dns_zone_load (dns_zone_t *zone) |
isc_result_t | dns_zone_loadnew (dns_zone_t *zone) |
static void | zone_asyncload (isc_task_t *task, isc_event_t *event) |
isc_result_t | dns_zone_asyncload (dns_zone_t *zone, dns_zt_zoneloaded_t done, void *arg) |
Cause the database to be loaded from its backing store asynchronously. Other zone maintenance functions are suspended until this is complete. When finished, 'done' is called to inform the caller, with 'arg' as its first argument and 'zone' as its second. (Normally, 'arg' is expected to point to the zone table but is left undefined for testing purposes.). | |
isc_boolean_t | dns__zone_loadpending (dns_zone_t *zone) |
Indicates whether the zone is waiting to be loaded asynchronously. (Not currently intended for use outside of this module and associated tests.). | |
isc_result_t | dns_zone_loadandthaw (dns_zone_t *zone) |
Cause the database to be loaded from its backing store. Confirm that the minimum requirements for the zone type are met, otherwise DNS_R_BADZONE is returned. | |
static unsigned int | get_master_options (dns_zone_t *zone) |
static void | zone_registerinclude (const char *filename, void *arg) |
static void | zone_gotreadhandle (isc_task_t *task, isc_event_t *event) |
static void | get_raw_serial (dns_zone_t *raw, dns_masterrawheader_t *rawdata) |
static void | zone_gotwritehandle (isc_task_t *task, isc_event_t *event) |
static void | zone_setrawdata (dns_zone_t *zone, dns_masterrawheader_t *header) |
void | dns_zone_setrawdata (dns_zone_t *zone, dns_masterrawheader_t *header) |
Set the NSEC3 parameters for the zone. | |
static isc_boolean_t | zone_check_mx (dns_zone_t *zone, dns_db_t *db, dns_name_t *name, dns_name_t *owner) |
static isc_boolean_t | zone_check_srv (dns_zone_t *zone, dns_db_t *db, dns_name_t *name, dns_name_t *owner) |
static isc_boolean_t | zone_check_glue (dns_zone_t *zone, dns_db_t *db, dns_name_t *name, dns_name_t *owner) |
static isc_boolean_t | zone_rrset_check_dup (dns_zone_t *zone, dns_name_t *owner, dns_rdataset_t *rdataset) |
static isc_boolean_t | zone_check_dup (dns_zone_t *zone, dns_db_t *db) |
static isc_boolean_t | isspf (const dns_rdata_t *rdata) |
static isc_boolean_t | integrity_checks (dns_zone_t *zone, dns_db_t *db) |
static void | zone_check_dnskeys (dns_zone_t *zone, dns_db_t *db) |
static void | resume_signingwithkey (dns_zone_t *zone) |
static isc_result_t | zone_addnsec3chain (dns_zone_t *zone, dns_rdata_nsec3param_t *nsec3param) |
static void | resume_addnsec3chain (dns_zone_t *zone) |
static void | set_resigntime (dns_zone_t *zone) |
static isc_result_t | check_nsec3param (dns_zone_t *zone, dns_db_t *db) |
static void | set_refreshkeytimer (dns_zone_t *zone, dns_rdata_keydata_t *key, isc_stdtime_t now, isc_boolean_t force) |
static isc_result_t | create_keydata (dns_zone_t *zone, dns_db_t *db, dns_dbversion_t *ver, dns_diff_t *diff, dns_keytable_t *keytable, dns_keynode_t **keynodep, isc_boolean_t *changed) |
static isc_result_t | delete_keydata (dns_db_t *db, dns_dbversion_t *ver, dns_diff_t *diff, dns_name_t *name, dns_rdataset_t *rdataset) |
static isc_result_t | compute_tag (dns_name_t *name, dns_rdata_dnskey_t *dnskey, isc_mem_t *mctx, dns_keytag_t *tag) |
static void | trust_key (dns_zone_t *zone, dns_name_t *keyname, dns_rdata_dnskey_t *dnskey, isc_mem_t *mctx) |
static void | fail_secure (dns_zone_t *zone, dns_name_t *keyname) |
static void | load_secroots (dns_zone_t *zone, dns_name_t *name, dns_rdataset_t *rdataset) |
static isc_result_t | do_one_tuple (dns_difftuple_t **tuple, dns_db_t *db, dns_dbversion_t *ver, dns_diff_t *diff) |
static isc_result_t | update_soa_serial (dns_db_t *db, dns_dbversion_t *ver, dns_diff_t *diff, isc_mem_t *mctx, dns_updatemethod_t method) |
static isc_result_t | zone_journal (dns_zone_t *zone, dns_diff_t *diff, isc_uint32_t *sourceserial, const char *caller) |
static isc_result_t | add_soa (dns_zone_t *zone, dns_db_t *db) |
static isc_result_t | sync_keyzone (dns_zone_t *zone, dns_db_t *db) |
isc_result_t | dns_zone_synckeyzone (dns_zone_t *zone) |
Set the data to be included in the header when the zone is dumped in binary format. | |
static void | maybe_send_secure (dns_zone_t *zone) |
static isc_boolean_t | zone_unchanged (dns_db_t *db1, dns_db_t *db2, isc_mem_t *mctx) |
static isc_boolean_t | exit_check (dns_zone_t *zone) |
static isc_boolean_t | zone_check_ns (dns_zone_t *zone, dns_db_t *db, dns_dbversion_t *version, dns_name_t *name, isc_boolean_t logit) |
static isc_result_t | zone_count_ns_rr (dns_zone_t *zone, dns_db_t *db, dns_dbnode_t *node, dns_dbversion_t *version, unsigned int *nscount, unsigned int *errors, isc_boolean_t logit) |
static isc_result_t | zone_load_soa_rr (dns_db_t *db, dns_dbnode_t *node, dns_dbversion_t *version, unsigned int *soacount, isc_uint32_t *serial, isc_uint32_t *refresh, isc_uint32_t *retry, isc_uint32_t *expire, isc_uint32_t *minimum) |
void | dns_zone_attach (dns_zone_t *source, dns_zone_t **target) |
Attach '*target' to 'source' incrementing its external reference count. | |
void | dns_zone_detach (dns_zone_t **zonep) |
Detach from a zone decrementing its external reference count. If this was the last external reference to the zone it will be shut down and eventually freed. | |
void | dns_zone_iattach (dns_zone_t *source, dns_zone_t **target) |
Attach '*target' to 'source' incrementing its internal reference count. This is intended for use by operations such as zone transfers that need to prevent the zone object from being freed but not from shutting down. | |
void | dns_zone_idetach (dns_zone_t **zonep) |
Detach from a zone decrementing its internal reference count. If there are no more internal or external references to the zone, it will be freed. | |
isc_mem_t * | dns_zone_getmctx (dns_zone_t *zone) |
Get the memory context of a zone. | |
dns_zonemgr_t * | dns_zone_getmgr (dns_zone_t *zone) |
If 'zone' is managed return the zone manager otherwise NULL. | |
void | dns_zone_setflag (dns_zone_t *zone, unsigned int flags, isc_boolean_t value) |
Sets ('value' == 'ISC_TRUE') / clears ('value' == 'IS_FALSE') zone flags. Valid flag bits are DNS_ZONE_F_*. | |
void | dns_zone_setoption (dns_zone_t *zone, unsigned int option, isc_boolean_t value) |
void | dns_zone_setoption2 (dns_zone_t *zone, unsigned int option, isc_boolean_t value) |
Set the given options on ('value' == ISC_TRUE) or off ('value' == ISC_FALSE). | |
unsigned int | dns_zone_getoptions (dns_zone_t *zone) |
unsigned int | dns_zone_getoptions2 (dns_zone_t *zone) |
Returns the current zone options. | |
void | dns_zone_setkeyopt (dns_zone_t *zone, unsigned int keyopt, isc_boolean_t value) |
Set key options on ('value' == ISC_TRUE) or off ('value' == ISC_FALSE). | |
unsigned int | dns_zone_getkeyopts (dns_zone_t *zone) |
Returns the current zone key options. | |
isc_result_t | dns_zone_setxfrsource4 (dns_zone_t *zone, const isc_sockaddr_t *xfrsource) |
isc_sockaddr_t * | dns_zone_getxfrsource4 (dns_zone_t *zone) |
isc_result_t | dns_zone_setxfrsource4dscp (dns_zone_t *zone, isc_dscp_t dscp) |
isc_dscp_t | dns_zone_getxfrsource4dscp (dns_zone_t *zone) |
isc_result_t | dns_zone_setxfrsource6 (dns_zone_t *zone, const isc_sockaddr_t *xfrsource) |
/ Get the DSCP value associated with the transfer/alt-transfer source. | |
isc_sockaddr_t * | dns_zone_getxfrsource6 (dns_zone_t *zone) |
isc_dscp_t | dns_zone_getxfrsource6dscp (dns_zone_t *zone) |
isc_result_t | dns_zone_setxfrsource6dscp (dns_zone_t *zone, isc_dscp_t dscp) |
/ Get the DSCP value associated with the transfer/alt-transfer source. | |
isc_result_t | dns_zone_setaltxfrsource4 (dns_zone_t *zone, const isc_sockaddr_t *altxfrsource) |
Set the source address to be used in IPv4 zone transfers. | |
isc_sockaddr_t * | dns_zone_getaltxfrsource4 (dns_zone_t *zone) |
Returns the source address set by a previous dns_zone_setxfrsource4 call, or the default of inaddr_any, port 0. | |
isc_result_t | dns_zone_setaltxfrsource4dscp (dns_zone_t *zone, isc_dscp_t dscp) |
Set the DSCP value associated with the transfer/alt-transfer source. | |
isc_dscp_t | dns_zone_getaltxfrsource4dscp (dns_zone_t *zone) |
isc_result_t | dns_zone_setaltxfrsource6 (dns_zone_t *zone, const isc_sockaddr_t *altxfrsource) |
Set the source address to be used in IPv6 zone transfers. | |
isc_sockaddr_t * | dns_zone_getaltxfrsource6 (dns_zone_t *zone) |
Returns the source address set by a previous dns_zone_setxfrsource6 call, or the default of in6addr_any, port 0. | |
isc_result_t | dns_zone_setaltxfrsource6dscp (dns_zone_t *zone, isc_dscp_t dscp) |
Set the DSCP value associated with the transfer/alt-transfer source. | |
isc_dscp_t | dns_zone_getaltxfrsource6dscp (dns_zone_t *zone) |
isc_result_t | dns_zone_setnotifysrc4 (dns_zone_t *zone, const isc_sockaddr_t *notifysrc) |
Set the source address to be used with IPv4 NOTIFY messages. | |
isc_sockaddr_t * | dns_zone_getnotifysrc4 (dns_zone_t *zone) |
Returns the source address set by a previous dns_zone_setnotifysrc4 call, or the default of inaddr_any, port 0. | |
isc_result_t | dns_zone_setnotifysrc4dscp (dns_zone_t *zone, isc_dscp_t dscp) |
/ Get the DCSP value associated with the notify source. | |
isc_dscp_t | dns_zone_getnotifysrc4dscp (dns_zone_t *zone) |
isc_result_t | dns_zone_setnotifysrc6 (dns_zone_t *zone, const isc_sockaddr_t *notifysrc) |
/ Get the DSCP value associated with the notify source. | |
isc_sockaddr_t * | dns_zone_getnotifysrc6 (dns_zone_t *zone) |
Returns the source address set by a previous dns_zone_setnotifysrc6 call, or the default of in6addr_any, port 0. | |
static isc_boolean_t | same_addrs (const isc_sockaddr_t *old, const isc_sockaddr_t *new, isc_uint32_t count) |
static isc_boolean_t | same_keynames (dns_name_t **old, dns_name_t **new, isc_uint32_t count) |
static void | clear_addresskeylist (isc_sockaddr_t **addrsp, isc_dscp_t **dscpsp, dns_name_t ***keynamesp, unsigned int *countp, isc_mem_t *mctx) |
static isc_result_t | set_addrkeylist (unsigned int count, const isc_sockaddr_t *addrs, isc_sockaddr_t **newaddrsp, const isc_dscp_t *dscp, isc_dscp_t **newdscpp, dns_name_t **names, dns_name_t ***newnamesp, isc_mem_t *mctx) |
isc_result_t | dns_zone_setnotifysrc6dscp (dns_zone_t *zone, isc_dscp_t dscp) |
/ Get the DCSP value associated with the notify source. | |
isc_dscp_t | dns_zone_getnotifysrc6dscp (dns_zone_t *zone) |
isc_result_t | dns_zone_setalsonotify (dns_zone_t *zone, const isc_sockaddr_t *notify, isc_uint32_t count) |
isc_result_t | dns_zone_setalsonotifywithkeys (dns_zone_t *zone, const isc_sockaddr_t *notify, dns_name_t **keynames, isc_uint32_t count) |
isc_result_t | dns_zone_setalsonotifydscpkeys (dns_zone_t *zone, const isc_sockaddr_t *notify, const isc_dscp_t *dscps, dns_name_t **keynames, isc_uint32_t count) |
Set the list of additional servers to be notified when a zone changes. To clear the list use 'count = 0'. | |
isc_result_t | dns_zone_setmasters (dns_zone_t *zone, const isc_sockaddr_t *masters, isc_uint32_t count) |
isc_result_t | dns_zone_setmasterswithkeys (dns_zone_t *zone, const isc_sockaddr_t *masters, dns_name_t **keynames, isc_uint32_t count) |
Set the list of master servers for the zone. | |
isc_result_t | dns_zone_getdb (dns_zone_t *zone, dns_db_t **dpb) |
Attach '*dbp' to the database to if it exists otherwise return DNS_R_NOTLOADED. | |
void | dns_zone_setdb (dns_zone_t *zone, dns_db_t *db) |
Sets the zone database to 'db'. | |
void | dns_zone_maintenance (dns_zone_t *zone) |
Perform regular maintenance on the zone. This is called as a result of a zone being managed. | |
static isc_boolean_t | was_dumping (dns_zone_t *zone) |
static isc_result_t | find_zone_keys (dns_zone_t *zone, dns_db_t *db, dns_dbversion_t *ver, isc_mem_t *mctx, unsigned int maxkeys, dst_key_t **keys, unsigned int *nkeys) |
static isc_result_t | offline (dns_db_t *db, dns_dbversion_t *ver, zonediff_t *zonediff, dns_name_t *name, dns_ttl_t ttl, dns_rdata_t *rdata) |
static void | set_key_expiry_warning (dns_zone_t *zone, isc_stdtime_t when, isc_stdtime_t now) |
static isc_boolean_t | delsig_ok (dns_rdata_rrsig_t *rrsig_ptr, dst_key_t **keys, unsigned int nkeys, isc_boolean_t *warn) |
static isc_result_t | del_sigs (dns_zone_t *zone, dns_db_t *db, dns_dbversion_t *ver, dns_name_t *name, dns_rdatatype_t type, zonediff_t *zonediff, dst_key_t **keys, unsigned int nkeys, isc_stdtime_t now, isc_boolean_t incremental) |
static isc_result_t | add_sigs (dns_db_t *db, dns_dbversion_t *ver, dns_name_t *name, dns_rdatatype_t type, dns_diff_t *diff, dst_key_t **keys, unsigned int nkeys, isc_mem_t *mctx, isc_stdtime_t inception, isc_stdtime_t expire, isc_boolean_t check_ksk, isc_boolean_t keyset_kskonly) |
static void | zone_resigninc (dns_zone_t *zone) |
static isc_result_t | next_active (dns_db_t *db, dns_dbversion_t *version, dns_name_t *oldname, dns_name_t *newname, isc_boolean_t bottom) |
static isc_boolean_t | signed_with_key (dns_db_t *db, dns_dbnode_t *node, dns_dbversion_t *version, dns_rdatatype_t type, dst_key_t *key) |
static isc_result_t | add_nsec (dns_db_t *db, dns_dbversion_t *version, dns_name_t *name, dns_dbnode_t *node, dns_ttl_t ttl, isc_boolean_t bottom, dns_diff_t *diff) |
static isc_result_t | sign_a_node (dns_db_t *db, dns_name_t *name, dns_dbnode_t *node, dns_dbversion_t *version, isc_boolean_t build_nsec3, isc_boolean_t build_nsec, dst_key_t *key, isc_stdtime_t inception, isc_stdtime_t expire, unsigned int minimum, isc_boolean_t is_ksk, isc_boolean_t keyset_kskonly, isc_boolean_t *delegation, dns_diff_t *diff, isc_int32_t *signatures, isc_mem_t *mctx) |
static isc_result_t | updatesecure (dns_db_t *db, dns_dbversion_t *version, dns_name_t *name, dns_ttl_t minimum, isc_boolean_t update_only, dns_diff_t *diff) |
static isc_result_t | updatesignwithkey (dns_zone_t *zone, dns_signing_t *signing, dns_dbversion_t *version, isc_boolean_t build_nsec3, dns_ttl_t minimum, dns_diff_t *diff) |
static isc_result_t | fixup_nsec3param (dns_db_t *db, dns_dbversion_t *ver, dns_nsec3chain_t *chain, isc_boolean_t active, dns_rdatatype_t privatetype, dns_diff_t *diff) |
static isc_result_t | deletematchingnsec3 (dns_db_t *db, dns_dbversion_t *ver, dns_dbnode_t *node, dns_name_t *name, const dns_rdata_nsec3param_t *param, dns_diff_t *diff) |
static isc_result_t | need_nsec_chain (dns_db_t *db, dns_dbversion_t *ver, const dns_rdata_nsec3param_t *param, isc_boolean_t *answer) |
static isc_result_t | update_sigs (dns_diff_t *diff, dns_db_t *db, dns_dbversion_t *version, dst_key_t *zone_keys[], unsigned int nkeys, dns_zone_t *zone, isc_stdtime_t inception, isc_stdtime_t expire, isc_stdtime_t now, isc_boolean_t check_ksk, isc_boolean_t keyset_kskonly, zonediff_t *zonediff) |
static void | zone_nsec3chain (dns_zone_t *zone) |
static isc_result_t | del_sig (dns_db_t *db, dns_dbversion_t *version, dns_name_t *name, dns_dbnode_t *node, unsigned int nkeys, dns_secalg_t algorithm, isc_uint16_t keyid, dns_diff_t *diff) |
static void | zone_sign (dns_zone_t *zone) |
static isc_result_t | normalize_key (dns_rdata_t *rr, dns_rdata_t *target, unsigned char *data, int size) |
static isc_boolean_t | matchkey (dns_rdataset_t *rdset, dns_rdata_t *rr) |
static isc_stdtime_t | refresh_time (dns_keyfetch_t *kfetch, isc_boolean_t retry) |
static isc_result_t | minimal_update (dns_keyfetch_t *kfetch, dns_dbversion_t *ver, dns_diff_t *diff) |
static isc_boolean_t | revocable (dns_keyfetch_t *kfetch, dns_rdata_keydata_t *keydata) |
static void | keyfetch_done (isc_task_t *task, isc_event_t *event) |
static void | zone_refreshkeys (dns_zone_t *zone) |
void | dns_zone_markdirty (dns_zone_t *zone) |
Mark a zone as 'dirty'. | |
void | dns_zone_expire (dns_zone_t *zone) |
Mark the zone as expired. If the zone requires dumping cause it to be initiated. Set the refresh and retry intervals to there default values and unload the zone. | |
void | dns_zone_refresh (dns_zone_t *zone) |
Initiate zone up to date checks. The zone must already be being managed. | |
isc_result_t | dns_zone_flush (dns_zone_t *zone) |
Write the zone to database if there are uncommitted changes. | |
isc_result_t | dns_zone_dump (dns_zone_t *zone) |
Write the zone to database. | |
static isc_result_t | dumptostream (dns_zone_t *zone, FILE *fd, const dns_master_style_t *style, dns_masterformat_t format, const isc_uint32_t rawversion) |
isc_result_t | dns_zone_dumptostream3 (dns_zone_t *zone, FILE *fd, dns_masterformat_t format, const dns_master_style_t *style, const isc_uint32_t rawversion) |
Write the zone to stream 'fd' in the specified 'format'. If the 'format' is dns_masterformat_text (RFC1035), 'style' also specifies the file style (e.g., &dns_master_style_default). | |
isc_result_t | dns_zone_dumptostream2 (dns_zone_t *zone, FILE *fd, dns_masterformat_t format, const dns_master_style_t *style) |
isc_result_t | dns_zone_dumptostream (dns_zone_t *zone, FILE *fd) |
isc_result_t | dns_zone_fulldumptostream (dns_zone_t *zone, FILE *fd) |
The same as dns_zone_dumptostream, but dumps the zone with different dump settings (dns_master_style_full). | |
void | dns_zone_unload (dns_zone_t *zone) |
detach the database from the zone structure. | |
static void | forward_cancel (dns_zone_t *zone) |
void | dns_zone_setminrefreshtime (dns_zone_t *zone, isc_uint32_t val) |
Set the minimum refresh time. | |
void | dns_zone_setmaxrefreshtime (dns_zone_t *zone, isc_uint32_t val) |
Set the maximum refresh time. | |
void | dns_zone_setminretrytime (dns_zone_t *zone, isc_uint32_t val) |
Set the minimum retry time. | |
void | dns_zone_setmaxretrytime (dns_zone_t *zone, isc_uint32_t val) |
Set the maximum retry time. | |
static isc_boolean_t | notify_isqueued (dns_zone_t *zone, unsigned int flags, dns_name_t *name, isc_sockaddr_t *addr, dns_tsigkey_t *key) |
static isc_boolean_t | notify_isself (dns_zone_t *zone, isc_sockaddr_t *dst) |
static void | notify_destroy (dns_notify_t *notify, isc_boolean_t locked) |
static isc_result_t | notify_create (isc_mem_t *mctx, unsigned int flags, dns_notify_t **notifyp) |
static void | process_adb_event (isc_task_t *task, isc_event_t *ev) |
static isc_result_t | notify_send_queue (dns_notify_t *notify, isc_boolean_t startup) |
void | dns_zone_notify (dns_zone_t *zone) |
Generate notify events for this zone. | |
static isc_result_t | save_nsrrset (dns_message_t *message, dns_name_t *name, dns_db_t *db, dns_dbversion_t *version) |
static void | get_edns_expire (dns_zone_t *zone, dns_message_t *message, isc_uint32_t *expirep) |
static void | setmodtime (dns_zone_t *zone, isc_time_t *expiretime) |
static isc_result_t | create_query (dns_zone_t *zone, dns_rdatatype_t rdtype, dns_message_t **messagep) |
static isc_result_t | add_opt (dns_message_t *message, isc_uint16_t udpsize, isc_boolean_t reqnsid, isc_boolean_t reqexpire) |
static void | zone_timer (isc_task_t *task, isc_event_t *event) |
isc_result_t | dns_zone_notifyreceive (dns_zone_t *zone, isc_sockaddr_t *from, dns_message_t *msg) |
Tell the zone that it has received a NOTIFY message from another server. This may cause some zone maintenance activity to occur. | |
void | dns_zone_setnotifyacl (dns_zone_t *zone, dns_acl_t *acl) |
/ Get the DSCP value associated with the notify source. | |
void | dns_zone_setqueryacl (dns_zone_t *zone, dns_acl_t *acl) |
Sets the query acl list for the zone. | |
void | dns_zone_setqueryonacl (dns_zone_t *zone, dns_acl_t *acl) |
Sets the query-on acl list for the zone. | |
void | dns_zone_setupdateacl (dns_zone_t *zone, dns_acl_t *acl) |
Sets the update acl list for the zone. | |
void | dns_zone_setforwardacl (dns_zone_t *zone, dns_acl_t *acl) |
Sets the forward unsigned updates acl list for the zone. | |
void | dns_zone_setxfracl (dns_zone_t *zone, dns_acl_t *acl) |
Sets the transfer acl list for the zone. | |
dns_acl_t * | dns_zone_getnotifyacl (dns_zone_t *zone) |
Returns the current notify acl or NULL. | |
dns_acl_t * | dns_zone_getqueryacl (dns_zone_t *zone) |
Returns the current query acl or NULL. | |
dns_acl_t * | dns_zone_getqueryonacl (dns_zone_t *zone) |
Returns the current query-on acl or NULL. | |
dns_acl_t * | dns_zone_getupdateacl (dns_zone_t *zone) |
Returns the current update acl or NULL. | |
dns_acl_t * | dns_zone_getforwardacl (dns_zone_t *zone) |
Returns the current forward unsigned updates acl or NULL. | |
dns_acl_t * | dns_zone_getxfracl (dns_zone_t *zone) |
Returns the current transfer acl or NULL. | |
void | dns_zone_clearupdateacl (dns_zone_t *zone) |
Clear the current update acl. | |
void | dns_zone_clearforwardacl (dns_zone_t *zone) |
Clear the current forward unsigned updates acl. | |
void | dns_zone_clearnotifyacl (dns_zone_t *zone) |
Clear the current notify acl. | |
void | dns_zone_clearqueryacl (dns_zone_t *zone) |
Clear the current query acl. | |
void | dns_zone_clearqueryonacl (dns_zone_t *zone) |
Clear the current query-on acl. | |
void | dns_zone_clearxfracl (dns_zone_t *zone) |
Clear the current transfer acl. | |
isc_boolean_t | dns_zone_getupdatedisabled (dns_zone_t *zone) |
Return update disabled. Transient unless called when running in isc_task_exclusive() mode. | |
void | dns_zone_setupdatedisabled (dns_zone_t *zone, isc_boolean_t state) |
Set update disabled. Should only be called only when running in isc_task_exclusive() mode. Failure to do so may result in updates being committed after the call has been made. | |
isc_boolean_t | dns_zone_getzeronosoattl (dns_zone_t *zone) |
Return zero-no-soa-ttl status. | |
void | dns_zone_setzeronosoattl (dns_zone_t *zone, isc_boolean_t state) |
Set zero-no-soa-ttl status. | |
void | dns_zone_setchecknames (dns_zone_t *zone, dns_severity_t severity) |
Set the severity of name checking when loading a zone. | |
dns_severity_t | dns_zone_getchecknames (dns_zone_t *zone) |
Return the current severity of name checking. | |
void | dns_zone_setjournalsize (dns_zone_t *zone, isc_int32_t size) |
Sets the journal size for the zone. | |
isc_int32_t | dns_zone_getjournalsize (dns_zone_t *zone) |
Return the journal size as set with a previous call to dns_zone_setjournalsize(). | |
void | dns_zone_name (dns_zone_t *zone, char *buf, size_t length) |
Log the message 'msg...' at 'level', including text that identifies the message as applying to 'zone'. | |
void | dns_zone_logc (dns_zone_t *zone, isc_logcategory_t *category, int level, const char *fmt,...) |
void | dns_zone_log (dns_zone_t *zone, int level, const char *fmt,...) |
void | dns_zone_setmaxxfrin (dns_zone_t *zone, isc_uint32_t maxxfrin) |
Set the maximum time (in seconds) that a zone transfer in (AXFR/IXFR) of this zone will use before being aborted. | |
isc_uint32_t | dns_zone_getmaxxfrin (dns_zone_t *zone) |
Returns the maximum transfer time for this zone. This will be either the value set by the last call to dns_zone_setmaxxfrin() or the default value of 1 hour. | |
void | dns_zone_setmaxxfrout (dns_zone_t *zone, isc_uint32_t maxxfrout) |
Set the maximum time (in seconds) that a zone transfer out (AXFR/IXFR) of this zone will use before being aborted. | |
isc_uint32_t | dns_zone_getmaxxfrout (dns_zone_t *zone) |
Returns the maximum transfer time for this zone. This will be either the value set by the last call to dns_zone_setmaxxfrout() or the default value of 1 hour. | |
dns_zonetype_t | dns_zone_gettype (dns_zone_t *zone) |
Returns the type of the zone (master/slave/etc.). | |
dns_name_t * | dns_zone_getorigin (dns_zone_t *zone) |
Returns the value of the origin. | |
void | dns_zone_settask (dns_zone_t *zone, isc_task_t *task) |
Give a zone a task to work with. Any current task will be detached. | |
void | dns_zone_gettask (dns_zone_t *zone, isc_task_t **target) |
Attach '*target' to the zone's task. | |
void | dns_zone_setidlein (dns_zone_t *zone, isc_uint32_t idlein) |
| |
isc_uint32_t | dns_zone_getidlein (dns_zone_t *zone) |
Requires:. | |
void | dns_zone_setidleout (dns_zone_t *zone, isc_uint32_t idleout) |
| |
isc_uint32_t | dns_zone_getidleout (dns_zone_t *zone) |
Requires:. | |
static void | update_log_cb (void *arg, dns_zone_t *zone, int level, const char *message) |
static isc_result_t | sync_secure_journal (dns_zone_t *zone, dns_zone_t *raw, dns_journal_t *journal, isc_uint32_t start, isc_uint32_t end, dns_difftuple_t **soatuplep, dns_diff_t *diff) |
static isc_result_t | sync_secure_db (dns_zone_t *seczone, dns_zone_t *raw, dns_db_t *secdb, dns_dbversion_t *secver, dns_difftuple_t **soatuple, dns_diff_t *diff) |
static void | receive_secure_serial (isc_task_t *task, isc_event_t *event) |
static isc_result_t | checkandaddsoa (dns_db_t *db, dns_dbnode_t *node, dns_dbversion_t *version, dns_rdataset_t *rdataset, isc_uint32_t oldserial) |
static isc_result_t | save_nsec3param (dns_zone_t *zone, nsec3paramlist_t *nsec3list) |
static isc_result_t | restore_nsec3param (dns_zone_t *zone, dns_db_t *db, dns_dbversion_t *version, nsec3paramlist_t *nsec3list) |
static void | receive_secure_db (isc_task_t *task, isc_event_t *event) |
isc_result_t | dns_zone_replacedb (dns_zone_t *zone, dns_db_t *db, isc_boolean_t dump) |
Replace the database of "zone" with a new database "db". | |
void | dns_zone_getssutable (dns_zone_t *zone, dns_ssutable_t **table) |
Get the simple-secure-update policy table. | |
void | dns_zone_setssutable (dns_zone_t *zone, dns_ssutable_t *table) |
Set / clear the simple-secure-update policy table. | |
void | dns_zone_setsigvalidityinterval (dns_zone_t *zone, isc_uint32_t interval) |
Set the zone's RRSIG validity interval. This is the length of time for which DNSSEC signatures created as a result of dynamic updates to secure zones will remain valid, in seconds. | |
isc_uint32_t | dns_zone_getsigvalidityinterval (dns_zone_t *zone) |
Get the zone's RRSIG validity interval. | |
void | dns_zone_setsigresigninginterval (dns_zone_t *zone, isc_uint32_t interval) |
Set the zone's RRSIG re-signing interval. A dynamic zone's RRSIG's will be re-signed 'interval' amount of time before they expire. | |
isc_uint32_t | dns_zone_getsigresigninginterval (dns_zone_t *zone) |
Get the zone's RRSIG re-signing interval. | |
static void | forward_destroy (dns_forward_t *forward) |
static isc_result_t | sendtomaster (dns_forward_t *forward) |
isc_result_t | dns_zone_forwardupdate (dns_zone_t *zone, dns_message_t *msg, dns_updatecallback_t callback, void *callback_arg) |
Forward 'msg' to each master in turn until we get an answer or we have exhausted the list of masters. 'callback' will be called with ISC_R_SUCCESS if we get an answer and the returned message will be passed as 'answer_message', otherwise a non ISC_R_SUCCESS result code will be passed and answer_message will be NULL. The callback function is responsible for destroying 'answer_message'. (callback)(callback_arg, result, answer_message);. | |
isc_result_t | dns_zone_next (dns_zone_t *zone, dns_zone_t **next) |
Find the next zone in the list of managed zones. | |
isc_result_t | dns_zone_first (dns_zonemgr_t *zmgr, dns_zone_t **first) |
Find the first zone in the list of managed zones. | |
isc_result_t | dns_zonemgr_create (isc_mem_t *mctx, isc_taskmgr_t *taskmgr, isc_timermgr_t *timermgr, isc_socketmgr_t *socketmgr, dns_zonemgr_t **zmgrp) |
Create a zone manager. Note: the zone manager will not be able to manage any zones until dns_zonemgr_setsize() has been run. | |
isc_result_t | dns_zonemgr_createzone (dns_zonemgr_t *zmgr, dns_zone_t **zonep) |
Allocate a new zone using a memory context from the zone manager's memory context pool. | |
isc_result_t | dns_zonemgr_managezone (dns_zonemgr_t *zmgr, dns_zone_t *zone) |
Bring the zone under control of a zone manager. | |
void | dns_zonemgr_releasezone (dns_zonemgr_t *zmgr, dns_zone_t *zone) |
Release 'zone' from the managed by 'zmgr'. 'zmgr' is implicitly detached from 'zone'. | |
void | dns_zonemgr_attach (dns_zonemgr_t *source, dns_zonemgr_t **target) |
Attach '*target' to 'source' incrementing its external reference count. | |
void | dns_zonemgr_detach (dns_zonemgr_t **zmgrp) |
Detach from a zone manager. | |
isc_result_t | dns_zonemgr_forcemaint (dns_zonemgr_t *zmgr) |
Force zone maintenance of all zones managed by 'zmgr' at its earliest convenience. | |
void | dns_zonemgr_resumexfrs (dns_zonemgr_t *zmgr) |
Attempt to start any stalled zone transfers. | |
void | dns_zonemgr_shutdown (dns_zonemgr_t *zmgr) |
Shut down the zone manager. | |
static isc_result_t | mctxinit (void **target, void *arg) |
static void | mctxfree (void **target) |
isc_result_t | dns_zonemgr_setsize (dns_zonemgr_t *zmgr, int num_zones) |
Set the size of the zone manager task pool. This must be run before zmgr can be used for managing zones. Currently, it can only be run once; the task pool cannot be resized. | |
void | dns_zonemgr_settransfersin (dns_zonemgr_t *zmgr, isc_uint32_t value) |
Set the maximum number of simultaneous transfers in allowed by the zone manager. | |
isc_uint32_t | dns_zonemgr_getttransfersin (dns_zonemgr_t *zmgr) |
Return the maximum number of simultaneous transfers in allowed. | |
void | dns_zonemgr_settransfersperns (dns_zonemgr_t *zmgr, isc_uint32_t value) |
Set the number of zone transfers allowed per nameserver. | |
isc_uint32_t | dns_zonemgr_getttransfersperns (dns_zonemgr_t *zmgr) |
Return the number of transfers allowed per nameserver. | |
void | dns_zonemgr_setiolimit (dns_zonemgr_t *zmgr, isc_uint32_t iolimit) |
Set the number of simultaneous file descriptors available for reading and writing masterfiles. | |
isc_uint32_t | dns_zonemgr_getiolimit (dns_zonemgr_t *zmgr) |
Get the number of simultaneous file descriptors available for reading and writing masterfiles. | |
void | dns_zonemgr_setnotifyrate (dns_zonemgr_t *zmgr, unsigned int value) |
Set the number of NOTIFY requests sent per second. | |
void | dns_zonemgr_setstartupnotifyrate (dns_zonemgr_t *zmgr, unsigned int value) |
Set the number of startup NOTIFY requests sent per second. | |
void | dns_zonemgr_setserialqueryrate (dns_zonemgr_t *zmgr, unsigned int value) |
Set the number of SOA queries sent per second. | |
unsigned int | dns_zonemgr_getnotifyrate (dns_zonemgr_t *zmgr) |
Return the number of NOTIFY requests sent per second. | |
unsigned int | dns_zonemgr_getstartupnotifyrate (dns_zonemgr_t *zmgr) |
Return the number of startup NOTIFY requests sent per second. | |
unsigned int | dns_zonemgr_getserialqueryrate (dns_zonemgr_t *zmgr) |
Return the number of SOA queries sent per second. | |
isc_boolean_t | dns_zonemgr_unreachable (dns_zonemgr_t *zmgr, isc_sockaddr_t *remote, isc_sockaddr_t *local, isc_time_t *now) |
Returns ISC_TRUE if the given local/remote address pair is found in the zone maanger's unreachable cache. | |
void | dns_zonemgr_unreachabledel (dns_zonemgr_t *zmgr, isc_sockaddr_t *remote, isc_sockaddr_t *local) |
Remove the pair of addresses from the unreachable cache. | |
void | dns_zonemgr_unreachableadd (dns_zonemgr_t *zmgr, isc_sockaddr_t *remote, isc_sockaddr_t *local, isc_time_t *now) |
Add the pair of addresses to the unreachable cache. | |
void | dns_zone_forcereload (dns_zone_t *zone) |
Force a reload of specified zone. | |
isc_boolean_t | dns_zone_isforced (dns_zone_t *zone) |
Check if the zone is waiting a forced reload. | |
isc_result_t | dns_zone_setstatistics (dns_zone_t *zone, isc_boolean_t on) |
This function is obsoleted by dns_zone_setrequeststats(). | |
isc_uint64_t * | dns_zone_getstatscounters (dns_zone_t *zone) |
This function is obsoleted by dns_zone_getrequeststats(). | |
void | dns_zone_setstats (dns_zone_t *zone, isc_stats_t *stats) |
Set a general zone-maintenance statistics set 'stats' for 'zone'. This function is expected to be called only on zone creation (when necessary). Once installed, it cannot be removed or replaced. Also, there is no interface to get the installed stats from the zone; the caller must keep the stats to reference (e.g. dump) it later. | |
void | dns_zone_setrequeststats (dns_zone_t *zone, isc_stats_t *stats) |
void | dns_zone_setrcvquerystats (dns_zone_t *zone, dns_stats_t *stats) |
Set additional statistics sets to zone. These are attached to the zone but are not counted in the zone module; only the caller updates the counters. | |
isc_stats_t * | dns_zone_getrequeststats (dns_zone_t *zone) |
dns_stats_t * | dns_zone_getrcvquerystats (dns_zone_t *zone) |
Get the additional statistics for zone, if one is installed. | |
void | dns_zone_dialup (dns_zone_t *zone) |
Perform dialup-time maintenance on 'zone'. | |
void | dns_zone_setdialup (dns_zone_t *zone, dns_dialuptype_t dialup) |
Set the dialup type of 'zone' to 'dialup'. | |
isc_result_t | dns_zone_setkeydirectory (dns_zone_t *zone, const char *directory) |
Sets the name of the directory where private keys used for online signing of dynamic zones are found. | |
const char * | dns_zone_getkeydirectory (dns_zone_t *zone) |
Gets the name of the directory where private keys used for online signing of dynamic zones are found. | |
unsigned int | dns_zonemgr_getcount (dns_zonemgr_t *zmgr, int state) |
Returns the number of zones in the specified state. | |
isc_result_t | dns_zone_checknames (dns_zone_t *zone, dns_name_t *name, dns_rdata_t *rdata) |
Check if this record meets the check-names policy. | |
void | dns_zone_setcheckmx (dns_zone_t *zone, dns_checkmxfunc_t checkmx) |
Set the post load integrity callback function 'checkmx'. 'checkmx' will be called if the MX TARGET is not within the zone. | |
void | dns_zone_setchecksrv (dns_zone_t *zone, dns_checksrvfunc_t checksrv) |
Set the post load integrity callback function 'checksrv'. 'checksrv' will be called if the SRV TARGET is not within the zone. | |
void | dns_zone_setcheckns (dns_zone_t *zone, dns_checknsfunc_t checkns) |
Set the post load integrity callback function 'checkns'. 'checkns' will be called if the NS TARGET is not within the zone. | |
void | dns_zone_setisself (dns_zone_t *zone, dns_isselffunc_t isself, void *arg) |
Set the isself callback function and argument. | |
void | dns_zone_setnotifydelay (dns_zone_t *zone, isc_uint32_t delay) |
Set the minimum delay between sets of notify messages. | |
isc_uint32_t | dns_zone_getnotifydelay (dns_zone_t *zone) |
Get the minimum delay between sets of notify messages. | |
isc_result_t | dns_zone_signwithkey (dns_zone_t *zone, dns_secalg_t algorithm, isc_uint16_t keyid, isc_boolean_t delete) |
Initiate/resume signing of the entire zone with the zone DNSKEY(s) that match the given algorithm and keyid. | |
isc_result_t | dns_zone_addnsec3chain (dns_zone_t *zone, dns_rdata_nsec3param_t *nsec3param) |
Incrementally add a NSEC3 chain that corresponds to 'nsec3param'. | |
void | dns_zone_setnodes (dns_zone_t *zone, isc_uint32_t nodes) |
Set the number of nodes that will be checked per quantum. | |
void | dns_zone_setsignatures (dns_zone_t *zone, isc_uint32_t signatures) |
Set the number of signatures that will be generated per quantum. | |
isc_uint32_t | dns_zone_getsignatures (dns_zone_t *zone) |
Get the number of signatures that will be generated per quantum. | |
void | dns_zone_setprivatetype (dns_zone_t *zone, dns_rdatatype_t type) |
dns_rdatatype_t | dns_zone_getprivatetype (dns_zone_t *zone) |
static void | logmsg (const char *format,...) |
static void | clear_keylist (dns_dnsseckeylist_t *list, isc_mem_t *mctx) |
static isc_result_t | next_keyevent (dst_key_t *key, isc_stdtime_t *timep) |
static isc_result_t | rr_exists (dns_db_t *db, dns_dbversion_t *ver, dns_name_t *name, const dns_rdata_t *rdata, isc_boolean_t *flag) |
static isc_result_t | add_signing_records (dns_db_t *db, dns_rdatatype_t privatetype, dns_dbversion_t *ver, dns_diff_t *diff, isc_boolean_t sign_all) |
static isc_result_t | sign_apex (dns_zone_t *zone, dns_db_t *db, dns_dbversion_t *ver, dns_diff_t *diff, zonediff_t *zonediff) |
static isc_boolean_t | dnskey_sane (dns_zone_t *zone, dns_db_t *db, dns_dbversion_t *ver, dns_diff_t *diff) |
static isc_result_t | clean_nsec3param (dns_zone_t *zone, dns_db_t *db, dns_dbversion_t *ver, dns_diff_t *diff) |
static isc_boolean_t | signed_with_alg (dns_rdataset_t *rdataset, dns_secalg_t alg) |
static isc_result_t | add_chains (dns_zone_t *zone, dns_db_t *db, dns_dbversion_t *ver, dns_diff_t *diff) |
void | dns_zone_rekey (dns_zone_t *zone, isc_boolean_t fullsign) |
Update the zone's DNSKEY set from the key repository. | |
isc_result_t | dns_zone_nscheck (dns_zone_t *zone, dns_db_t *db, dns_dbversion_t *version, unsigned int *errors) |
void | dns_zone_setautomatic (dns_zone_t *zone, isc_boolean_t automatic) |
Returns ISC_TRUE if the zone was originally added at runtime using "rndc addzone". | |
isc_boolean_t | dns_zone_getautomatic (dns_zone_t *zone) |
Sets the value of zone->automatic, which should be ISC_TRUE for zones that were automatically added by named. | |
void | dns_zone_setadded (dns_zone_t *zone, isc_boolean_t added) |
Check if the name servers for the zone are sane (have address, don't refer to CNAMEs/DNAMEs. The number of constiancy errors detected in returned in '*errors'. | |
isc_boolean_t | dns_zone_getadded (dns_zone_t *zone) |
Sets the value of zone->added, which should be ISC_TRUE for zones that were originally added by "rndc addzone". | |
isc_result_t | dns_zone_dlzpostload (dns_zone_t *zone, dns_db_t *db) |
Returns ISC_TRUE if the zone was added automatically by named. | |
isc_result_t | dns_zone_setrefreshkeyinterval (dns_zone_t *zone, isc_uint32_t interval) |
Return true iff the zone is "dynamic", in the sense that the zone's master file (if any) is written by the server, rather than being updated manually and read by the server. | |
void | dns_zone_setrequestixfr (dns_zone_t *zone, isc_boolean_t flag) |
Returns the true/false value of the request-ixfr option in the zone. | |
isc_boolean_t | dns_zone_getrequestixfr (dns_zone_t *zone) |
Sets the request-expire option for the zone. Either true or false. The default value is determined by the setting of this option in the view. | |
void | dns_zone_setrequestexpire (dns_zone_t *zone, isc_boolean_t flag) |
Returns the true/false value of the request-expire option in the zone. | |
isc_boolean_t | dns_zone_getrequestexpire (dns_zone_t *zone) |
Sets the frequency, in minutes, with which the key repository will be checked to see if the keys for this zone have been updated. Any value higher than 1440 minutes (24 hours) will be silently reduced. A value of zero will return an out-of-range error. | |
void | dns_zone_setserialupdatemethod (dns_zone_t *zone, dns_updatemethod_t method) |
Sets the request-ixfr option for the zone. Either true or false. The default value is determined by the setting of this option in the view. | |
dns_updatemethod_t | dns_zone_getserialupdatemethod (dns_zone_t *zone) |
Sets the update method to use when incrementing the zone serial number due to a DDNS update. Valid options are dns_updatemethod_increment and dns_updatemethod_unixtime. | |
isc_result_t | dns_zone_link (dns_zone_t *zone, dns_zone_t *raw) |
Returns the update method to be used when incrementing the zone serial number due to a DDNS update. | |
void | dns_zone_getraw (dns_zone_t *zone, dns_zone_t **raw) |
static void | keydone (isc_task_t *task, isc_event_t *event) |
isc_result_t | dns_zone_keydone (dns_zone_t *zone, const char *keystr) |
static void | setnsec3param (isc_task_t *task, isc_event_t *event) |
isc_result_t | dns_zone_setnsec3param (dns_zone_t *zone, isc_uint8_t hash, isc_uint8_t flags, isc_uint16_t iter, isc_uint8_t saltlen, unsigned char *salt, isc_boolean_t replace) |
isc_result_t | dns_zone_getloadtime (dns_zone_t *zone, isc_time_t *loadtime) |
Force the managed key zone to synchronize, and start the key maintenance timer. | |
isc_result_t | dns_zone_getexpiretime (dns_zone_t *zone, isc_time_t *expiretime) |
Return the time when the (slave) zone will need to be refreshed. | |
isc_result_t | dns_zone_getrefreshtime (dns_zone_t *zone, isc_time_t *refreshtime) |
Return the time when the zone was last loaded. | |
isc_result_t | dns_zone_getrefreshkeytime (dns_zone_t *zone, isc_time_t *refreshkeytime) |
Return the time when the (slave) zone will expire. | |
unsigned int | dns_zone_getincludes (dns_zone_t *zone, char ***includesp) |
Return the time of the next scheduled DNSSEC key event. | |
void | dns_zone_setstatlevel (dns_zone_t *zone, dns_zonestat_level_t level) |
dns_zonestat_level_t | dns_zone_getstatlevel (dns_zone_t *zone) |
static void | setserial (isc_task_t *task, isc_event_t *event) |
isc_result_t | dns_zone_setserial (dns_zone_t *zone, isc_uint32_t serial) |
Set and get the statistics reporting level for the zone; full, terse, or none. | |
Variables | |
unsigned int | dns_zone_mkey_hour = HOUR |
unsigned int | dns_zone_mkey_day = DAY |
unsigned int | dns_zone_mkey_month = MONTH |
static const unsigned int | dbargc_default = 1 |
static const char * | dbargv_default [] = { "rbt" } |
static const char * | hex = "0123456789ABCDEF" |
Definition in file zone.c.
#define ZONE_MAGIC ISC_MAGIC('Z', 'O', 'N', 'E') |
Definition at line 90 of file zone.c.
Referenced by cancel_refresh(), default_journal(), dns__zone_loadpending(), dns_zone_addnsec3chain(), dns_zone_asyncload(), dns_zone_attach(), dns_zone_clearforwardacl(), dns_zone_clearnotifyacl(), dns_zone_clearqueryacl(), dns_zone_clearqueryonacl(), dns_zone_clearupdateacl(), dns_zone_clearxfracl(), dns_zone_detach(), dns_zone_dump(), dns_zone_expire(), dns_zone_flush(), dns_zone_forwardupdate(), dns_zone_getaltxfrsource4(), dns_zone_getaltxfrsource4dscp(), dns_zone_getaltxfrsource6(), dns_zone_getaltxfrsource6dscp(), dns_zone_getchecknames(), dns_zone_getclass(), dns_zone_getdb(), dns_zone_getdbtype(), dns_zone_getfile(), dns_zone_getforwardacl(), dns_zone_getidlein(), dns_zone_getidleout(), dns_zone_getjournal(), dns_zone_getjournalsize(), dns_zone_getkeyopts(), dns_zone_getmaxttl(), dns_zone_getmaxxfrin(), dns_zone_getmaxxfrout(), dns_zone_getmctx(), dns_zone_getmgr(), dns_zone_getnotifyacl(), dns_zone_getnotifysrc4(), dns_zone_getnotifysrc4dscp(), dns_zone_getnotifysrc6(), dns_zone_getnotifysrc6dscp(), dns_zone_getoptions(), dns_zone_getoptions2(), dns_zone_getorigin(), dns_zone_getqueryacl(), dns_zone_getqueryonacl(), dns_zone_getserial2(), dns_zone_getsigresigninginterval(), dns_zone_getsigvalidityinterval(), dns_zone_getssutable(), dns_zone_gettask(), dns_zone_gettype(), dns_zone_getupdateacl(), dns_zone_getupdatedisabled(), dns_zone_getview(), dns_zone_getxfracl(), dns_zone_getxfrsource4(), dns_zone_getxfrsource4dscp(), dns_zone_getxfrsource6(), dns_zone_getxfrsource6dscp(), dns_zone_getzeronosoattl(), dns_zone_iattach(), dns_zone_idetach(), dns_zone_isdynamic(), dns_zone_link(), dns_zone_maintenance(), dns_zone_name(), dns_zone_next(), dns_zone_notify(), dns_zone_notifyreceive(), dns_zone_refresh(), dns_zone_replacedb(), dns_zone_setacache(), dns_zone_setalsonotifydscpkeys(), dns_zone_setaltxfrsource4(), dns_zone_setaltxfrsource4dscp(), dns_zone_setaltxfrsource6(), dns_zone_setaltxfrsource6dscp(), dns_zone_setchecknames(), dns_zone_setclass(), dns_zone_setdb(), dns_zone_setdbtype(), dns_zone_setfile3(), dns_zone_setflag(), dns_zone_setforwardacl(), dns_zone_setidlein(), dns_zone_setidleout(), dns_zone_setjournal(), dns_zone_setjournalsize(), dns_zone_setkeyopt(), dns_zone_setmasterswithkeys(), dns_zone_setmaxrefreshtime(), dns_zone_setmaxretrytime(), dns_zone_setmaxttl(), dns_zone_setmaxxfrin(), dns_zone_setmaxxfrout(), dns_zone_setminrefreshtime(), dns_zone_setminretrytime(), dns_zone_setnotifyacl(), dns_zone_setnotifysrc4(), dns_zone_setnotifysrc4dscp(), dns_zone_setnotifysrc6(), dns_zone_setnotifysrc6dscp(), dns_zone_setnotifytype(), dns_zone_setoption(), dns_zone_setoption2(), dns_zone_setorigin(), dns_zone_setqueryacl(), dns_zone_setqueryonacl(), dns_zone_setsigresigninginterval(), dns_zone_setsigvalidityinterval(), dns_zone_setssutable(), dns_zone_settask(), dns_zone_settype(), dns_zone_setupdateacl(), dns_zone_setupdatedisabled(), dns_zone_setview(), dns_zone_setxfracl(), dns_zone_setxfrsource4(), dns_zone_setxfrsource4dscp(), dns_zone_setxfrsource6(), dns_zone_setxfrsource6dscp(), dns_zone_setzeronosoattl(), dns_zone_unload(), dns_zonemgr_managezone(), dns_zonemgr_releasezone(), dump_done(), dumptostream(), forward_callback(), inline_raw(), inline_secure(), keydone(), notify_createmessage(), ns_query(), refresh_callback(), restore_nsec3param(), save_nsec3param(), soa_query(), sync_secure_db(), zone_asyncload(), zone_dump(), zone_free(), zone_gotwritehandle(), zone_iattach(), zone_idetach(), zone_load(), zone_maintenance(), zone_needdump(), zone_notify(), zone_registerinclude(), zone_replacedb(), zone_settimer(), zone_shutdown(), zone_timer(), zone_touched(), and zone_xfrdone().
#define NOTIFY_MAGIC ISC_MAGIC('N', 't', 'f', 'y') |
#define DNS_NOTIFY_VALID | ( | notify | ) | ISC_MAGIC_VALID(notify, NOTIFY_MAGIC) |
Definition at line 93 of file zone.c.
Referenced by notify_destroy(), notify_done(), notify_find_address(), notify_send(), notify_send_toaddr(), and process_adb_event().
#define STUB_MAGIC ISC_MAGIC('S', 't', 'u', 'b') |
#define DNS_STUB_VALID | ( | stub | ) | ISC_MAGIC_VALID(stub, STUB_MAGIC) |
#define ZONEMGR_MAGIC ISC_MAGIC('Z', 'm', 'g', 'r') |
#define DNS_ZONEMGR_VALID | ( | stub | ) | ISC_MAGIC_VALID(stub, ZONEMGR_MAGIC) |
Definition at line 99 of file zone.c.
Referenced by dns_zone_first(), dns_zonemgr_attach(), dns_zonemgr_createzone(), dns_zonemgr_detach(), dns_zonemgr_forcemaint(), dns_zonemgr_getiolimit(), dns_zonemgr_getttransfersin(), dns_zonemgr_getttransfersperns(), dns_zonemgr_managezone(), dns_zonemgr_releasezone(), dns_zonemgr_resumexfrs(), dns_zonemgr_setiolimit(), dns_zonemgr_setsize(), dns_zonemgr_settransfersin(), dns_zonemgr_settransfersperns(), dns_zonemgr_shutdown(), and zonemgr_getio().
#define LOAD_MAGIC ISC_MAGIC('L', 'o', 'a', 'd') |
#define DNS_LOAD_VALID | ( | load | ) | ISC_MAGIC_VALID(load, LOAD_MAGIC) |
#define FORWARD_MAGIC ISC_MAGIC('F', 'o', 'r', 'w') |
#define DNS_FORWARD_VALID | ( | load | ) | ISC_MAGIC_VALID(load, FORWARD_MAGIC) |
#define IO_MAGIC ISC_MAGIC('Z', 'm', 'I', 'O') |
#define DNS_IO_VALID | ( | load | ) | ISC_MAGIC_VALID(load, IO_MAGIC) |
#define RANGE | ( | a, | |||
min, | |||||
max | ) | (((a) < (min)) ? (min) : ((a) < (max) ? (a) : (max))) |
#define NSEC3REMOVE | ( | x | ) | (((x) & DNS_NSEC3FLAG_REMOVE) != 0) |
Definition at line 116 of file zone.c.
Referenced by need_nsec_chain(), save_nsec3param(), and zone_nsec3chain().
#define REVOKE | ( | x | ) | ((dst_key_flags(x) & DNS_KEYFLAG_REVOKE) != 0) |
#define KSK | ( | x | ) | ((dst_key_flags(x) & DNS_KEYFLAG_KSK) != 0) |
#define DNS_DEFAULT_IDLEIN 3600 |
1 hour
Definition at line 128 of file zone.c.
Referenced by dns_zone_create(), and dns_zone_setidlein().
#define DNS_DEFAULT_IDLEOUT 3600 |
#define MAX_XFER_TIME (2*3600) |
Documented default is 2 hours.
Definition at line 130 of file zone.c.
Referenced by dns_zone_create().
#define DNS_MAX_EXPIRE 14515200 |
24 weeks
Definition at line 134 of file zone.c.
Referenced by stub_callback(), zone_postload(), and zone_xfrdone().
#define DNS_DUMP_DELAY 900 |
15 minutes
Definition at line 138 of file zone.c.
Referenced by dns_zone_markdirty(), dump_done(), receive_secure_serial(), setmodtime(), zone_dump(), zone_nsec3chain(), zone_postload(), zone_replacedb(), zone_resigninc(), zone_sign(), and zone_xfrdone().
#define DNS_ZONE_CHECKLOCK |
#define LOCK_ZONE | ( | z | ) |
Value:
Referenced by dns_zone_addnsec3chain(), dns_zone_asyncload(), dns_zone_clearforwardacl(), dns_zone_clearnotifyacl(), dns_zone_clearqueryacl(), dns_zone_clearqueryonacl(), dns_zone_clearupdateacl(), dns_zone_clearxfracl(), dns_zone_detach(), dns_zone_dump(), dns_zone_expire(), dns_zone_flush(), dns_zone_getdbtype(), dns_zone_getserial2(), dns_zone_getssutable(), dns_zone_iattach(), dns_zone_idetach(), dns_zone_link(), dns_zone_maintenance(), dns_zone_markdirty(), dns_zone_notify(), dns_zone_notifyreceive(), dns_zone_refresh(), dns_zone_replacedb(), dns_zone_rpz_enable(), dns_zone_setacache(), dns_zone_setalsonotifydscpkeys(), dns_zone_setaltxfrsource4(), dns_zone_setaltxfrsource4dscp(), dns_zone_setaltxfrsource6(), dns_zone_setaltxfrsource6dscp(), dns_zone_setclass(), dns_zone_setdbtype(), dns_zone_setfile3(), dns_zone_setflag(), dns_zone_setforwardacl(), dns_zone_setjournal(), dns_zone_setkeyopt(), dns_zone_setmasterswithkeys(), dns_zone_setmaxttl(), dns_zone_setnotifyacl(), dns_zone_setnotifysrc4(), dns_zone_setnotifysrc4dscp(), dns_zone_setnotifysrc6(), dns_zone_setnotifysrc6dscp(), dns_zone_setnotifytype(), dns_zone_setoption(), dns_zone_setoption2(), dns_zone_setorigin(), dns_zone_setqueryacl(), dns_zone_setqueryonacl(), dns_zone_setrawdata(), dns_zone_setsigresigninginterval(), dns_zone_setssutable(), dns_zone_settask(), dns_zone_settype(), dns_zone_setupdateacl(), dns_zone_setview(), dns_zone_setxfracl(), dns_zone_setxfrsource4(), dns_zone_setxfrsource4dscp(), dns_zone_setxfrsource6(), dns_zone_setxfrsource6dscp(), dns_zone_synckeyzone(), dns_zone_unload(), dns_zonemgr_managezone(), dns_zonemgr_releasezone(), dns_zonemgr_shutdown(), dump_done(), got_transfer_quota(), keydone(), keyfetch_done(), notify_destroy(), notify_find_address(), notify_send_toaddr(), process_adb_event(), queue_xfrin(), receive_secure_db(), receive_secure_serial(), refresh_callback(), sendtomaster(), soa_query(), stub_callback(), zmgr_start_xfrin_ifquota(), zone_asyncload(), zone_dump(), zone_gotwritehandle(), zone_load(), zone_loaddone(), zone_maintenance(), zone_notify(), zone_nsec3chain(), zone_refreshkeys(), zone_resigninc(), zone_shutdown(), zone_sign(), and zone_xfrdone().
#define UNLOCK_ZONE | ( | z | ) | do { (z)->locked = ISC_FALSE; UNLOCK(&(z)->lock); } while (0) |
Referenced by dns_zone_addnsec3chain(), dns_zone_asyncload(), dns_zone_clearforwardacl(), dns_zone_clearnotifyacl(), dns_zone_clearqueryacl(), dns_zone_clearqueryonacl(), dns_zone_clearupdateacl(), dns_zone_clearxfracl(), dns_zone_detach(), dns_zone_dump(), dns_zone_expire(), dns_zone_flush(), dns_zone_getdbtype(), dns_zone_getserial2(), dns_zone_getssutable(), dns_zone_iattach(), dns_zone_idetach(), dns_zone_link(), dns_zone_maintenance(), dns_zone_markdirty(), dns_zone_notify(), dns_zone_notifyreceive(), dns_zone_refresh(), dns_zone_replacedb(), dns_zone_rpz_enable(), dns_zone_setacache(), dns_zone_setalsonotifydscpkeys(), dns_zone_setaltxfrsource4(), dns_zone_setaltxfrsource4dscp(), dns_zone_setaltxfrsource6(), dns_zone_setaltxfrsource6dscp(), dns_zone_setclass(), dns_zone_setdbtype(), dns_zone_setfile3(), dns_zone_setflag(), dns_zone_setforwardacl(), dns_zone_setjournal(), dns_zone_setkeyopt(), dns_zone_setmasterswithkeys(), dns_zone_setmaxttl(), dns_zone_setnotifyacl(), dns_zone_setnotifysrc4(), dns_zone_setnotifysrc4dscp(), dns_zone_setnotifysrc6(), dns_zone_setnotifysrc6dscp(), dns_zone_setnotifytype(), dns_zone_setoption(), dns_zone_setoption2(), dns_zone_setorigin(), dns_zone_setqueryacl(), dns_zone_setqueryonacl(), dns_zone_setrawdata(), dns_zone_setsigresigninginterval(), dns_zone_setssutable(), dns_zone_settask(), dns_zone_settype(), dns_zone_setupdateacl(), dns_zone_setview(), dns_zone_setxfracl(), dns_zone_setxfrsource4(), dns_zone_setxfrsource4dscp(), dns_zone_setxfrsource6(), dns_zone_setxfrsource6dscp(), dns_zone_synckeyzone(), dns_zone_unload(), dns_zonemgr_managezone(), dns_zonemgr_releasezone(), dns_zonemgr_shutdown(), dump_done(), got_transfer_quota(), keydone(), keyfetch_done(), notify_destroy(), notify_find_address(), notify_send_toaddr(), process_adb_event(), queue_xfrin(), receive_secure_db(), receive_secure_serial(), refresh_callback(), sendtomaster(), soa_query(), stub_callback(), zmgr_start_xfrin_ifquota(), zone_asyncload(), zone_dump(), zone_gotwritehandle(), zone_load(), zone_loaddone(), zone_maintenance(), zone_notify(), zone_nsec3chain(), zone_refreshkeys(), zone_resigninc(), zone_shutdown(), zone_sign(), and zone_xfrdone().
#define LOCKED_ZONE | ( | z | ) | ((z)->locked) |
Referenced by cancel_refresh(), default_journal(), exit_check(), forward_cancel(), notify_cancel(), notify_destroy(), notify_send(), ns_query(), queue_soa_query(), was_dumping(), zone_expire(), zone_free(), zone_iattach(), zone_idetach(), zone_needdump(), zone_postload(), zone_replacedb(), zone_send_securedb(), zone_send_secureserial(), and zone_unload().
#define TRYLOCK_ZONE | ( | result, | |||
z | ) |
Value:
do { \ result = isc_mutex_trylock(&(z)->lock); \ if (result == ISC_R_SUCCESS) { \ INSIST((z)->locked == ISC_FALSE); \ (z)->locked = ISC_TRUE; \ } \ } while (0)
Referenced by dns_zone_markdirty(), dns_zone_replacedb(), zone_loaddone(), and zone_xfrdone().
#define ZONEDB_INITLOCK | ( | l | ) | isc_mutex_init(l) |
Referenced by dns_zone_create().
#define ZONEDB_DESTROYLOCK | ( | l | ) | DESTROYLOCK(l) |
Referenced by dns_zone_create(), and zone_free().
#define ZONEDB_LOCK | ( | l, | |||
t | ) | LOCK(l) |
Referenced by dns_zone_getdb(), dns_zone_getserial2(), dns_zone_markdirty(), dns_zone_replacedb(), dns_zone_setacache(), dns_zone_setdb(), dns_zone_settask(), dumptostream(), got_transfer_quota(), keydone(), notify_createmessage(), ns_query(), receive_secure_db(), receive_secure_serial(), resume_addnsec3chain(), resume_signingwithkey(), set_resigntime(), stub_callback(), zone_addnsec3chain(), zone_dump(), zone_gotwritehandle(), zone_load(), zone_notify(), zone_nsec3chain(), zone_postload(), zone_refreshkeys(), zone_resigninc(), zone_sign(), zone_unload(), and zone_xfrdone().
#define ZONEDB_UNLOCK | ( | l, | |||
t | ) | UNLOCK(l) |
Referenced by dns_zone_getdb(), dns_zone_getserial2(), dns_zone_markdirty(), dns_zone_replacedb(), dns_zone_setacache(), dns_zone_setdb(), dns_zone_settask(), dumptostream(), got_transfer_quota(), keydone(), notify_createmessage(), ns_query(), receive_secure_db(), receive_secure_serial(), resume_addnsec3chain(), resume_signingwithkey(), set_resigntime(), stub_callback(), zone_addnsec3chain(), zone_dump(), zone_gotwritehandle(), zone_load(), zone_notify(), zone_nsec3chain(), zone_postload(), zone_refreshkeys(), zone_resigninc(), zone_sign(), zone_unload(), and zone_xfrdone().
#define zonediff_init | ( | z, | |||
d | ) |
Value:
do { \ zonediff_t *_z = (z); \ (_z)->diff = (d); \ (_z)->offline = ISC_FALSE; \ } while (0)
Definition at line 431 of file zone.c.
Referenced by zone_nsec3chain(), zone_resigninc(), and zone_sign().
#define DNS_ZONE_FLAG | ( | z, | |||
f | ) | (ISC_TF(((z)->flags & (f)) != 0)) |
Definition at line 438 of file zone.c.
Referenced by dns__zone_loadpending(), dns_zone_asyncload(), dns_zone_flush(), dns_zone_notifyreceive(), dns_zone_refresh(), dump_done(), exit_check(), got_transfer_quota(), keyfetch_done(), notify_send_toaddr(), ns_query(), queue_soa_query(), receive_secure_db(), refresh_callback(), sendtomaster(), setmodtime(), soa_query(), stub_callback(), sync_keyzone(), was_dumping(), zmgr_start_xfrin_ifquota(), zone_asyncload(), zone_dump(), zone_load(), zone_loaddone(), zone_maintenance(), zone_needdump(), zone_notify(), zone_postload(), zone_refreshkeys(), zone_replacedb(), zone_settimer(), zone_shutdown(), zone_unload(), and zone_xfrdone().
#define DNS_ZONE_SETFLAG | ( | z, | |||
f | ) |
Value:
do { \ INSIST(LOCKED_ZONE(z)); \ (z)->flags |= (f); \ } while (0)
Definition at line 439 of file zone.c.
Referenced by dns_zone_asyncload(), dns_zone_flush(), dns_zone_notify(), dns_zone_notifyreceive(), dns_zone_refresh(), dns_zone_setflag(), dump_done(), keydone(), keyfetch_done(), maybe_send_secure(), ns_query(), receive_secure_db(), receive_secure_serial(), refresh_callback(), soa_query(), stub_callback(), sync_keyzone(), was_dumping(), zone_dump(), zone_expire(), zone_load(), zone_needdump(), zone_nsec3chain(), zone_postload(), zone_refreshkeys(), zone_replacedb(), zone_resigninc(), zone_shutdown(), zone_sign(), and zone_xfrdone().
#define DNS_ZONE_CLRFLAG | ( | z, | |||
f | ) |
Value:
do { \ INSIST(LOCKED_ZONE(z)); \ (z)->flags &= ~(f); \ } while (0)
Definition at line 443 of file zone.c.
Referenced by cancel_refresh(), dns_zone_refresh(), dns_zone_setflag(), dns_zone_setmasterswithkeys(), dump_done(), got_transfer_quota(), keyfetch_done(), refresh_callback(), soa_query(), stub_callback(), was_dumping(), zone_asyncload(), zone_dump(), zone_expire(), zone_loaddone(), zone_notify(), zone_postload(), zone_refreshkeys(), zone_send_securedb(), zone_send_secureserial(), zone_unload(), and zone_xfrdone().
#define DNS_ZONEFLG_REFRESH 0x00000001U |
refresh check in progress
Definition at line 448 of file zone.c.
Referenced by cancel_refresh(), dns_zone_notifyreceive(), dns_zone_refresh(), refresh_callback(), soa_query(), stub_callback(), zone_settimer(), and zone_xfrdone().
#define DNS_ZONEFLG_NEEDDUMP 0x00000002U |
zone need consolidation
Definition at line 449 of file zone.c.
Referenced by dns_zone_flush(), dump_done(), setmodtime(), was_dumping(), zone_dump(), zone_maintenance(), zone_needdump(), zone_settimer(), and zone_unload().
#define DNS_ZONEFLG_USEVC 0x00000004U |
use tcp for refresh query
Definition at line 450 of file zone.c.
Referenced by refresh_callback(), soa_query(), and stub_callback().
#define DNS_ZONEFLG_DUMPING 0x00000008U |
a dump is in progress
Definition at line 451 of file zone.c.
Referenced by dump_done(), was_dumping(), zone_dump(), zone_settimer(), zone_shutdown(), and zone_unload().
#define DNS_ZONEFLG_HASINCLUDE 0x00000010U |
#define DNS_ZONEFLG_LOADED 0x00000020U |
database has loaded
Definition at line 453 of file zone.c.
Referenced by dns_zone_notifyreceive(), dump_done(), keydone(), keyfetch_done(), notify_send_toaddr(), refresh_callback(), stub_callback(), sync_keyzone(), zone_dump(), zone_load(), zone_maintenance(), zone_needdump(), zone_notify(), zone_postload(), zone_refreshkeys(), zone_replacedb(), zone_settimer(), and zone_unload().
#define DNS_ZONEFLG_EXITING 0x00000040U |
zone is being destroyed
Definition at line 454 of file zone.c.
Referenced by dns_zone_refresh(), got_transfer_quota(), keyfetch_done(), notify_send_toaddr(), queue_soa_query(), receive_secure_db(), refresh_callback(), sendtomaster(), soa_query(), stub_callback(), zmgr_start_xfrin_ifquota(), zone_refreshkeys(), zone_settimer(), zone_shutdown(), and zone_xfrdone().
#define DNS_ZONEFLG_EXPIRED 0x00000080U |
#define DNS_ZONEFLG_NEEDREFRESH 0x00000100U |
refresh check needed
Definition at line 456 of file zone.c.
Referenced by dns_zone_notifyreceive(), refresh_callback(), and zone_xfrdone().
#define DNS_ZONEFLG_UPTODATE 0x00000200U |
#define DNS_ZONEFLG_NEEDNOTIFY 0x00000400U |
need to send out notify messages
Definition at line 459 of file zone.c.
Referenced by dns_zone_notify(), receive_secure_db(), receive_secure_serial(), zone_maintenance(), zone_notify(), zone_nsec3chain(), zone_replacedb(), zone_resigninc(), zone_settimer(), zone_sign(), and zone_xfrdone().
#define DNS_ZONEFLG_DIFFONRELOAD 0x00000800U |
#define DNS_ZONEFLG_NOMASTERS 0x00001000U |
an attempt to refresh a zone with no masters occurred
Definition at line 463 of file zone.c.
Referenced by dns_zone_refresh(), dns_zone_setmasterswithkeys(), and zone_settimer().
#define DNS_ZONEFLG_LOADING 0x00002000U |
load from disk in progress
Definition at line 466 of file zone.c.
Referenced by dns_zone_refresh(), zone_load(), zone_loaddone(), and zone_settimer().
#define DNS_ZONEFLG_HAVETIMERS 0x00004000U |
timer values have been set from SOA (if not set, we are still using default timer values)
Definition at line 467 of file zone.c.
Referenced by dns_zone_refresh(), stub_callback(), zone_expire(), zone_postload(), and zone_xfrdone().
#define DNS_ZONEFLG_FORCEXFER 0x00008000U |
Force a zone xfer.
Definition at line 471 of file zone.c.
Referenced by got_transfer_quota(), refresh_callback(), zone_replacedb(), and zone_xfrdone().
#define DNS_ZONEFLG_NOREFRESH 0x00010000U |
#define DNS_ZONEFLG_DIALNOTIFY 0x00020000U |
#define DNS_ZONEFLG_DIALREFRESH 0x00040000U |
Definition at line 474 of file zone.c.
Referenced by ns_query(), soa_query(), and zone_maintenance().
#define DNS_ZONEFLG_SHUTDOWN 0x00080000U |
#define DNS_ZONEFLAG_NOIXFR 0x00100000U |
IXFR failed, force AXFR.
Definition at line 476 of file zone.c.
Referenced by got_transfer_quota(), and zone_xfrdone().
#define DNS_ZONEFLG_FLUSH 0x00200000U |
Definition at line 477 of file zone.c.
Referenced by dns_zone_flush(), dump_done(), zone_dump(), zone_shutdown(), and zone_unload().
#define DNS_ZONEFLG_NOEDNS 0x00400000U |
Definition at line 478 of file zone.c.
Referenced by dns_zone_refresh(), ns_query(), refresh_callback(), soa_query(), and stub_callback().
#define DNS_ZONEFLG_USEALTXFRSRC 0x00800000U |
Definition at line 479 of file zone.c.
Referenced by dns_zone_refresh(), ns_query(), refresh_callback(), soa_query(), stub_callback(), and zone_xfrdone().
#define DNS_ZONEFLG_SOABEFOREAXFR 0x01000000U |
Definition at line 480 of file zone.c.
Referenced by got_transfer_quota(), refresh_callback(), and zone_xfrdone().
#define DNS_ZONEFLG_NEEDCOMPACT 0x02000000U |
#define DNS_ZONEFLG_REFRESHING 0x04000000U |
Refreshing keydata.
Definition at line 482 of file zone.c.
Referenced by keyfetch_done(), zone_maintenance(), zone_refreshkeys(), and zone_settimer().
#define DNS_ZONEFLG_THAW 0x08000000U |
#define DNS_ZONEFLG_LOADPENDING 0x10000000U |
Loading scheduled.
Definition at line 484 of file zone.c.
Referenced by dns__zone_loadpending(), dns_zone_asyncload(), zone_asyncload(), zone_maintenance(), and zone_postload().
#define DNS_ZONEFLG_NODELAY 0x20000000U |
#define DNS_ZONEFLG_SENDSECURE 0x40000000U |
Definition at line 486 of file zone.c.
Referenced by maybe_send_secure(), zone_postload(), zone_send_securedb(), and zone_send_secureserial().
#define DNS_ZONEFLG_NEEDSTARTUPNOTIFY 0x80000000U |
need to send out notify due to the zone just being loaded for the first time.
Definition at line 487 of file zone.c.
Referenced by zone_maintenance(), zone_notify(), zone_postload(), and zone_settimer().
#define DNS_ZONE_OPTION | ( | z, | |||
o | ) | (((z)->options & (o)) != 0) |
Definition at line 492 of file zone.c.
Referenced by check_nsec3param(), get_master_options(), integrity_checks(), refresh_callback(), stub_callback(), zone_check_glue(), zone_check_mx(), zone_check_ns(), zone_check_srv(), zone_notify(), zone_nsec3chain(), zone_postload(), zone_replacedb(), zone_resigninc(), zone_rrset_check_dup(), zone_sign(), zone_startload(), and zone_xfrdone().
#define DNS_ZONE_OPTION2 | ( | z, | |||
o | ) | (((z)->options2 & (o)) != 0) |
#define DNS_ZONEKEY_OPTION | ( | z, | |||
o | ) | (((z)->keyopts & (o)) != 0) |
#define DNS_ZONELOADFLAG_NOSTAT 0x00000001U |
#define DNS_ZONELOADFLAG_THAW 0x00000002U |
#define CHECK | ( | op | ) |
Value:
do { result = (op); \ if (result != ISC_R_SUCCESS) goto failure; \ } while (0)
#define DNS_NOTIFY_NOSOA 0x0001U |
Definition at line 578 of file zone.c.
Referenced by notify_createmessage(), notify_done(), notify_send(), and zone_notify().
#define DNS_NOTIFY_STARTUP 0x0002U |
Definition at line 579 of file zone.c.
Referenced by notify_done(), notify_isqueued(), notify_send(), and zone_notify().
#define SEND_BUFFER_SIZE 2048 |
Definition at line 725 of file zone.c.
Referenced by client_allocsendbuf(), client_send(), ns_client_sendraw(), ns_query(), and soa_query().
#define DNS_ZONE_JITTER_ADD | ( | a, | |||
b, | |||||
c | ) |
Value:
do { \ isc_interval_t _i; \ isc_uint32_t _j; \ _j = isc_random_jitter((b), (b)/4); \ isc_interval_set(&_i, _j, 0); \ if (isc_time_add((a), &_i, (c)) != ISC_R_SUCCESS) { \ dns_zone_log(zone, ISC_LOG_WARNING, \ "epoch approaching: upgrade required: " \ "now + %s failed", #b); \ isc_interval_set(&_i, _j/2, 0); \ (void)isc_time_add((a), &_i, (c)); \ } \ } while (0)
Definition at line 823 of file zone.c.
Referenced by refresh_callback(), stub_callback(), zone_needdump(), and zone_xfrdone().
#define DNS_ZONE_TIME_ADD | ( | a, | |||
b, | |||||
c | ) |
Value:
do { \ isc_interval_t _i; \ isc_interval_set(&_i, (b), 0); \ if (isc_time_add((a), &_i, (c)) != ISC_R_SUCCESS) { \ dns_zone_log(zone, ISC_LOG_WARNING, \ "epoch approaching: upgrade required: " \ "now + %s failed", #b); \ isc_interval_set(&_i, (b)/2, 0); \ (void)isc_time_add((a), &_i, (c)); \ } \ } while (0)
Definition at line 838 of file zone.c.
Referenced by refresh_callback(), set_refreshkeytimer(), stub_callback(), zone_notify(), zone_postload(), zone_refreshkeys(), and zone_xfrdone().
#define ZONES_PER_TASK 100 |
#define ZONES_PER_MCTX 1000 |
#define PENDINGFLAGS (DNS_NSEC3FLAG_CREATE|DNS_NSEC3FLAG_INITIAL) |
typedef struct dns_notify dns_notify_t |
typedef struct dns_stub dns_stub_t |
typedef struct dns_load dns_load_t |
typedef struct dns_forward dns_forward_t |
typedef struct nsec3param nsec3param_t |
typedef ISC_LIST | ( | dns_forward_t | ) |
Zones in certain states such as "waiting for zone transfer" or "zone transfer in progress" are kept on per-state linked lists in the zone manager using the 'statelink' field. The 'statelist' field points at the list the zone is currently on. It the zone is not on any such list, statelist is NULL.
Statistics counters about zone management.
Optional per-zone statistics counters. Counted outside of this module.
Serial number for deferred journal compaction.
Keys that are signing the zone for the first time.
Signing / re-signing quantum stopping parameters.
Autosigning/key-maintenance options
True if added by "rndc addzone"
True if added by automatically by named.
response policy data to be relayed to the database
Serial number update method.
whether ixfr is requested
whether EDNS EXPIRE is requested
Outstanding forwarded UPDATE requests.
maximum zone ttl
Definition at line 145 of file zone.c.
References checkmx(), checkns(), checksrv(), ISC_LINK, ISC_LIST, journal, lctx, masterstyle, maxttl, mctx, notify(), origin, privatetype, rdclass, secure(), and tsigkey.
static void zone_settimer | ( | dns_zone_t * | zone, | |
isc_time_t * | now | |||
) | [static] |
Definition at line 12287 of file zone.c.
References DNS_ZONE_FLAG, dns_zone_key, dns_zone_log(), dns_zone_master, dns_zone_redirect, dns_zone_slave, dns_zone_stub, DNS_ZONE_VALID, DNS_ZONEFLG_DUMPING, DNS_ZONEFLG_EXITING, DNS_ZONEFLG_LOADED, DNS_ZONEFLG_LOADING, DNS_ZONEFLG_NEEDDUMP, DNS_ZONEFLG_NEEDNOTIFY, DNS_ZONEFLG_NEEDSTARTUPNOTIFY, DNS_ZONEFLG_NOMASTERS, DNS_ZONEFLG_NOREFRESH, DNS_ZONEFLG_REFRESH, DNS_ZONEFLG_REFRESHING, ENTER, INSIST, ISC_LOG_ERROR, ISC_R_SUCCESS, isc_result_totext(), isc_time_compare(), isc_time_isepoch(), isc_time_settoepoch(), isc_timer_reset(), isc_timertype_inactive, isc_timertype_once, ISC_TRUE, REQUIRE, and zone_debuglog().
Referenced by cancel_refresh(), dns_zone_maintenance(), dns_zone_notify(), dns_zone_setsigresigninginterval(), receive_secure_serial(), refresh_callback(), set_refreshkeytimer(), stub_callback(), zone_addnsec3chain(), zone_load(), zone_maintenance(), zone_needdump(), zone_postload(), zone_refreshkeys(), and zone_xfrdone().
static void cancel_refresh | ( | dns_zone_t * | zone | ) | [static] |
Definition at line 12419 of file zone.c.
References DNS_ZONE_CLRFLAG, DNS_ZONE_VALID, DNS_ZONEFLG_REFRESH, ENTER, LOCKED_ZONE, now, REQUIRE, TIME_NOW, and zone_settimer().
Referenced by ns_query(), queue_soa_query(), and soa_query().
static void zone_debuglog | ( | dns_zone_t * | zone, | |
const char * | me, | |||
int | debuglevel, | |||
const char * | msg, | |||
... | ||||
) | [static] |
Definition at line 13190 of file zone.c.
References dns_lctx, DNS_LOGCATEGORY_GENERAL, DNS_LOGMODULE_ZONE, dns_zone_key, dns_zone_redirect, ISC_FALSE, ISC_LOG_DEBUG, isc_log_wouldlog(), and isc_log_write().
Referenced by ns_query(), refresh_callback(), soa_query(), stub_callback(), zone_settimer(), and zone_shutdown().
static void notify_log | ( | dns_zone_t * | zone, | |
int | level, | |||
const char * | fmt, | |||
... | ||||
) | [static] |
Definition at line 13140 of file zone.c.
References dns_lctx, DNS_LOGCATEGORY_NOTIFY, DNS_LOGMODULE_ZONE, ISC_FALSE, isc_log_wouldlog(), and isc_log_write().
Referenced by notify_done(), notify_send_toaddr(), ns_notify_start(), and zone_notify().
static void queue_xfrin | ( | dns_zone_t * | zone | ) | [static] |
Definition at line 14919 of file zone.c.
References DNS_LOGCATEGORY_XFER_IN, dns_zone_logc(), ENTER, INSIST, ISC_LIST_APPEND, ISC_LOG_ERROR, ISC_LOG_INFO, ISC_R_QUOTA, ISC_R_SUCCESS, isc_result_totext(), isc_rwlocktype_write, LOCK_ZONE, dns_zonemgr::rwlock, RWLOCK, RWUNLOCK, UNLOCK_ZONE, dns_zonemgr::waiting_for_xfrin, and zmgr_start_xfrin_ifquota().
Referenced by refresh_callback().
static isc_result_t update_one_rr | ( | dns_db_t * | db, | |
dns_dbversion_t * | ver, | |||
dns_diff_t * | diff, | |||
dns_diffop_t | op, | |||
dns_name_t * | name, | |||
dns_ttl_t | ttl, | |||
dns_rdata_t * | rdata | |||
) | [static] |
Definition at line 3825 of file zone.c.
References dns_difftuple_create(), do_one_tuple(), ISC_R_SUCCESS, and dns_diff::mctx.
static void zone_unload | ( | dns_zone_t * | zone | ) | [static] |
Definition at line 10062 of file zone.c.
References dns_dumpctx_cancel(), DNS_ZONE_CLRFLAG, DNS_ZONE_FLAG, DNS_ZONEFLG_DUMPING, DNS_ZONEFLG_FLUSH, DNS_ZONEFLG_LOADED, DNS_ZONEFLG_NEEDDUMP, isc_rwlocktype_write, LOCKED_ZONE, REQUIRE, zone_detachdb(), ZONEDB_LOCK, ZONEDB_UNLOCK, and zonemgr_cancelio().
Referenced by dns_zone_unload(), zone_expire(), and zone_xfrdone().
static void zone_expire | ( | dns_zone_t * | zone | ) | [static] |
Definition at line 9607 of file zone.c.
References DNS_ZONE_CLRFLAG, DNS_ZONE_DEFAULTREFRESH, DNS_ZONE_DEFAULTRETRY, dns_zone_log(), DNS_ZONE_SETFLAG, DNS_ZONEFLG_EXPIRED, DNS_ZONEFLG_HAVETIMERS, ISC_LOG_WARNING, LOCKED_ZONE, REQUIRE, and zone_unload().
Referenced by dns_zone_expire(), and zone_maintenance().
static void zone_iattach | ( | dns_zone_t * | source, | |
dns_zone_t ** | target | |||
) | [static] |
Definition at line 5059 of file zone.c.
References DNS_ZONE_VALID, INSIST, isc_refcount_current, LOCKED_ZONE, and REQUIRE.
Referenced by dns_zone_asyncload(), dns_zone_iattach(), dns_zone_link(), notify_send(), ns_query(), queue_soa_query(), soa_query(), zone_dump(), zone_notify(), zone_send_securedb(), zone_send_secureserial(), and zone_startload().
static void zone_idetach | ( | dns_zone_t ** | zonep | ) | [static] |
Definition at line 5074 of file zone.c.
References DNS_ZONE_VALID, INSIST, isc_refcount_current, LOCKED_ZONE, and REQUIRE.
Referenced by notify_destroy(), ns_query(), queue_soa_query(), soa_query(), zone_dump(), zone_loaddone(), and zone_startload().
static isc_result_t zone_replacedb | ( | dns_zone_t * | zone, | |
dns_db_t * | db, | |||
isc_boolean_t | dump | |||
) | [static] |
Definition at line 14311 of file zone.c.
References check_nsec3param(), dns_db_closeversion(), dns_db_currentversion(), dns_db_diff(), dns_db_getsoaserial(), dns_db_rpz_ready(), dns_db_settask(), DNS_DUMP_DELAY, dns_journal_compact(), dns_lctx, DNS_LOGCATEGORY_GENERAL, DNS_LOGMODULE_ZONE, DNS_R_BADZONE, dns_result_totext(), DNS_ZONE_FLAG, dns_zone_key, dns_zone_log(), dns_zone_master, DNS_ZONE_OPTION, dns_zone_redirect, DNS_ZONE_SETFLAG, dns_zone_slave, DNS_ZONE_VALID, DNS_ZONEFLG_FORCEXFER, DNS_ZONEFLG_LOADED, DNS_ZONEFLG_NEEDNOTIFY, DNS_ZONEFLG_NODELAY, DNS_ZONEOPT_IXFRFROMDIFFS, inline_raw(), isc__strerror(), ISC_FALSE, ISC_LOG_DEBUG, ISC_LOG_ERROR, ISC_LOG_WARNING, isc_log_write(), ISC_R_NOSPACE, ISC_R_NOTFOUND, ISC_R_RANGE, ISC_R_SUCCESS, isc_serial_gt(), ISC_STRERRORSIZE, LOCKED_ZONE, REQUIRE, RUNTIME_CHECK, zone_attachdb(), zone_detachdb(), zone_get_from_db(), zone_needdump(), zone_send_securedb(), and zone_send_secureserial().
Referenced by dns_zone_replacedb(), and zone_postload().
static void zone_attachdb | ( | dns_zone_t * | zone, | |
dns_db_t * | db | |||
) | [inline, static] |
Definition at line 14500 of file zone.c.
References dns_acache_setdb(), dns_db_attach(), ISC_R_EXISTS, ISC_R_SUCCESS, isc_result_totext(), REQUIRE, and UNEXPECTED_ERROR.
Referenced by stub_callback(), zone_load(), zone_postload(), and zone_replacedb().
static void zone_detachdb | ( | dns_zone_t * | zone | ) | [inline, static] |
Definition at line 14517 of file zone.c.
References dns_acache_putdb(), dns_db_detach(), and REQUIRE.
Referenced by zone_free(), zone_load(), zone_replacedb(), and zone_unload().
static isc_result_t default_journal | ( | dns_zone_t * | zone | ) | [static] |
Definition at line 1622 of file zone.c.
References dns_zone_setstring(), DNS_ZONE_VALID, isc_mem_allocate, isc_mem_free, ISC_R_NOMEMORY, journal, LOCKED_ZONE, and REQUIRE.
Referenced by dns_zone_setfile3().
static void zone_xfrdone | ( | dns_zone_t * | zone, | |
isc_result_t | result | |||
) | [static] |
Definition at line 14526 of file zone.c.
References DNS_DUMP_DELAY, dns_journal_compact(), DNS_MAX_EXPIRE, dns_name_format(), DNS_NAME_FORMATSIZE, DNS_R_BADIXFR, DNS_R_UPTODATE, dns_result_totext(), dns_tsigkey_detach(), dns_xfrin_detach(), DNS_ZONE_CLRFLAG, DNS_ZONE_DEFAULTREFRESH, DNS_ZONE_DEFAULTRETRY, DNS_ZONE_FLAG, DNS_ZONE_JITTER_ADD, dns_zone_log(), DNS_ZONE_OPTION, DNS_ZONE_SETFLAG, DNS_ZONE_TIME_ADD, DNS_ZONE_VALID, DNS_ZONEFLAG_NOIXFR, DNS_ZONEFLG_EXITING, DNS_ZONEFLG_FORCEXFER, DNS_ZONEFLG_HAVETIMERS, DNS_ZONEFLG_NEEDCOMPACT, DNS_ZONEFLG_NEEDNOTIFY, DNS_ZONEFLG_NEEDREFRESH, DNS_ZONEFLG_NODELAY, DNS_ZONEFLG_REFRESH, DNS_ZONEFLG_SOABEFOREAXFR, DNS_ZONEFLG_USEALTXFRSRC, DNS_ZONEOPT_USEALTXFRSRC, dns_zonestatscounter_xfrfail, dns_zonestatscounter_xfrsuccess, exit_check(), inc_stats(), inline_raw(), INSIST, ISC_FALSE, isc_file_settime(), ISC_LIST_UNLINK, ISC_LOG_DEBUG, ISC_LOG_ERROR, ISC_LOG_INFO, ISC_R_FAILURE, ISC_R_FILENOTFOUND, ISC_R_NOSPACE, ISC_R_NOTFOUND, ISC_R_SUCCESS, isc_rwlocktype_read, isc_rwlocktype_write, isc_thread_yield, ISC_TRUE, LOCK_ZONE, namebuf, next_master(), now, queue_soa_query(), RANGE, REQUIRE, RWLOCK, RWUNLOCK, secure(), TIME_NOW, TRYLOCK_ZONE, UNLOCK_ZONE, zmgr_resume_xfrs(), zone_free(), zone_get_from_db(), zone_needdump(), zone_send_secureserial(), zone_settimer(), zone_unload(), ZONEDB_LOCK, and ZONEDB_UNLOCK.
Referenced by got_transfer_quota().
static isc_result_t zone_postload | ( | dns_zone_t * | zone, | |
dns_db_t * | db, | |||
isc_time_t | loadtime, | |||
isc_result_t | result | |||
) | [static] |
Definition at line 4186 of file zone.c.
References add_soa(), check_nsec3param(), cleanup(), dns_rdataset::covers, dns_db_getsigningtime(), dns_db_ispersistent(), dns_db_issecure(), dns_db_nodecount(), dns_db_ondestroy(), dns_db_rpz_ready(), DNS_DUMP_DELAY, DNS_EVENT_DBDESTROYED, dns_fixedname_init, dns_fixedname_name, dns_journal_destroy(), dns_journal_last_serial(), dns_journal_open(), DNS_JOURNAL_READ, dns_journal_rollforward(), DNS_JOURNALOPT_RESIGN, dns_lctx, DNS_LOGCATEGORY_GENERAL, DNS_LOGMODULE_ZONE, DNS_MAX_EXPIRE, dns_name_format(), DNS_NAME_FORMATSIZE, DNS_R_BADZONE, DNS_R_NOJOURNAL, DNS_R_NOMASTERFILE, DNS_R_SEENINCLUDE, DNS_R_UPTODATE, dns_rdataset_disassociate(), dns_rdataset_init(), dns_rdatatype_format(), DNS_RDATATYPE_FORMATSIZE, dns_result_totext(), DNS_ZONE_CLRFLAG, dns_zone_dlz, DNS_ZONE_FLAG, dns_zone_isdynamic(), dns_zone_key, dns_zone_log(), dns_zone_master, DNS_ZONE_OPTION, dns_zone_redirect, DNS_ZONE_SETFLAG, dns_zone_slave, dns_zone_stub, DNS_ZONE_TIME_ADD, DNS_ZONEFLG_HASINCLUDE, DNS_ZONEFLG_HAVETIMERS, DNS_ZONEFLG_LOADED, DNS_ZONEFLG_LOADPENDING, DNS_ZONEFLG_NEEDSTARTUPNOTIFY, DNS_ZONEFLG_SENDSECURE, DNS_ZONEKEY_MAINTAIN, DNS_ZONEKEY_NORESIGN, DNS_ZONEKEY_OPTION, DNS_ZONEOPT_CHECKDUPRR, DNS_ZONEOPT_CHECKINTEGRITY, DNS_ZONEOPT_IXFRFROMDIFFS, DNS_ZONEOPT_NOMERGE, fixed, inline_raw(), inline_secure(), INSIST, integrity_checks(), isc__strerror(), isc_event_allocate(), ISC_FALSE, isc_file_getmodtime(), ISC_LIST_APPEND, ISC_LIST_HEAD, ISC_LIST_UNLINK, ISC_LOG_DEBUG, ISC_LOG_ERROR, ISC_LOG_INFO, ISC_LOG_WARNING, isc_log_write(), isc_mem_free, isc_mem_put, ISC_R_FILENOTFOUND, ISC_R_NOTFOUND, ISC_R_RANGE, ISC_R_SUCCESS, ISC_R_UNEXPECTED, isc_random_jitter(), isc_rwlocktype_write, isc_serial_ge(), isc_serial_gt(), isc_stdtime_get(), ISC_STRERRORSIZE, isc_time_compare(), ISC_TRUE, journal, LOCKED_ZONE, maybe_send_secure(), dns_db::mctx, namebuf, now, RANGE, dns_rdataset::resign, resume_addnsec3chain(), resume_signingwithkey(), RUNTIME_CHECK, set_resigntime(), sync_keyzone(), TIME_NOW, UNEXPECTED_ERROR, zone_attachdb(), zone_check_dnskeys(), zone_check_dup(), zone_get_from_db(), zone_needdump(), zone_replacedb(), zone_saveunique(), zone_send_securedb(), zone_send_secureserial(), zone_settimer(), zone_unchanged(), ZONEDB_LOCK, and ZONEDB_UNLOCK.
Referenced by receive_secure_db(), zone_load(), and zone_loaddone().
static void zone_needdump | ( | dns_zone_t * | zone, | |
unsigned int | delay | |||
) | [static] |
Definition at line 9722 of file zone.c.
References DNS_ZONE_FLAG, DNS_ZONE_JITTER_ADD, DNS_ZONE_SETFLAG, DNS_ZONE_VALID, DNS_ZONEFLG_LOADED, DNS_ZONEFLG_NEEDDUMP, ENTER, isc_time_compare(), isc_time_isepoch(), LOCKED_ZONE, now, REQUIRE, TIME_NOW, and zone_settimer().
Referenced by dns_zone_markdirty(), dump_done(), keydone(), keyfetch_done(), receive_secure_db(), receive_secure_serial(), setmodtime(), stub_callback(), sync_keyzone(), zone_dump(), zone_nsec3chain(), zone_postload(), zone_refreshkeys(), zone_replacedb(), zone_resigninc(), zone_sign(), and zone_xfrdone().
static void zone_shutdown | ( | isc_task_t * | task, | |
isc_event_t * | event | |||
) | [static] |
Definition at line 12157 of file zone.c.
References dns_dumpctx_cancel(), DNS_EVENT_ZONECONTROL, dns_loadctx_cancel(), dns_request_cancel(), dns_view_weakdetach(), dns_xfrin_shutdown(), dns_zone_detach(), DNS_ZONE_FLAG, dns_zone_idetach(), DNS_ZONE_SETFLAG, DNS_ZONE_VALID, DNS_ZONEFLG_DUMPING, DNS_ZONEFLG_EXITING, DNS_ZONEFLG_FLUSH, DNS_ZONEFLG_SHUTDOWN, dns_zonemgr_releasezone(), exit_check(), forward_cancel(), inline_raw(), inline_secure(), INSIST, ISC_FALSE, ISC_LIST_UNLINK, isc_refcount_current, isc_rwlocktype_write, isc_timer_detach(), ISC_TRUE, LOCK_ZONE, notify_cancel(), REQUIRE, RWLOCK, RWUNLOCK, secure(), UNLOCK_ZONE, UNUSED, zmgr_resume_xfrs(), zone_debuglog(), zone_free(), and zonemgr_cancelio().
Referenced by dns_zone_create().
static void zone_loaddone | ( | void * | arg, | |
isc_result_t | result | |||
) | [static] |
Definition at line 14795 of file zone.c.
References dns_load::callbacks, dns_load::db, dns_db_detach(), dns_db_endload(), DNS_LOAD_VALID, dns_loadctx_detach(), DNS_R_SEENINCLUDE, DNS_ZONE_CLRFLAG, DNS_ZONE_FLAG, dns_zone_idetach(), DNS_ZONEFLG_LOADING, DNS_ZONEFLG_THAW, ENTER, inline_raw(), inline_secure(), INSIST, ISC_FALSE, isc_mem_putanddetach, ISC_R_SUCCESS, isc_thread_yield, load(), dns_load::loadtime, LOCK_ZONE, dns_load::magic, dns_load::mctx, REQUIRE, secure(), TRYLOCK_ZONE, UNLOCK_ZONE, dns_rdatacallbacks::zone, dns_load::zone, zone_idetach(), zone_postload(), and zonemgr_putio().
Referenced by zone_gotreadhandle().
static isc_result_t zone_startload | ( | dns_db_t * | db, | |
dns_zone_t * | zone, | |||
isc_time_t | loadtime | |||
) | [static] |
Definition at line 2337 of file zone.c.
References callbacks, dns_load::callbacks, cleanup(), dns_load::db, dns_db_attach(), dns_db_beginload(), dns_db_detach(), dns_db_endload(), dns_master_loadfile5(), DNS_MASTER_MANYERRORS, DNS_R_CONTINUE, dns_rdatacallbacks_init(), DNS_ZONE_OPTION, dns_zone_rpz_enable_db(), DNS_ZONEOPT_MANYERRORS, get_master_options(), isc_mem_attach(), isc_mem_detach(), isc_mem_get, isc_mem_put, ISC_R_NOMEMORY, ISC_R_SUCCESS, ISC_TRUE, load(), LOAD_MAGIC, dns_load::loadtime, dns_load::magic, dns_load::mctx, dns_rdatacallbacks::rawdata, dns_rdatacallbacks::zone, dns_load::zone, zone_gotreadhandle(), zone_iattach(), zone_idetach(), zone_registerinclude(), zone_setrawdata(), and zonemgr_getio().
Referenced by zone_load().
static void zone_namerd_tostr | ( | dns_zone_t * | zone, | |
char * | buf, | |||
size_t | length | |||
) | [static] |
Definition at line 13033 of file zone.c.
References buffer, dns_name_dynamic(), dns_name_totext(), dns_rdataclass_totext(), dns_zone_key, dns_zone_redirect, inline_raw(), inline_secure(), isc_buffer_availablelength, isc_buffer_init, isc_buffer_putstr, isc_buffer_usedlength, ISC_R_FAILURE, ISC_R_SUCCESS, ISC_TRUE, and REQUIRE.
Referenced by dns_zone_name(), dns_zone_setclass(), dns_zone_setorigin(), dns_zone_settype(), and dns_zone_setview().
static void zone_name_tostr | ( | dns_zone_t * | zone, | |
char * | buf, | |||
size_t | length | |||
) | [static] |
Definition at line 13071 of file zone.c.
References buffer, dns_name_dynamic(), dns_name_totext(), isc_buffer_availablelength, isc_buffer_init, isc_buffer_putstr, isc_buffer_usedlength, ISC_R_FAILURE, ISC_R_SUCCESS, ISC_TRUE, and REQUIRE.
Referenced by dns_zone_setorigin().
static void zone_rdclass_tostr | ( | dns_zone_t * | zone, | |
char * | buf, | |||
size_t | length | |||
) | [static] |
Definition at line 13092 of file zone.c.
References buffer, dns_rdataclass_totext(), isc_buffer_init, isc_buffer_usedlength, and REQUIRE.
Referenced by dns_zone_setclass().
static void zone_viewname_tostr | ( | dns_zone_t * | zone, | |
char * | buf, | |||
size_t | length | |||
) | [static] |
Definition at line 13108 of file zone.c.
References buffer, isc_buffer_availablelength, isc_buffer_init, isc_buffer_putstr, isc_buffer_usedlength, and REQUIRE.
Referenced by dns_zone_setview().
static isc_result_t zone_send_secureserial | ( | dns_zone_t * | zone, | |
isc_uint32_t | serial | |||
) | [static] |
Definition at line 13807 of file zone.c.
References DNS_EVENT_ZONESECURESERIAL, DNS_ZONE_CLRFLAG, DNS_ZONEFLG_SENDSECURE, dummy, secure_event::e, INSIST, isc_event_allocate(), ISC_R_NOMEMORY, ISC_R_SUCCESS, isc_task_send(), LOCKED_ZONE, receive_secure_serial(), and zone_iattach().
Referenced by dns_zone_markdirty(), maybe_send_secure(), zone_postload(), zone_replacedb(), and zone_xfrdone().
static void refresh_callback | ( | isc_task_t * | task, | |
isc_event_t * | event | |||
) | [static] |
Definition at line 11208 of file zone.c.
References detach(), dns_message_create(), dns_message_destroy(), dns_message_findname(), DNS_MESSAGE_INTENTPARSE, DNS_MESSAGEFLAG_AA, DNS_MESSAGEFLAG_TC, dns_rcode_badvers, dns_rcode_formerr, dns_rcode_noerror, dns_rcode_notimp, dns_rcode_refused, dns_rcode_servfail, dns_rcode_totext(), DNS_RDATA_INIT, dns_rdata_tostruct(), dns_rdataset_current(), dns_rdataset_first(), dns_request_destroy(), dns_request_getresponse(), dns_request_usedtcp(), dns_result_totext(), DNS_SECTION_ANSWER, DNS_SECTION_AUTHORITY, DNS_ZONE_CLRFLAG, DNS_ZONE_FLAG, dns_zone_idetach(), DNS_ZONE_JITTER_ADD, dns_zone_log(), DNS_ZONE_OPTION, dns_zone_redirect, DNS_ZONE_SETFLAG, dns_zone_slave, dns_zone_stub, DNS_ZONE_TIME_ADD, DNS_ZONE_VALID, DNS_ZONEFLG_EXITING, DNS_ZONEFLG_FORCEXFER, DNS_ZONEFLG_LOADED, DNS_ZONEFLG_NEEDREFRESH, DNS_ZONEFLG_NOEDNS, DNS_ZONEFLG_REFRESH, DNS_ZONEFLG_SOABEFOREAXFR, DNS_ZONEFLG_USEALTXFRSRC, DNS_ZONEFLG_USEVC, dns_zonemgr_unreachable(), DNS_ZONEOPT_MULTIMASTER, DNS_ZONEOPT_TRYTCPREFRESH, DNS_ZONEOPT_USEALTXFRSRC, ENTER, dns_message::flags, get_edns_expire(), INSIST, isc_buffer_init, isc_event_free(), ISC_FALSE, ISC_LOG_DEBUG, ISC_LOG_INFO, ISC_R_SUCCESS, ISC_R_TIMEDOUT, isc_serial_eq(), isc_serial_gt(), isc_sockaddr_format(), ISC_SOCKADDR_FORMATSIZE, isc_time_compare(), ISC_TRUE, LOCK_ZONE, master, message_count(), next_master(), now, ns_query(), queue_soa_query(), queue_xfrin(), dns_message::rcode, dns_requestevent::request, dns_requestevent::result, RUNTIME_CHECK, setmodtime(), TIME_NOW, UNLOCK_ZONE, UNUSED, isc_buffer::used, zone_debuglog(), zone_get_from_db(), and zone_settimer().
Referenced by soa_query().
static void stub_callback | ( | isc_task_t * | task, | |
isc_event_t * | event | |||
) | [static] |
Definition at line 10862 of file zone.c.
References dns_stub::db, dns_db_closeversion(), dns_db_detach(), DNS_MAX_EXPIRE, dns_message_create(), dns_message_destroy(), DNS_MESSAGE_INTENTPARSE, DNS_MESSAGEFLAG_AA, DNS_MESSAGEFLAG_TC, dns_rcode_formerr, dns_rcode_noerror, dns_rcode_notimp, dns_rcode_servfail, dns_rcode_totext(), dns_request_destroy(), dns_request_getresponse(), dns_request_usedtcp(), dns_result_totext(), DNS_SECTION_ANSWER, DNS_STUB_VALID, DNS_ZONE_CLRFLAG, DNS_ZONE_FLAG, dns_zone_idetach(), DNS_ZONE_JITTER_ADD, dns_zone_log(), DNS_ZONE_OPTION, DNS_ZONE_SETFLAG, DNS_ZONE_TIME_ADD, DNS_ZONEFLG_EXITING, DNS_ZONEFLG_HAVETIMERS, DNS_ZONEFLG_LOADED, DNS_ZONEFLG_NOEDNS, DNS_ZONEFLG_REFRESH, DNS_ZONEFLG_USEALTXFRSRC, DNS_ZONEFLG_USEVC, dns_zonemgr_unreachableadd(), DNS_ZONEOPT_USEALTXFRSRC, ENTER, dns_message::flags, INSIST, isc_buffer_init, isc_event_free(), ISC_FALSE, isc_interval_set(), ISC_LOG_DEBUG, ISC_LOG_INFO, isc_mem_put, ISC_R_SUCCESS, ISC_R_TIMEDOUT, isc_rwlocktype_write, isc_sockaddr_format(), ISC_SOCKADDR_FORMATSIZE, ISC_TRUE, LOCK_ZONE, dns_stub::magic, master, dns_stub::mctx, message_count(), next_master(), now, ns_query(), queue_soa_query(), RANGE, dns_message::rcode, dns_requestevent::request, dns_requestevent::result, save_nsrrset(), TIME_NOW, UNLOCK_ZONE, UNUSED, isc_buffer::used, dns_stub::version, dns_stub::zone, zone_attachdb(), zone_debuglog(), zone_get_from_db(), zone_needdump(), zone_settimer(), ZONEDB_LOCK, and ZONEDB_UNLOCK.
Referenced by ns_query().
static void queue_soa_query | ( | dns_zone_t * | zone | ) | [static] |
Definition at line 11602 of file zone.c.
References cancel_refresh(), DNS_EVENT_ZONE, DNS_ZONE_FLAG, DNS_ZONEFLG_EXITING, dummy, ENTER, isc_event_allocate(), isc_event_free(), ISC_R_SUCCESS, isc_ratelimiter_enqueue(), LOCKED_ZONE, REQUIRE, soa_query(), zone_iattach(), and zone_idetach().
Referenced by dns_zone_refresh(), refresh_callback(), stub_callback(), and zone_xfrdone().
static void soa_query | ( | isc_task_t * | task, | |
isc_event_t * | event | |||
) | [static] |
Definition at line 11723 of file zone.c.
References add_opt(), cancel_refresh(), cleanup(), create_query(), dns_message_destroy(), dns_name_format(), DNS_NAME_FORMATSIZE, dns_peer_getforcetcp(), dns_peer_getrequestexpire(), dns_peer_getrequestnsid(), dns_peer_getsupportedns(), dns_peer_gettransferdscp(), dns_peer_gettransfersource(), dns_peer_getudpsize(), dns_peerlist_peerbyaddr(), dns_request_createvia4(), DNS_REQUESTOPT_TCP, dns_resolver_getudpsize(), dns_result_totext(), dns_tsigkey_detach(), dns_view_getpeertsig(), dns_view_gettsig(), DNS_ZONE_CLRFLAG, DNS_ZONE_FLAG, dns_zone_getview(), dns_zone_idetach(), dns_zone_log(), DNS_ZONE_SETFLAG, DNS_ZONE_VALID, DNS_ZONEFLG_DIALREFRESH, DNS_ZONEFLG_EXITING, DNS_ZONEFLG_NOEDNS, DNS_ZONEFLG_REFRESH, DNS_ZONEFLG_USEALTXFRSRC, DNS_ZONEFLG_USEVC, dns_zonestatscounter_soaoutv4, dns_zonestatscounter_soaoutv6, dns_notify::dscp, dummy, ENTER, inc_stats(), INSIST, isc_event_free(), ISC_EVENTATTR_CANCELED, ISC_FALSE, ISC_LOG_ERROR, isc_netaddr_format(), ISC_NETADDR_FORMATSIZE, isc_netaddr_fromsockaddr(), ISC_R_FAILURE, ISC_R_NOTFOUND, ISC_R_NOTIMPLEMENTED, ISC_R_SUCCESS, isc_sockaddr_equal(), isc_sockaddr_pf(), ISC_TRUE, dns_notify::key, LOCK_ZONE, namebuf, PF_INET6, refresh_callback(), REQUIRE, SEND_BUFFER_SIZE, timeout, UNLOCK_ZONE, UNUSED, zone_debuglog(), zone_iattach(), and zone_idetach().
Referenced by queue_soa_query().
static void ns_query | ( | dns_zone_t * | zone, | |
dns_rdataset_t * | soardataset, | |||
dns_stub_t * | stub | |||
) | [static] |
Definition at line 11922 of file zone.c.
References add_opt(), cancel_refresh(), cleanup(), create_query(), dns_stub::db, dns_db_addrdataset(), dns_db_attach(), dns_db_closeversion(), dns_db_create(), dns_db_detach(), dns_db_detachnode(), dns_db_findnode(), dns_db_newversion(), dns_db_settask(), dns_dbtype_stub, dns_message_destroy(), dns_name_format(), DNS_NAME_FORMATSIZE, dns_peer_getrequestnsid(), dns_peer_getsupportedns(), dns_peer_gettransferdscp(), dns_peer_gettransfersource(), dns_peer_getudpsize(), dns_peerlist_peerbyaddr(), dns_request_createvia4(), DNS_REQUESTOPT_TCP, dns_resolver_getudpsize(), dns_result_totext(), DNS_STUB_VALID, dns_tsigkey_detach(), dns_view_getpeertsig(), dns_view_gettsig(), DNS_ZONE_FLAG, dns_zone_getview(), dns_zone_log(), DNS_ZONE_SETFLAG, DNS_ZONE_VALID, DNS_ZONEFLG_DIALREFRESH, DNS_ZONEFLG_NOEDNS, DNS_ZONEFLG_USEALTXFRSRC, dns_notify::dscp, ENTER, INSIST, ISC_FALSE, ISC_LOG_ERROR, ISC_LOG_INFO, isc_mem_get, isc_mem_put, isc_netaddr_fromsockaddr(), ISC_R_NOTIMPLEMENTED, ISC_R_SUCCESS, isc_rwlocktype_read, isc_sockaddr_pf(), ISC_TRUE, dns_notify::key, LOCKED_ZONE, dns_stub::magic, dns_stub::mctx, namebuf, dns_db::origin, PF_INET6, POST, REQUIRE, SEND_BUFFER_SIZE, stub_callback(), STUB_MAGIC, timeout, dns_stub::version, dns_stub::zone, zone_debuglog(), zone_iattach(), zone_idetach(), ZONEDB_LOCK, and ZONEDB_UNLOCK.
Referenced by refresh_callback(), and stub_callback().
static int message_count | ( | dns_message_t * | msg, | |
dns_section_t | section, | |||
dns_rdatatype_t | type | |||
) | [static] |
Definition at line 13222 of file zone.c.
References dns_message_currentname(), dns_message_firstname(), dns_message_nextname(), ISC_LIST_PREV, ISC_LIST_TAIL, ISC_R_SUCCESS, and dns_rdataset::type.
Referenced by refresh_callback(), and stub_callback().
static void notify_cancel | ( | dns_zone_t * | zone | ) | [static] |
Definition at line 10024 of file zone.c.
References dns_adb_cancelfind(), dns_request_cancel(), dns_notify::find, ISC_LIST_HEAD, ISC_LIST_NEXT, LOCKED_ZONE, notify(), dns_notify::request, and REQUIRE.
Referenced by zone_shutdown().
static void notify_find_address | ( | dns_notify_t * | notify | ) | [static] |
Definition at line 10294 of file zone.c.
References destroy(), dns_adb_createfind(), DNS_ADBFIND_INET, DNS_ADBFIND_INET6, DNS_ADBFIND_RETURNLAME, DNS_ADBFIND_WANTEVENT, DNS_NOTIFY_VALID, dns_rootname, dns_notify::find, ISC_FALSE, ISC_R_SUCCESS, LOCK_ZONE, notify_destroy(), notify_send(), dns_notify::ns, dns_adbfind::options, process_adb_event(), REQUIRE, UNLOCK_ZONE, and dns_notify::zone.
Referenced by process_adb_event(), and zone_notify().
static void notify_send | ( | dns_notify_t * | notify | ) | [static] |
Definition at line 10495 of file zone.c.
References cleanup(), DNS_NOTIFY_NOSOA, DNS_NOTIFY_STARTUP, DNS_NOTIFY_VALID, dns_notify::dst, dns_notify::find, dns_notify::flags, ISC_LIST_APPEND, ISC_LIST_HEAD, ISC_LIST_NEXT, ISC_R_SUCCESS, ISC_TF, ISC_TRUE, dns_adbfind::list, LOCKED_ZONE, dns_notify::mctx, notify_create(), notify_destroy(), notify_isqueued(), notify_isself(), notify_send_queue(), REQUIRE, dns_adbaddrinfo::sockaddr, dns_notify::zone, and zone_iattach().
Referenced by notify_find_address(), and process_adb_event().
static isc_result_t notify_createmessage | ( | dns_zone_t * | zone, | |
unsigned int | flags, | |||
dns_message_t ** | messagep | |||
) | [static] |
Definition at line 12438 of file zone.c.
References isc_region::base, cleanup(), dns_db_attach(), dns_db_closeversion(), dns_db_currentversion(), dns_db_detach(), dns_db_detachnode(), dns_db_findnode(), dns_db_findrdataset(), dns_message_addname(), dns_message_create(), dns_message_destroy(), dns_message_gettempname(), dns_message_gettemprdata(), dns_message_gettemprdatalist(), dns_message_gettemprdataset(), DNS_MESSAGE_INTENTRENDER, dns_message_puttempname(), dns_message_puttemprdata(), dns_message_puttemprdatalist(), dns_message_puttemprdataset(), dns_message_takebuffer(), DNS_MESSAGEFLAG_AA, dns_name_clone(), dns_name_init(), DNS_NOTIFY_NOSOA, dns_opcode_notify, dns_rdata_fromregion(), dns_rdata_init(), DNS_RDATA_INIT, dns_rdata_toregion(), dns_rdatalist_tordataset(), dns_rdataset_current(), dns_rdataset_disassociate(), dns_rdataset_first(), dns_rdataset_init(), dns_rdataset_makequestion(), dns_rdataset_next(), DNS_SECTION_ANSWER, DNS_SECTION_QUESTION, DNS_ZONE_VALID, dns_message::flags, INSIST, isc_buffer_allocate(), isc_buffer_putmem, isc_buffer_usedregion, ISC_FALSE, ISC_LIST_APPEND, ISC_R_NOMORE, ISC_R_SUCCESS, isc_rwlocktype_read, isc_region::length, dns_message::opcode, r, dns_rdatalist::rdclass, dns_rdata::rdclass, dns_rdataset::rdclass, dns_message::rdclass, REQUIRE, tempname, dns_rdataset::ttl, dns_rdatalist::ttl, dns_rdatalist::type, dns_rdata::type, version, ZONEDB_LOCK, and ZONEDB_UNLOCK.
Referenced by notify_send_toaddr().
static void notify_done | ( | isc_task_t * | task, | |
isc_event_t * | event | |||
) | [static] |
Definition at line 13338 of file zone.c.
References dns_message_create(), dns_message_destroy(), DNS_MESSAGE_INTENTPARSE, DNS_MESSAGEPARSE_PRESERVEORDER, DNS_NOTIFY_NOSOA, DNS_NOTIFY_STARTUP, DNS_NOTIFY_VALID, dns_rcode_formerr, dns_rcode_totext(), dns_request_destroy(), dns_request_getresponse(), dns_result_totext(), dns_notify::dst, dns_notify::flags, INSIST, isc_buffer_init, isc_event_free(), ISC_FALSE, ISC_LOG_DEBUG, ISC_R_SUCCESS, ISC_R_TIMEDOUT, isc_sockaddr_format(), ISC_SOCKADDR_FORMATSIZE, ISC_TF, notify(), notify_destroy(), notify_log(), notify_send_queue(), dns_message::rcode, dns_notify::request, dns_requestevent::request, REQUIRE, dns_requestevent::result, UNUSED, isc_buffer::used, and dns_notify::zone.
Referenced by notify_send_toaddr().
static void notify_send_toaddr | ( | isc_task_t * | task, | |
isc_event_t * | event | |||
) | [static] |
Definition at line 10357 of file zone.c.
References cleanup(), DNS_FETCHOPT_TCP, dns_message_destroy(), DNS_NOTIFY_VALID, dns_peer_getforcetcp(), dns_peer_getnotifydscp(), dns_peer_getnotifysource(), dns_peerlist_peerbyaddr(), dns_request_createvia4(), dns_tsigkey_detach(), dns_view_getpeertsig(), DNS_ZONE_FLAG, DNS_ZONEFLG_DIALNOTIFY, DNS_ZONEFLG_EXITING, DNS_ZONEFLG_LOADED, dns_zonestatscounter_notifyoutv4, dns_zonestatscounter_notifyoutv6, dns_notify::dscp, dns_notify::dst, dns_notify::flags, IN6_IS_ADDR_V4MAPPED, inc_stats(), isc_event_free(), ISC_EVENTATTR_CANCELED, ISC_FALSE, ISC_LOG_DEBUG, ISC_LOG_ERROR, isc_netaddr_fromsockaddr(), ISC_R_CANCELED, ISC_R_NOTFOUND, ISC_R_NOTIMPLEMENTED, ISC_R_SUCCESS, isc_sockaddr_format(), ISC_SOCKADDR_FORMATSIZE, isc_sockaddr_pf(), ISC_TRUE, dns_notify::key, LOCK_ZONE, notify(), notify_createmessage(), notify_destroy(), notify_done(), notify_log(), PF_INET6, dns_notify::request, REQUIRE, isc_sockaddr::sin6, sockaddr_in6::sin6_addr, timeout, isc_sockaddr::type, UNLOCK_ZONE, UNUSED, and dns_notify::zone.
Referenced by notify_send_queue().
static isc_result_t zone_dump | ( | dns_zone_t * | zone, | |
isc_boolean_t | compact | |||
) | [static] |
Definition at line 9854 of file zone.c.
References dns_db_attach(), dns_db_closeversion(), dns_db_currentversion(), dns_db_detach(), DNS_DUMP_DELAY, dns_master_dump3(), dns_master_initrawheader(), dns_master_style_default, dns_master_style_keyzone, dns_masterformat_none, DNS_R_CONTINUE, DNS_R_NOMASTERFILE, DNS_R_NOTLOADED, DNS_ZONE_CLRFLAG, DNS_ZONE_FLAG, dns_zone_key, DNS_ZONE_SETFLAG, dns_zone_stub, DNS_ZONE_VALID, DNS_ZONEFLG_DUMPING, DNS_ZONEFLG_FLUSH, DNS_ZONEFLG_LOADED, DNS_ZONEFLG_NEEDDUMP, dummy, ENTER, get_raw_serial(), inline_secure(), ISC_FALSE, isc_mem_free, isc_mem_strdup, ISC_R_SUCCESS, isc_rwlocktype_read, isc_time_settoepoch(), ISC_TRUE, LOCK_ZONE, REQUIRE, UNLOCK_ZONE, version, zone_gotwritehandle(), zone_iattach(), zone_idetach(), zone_needdump(), ZONEDB_LOCK, ZONEDB_UNLOCK, and zonemgr_getio().
Referenced by dns_zone_dump(), dns_zone_flush(), dump_done(), and zone_maintenance().
static void got_transfer_quota | ( | isc_task_t * | task, | |
isc_event_t * | event | |||
) | [static] |
Definition at line 14953 of file zone.c.
References cleanup(), dns_peer_getrequestixfr(), dns_peerlist_peerbyaddr(), dns_view_getpeertsig(), dns_view_gettsig(), dns_xfrin_create3(), DNS_ZONE_CLRFLAG, DNS_ZONE_FLAG, dns_zone_getview(), dns_zone_log(), DNS_ZONEFLAG_NOIXFR, DNS_ZONEFLG_EXITING, DNS_ZONEFLG_FORCEXFER, DNS_ZONEFLG_SOABEFOREAXFR, dns_zonemgr_unreachable(), dns_zonestatscounter_axfrreqv4, dns_zonestatscounter_axfrreqv6, dns_zonestatscounter_ixfrreqv4, dns_zonestatscounter_ixfrreqv6, dns_notify::dscp, inc_stats(), INSIST, isc_event_free(), ISC_FALSE, ISC_LOG_DEBUG, ISC_LOG_ERROR, ISC_LOG_INFO, isc_netaddr_fromsockaddr(), ISC_R_CANCELED, ISC_R_NOTFOUND, ISC_R_SUCCESS, isc_result_totext(), isc_rwlocktype_read, isc_sockaddr_format(), ISC_SOCKADDR_FORMATSIZE, isc_sockaddr_pf(), ISC_TF, ISC_TRUE, LOCK_ZONE, master, now, PF_INET6, TIME_NOW, UNLOCK_ZONE, UNUSED, zone_xfrdone(), ZONEDB_LOCK, and ZONEDB_UNLOCK.
Referenced by zmgr_start_xfrin_ifquota().
static isc_result_t zmgr_start_xfrin_ifquota | ( | dns_zonemgr_t * | zmgr, | |
dns_zone_t * | zone | |||
) | [static] |
Definition at line 15915 of file zone.c.
References DNS_EVENT_ZONESTARTXFRIN, dns_peer_gettransfers(), dns_peerlist_peerbyaddr(), DNS_ZONE_FLAG, dns_zone_log(), DNS_ZONEFLG_EXITING, secure_event::e, got_transfer_quota(), INSIST, isc_event_allocate(), ISC_LIST_APPEND, ISC_LIST_HEAD, ISC_LIST_NEXT, ISC_LIST_UNLINK, ISC_LOG_INFO, isc_netaddr_equal(), isc_netaddr_fromsockaddr(), ISC_R_NOMEMORY, ISC_R_QUOTA, ISC_R_SUCCESS, isc_task_send(), LOCK_ZONE, dns_zonemgr::mctx, dns_zonemgr::transfersin, dns_zonemgr::transfersperns, UNLOCK_ZONE, dns_zonemgr::waiting_for_xfrin, and dns_zonemgr::xfrin_in_progress.
Referenced by queue_xfrin(), and zmgr_resume_xfrs().
static void zmgr_resume_xfrs | ( | dns_zonemgr_t * | zmgr, | |
isc_boolean_t | multi | |||
) | [static] |
Definition at line 15866 of file zone.c.
References dns_zone_log(), ISC_LIST_HEAD, ISC_LIST_NEXT, ISC_LOG_DEBUG, ISC_R_QUOTA, ISC_R_SUCCESS, isc_result_totext(), dns_zonemgr::waiting_for_xfrin, and zmgr_start_xfrin_ifquota().
Referenced by dns_zonemgr_forcemaint(), dns_zonemgr_resumexfrs(), zone_shutdown(), and zone_xfrdone().
static void zonemgr_free | ( | dns_zonemgr_t * | zmgr | ) | [static] |
Definition at line 15809 of file zone.c.
References DESTROYLOCK, INSIST, dns_zonemgr::iolock, ISC_LIST_EMPTY, isc_mem_detach(), isc_mem_put, isc_ratelimiter_detach(), isc_rwlock_destroy(), dns_zonemgr::magic, dns_zonemgr::mctx, dns_notify::mctx, dns_zonemgr::notifyrl, dns_zonemgr::refreshrl, dns_zonemgr::refs, dns_zonemgr::rwlock, dns_zonemgr::startupnotifyrl, dns_zonemgr::startuprefreshrl, dns_zonemgr::urlock, and dns_zonemgr::zones.
Referenced by dns_zonemgr_detach(), and dns_zonemgr_releasezone().
static isc_result_t zonemgr_getio | ( | dns_zonemgr_t * | zmgr, | |
isc_boolean_t | high, | |||
isc_task_t * | task, | |||
isc_taskaction_t | action, | |||
void * | arg, | |||
dns_io_t ** | iop | |||
) | [static] |
Definition at line 16031 of file zone.c.
References DNS_EVENT_IOREADY, DNS_ZONEMGR_VALID, dns_zonemgr::high, IO_MAGIC, dns_zonemgr::ioactive, dns_zonemgr::iolimit, dns_zonemgr::iolock, isc_event_allocate(), ISC_LINK_INIT, ISC_LIST_APPEND, isc_mem_get, isc_mem_put, ISC_R_NOMEMORY, ISC_R_SUCCESS, isc_task_attach(), isc_task_send(), ISC_TF, LOCK, dns_zonemgr::low, dns_zonemgr::mctx, REQUIRE, and UNLOCK.
Referenced by zone_dump(), and zone_startload().
static void zonemgr_putio | ( | dns_io_t ** | iop | ) | [static] |
Definition at line 16077 of file zone.c.
References DNS_IO_VALID, HEAD, dns_zonemgr::high, INSIST, dns_zonemgr::ioactive, dns_zonemgr::iolock, ISC_LINK_LINKED, ISC_LIST_UNLINK, isc_mem_put, isc_task_detach(), isc_task_send(), LOCK, dns_zonemgr::low, dns_zonemgr::mctx, REQUIRE, and UNLOCK.
Referenced by dump_done(), and zone_loaddone().
static void zonemgr_cancelio | ( | dns_io_t * | io | ) | [static] |
Definition at line 16115 of file zone.c.
References DNS_IO_VALID, INSIST, ISC_EVENTATTR_CANCELED, ISC_FALSE, ISC_LINK_LINKED, ISC_LIST_UNLINK, isc_task_send(), ISC_TRUE, LOCK, REQUIRE, and UNLOCK.
Referenced by zone_shutdown(), and zone_unload().
static isc_result_t zone_get_from_db | ( | dns_zone_t * | zone, | |
dns_db_t * | db, | |||
unsigned int * | nscount, | |||
unsigned int * | soacount, | |||
isc_uint32_t * | serial, | |||
isc_uint32_t * | refresh, | |||
isc_uint32_t * | retry, | |||
isc_uint32_t * | expire, | |||
isc_uint32_t * | minimum, | |||
unsigned int * | errors | |||
) | [static] |
Definition at line 4920 of file zone.c.
References answer, closeversion(), dns_db_closeversion(), dns_db_currentversion(), dns_db_detachnode(), dns_db_findnode(), ISC_FALSE, ISC_R_SUCCESS, ISC_TRUE, dns_db::origin, REQUIRE, version, zone_count_ns_rr(), and zone_load_soa_rr().
Referenced by dns_zone_getserial2(), dns_zone_markdirty(), dns_zone_notifyreceive(), get_raw_serial(), maybe_send_secure(), refresh_callback(), stub_callback(), zone_postload(), zone_replacedb(), and zone_xfrdone().
static void zone_freedbargs | ( | dns_zone_t * | zone | ) | [static] |
Definition at line 1346 of file zone.c.
References isc_mem_free, and isc_mem_put.
Referenced by dns_zone_setdbtype(), and zone_free().
static void forward_callback | ( | isc_task_t * | task, | |
isc_event_t * | event | |||
) | [static] |
Definition at line 15197 of file zone.c.
References dns_forward::addr, dns_forward::callback, dns_forward::callback_arg, DNS_FORWARD_VALID, dns_message_create(), dns_message_destroy(), DNS_MESSAGE_INTENTPARSE, DNS_MESSAGEPARSE_CLONEBUFFER, DNS_MESSAGEPARSE_PRESERVEORDER, dns_rcode_badvers, dns_rcode_formerr, dns_rcode_noerror, dns_rcode_notauth, dns_rcode_notimp, dns_rcode_notzone, dns_rcode_nxdomain, dns_rcode_nxrrset, dns_rcode_refused, dns_rcode_servfail, dns_rcode_totext(), dns_rcode_yxdomain, dns_rcode_yxrrset, dns_request_destroy(), dns_request_getresponse(), dns_result_totext(), dns_zone_log(), DNS_ZONE_VALID, ENTER, forward_destroy(), INSIST, isc_buffer_init, isc_event_free(), ISC_LOG_DEBUG, ISC_LOG_INFO, ISC_LOG_WARNING, ISC_R_SUCCESS, isc_sockaddr_format(), ISC_SOCKADDR_FORMATSIZE, master, next_master(), dns_message::rcode, dns_forward::request, dns_requestevent::request, dns_requestevent::result, sendtomaster(), UNUSED, isc_buffer::used, dns_forward::which, and dns_forward::zone.
Referenced by forward_action(), and sendtomaster().
static void zone_saveunique | ( | dns_zone_t * | zone, | |
const char * | path, | |||
const char * | templat | |||
) | [static] |
Definition at line 16141 of file zone.c.
References cleanup(), dns_zone_log(), isc_file_renameunique(), isc_file_template(), ISC_LOG_WARNING, isc_mem_get, isc_mem_put, and ISC_R_SUCCESS.
Referenced by zone_postload().
static void zone_maintenance | ( | dns_zone_t * | zone | ) | [static] |
Definition at line 9374 of file zone.c.
References dns_result_totext(), DNS_ZONE_FLAG, dns_zone_key, dns_zone_log(), dns_zone_master, dns_zone_redirect, dns_zone_refresh(), dns_zone_slave, dns_zone_stub, DNS_ZONE_VALID, DNS_ZONEFLG_DIALREFRESH, DNS_ZONEFLG_LOADED, DNS_ZONEFLG_LOADPENDING, DNS_ZONEFLG_NEEDDUMP, DNS_ZONEFLG_NEEDNOTIFY, DNS_ZONEFLG_NEEDSTARTUPNOTIFY, DNS_ZONEFLG_REFRESHING, ENTER, ISC_LOG_WARNING, ISC_R_SUCCESS, isc_time_compare(), isc_time_isepoch(), isc_time_seconds(), ISC_TRUE, LOCK_ZONE, now, REQUIRE, set_key_expiry_warning(), TIME_NOW, UNLOCK_ZONE, was_dumping(), zone_dump(), zone_expire(), zone_notify(), zone_nsec3chain(), zone_refreshkeys(), zone_rekey(), zone_resigninc(), zone_settimer(), and zone_sign().
Referenced by zone_timer().
static void zone_notify | ( | dns_zone_t * | zone, | |
isc_time_t * | now | |||
) | [static] |
Definition at line 10553 of file zone.c.
References dns_db_attach(), dns_db_closeversion(), dns_db_currentversion(), dns_db_detach(), dns_db_detachnode(), dns_db_findnode(), dns_db_findrdataset(), dns_name_compare(), dns_name_dup(), dns_name_dynamic(), dns_name_free(), dns_name_init(), DNS_NOTIFY_NOSOA, DNS_NOTIFY_STARTUP, dns_notifytype_explicit, dns_notifytype_masteronly, dns_notifytype_no, DNS_RDATA_INIT, dns_rdata_reset(), dns_rdata_tostruct(), dns_rdataset_current(), dns_rdataset_disassociate(), dns_rdataset_first(), dns_rdataset_init(), dns_rdataset_next(), dns_tsigkey_detach(), dns_view_gettsig(), DNS_ZONE_CLRFLAG, DNS_ZONE_FLAG, dns_zone_getview(), dns_zone_iattach(), dns_zone_master, DNS_ZONE_OPTION, DNS_ZONE_TIME_ADD, DNS_ZONE_VALID, DNS_ZONEFLG_DIALNOTIFY, DNS_ZONEFLG_LOADED, DNS_ZONEFLG_NEEDNOTIFY, DNS_ZONEFLG_NEEDSTARTUPNOTIFY, DNS_ZONEOPT_NOTIFYTOSOA, dns_notify::dst, dns_notify::flags, INSIST, ISC_FALSE, ISC_LIST_APPEND, ISC_LOG_INFO, ISC_R_SUCCESS, isc_rwlocktype_read, ISC_TRUE, dns_notify::key, LOCK_ZONE, master, notify(), notify_create(), notify_destroy(), notify_find_address(), notify_isqueued(), notify_log(), notify_send_queue(), dns_notify::ns, origin, REQUIRE, RUNTIME_CHECK, UNLOCK_ZONE, version, dns_notify::zone, zone_iattach(), ZONEDB_LOCK, and ZONEDB_UNLOCK.
Referenced by zone_maintenance().
static void dump_done | ( | void * | arg, | |
isc_result_t | result | |||
) | [static] |
Definition at line 9755 of file zone.c.
References dns_db_getsoaserial(), DNS_DUMP_DELAY, dns_dumpctx_db(), dns_dumpctx_detach(), dns_dumpctx_version(), dns_journal_compact(), dns_result_totext(), DNS_ZONE_CLRFLAG, DNS_ZONE_FLAG, dns_zone_idetach(), dns_zone_log(), DNS_ZONE_SETFLAG, DNS_ZONE_VALID, DNS_ZONEFLG_DUMPING, DNS_ZONEFLG_FLUSH, DNS_ZONEFLG_LOADED, DNS_ZONEFLG_NEEDCOMPACT, DNS_ZONEFLG_NEEDDUMP, ENTER, inline_raw(), ISC_FALSE, ISC_LOG_DEBUG, ISC_LOG_ERROR, ISC_R_CANCELED, ISC_R_NOSPACE, ISC_R_NOTFOUND, ISC_R_SUCCESS, isc_serial_lt(), isc_time_settoepoch(), ISC_TRUE, LOCK_ZONE, REQUIRE, UNLOCK_ZONE, version, zone_dump(), zone_needdump(), and zonemgr_putio().
Referenced by zone_gotwritehandle().
static isc_result_t zone_signwithkey | ( | dns_zone_t * | zone, | |
dns_secalg_t | algorithm, | |||
isc_uint16_t | keyid, | |||
isc_boolean_t | delete | |||
) | [static] |
static isc_result_t delete_nsec | ( | dns_db_t * | db, | |
dns_dbversion_t * | ver, | |||
dns_dbnode_t * | node, | |||
dns_name_t * | name, | |||
dns_diff_t * | diff | |||
) | [static] |
Definition at line 6896 of file zone.c.
References CHECK, dns_db_findrdataset(), DNS_DIFFOP_DEL, DNS_RDATA_INIT, dns_rdataset_current(), dns_rdataset_disassociate(), dns_rdataset_first(), dns_rdataset_init(), dns_rdataset_next(), ISC_R_NOMORE, ISC_R_NOTFOUND, ISC_R_SUCCESS, dns_rdataset::ttl, and update_one_rr().
Referenced by updatesecure(), and zone_nsec3chain().
static void zone_rekey | ( | dns_zone_t * | zone | ) | [static] |
static isc_result_t zone_send_securedb | ( | dns_zone_t * | zone, | |
dns_db_t * | db | |||
) | [static] |
Definition at line 14260 of file zone.c.
References dns_db_attach(), DNS_EVENT_ZONESECUREDB, DNS_ZONE_CLRFLAG, DNS_ZONEFLG_SENDSECURE, dummy, secure_event::e, INSIST, isc_event_allocate(), ISC_R_NOMEMORY, ISC_R_SUCCESS, isc_task_send(), LOCKED_ZONE, receive_secure_db(), secure(), and zone_iattach().
Referenced by maybe_send_secure(), zone_postload(), and zone_replacedb().
static void setrl | ( | isc_ratelimiter_t * | rl, | |
unsigned int * | rate, | |||
unsigned int | value | |||
) | [static] |
Definition at line 16184 of file zone.c.
References isc_interval_set(), ISC_R_SUCCESS, isc_ratelimiter_setinterval(), isc_ratelimiter_setpertic(), dns_notify::ns, RUNTIME_CHECK, and s.
Referenced by dns_zonemgr_create().
typedef ISC_LIST | ( | nsec3param_t | ) |
static void inc_stats | ( | dns_zone_t * | zone, | |
isc_statscounter_t | counter | |||
) | [inline, static] |
Increment resolver-related statistics counters. Zone must be locked.
Definition at line 874 of file zone.c.
References isc_stats_increment().
isc_result_t dns_zone_create | ( | dns_zone_t ** | zonep, | |
isc_mem_t * | mctx | |||
) |
Creates a new empty zone and attach '*zonep' to it.
Requires:
Definition at line 884 of file zone.c.
References dbargc_default, dbargv_default, DESTROYLOCK, DNS_DEFAULT_IDLEIN, DNS_DEFAULT_IDLEOUT, DNS_EVENT_ZONECONTROL, dns_masterformat_none, dns_name_init(), dns_notifytype_yes, DNS_RPZ_INVALID_NUM, dns_severity_ignore, dns_updatemethod_increment, DNS_ZONE_DEFAULTREFRESH, DNS_ZONE_DEFAULTRETRY, DNS_ZONE_MAXREFRESH, DNS_ZONE_MAXRETRY, DNS_ZONE_MINREFRESH, DNS_ZONE_MINRETRY, dns_zone_none, dns_zone_setdbtype(), dns_zonestat_none, ISC_EVENT_INIT, ISC_FALSE, ISC_LINK_INIT, ISC_LIST_INIT, isc_mem_attach(), isc_mem_get, isc_mem_putanddetach, isc_mutex_init, ISC_R_NOMEMORY, ISC_R_SUCCESS, isc_refcount_decrement, isc_refcount_destroy, isc_refcount_init(), isc_sockaddr_any(), isc_sockaddr_any6(), isc_time_settoepoch(), ISC_TRUE, MAX_XFER_TIME, now, REQUIRE, TIME_NOW, ZONE_MAGIC, zone_shutdown(), ZONEDB_DESTROYLOCK, and ZONEDB_INITLOCK.
Referenced by configure_zone(), dns64_reverse(), dns_dlz_writeablezone(), dns_test_makezone(), dns_zonemgr_createzone(), and load_zone().
static void zone_free | ( | dns_zone_t * | zone | ) | [static] |
Definition at line 1086 of file zone.c.
References DESTROYLOCK, dns_acache_detach(), dns_acl_detach(), dns_db_detach(), dns_dbiterator_destroy(), dns_name_dynamic(), dns_name_free(), dns_request_destroy(), dns_rpz_detach_rpzs(), DNS_RPZ_INVALID_NUM, dns_severity_ignore, dns_ssutable_detach(), dns_stats_detach(), dns_zone_setalsonotify(), dns_zone_setmasterswithkeys(), DNS_ZONE_VALID, INSIST, ISC_LIST_HEAD, ISC_LIST_UNLINK, isc_mem_detach(), isc_mem_free, isc_mem_put, ISC_R_SUCCESS, isc_refcount_current, isc_refcount_destroy, isc_stats_detach(), isc_task_detach(), LOCKED_ZONE, dns_notify::mctx, REQUIRE, RUNTIME_CHECK, zone_detachdb(), zone_freedbargs(), and ZONEDB_DESTROYLOCK.
Referenced by dns_zone_detach(), dns_zone_idetach(), keyfetch_done(), zone_shutdown(), and zone_xfrdone().
static isc_boolean_t inline_secure | ( | dns_zone_t * | zone | ) | [inline, static] |
Definition at line 1215 of file zone.c.
References DNS_ZONE_VALID, ISC_FALSE, ISC_TRUE, and REQUIRE.
Referenced by dns_zone_notifyreceive(), dns_zone_setclass(), dns_zone_setorigin(), dns_zone_setview(), dumptostream(), receive_secure_db(), set_resigntime(), zone_dump(), zone_gotwritehandle(), zone_load(), zone_loaddone(), zone_namerd_tostr(), zone_postload(), and zone_shutdown().
static isc_boolean_t inline_raw | ( | dns_zone_t * | zone | ) | [inline, static] |
Definition at line 1227 of file zone.c.
References DNS_ZONE_VALID, ISC_FALSE, ISC_TRUE, and REQUIRE.
Referenced by dns_zone_loadandthaw(), dns_zone_markdirty(), dns_zone_replacedb(), dump_done(), zone_loaddone(), zone_namerd_tostr(), zone_postload(), zone_replacedb(), zone_shutdown(), and zone_xfrdone().
void dns_zone_setclass | ( | dns_zone_t * | zone, | |
dns_rdataclass_t | rdclass | |||
) |
Sets the class of a zone. This operation can only be performed once on a zone.
Require:
Definition at line 1238 of file zone.c.
References dns_zone_setclass(), DNS_ZONE_VALID, inline_secure(), INSIST, isc_mem_free, isc_mem_strdup, LOCK_ZONE, namebuf, REQUIRE, UNLOCK_ZONE, zone_namerd_tostr(), and zone_rdclass_tostr().
Referenced by add_keydata_zone(), create_empty_zone(), dns64_reverse(), dns_test_makezone(), dns_zone_setclass(), load_zone(), and ns_zone_configure().
dns_rdataclass_t dns_zone_getclass | ( | dns_zone_t * | zone | ) |
Returns the current zone class.
Requires:
Definition at line 1269 of file zone.c.
References DNS_ZONE_VALID, and REQUIRE.
Referenced by configure_staticstub(), configure_staticstub_serveraddrs(), configure_staticstub_servernames(), dns_xfrin_create3(), freezezones(), ns_server_freeze(), ns_server_sync(), send_forward_event(), and update_log().
void dns_zone_setnotifytype | ( | dns_zone_t * | zone, | |
dns_notifytype_t | notifytype | |||
) |
Sets zone notify method to "notifytype".
Definition at line 1276 of file zone.c.
References DNS_ZONE_VALID, LOCK_ZONE, REQUIRE, and UNLOCK_ZONE.
Referenced by add_keydata_zone(), create_empty_zone(), dns64_reverse(), and ns_zone_configure().
isc_result_t dns_zone_getserial2 | ( | dns_zone_t * | zone, | |
isc_uint32_t * | serialp | |||
) |
Definition at line 1285 of file zone.c.
References DNS_R_NOTLOADED, DNS_ZONE_VALID, ISC_R_FAILURE, ISC_R_SUCCESS, isc_rwlocktype_read, LOCK_ZONE, REQUIRE, UNLOCK_ZONE, zone_get_from_db(), ZONEDB_LOCK, and ZONEDB_UNLOCK.
Referenced by dns_zone_getserial().
isc_uint32_t dns_zone_getserial | ( | dns_zone_t * | zone | ) |
Returns the current serial number of the zone. On success, the SOA serial of the zone will be copied into '*serialp'. dns_zone_getserial() cannot catch failure cases and is deprecated by dns_zone_getserial2().
Requires:
Definition at line 1309 of file zone.c.
References dns_zone_getserial2(), and ISC_R_SUCCESS.
Referenced by ns_server_zonestatus().
void dns_zone_settype | ( | dns_zone_t * | zone, | |
dns_zonetype_t | type | |||
) |
Sets the zone type. This operation can only be performed once on a zone.
Requires:
Definition at line 1324 of file zone.c.
References dns_zone_none, DNS_ZONE_VALID, isc_mem_free, isc_mem_strdup, LOCK_ZONE, namebuf, REQUIRE, UNLOCK_ZONE, and zone_namerd_tostr().
Referenced by add_keydata_zone(), create_empty_zone(), dns64_reverse(), dns_test_makezone(), load_zone(), ns_zone_configure(), and ns_zone_configure_writeable_dlz().
isc_result_t dns_zone_getdbtype | ( | dns_zone_t * | zone, | |
char *** | argv, | |||
isc_mem_t * | mctx | |||
) |
Returns the current dbtype. isc_mem_free() should be used to free 'argv' after use.
Require:
Definition at line 1361 of file zone.c.
References DNS_ZONE_VALID, isc_mem_allocate, ISC_R_NOMEMORY, ISC_R_SUCCESS, LOCK_ZONE, REQUIRE, and UNLOCK_ZONE.
Referenced by check_dbtype().
isc_result_t dns_zone_setdbtype | ( | dns_zone_t * | zone, | |
unsigned int | dbargc, | |||
const char *const * | dbargv | |||
) |
Sets the database type to dbargv[0] and database arguments to subsequent dbargv elements. 'db_type' is not checked to see if it is a valid database type.
Require:
Definition at line 1394 of file zone.c.
References DNS_ZONE_VALID, isc_mem_free, isc_mem_get, isc_mem_put, isc_mem_strdup, ISC_R_NOMEMORY, ISC_R_SUCCESS, LOCK_ZONE, REQUIRE, UNLOCK_ZONE, and zone_freedbargs().
Referenced by create_empty_zone(), dns64_reverse(), dns_zone_create(), load_zone(), and ns_zone_configure().
void dns_zone_setview | ( | dns_zone_t * | zone, | |
dns_view_t * | view | |||
) |
Associate the zone with a view.
Require:
Definition at line 1441 of file zone.c.
References dns_view_weakattach(), dns_view_weakdetach(), dns_zone_setview(), DNS_ZONE_VALID, inline_secure(), INSIST, isc_mem_free, isc_mem_strdup, LOCK_ZONE, namebuf, REQUIRE, UNLOCK_ZONE, zone_namerd_tostr(), and zone_viewname_tostr().
Referenced by add_keydata_zone(), configure_zone(), create_empty_zone(), dns64_reverse(), dns_dlz_writeablezone(), dns_test_makezone(), and dns_zone_setview().
dns_view_t* dns_zone_getview | ( | dns_zone_t * | zone | ) |
Returns the zone's associated view.
Requires:
Definition at line 1468 of file zone.c.
References DNS_ZONE_VALID, and REQUIRE.
Referenced by adjust_interfaces(), asyncload(), ATF_TC_BODY(), configure_zone_acl(), freezezones(), got_transfer_quota(), ns_query(), ns_server_delzone(), ns_server_freeze(), ns_server_showzone(), ns_server_sync(), ns_stats_dump(), ns_zone_configure(), removed(), soa_query(), xfrin_recv_done(), and zone_notify().
isc_result_t dns_zone_setorigin | ( | dns_zone_t * | zone, | |
const dns_name_t * | origin | |||
) |
Sets the zones origin to 'origin'.
Require:
Definition at line 1476 of file zone.c.
References dns_name_dup(), dns_name_dynamic(), dns_name_free(), dns_name_init(), dns_zone_setorigin(), DNS_ZONE_VALID, inline_secure(), INSIST, isc_mem_free, isc_mem_strdup, ISC_R_SUCCESS, LOCK_ZONE, namebuf, REQUIRE, UNLOCK_ZONE, zone_name_tostr(), and zone_namerd_tostr().
Referenced by add_keydata_zone(), configure_zone(), create_empty_zone(), dns64_reverse(), dns_dlz_writeablezone(), dns_test_makezone(), dns_zone_setorigin(), and load_zone().
void dns_zone_setacache | ( | dns_zone_t * | zone, | |
dns_acache_t * | acache | |||
) |
Associate the zone with an additional cache.
Require: 'zone' to be a valid zone. 'acache' to be a non NULL pointer.
Ensures: 'zone' will have a reference to 'acache'
Definition at line 1508 of file zone.c.
References dns_acache_attach(), dns_acache_detach(), dns_acache_setdb(), DNS_ZONE_VALID, ISC_R_EXISTS, ISC_R_SUCCESS, isc_result_totext(), isc_rwlocktype_read, LOCK_ZONE, REQUIRE, UNEXPECTED_ERROR, UNLOCK_ZONE, ZONEDB_LOCK, and ZONEDB_UNLOCK.
Referenced by add_keydata_zone(), and configure_zone().
static isc_result_t dns_zone_setstring | ( | dns_zone_t * | zone, | |
char ** | field, | |||
const char * | value | |||
) | [static] |
Definition at line 1538 of file zone.c.
References isc_mem_free, isc_mem_strdup, ISC_R_NOMEMORY, and ISC_R_SUCCESS.
Referenced by default_journal(), dns_zone_setfile3(), and dns_zone_setjournal().
isc_result_t dns_zone_setfile | ( | dns_zone_t * | zone, | |
const char * | file | |||
) |
Definition at line 1557 of file zone.c.
References dns_master_style_default, dns_masterformat_text, and dns_zone_setfile3().
Referenced by add_keydata_zone(), and ATF_TC_BODY().
isc_result_t dns_zone_setfile2 | ( | dns_zone_t * | zone, | |
const char * | file, | |||
dns_masterformat_t | format | |||
) |
Definition at line 1563 of file zone.c.
References dns_master_style_default, and dns_zone_setfile3().
Referenced by load_zone().
isc_result_t dns_zone_setfile3 | ( | dns_zone_t * | zone, | |
const char * | file, | |||
dns_masterformat_t | format, | |||
const dns_master_style_t * | style | |||
) |
Sets the name of the master file in the format of 'format' from which the zone loads its database to 'file'.
For zones that have no associated master file, 'file' will be NULL.
For zones with persistent databases, the file name setting is ignored.
dns_zone_setfile() is a backward-compatible form of dns_zone_setfile2(), which always specifies the dns_masterformat_text (RFC1035) format.
dns_zone_setfile2() is a backward-compatible form of dns_zone_setfile3(), which also specifies the style that should be used if a zone using the 'text' masterformat is ever dumped.
Require:
Definition at line 1571 of file zone.c.
References default_journal(), dns_masterformat_text, dns_zone_setstring(), DNS_ZONE_VALID, ISC_R_SUCCESS, LOCK_ZONE, REQUIRE, and UNLOCK_ZONE.
Referenced by dns_zone_setfile(), dns_zone_setfile2(), and ns_zone_configure().
const char* dns_zone_getfile | ( | dns_zone_t * | zone | ) |
Gets the name of the zone's master file, if any.
Requires:
Definition at line 1593 of file zone.c.
References DNS_ZONE_VALID, and REQUIRE.
Referenced by create_empty_zone(), ns_server_delzone(), ns_server_zonestatus(), and ns_zone_reusable().
dns_ttl_t dns_zone_getmaxttl | ( | dns_zone_t * | zone | ) |
Gets the max ttl of the zone.
Requires:
Definition at line 1600 of file zone.c.
References DNS_ZONE_VALID, and REQUIRE.
Referenced by update_action().
void dns_zone_setmaxttl | ( | dns_zone_t * | zone, | |
dns_ttl_t | maxttl | |||
) |
Definition at line 1607 of file zone.c.
References DNS_ZONE_VALID, DNS_ZONEOPT2_CHECKTTL, LOCK_ZONE, REQUIRE, and UNLOCK_ZONE.
isc_result_t dns_zone_setjournal | ( | dns_zone_t * | zone, | |
const char * | myjournal | |||
) |
Sets the filename used for journaling updates / IXFR transfers. The default journal name is set by dns_zone_setfile() to be "file.jnl". If 'myjournal' is NULL, the zone will have no journal name.
Requires:
Definition at line 1647 of file zone.c.
References dns_zone_setstring(), DNS_ZONE_VALID, ISC_R_SUCCESS, LOCK_ZONE, REQUIRE, and UNLOCK_ZONE.
Referenced by load_zone(), and ns_zone_configure().
char* dns_zone_getjournal | ( | dns_zone_t * | zone | ) |
Returns the journal name associated with this zone. If no journal has been set this will be NULL.
Requires:
Definition at line 1660 of file zone.c.
References DNS_ZONE_VALID, and REQUIRE.
Referenced by ixfr_init(), ns_server_delzone(), ns_xfr_start(), synczone(), update_action(), and zone_journal().
isc_boolean_t dns_zone_isdynamic | ( | dns_zone_t * | zone, | |
isc_boolean_t | ignore_freeze | |||
) |
Load the origin names for a writeable DLZ database.
Definition at line 1676 of file zone.c.
References dns_acl_isnone(), dns_zone_key, dns_zone_master, dns_zone_redirect, dns_zone_slave, dns_zone_stub, DNS_ZONE_VALID, ISC_FALSE, ISC_TRUE, and REQUIRE.
Referenced by check_nsec3param(), freezezones(), ns_server_freeze(), ns_server_zonestatus(), zone_load(), and zone_postload().
isc_result_t dns_zone_rpz_enable | ( | dns_zone_t * | zone, | |
dns_rpz_zones_t * | rpzs, | |||
dns_rpz_num_t | rpz_num | |||
) |
Return the number include files that were encountered during load. If the number is greater than zero, 'includesp' will point to an array containing the filenames.
The array and its contents need to be freed using isc_mem_free.
Definition at line 1699 of file zone.c.
References dns_rpz_zones::defined, dns_rpz_attach_rpzs(), DNS_RPZ_INVALID_NUM, DNS_RPZ_ZBIT, ISC_R_NOTIMPLEMENTED, ISC_R_SUCCESS, LOCK_ZONE, REQUIRE, and UNLOCK_ZONE.
Referenced by configure_zone().
dns_rpz_num_t dns_zone_get_rpz_num | ( | dns_zone_t * | zone | ) |
If a zone is a response policy zone, mark its new database.
Definition at line 1730 of file zone.c.
Referenced by configure_zone().
void dns_zone_rpz_enable_db | ( | dns_zone_t * | zone, | |
dns_db_t * | db | |||
) |
Set the response policy associated with a zone.
Definition at line 1738 of file zone.c.
References dns_db_rpz_attach(), DNS_RPZ_INVALID_NUM, and REQUIRE.
Referenced by axfr_makedb(), and zone_startload().
static isc_boolean_t zone_touched | ( | dns_zone_t * | zone | ) | [static] |
Definition at line 1746 of file zone.c.
References DNS_ZONE_VALID, ISC_FALSE, isc_file_getmodtime(), ISC_LIST_HEAD, ISC_LIST_NEXT, ISC_R_SUCCESS, isc_time_compare(), ISC_TRUE, and REQUIRE.
Referenced by zone_load().
static isc_result_t zone_load | ( | dns_zone_t * | zone, | |
unsigned int | flags, | |||
isc_boolean_t | locked | |||
) | [static] |
Definition at line 1776 of file zone.c.
References cleanup(), dns_dlzdb::configure_callback, dns_dlzdb::dbdata, dns_dlzdb::dlzname, dns_db_create(), dns_db_detach(), dns_db_ispersistent(), dns_db_settask(), dns_dbtype_stub, dns_dbtype_zone, DNS_DLZ_VALID, DNS_R_CONTINUE, DNS_R_DYNAMIC, DNS_R_NOMASTERFILE, DNS_R_UPTODATE, DNS_ZONE_FLAG, dns_zone_isdynamic(), dns_zone_log(), dns_zone_master, dns_zone_none, dns_zone_redirect, DNS_ZONE_SETFLAG, dns_zone_slave, dns_zone_stub, DNS_ZONE_VALID, DNS_ZONEFLG_LOADED, DNS_ZONEFLG_LOADING, DNS_ZONEFLG_THAW, DNS_ZONELOADFLAG_NOSTAT, DNS_ZONELOADFLAG_THAW, dns_dlzimplementation::driverarg, dns_dlzmethods::findzone, dns_dlzdb::implementation, inline_secure(), INSIST, ISC_FALSE, isc_file_exists(), ISC_LIST_HEAD, ISC_LIST_NEXT, ISC_LOG_DEBUG, ISC_LOG_ERROR, ISC_LOG_INFO, ISC_R_NOTFOUND, ISC_R_SUCCESS, isc_result_totext(), isc_rwlocktype_write, isc_time_isepoch(), LOCK_ZONE, dns_dlzdb::mctx, dns_dlzimplementation::methods, now, REQUIRE, TIME_NOW, UNLOCK_ZONE, zone_attachdb(), zone_detachdb(), zone_postload(), zone_settimer(), zone_startload(), zone_touched(), ZONEDB_LOCK, and ZONEDB_UNLOCK.
Referenced by dns_zone_load(), dns_zone_loadandthaw(), dns_zone_loadnew(), and zone_asyncload().
isc_result_t dns_zone_load | ( | dns_zone_t * | zone | ) |
Definition at line 2011 of file zone.c.
References ISC_FALSE, and zone_load().
Referenced by load(), load_zone(), load_zones(), and ns_server_reloadcommand().
isc_result_t dns_zone_loadnew | ( | dns_zone_t * | zone | ) |
Definition at line 2016 of file zone.c.
References DNS_ZONELOADFLAG_NOSTAT, ISC_FALSE, and zone_load().
Referenced by do_addzone(), do_modzone(), load_new_zones(), and loadnew().
static void zone_asyncload | ( | isc_task_t * | task, | |
isc_event_t * | event | |||
) | [static] |
Definition at line 2021 of file zone.c.
References cleanup(), DNS_ZONE_CLRFLAG, DNS_ZONE_FLAG, dns_zone_idetach(), DNS_ZONE_VALID, DNS_ZONEFLG_LOADPENDING, isc_event_free(), ISC_EVENTATTR_CANCELED, isc_mem_put, ISC_R_CANCELED, ISC_R_SUCCESS, ISC_TF, ISC_TRUE, LOCK_ZONE, REQUIRE, UNLOCK_ZONE, UNUSED, and zone_load().
Referenced by dns_zone_asyncload().
isc_result_t dns_zone_asyncload | ( | dns_zone_t * | zone, | |
dns_zt_zoneloaded_t | done, | |||
void * | arg | |||
) |
Cause the database to be loaded from its backing store asynchronously. Other zone maintenance functions are suspended until this is complete. When finished, 'done' is called to inform the caller, with 'arg' as its first argument and 'zone' as its second. (Normally, 'arg' is expected to point to the zone table but is left undefined for testing purposes.).
Require:
Definition at line 2062 of file zone.c.
References CHECK, DNS_EVENT_ZONELOAD, DNS_ZONE_FLAG, DNS_ZONE_SETFLAG, DNS_ZONE_VALID, DNS_ZONEFLG_LOADPENDING, isc_event_allocate(), isc_mem_get, isc_mem_put, ISC_R_ALREADYRUNNING, ISC_R_FAILURE, ISC_R_NOMEMORY, ISC_R_SUCCESS, isc_task_send(), LOCK_ZONE, REQUIRE, UNLOCK_ZONE, zone_asyncload(), and zone_iattach().
Referenced by asyncload(), and start_zone_asyncload().
isc_boolean_t dns__zone_loadpending | ( | dns_zone_t * | zone | ) |
Indicates whether the zone is waiting to be loaded asynchronously. (Not currently intended for use outside of this module and associated tests.).
Definition at line 2106 of file zone.c.
References DNS_ZONE_FLAG, DNS_ZONE_VALID, DNS_ZONEFLG_LOADPENDING, ISC_TF, and REQUIRE.
Referenced by ATF_TC_BODY().
isc_result_t dns_zone_loadandthaw | ( | dns_zone_t * | zone | ) |
Cause the database to be loaded from its backing store. Confirm that the minimum requirements for the zone type are met, otherwise DNS_R_BADZONE is returned.
dns_zone_loadnew() only loads zones that are not yet loaded. dns_zone_load() also loads zones that are already loaded and and whose master file has changed since the last load. dns_zone_loadandthaw() is similar to dns_zone_load() but will also re-enable DNS UPDATEs when the load completes.
Require:
Definition at line 2113 of file zone.c.
References DNS_R_CONTINUE, DNS_R_NOMASTERFILE, DNS_R_SEENINCLUDE, DNS_R_UPTODATE, DNS_ZONELOADFLAG_THAW, inline_raw(), ISC_FALSE, ISC_R_SUCCESS, and zone_load().
Referenced by freezezones(), and ns_server_freeze().
static unsigned int get_master_options | ( | dns_zone_t * | zone | ) | [static] |
Definition at line 2142 of file zone.c.
References DNS_MASTER_CHECKMX, DNS_MASTER_CHECKMXFAIL, DNS_MASTER_CHECKNAMES, DNS_MASTER_CHECKNAMESFAIL, DNS_MASTER_CHECKNS, DNS_MASTER_CHECKTTL, DNS_MASTER_CHECKWILDCARD, DNS_MASTER_FATALNS, DNS_MASTER_KEY, DNS_MASTER_RESIGN, DNS_MASTER_SLAVE, DNS_MASTER_ZONE, dns_zone_key, DNS_ZONE_OPTION, DNS_ZONE_OPTION2, dns_zone_redirect, dns_zone_slave, DNS_ZONEOPT2_CHECKTTL, DNS_ZONEOPT_CHECKMX, DNS_ZONEOPT_CHECKMXFAIL, DNS_ZONEOPT_CHECKNAMES, DNS_ZONEOPT_CHECKNAMESFAIL, DNS_ZONEOPT_CHECKNS, DNS_ZONEOPT_CHECKWILDCARD, and DNS_ZONEOPT_FATALNS.
Referenced by zone_gotreadhandle(), and zone_startload().
static void zone_registerinclude | ( | const char * | filename, | |
void * | arg | |||
) | [static] |
Definition at line 2171 of file zone.c.
References DNS_ZONE_VALID, isc_file_getmodtime(), ISC_LINK_INIT, ISC_LIST_APPEND, ISC_LIST_HEAD, ISC_LIST_NEXT, isc_mem_get, isc_mem_put, isc_mem_strdup, ISC_R_SUCCESS, isc_time_settoepoch(), and REQUIRE.
Referenced by zone_gotreadhandle(), and zone_startload().
static void zone_gotreadhandle | ( | isc_task_t * | task, | |
isc_event_t * | event | |||
) | [static] |
Definition at line 2208 of file zone.c.
References dns_load::callbacks, dns_load::db, dns_db_origin(), DNS_LOAD_VALID, dns_master_loadfileinc5(), DNS_R_CONTINUE, DNS_R_SEENINCLUDE, get_master_options(), isc_event_free(), ISC_EVENTATTR_CANCELED, ISC_R_CANCELED, ISC_R_SUCCESS, load(), REQUIRE, dns_load::zone, zone_loaddone(), and zone_registerinclude().
Referenced by zone_startload().
static void get_raw_serial | ( | dns_zone_t * | raw, | |
dns_masterrawheader_t * | rawdata | |||
) | [static] |
Definition at line 2244 of file zone.c.
References DNS_MASTERRAW_SOURCESERIALSET, dns_masterrawheader::flags, ISC_R_SUCCESS, LOCK, dns_masterrawheader::sourceserial, UNLOCK, and zone_get_from_db().
Referenced by dumptostream(), zone_dump(), and zone_gotwritehandle().
static void zone_gotwritehandle | ( | isc_task_t * | task, | |
isc_event_t * | event | |||
) | [static] |
Definition at line 2261 of file zone.c.
References dns_db_closeversion(), dns_db_currentversion(), dns_master_dumpinc3(), dns_master_initrawheader(), dns_master_style_default, dns_master_style_keyzone, DNS_R_CONTINUE, dns_zone_key, DNS_ZONE_VALID, dump_done(), ENTER, get_raw_serial(), inline_secure(), INSIST, isc_event_free(), ISC_EVENTATTR_CANCELED, ISC_FALSE, ISC_R_CANCELED, ISC_R_SUCCESS, isc_rwlocktype_read, LOCK_ZONE, REQUIRE, UNLOCK_ZONE, version, ZONEDB_LOCK, and ZONEDB_UNLOCK.
Referenced by zone_dump().
static void zone_setrawdata | ( | dns_zone_t * | zone, | |
dns_masterrawheader_t * | header | |||
) | [static] |
Definition at line 2318 of file zone.c.
References DNS_MASTERRAW_SOURCESERIALSET, dns_masterrawheader::flags, ISC_TRUE, and dns_masterrawheader::sourceserial.
Referenced by dns_zone_setrawdata(), and zone_startload().
void dns_zone_setrawdata | ( | dns_zone_t * | zone, | |
dns_masterrawheader_t * | header | |||
) |
Set the NSEC3 parameters for the zone.
If 'replace' is ISC_TRUE, then the existing NSEC3 chain, if any, will be replaced with the new one. If 'hash' is zero, then the replacement chain will be NSEC rather than NSEC3.
Requires:
Definition at line 2327 of file zone.c.
References LOCK_ZONE, UNLOCK_ZONE, and zone_setrawdata().
Referenced by main().
static isc_boolean_t zone_check_mx | ( | dns_zone_t * | zone, | |
dns_db_t * | db, | |||
dns_name_t * | name, | |||
dns_name_t * | owner | |||
) | [static] |
Definition at line 2418 of file zone.c.
References dns_db_find(), dns_fixedname_init, dns_fixedname_name, dns_name_equal(), dns_name_format(), DNS_NAME_FORMATSIZE, dns_name_issubdomain(), DNS_R_CNAME, DNS_R_DELEGATION, DNS_R_DNAME, DNS_R_EMPTYNAME, DNS_R_NXDOMAIN, DNS_R_NXRRSET, dns_rootname, dns_zone_log(), dns_zone_master, DNS_ZONE_OPTION, DNS_ZONEOPT_CHECKMXFAIL, DNS_ZONEOPT_IGNOREMXCNAME, DNS_ZONEOPT_WARNMXCNAME, fixed, ISC_FALSE, ISC_LOG_ERROR, ISC_LOG_WARNING, ISC_R_SUCCESS, ISC_TRUE, and namebuf.
Referenced by integrity_checks().
static isc_boolean_t zone_check_srv | ( | dns_zone_t * | zone, | |
dns_db_t * | db, | |||
dns_name_t * | name, | |||
dns_name_t * | owner | |||
) | [static] |
Definition at line 2507 of file zone.c.
References dns_db_find(), dns_fixedname_init, dns_fixedname_name, dns_name_equal(), dns_name_format(), DNS_NAME_FORMATSIZE, dns_name_issubdomain(), DNS_R_CNAME, DNS_R_DELEGATION, DNS_R_DNAME, DNS_R_EMPTYNAME, DNS_R_NXDOMAIN, DNS_R_NXRRSET, dns_rootname, dns_zone_log(), dns_zone_master, DNS_ZONE_OPTION, DNS_ZONEOPT_IGNORESRVCNAME, DNS_ZONEOPT_WARNSRVCNAME, fixed, ISC_FALSE, ISC_LOG_ERROR, ISC_LOG_WARNING, ISC_R_SUCCESS, ISC_TRUE, and namebuf.
Referenced by integrity_checks().
static isc_boolean_t zone_check_glue | ( | dns_zone_t * | zone, | |
dns_db_t * | db, | |||
dns_name_t * | name, | |||
dns_name_t * | owner | |||
) | [static] |
Definition at line 2595 of file zone.c.
References answer, dns_db_find(), DNS_DBFIND_GLUEOK, dns_fixedname_init, dns_fixedname_name, dns_name_format(), DNS_NAME_FORMATSIZE, dns_name_issubdomain(), DNS_R_CNAME, DNS_R_DELEGATION, DNS_R_DNAME, DNS_R_EMPTYNAME, DNS_R_GLUE, DNS_R_NXDOMAIN, DNS_R_NXRRSET, dns_rdataset_disassociate(), dns_rdataset_init(), dns_rdataset_isassociated(), dns_zone_log(), dns_zone_master, DNS_ZONE_OPTION, DNS_ZONEOPT_CHECKSIBLING, fixed, ISC_FALSE, ISC_LOG_ERROR, ISC_LOG_WARNING, ISC_R_SUCCESS, ISC_TRUE, and namebuf.
Referenced by integrity_checks().
static isc_boolean_t zone_rrset_check_dup | ( | dns_zone_t * | zone, | |
dns_name_t * | owner, | |||
dns_rdataset_t * | rdataset | |||
) | [static] |
Definition at line 2716 of file zone.c.
References answer, dns_name_format(), DNS_NAME_FORMATSIZE, dns_rdata_casecompare(), DNS_RDATA_INIT, dns_rdataset_clone(), dns_rdataset_current(), dns_rdataset_disassociate(), dns_rdataset_first(), dns_rdataset_init(), dns_rdataset_next(), dns_rdatatype_format(), DNS_RDATATYPE_FORMATSIZE, dns_zone_log(), DNS_ZONE_OPTION, DNS_ZONEOPT_CHECKDUPRRFAIL, ISC_FALSE, ISC_LOG_ERROR, ISC_LOG_WARNING, ISC_R_SUCCESS, ISC_TRUE, and dns_rdata::type.
Referenced by zone_check_dup().
static isc_boolean_t zone_check_dup | ( | dns_zone_t * | zone, | |
dns_db_t * | db | |||
) | [static] |
Definition at line 2774 of file zone.c.
References dns_db_allrdatasets(), dns_db_createiterator(), dns_db_detachnode(), dns_dbiterator_current(), dns_dbiterator_destroy(), dns_dbiterator_first(), dns_dbiterator_next(), dns_fixedname_init, dns_fixedname_name, dns_rdataset_disassociate(), dns_rdataset_init(), dns_rdatasetiter_current(), dns_rdatasetiter_destroy(), dns_rdatasetiter_first(), dns_rdatasetiter_next(), fixed, ISC_FALSE, ISC_R_SUCCESS, ISC_TRUE, and zone_rrset_check_dup().
Referenced by zone_postload().
static isc_boolean_t isspf | ( | const dns_rdata_t * | rdata | ) | [static] |
Definition at line 2823 of file zone.c.
References dns_rdata::data, INSIST, ISC_FALSE, ISC_TRUE, and dns_rdata::length.
Referenced by integrity_checks().
static isc_boolean_t integrity_checks | ( | dns_zone_t * | zone, | |
dns_db_t * | db | |||
) | [static] |
Definition at line 2851 of file zone.c.
References checkmx(), checksrv(), cleanup(), dns_db_createiterator(), dns_db_detachnode(), dns_db_findrdataset(), dns_dbiterator_current(), dns_dbiterator_destroy(), dns_dbiterator_first(), dns_dbiterator_next(), dns_fixedname_init, dns_fixedname_name, dns_name_copy(), dns_name_countlabels(), dns_name_equal(), dns_name_format(), DNS_NAME_FORMATSIZE, dns_name_issubdomain(), dns_rdata_init(), dns_rdata_reset(), dns_rdata_tostruct(), dns_rdataset_current(), dns_rdataset_disassociate(), dns_rdataset_first(), dns_rdataset_init(), dns_rdataset_next(), dns_zone_log(), DNS_ZONE_OPTION, DNS_ZONEOPT_CHECKSPF, fixed, ISC_FALSE, ISC_LOG_WARNING, ISC_R_SUCCESS, ISC_TRUE, isspf(), namebuf, dns_notify::ns, RUNTIME_CHECK, zone_check_glue(), zone_check_mx(), and zone_check_srv().
Referenced by zone_postload().
static void zone_check_dnskeys | ( | dns_zone_t * | zone, | |
dns_db_t * | db | |||
) | [static] |
Definition at line 3015 of file zone.c.
References cleanup(), dns_db_closeversion(), dns_db_currentversion(), dns_db_detachnode(), dns_db_findnode(), dns_db_findrdataset(), DNS_RDATA_INIT, dns_rdata_reset(), dns_rdata_tostruct(), dns_rdataset_current(), dns_rdataset_disassociate(), dns_rdataset_first(), dns_rdataset_init(), dns_rdataset_next(), dns_zone_log(), DST_ALG_RSAMD5, DST_ALG_RSASHA1, INSIST, ISC_FALSE, ISC_LOG_WARNING, ISC_R_SUCCESS, ISC_TRUE, dns_db::origin, and version.
Referenced by zone_postload().
static void resume_signingwithkey | ( | dns_zone_t * | zone | ) | [static] |
Definition at line 3078 of file zone.c.
References cleanup(), dns_rdata::data, dns_db_attach(), dns_db_closeversion(), dns_db_currentversion(), dns_db_detach(), dns_db_detachnode(), dns_db_findnode(), dns_db_findrdataset(), DNS_RDATA_INIT, dns_rdata_reset(), dns_rdataset_current(), dns_rdataset_disassociate(), dns_rdataset_first(), dns_rdataset_init(), dns_rdataset_isassociated(), dns_rdataset_next(), dns_result_totext(), dns_zone_log(), INSIST, ISC_FALSE, ISC_LOG_ERROR, ISC_R_SUCCESS, isc_rwlocktype_read, ISC_TF, dns_rdata::length, dns_db::origin, version, zone_signwithkey(), ZONEDB_LOCK, and ZONEDB_UNLOCK.
Referenced by zone_postload().
static isc_result_t zone_addnsec3chain | ( | dns_zone_t * | zone, | |
dns_rdata_nsec3param_t * | nsec3param | |||
) | [static] |
Definition at line 3142 of file zone.c.
References cleanup(), dns_db_attach(), dns_db_closeversion(), dns_db_createiterator(), dns_db_currentversion(), dns_db_detach(), DNS_DB_NONSEC3, dns_dbiterator_destroy(), dns_dbiterator_first(), dns_dbiterator_pause(), dns_nsec_nseconly(), dns_zone_log(), dns_notify::flags, ISC_FALSE, ISC_LIST_HEAD, ISC_LIST_INITANDAPPEND, ISC_LIST_NEXT, ISC_LOG_INFO, isc_mem_get, isc_mem_put, ISC_R_NOMEMORY, ISC_R_SUCCESS, isc_rwlocktype_read, isc_time_isepoch(), ISC_TRUE, now, saltbuf, TIME_NOW, version, zone_settimer(), ZONEDB_LOCK, and ZONEDB_UNLOCK.
Referenced by dns_zone_addnsec3chain(), and resume_addnsec3chain().
static void resume_addnsec3chain | ( | dns_zone_t * | zone | ) | [static] |
Definition at line 3283 of file zone.c.
References cleanup(), dns_db_attach(), dns_db_closeversion(), dns_db_currentversion(), dns_db_detach(), dns_db_detachnode(), dns_db_findnode(), dns_db_findrdataset(), DNS_NSEC3PARAM_BUFFERSIZE, dns_nsec3param_fromprivate(), dns_nsec_nseconly(), DNS_RDATA_INIT, dns_rdata_tostruct(), dns_rdataset_current(), dns_rdataset_disassociate(), dns_rdataset_first(), dns_rdataset_init(), dns_rdataset_isassociated(), dns_rdataset_next(), dns_result_totext(), dns_zone_log(), INSIST, ISC_FALSE, ISC_LOG_ERROR, ISC_R_SUCCESS, isc_rwlocktype_read, dns_db::origin, RUNTIME_CHECK, version, zone_addnsec3chain(), ZONEDB_LOCK, and ZONEDB_UNLOCK.
Referenced by zone_postload().
static void set_resigntime | ( | dns_zone_t * | zone | ) | [static] |
Definition at line 3357 of file zone.c.
References cleanup(), dns_acl_isnone(), dns_db_attach(), dns_db_detach(), dns_db_getsigningtime(), dns_fixedname_init, dns_fixedname_name, dns_rdataset_disassociate(), dns_rdataset_init(), dns_zone_master, fixed, inline_secure(), ISC_R_SUCCESS, isc_random_get(), isc_rwlocktype_read, isc_time_set(), isc_time_settoepoch(), dns_rdataset::resign, ZONEDB_LOCK, and ZONEDB_UNLOCK.
Referenced by dns_zone_markdirty(), dns_zone_setsigresigninginterval(), zone_nsec3chain(), zone_postload(), zone_resigninc(), and zone_sign().
static isc_result_t check_nsec3param | ( | dns_zone_t * | zone, | |
dns_db_t * | db | |||
) | [static] |
Definition at line 3404 of file zone.c.
References cleanup(), dns_db_closeversion(), dns_db_currentversion(), dns_db_detachnode(), dns_db_findnode(), dns_db_findrdataset(), dns_nsec3_supportedhash(), DNS_NSEC3_UNKNOWNALG, DNS_R_BADZONE, DNS_RDATA_INIT, dns_rdata_reset(), dns_rdata_tostruct(), dns_rdataset_current(), dns_rdataset_disassociate(), dns_rdataset_first(), dns_rdataset_init(), dns_rdataset_isassociated(), dns_rdataset_next(), dns_result_totext(), dns_zone_isdynamic(), dns_zone_log(), dns_zone_master, DNS_ZONE_OPTION, DNS_ZONEOPT_NSEC3TESTZONE, INSIST, ISC_FALSE, ISC_LOG_ERROR, ISC_LOG_WARNING, ISC_R_NOMORE, ISC_R_NOTFOUND, ISC_R_SUCCESS, ISC_TRUE, dns_db::origin, and version.
Referenced by zone_postload(), and zone_replacedb().
static void set_refreshkeytimer | ( | dns_zone_t * | zone, | |
dns_rdata_keydata_t * | key, | |||
isc_stdtime_t | now, | |||
isc_boolean_t | force | |||
) | [static] |
Definition at line 3501 of file zone.c.
References dns_zone_log(), DNS_ZONE_TIME_ADD, ENTER, ISC_LOG_DEBUG, isc_time_compare(), isc_time_formattimestamp(), TIME_NOW, and zone_settimer().
Referenced by create_keydata(), keyfetch_done(), load_secroots(), and minimal_update().
static isc_result_t create_keydata | ( | dns_zone_t * | zone, | |
dns_db_t * | db, | |||
dns_dbversion_t * | ver, | |||
dns_diff_t * | diff, | |||
dns_keytable_t * | keytable, | |||
dns_keynode_t ** | keynodep, | |||
isc_boolean_t * | changed | |||
) | [static] |
Definition at line 3537 of file zone.c.
References CHECK, DNS_DIFFOP_ADD, dns_keydata_fromdnskey(), dns_keynode_key(), dns_keytable_detachkeynode(), dns_keytable_nextkeynode(), dns_rdata_fromregion(), dns_rdata_fromstruct(), DNS_RDATA_INIT, dns_rdata_reset(), dns_rdata_tostruct(), dst_key_class(), DST_KEY_MAXSIZE, dst_key_name(), dst_key_todns(), ENTER, isc_buffer_init, isc_buffer_usedregion, ISC_R_NOTFOUND, ISC_R_SUCCESS, isc_stdtime_get(), ISC_TRUE, dns_notify::key, now, r, dns_rdata::rdclass, REQUIRE, set_refreshkeytimer(), and update_one_rr().
Referenced by sync_keyzone().
static isc_result_t delete_keydata | ( | dns_db_t * | db, | |
dns_dbversion_t * | ver, | |||
dns_diff_t * | diff, | |||
dns_name_t * | name, | |||
dns_rdataset_t * | rdataset | |||
) | [static] |
Definition at line 3618 of file zone.c.
References DNS_DIFFOP_DEL, DNS_RDATA_INIT, dns_rdata_reset(), dns_rdataset_current(), dns_rdataset_first(), dns_rdataset_next(), ISC_R_NOMORE, ISC_R_SUCCESS, and update_one_rr().
Referenced by sync_keyzone().
static isc_result_t compute_tag | ( | dns_name_t * | name, | |
dns_rdata_dnskey_t * | dnskey, | |||
isc_mem_t * | mctx, | |||
dns_keytag_t * | tag | |||
) | [static] |
Definition at line 3643 of file zone.c.
References buffer, dns_dnssec_keyfromrdata(), dns_rdata_fromstruct(), DNS_RDATA_INIT, dst_key_free(), dst_key_id(), isc_buffer_init, ISC_R_SUCCESS, and dns_rdata::rdclass.
Referenced by keyfetch_done().
static void trust_key | ( | dns_zone_t * | zone, | |
dns_name_t * | keyname, | |||
dns_rdata_dnskey_t * | dnskey, | |||
isc_mem_t * | mctx | |||
) | [static] |
Definition at line 3668 of file zone.c.
References buffer, CHECK, dns_dnssec_keyfromrdata(), dns_keytable_add(), dns_keytable_detach(), dns_rdata_fromstruct(), DNS_RDATA_INIT, dns_view_getsecroots(), dst_key_free(), isc_buffer_init, ISC_R_SUCCESS, ISC_TRUE, and dns_rdata::rdclass.
Referenced by keyfetch_done(), and load_secroots().
static void fail_secure | ( | dns_zone_t * | zone, | |
dns_name_t * | keyname | |||
) | [static] |
Definition at line 3703 of file zone.c.
References dns_keytable_detach(), dns_keytable_marksecure(), dns_view_getsecroots(), and ISC_R_SUCCESS.
Referenced by keyfetch_done(), and load_secroots().
static void load_secroots | ( | dns_zone_t * | zone, | |
dns_name_t * | name, | |||
dns_rdataset_t * | rdataset | |||
) | [static] |
Definition at line 3719 of file zone.c.
References dns_keydata_todnskey(), dns_keytable_delete(), dns_keytable_detach(), dns_name_format(), DNS_NAME_FORMATSIZE, DNS_RDATA_INIT, dns_rdata_reset(), dns_rdata_tostruct(), dns_rdataset_current(), dns_rdataset_first(), dns_rdataset_next(), dns_view_getsecroots(), dns_zone_log(), fail_secure(), ISC_LOG_ERROR, ISC_R_SUCCESS, ISC_R_UNEXPECTEDEND, isc_stdtime_get(), ISC_TRUE, dns_notify::mctx, namebuf, now, RUNTIME_CHECK, set_refreshkeytimer(), and trust_key().
Referenced by sync_keyzone().
static isc_result_t do_one_tuple | ( | dns_difftuple_t ** | tuple, | |
dns_db_t * | db, | |||
dns_dbversion_t * | ver, | |||
dns_diff_t * | diff | |||
) | [static] |
Definition at line 3791 of file zone.c.
References dns_diff_appendminimal(), dns_diff_apply(), dns_diff_init(), dns_difftuple_free(), ISC_LIST_APPEND, ISC_LIST_UNLINK, ISC_R_SUCCESS, and dns_diff::mctx.
static isc_result_t update_soa_serial | ( | dns_db_t * | db, | |
dns_dbversion_t * | ver, | |||
dns_diff_t * | diff, | |||
isc_mem_t * | mctx, | |||
dns_updatemethod_t | method | |||
) | [static] |
Definition at line 3839 of file zone.c.
References CHECK, dns_db_createsoatuple(), DNS_DIFFOP_ADD, DNS_DIFFOP_DEL, dns_difftuple_copy(), dns_difftuple_free(), dns_soa_getserial(), dns_soa_setserial(), dns_update_soaserial(), dns_updatemethod_none, do_one_tuple(), INSIST, ISC_R_SUCCESS, dns_difftuple::op, and dns_difftuple::rdata.
Referenced by keydone(), keyfetch_done(), receive_secure_serial(), sync_keyzone(), update_action(), zone_nsec3chain(), zone_refreshkeys(), zone_resigninc(), and zone_sign().
static isc_result_t zone_journal | ( | dns_zone_t * | zone, | |
dns_diff_t * | diff, | |||
isc_uint32_t * | sourceserial, | |||
const char * | caller | |||
) | [static] |
Definition at line 3871 of file zone.c.
References DNS_JOURNAL_CREATE, dns_journal_destroy(), dns_journal_open(), dns_journal_set_sourceserial(), DNS_JOURNAL_WRITE, dns_journal_write_transaction(), dns_result_totext(), dns_zone_getjournal(), dns_zone_log(), ENTER, ISC_LOG_ERROR, ISC_R_SUCCESS, and journal.
Referenced by keydone(), keyfetch_done(), receive_secure_serial(), sync_keyzone(), zone_nsec3chain(), zone_refreshkeys(), zone_resigninc(), and zone_sign().
static isc_result_t add_soa | ( | dns_zone_t * | zone, | |
dns_db_t * | db | |||
) | [static] |
Definition at line 3911 of file zone.c.
References dns_db_closeversion(), dns_db_newversion(), dns_diff_clear(), dns_diff_init(), DNS_DIFFOP_ADD, DNS_RDATA_INIT, dns_result_totext(), dns_rootname, DNS_SOA_BUFFERSIZE, dns_soa_buildrdata(), dns_zone_log(), INSIST, ISC_LOG_DEBUG, ISC_LOG_ERROR, ISC_R_SUCCESS, ISC_TF, and update_one_rr().
Referenced by create_empty_zone(), and zone_postload().
static isc_result_t sync_keyzone | ( | dns_zone_t * | zone, | |
dns_db_t * | db | |||
) | [static] |
Definition at line 3961 of file zone.c.
References CHECK, commit(), create_keydata(), dns_rbtnode::data, delete_keydata(), dns_db_closeversion(), dns_db_find(), dns_db_newversion(), DNS_DBFIND_NOWILD, dns_diff_clear(), dns_diff_init(), dns_fixedname_init, dns_fixedname_name, dns_keynode_key(), dns_keynode_managed(), dns_keytable_attachkeynode(), dns_keytable_detach(), dns_keytable_detachkeynode(), dns_keytable_find(), dns_name_init(), DNS_R_NEWORIGIN, DNS_R_PARTIALMATCH, dns_rbtnodechain_current(), dns_rbtnodechain_first(), dns_rbtnodechain_init(), dns_rbtnodechain_next(), dns_rdataset_isassociated(), dns_result_totext(), dns_rriterator_current(), dns_rriterator_destroy(), dns_rriterator_first(), dns_rriterator_init(), dns_rriterator_nextrrset(), dns_view_getsecroots(), DNS_ZONE_FLAG, dns_zone_log(), DNS_ZONE_SETFLAG, DNS_ZONEFLG_LOADED, dst_key_name(), INSIST, ISC_FALSE, ISC_LOG_DEBUG, ISC_LOG_ERROR, ISC_R_NOMORE, ISC_R_NOTFOUND, ISC_R_SUCCESS, isc_rwlocktype_write, isc_time_settoepoch(), ISC_TRUE, dns_notify::key, load_secroots(), dns_diff::mctx, dns_rbtnodechain::mctx, origin, dns_keytable::rwlock, RWLOCK, RWUNLOCK, dns_keytable::table, dns_rdataset::type, update_soa_serial(), zone_journal(), and zone_needdump().
Referenced by dns_zone_synckeyzone(), and zone_postload().
isc_result_t dns_zone_synckeyzone | ( | dns_zone_t * | zone | ) |
Set the data to be included in the header when the zone is dumped in binary format.
Definition at line 4118 of file zone.c.
References CHECK, dns_db_detach(), DNS_R_BADZONE, dns_zone_getdb(), dns_zone_key, LOCK_ZONE, sync_keyzone(), and UNLOCK_ZONE.
Referenced by add_keydata_zone(), and mkey_refresh().
static void maybe_send_secure | ( | dns_zone_t * | zone | ) | [static] |
Definition at line 4138 of file zone.c.
References DNS_ZONE_SETFLAG, DNS_ZONEFLG_SENDSECURE, ISC_R_SUCCESS, zone_get_from_db(), zone_send_securedb(), and zone_send_secureserial().
Referenced by zone_postload().
static isc_boolean_t zone_unchanged | ( | dns_db_t * | db1, | |
dns_db_t * | db2, | |||
isc_mem_t * | mctx | |||
) | [static] |
Definition at line 4168 of file zone.c.
References answer, dns_db_diffx(), dns_diff_clear(), dns_diff_init(), ISC_FALSE, ISC_LIST_EMPTY, ISC_R_SUCCESS, and ISC_TRUE.
Referenced by zone_postload().
static isc_boolean_t exit_check | ( | dns_zone_t * | zone | ) | [static] |
Definition at line 4690 of file zone.c.
References DNS_ZONE_FLAG, DNS_ZONEFLG_SHUTDOWN, INSIST, ISC_FALSE, isc_refcount_current, ISC_TRUE, LOCKED_ZONE, and REQUIRE.
static isc_boolean_t zone_check_ns | ( | dns_zone_t * | zone, | |
dns_db_t * | db, | |||
dns_dbversion_t * | version, | |||
dns_name_t * | name, | |||
isc_boolean_t | logit | |||
) | [static] |
Definition at line 4704 of file zone.c.
References dns_db_find(), dns_fixedname_init, dns_fixedname_name, dns_name_format(), DNS_NAME_FORMATSIZE, DNS_R_CNAME, DNS_R_DNAME, DNS_R_EMPTYNAME, DNS_R_NXDOMAIN, DNS_R_NXRRSET, dns_zone_log(), dns_zone_master, DNS_ZONE_OPTION, DNS_ZONEOPT_NOCHECKNS, fixed, ISC_FALSE, ISC_LOG_ERROR, ISC_LOG_WARNING, ISC_R_SUCCESS, ISC_TRUE, and namebuf.
Referenced by zone_count_ns_rr().
static isc_result_t zone_count_ns_rr | ( | dns_zone_t * | zone, | |
dns_db_t * | db, | |||
dns_dbnode_t * | node, | |||
dns_dbversion_t * | version, | |||
unsigned int * | nscount, | |||
unsigned int * | errors, | |||
isc_boolean_t | logit | |||
) | [static] |
Definition at line 4770 of file zone.c.
References dns_db_findrdataset(), dns_name_issubdomain(), dns_rdata_init(), dns_rdata_tostruct(), dns_rdataset_current(), dns_rdataset_disassociate(), dns_rdataset_first(), dns_rdataset_init(), dns_rdataset_invalidate(), dns_rdataset_isassociated(), dns_rdataset_next(), dns_zone_master, dns_zone_slave, INSIST, ISC_R_NOTFOUND, ISC_R_SUCCESS, dns_notify::ns, RUNTIME_CHECK, and zone_check_ns().
Referenced by zone_get_from_db().
static isc_result_t zone_load_soa_rr | ( | dns_db_t * | db, | |
dns_dbnode_t * | node, | |||
dns_dbversion_t * | version, | |||
unsigned int * | soacount, | |||
isc_uint32_t * | serial, | |||
isc_uint32_t * | refresh, | |||
isc_uint32_t * | retry, | |||
isc_uint32_t * | expire, | |||
isc_uint32_t * | minimum | |||
) | [static] |
Definition at line 4826 of file zone.c.
References dns_db_findrdataset(), dns_rdata_init(), DNS_RDATA_INIT, dns_rdata_reset(), dns_rdata_tostruct(), dns_rdataset_current(), dns_rdataset_disassociate(), dns_rdataset_first(), dns_rdataset_init(), dns_rdataset_invalidate(), dns_rdataset_isassociated(), dns_rdataset_next(), INSIST, ISC_R_NOTFOUND, ISC_R_SUCCESS, and RUNTIME_CHECK.
Referenced by zone_get_from_db().
void dns_zone_attach | ( | dns_zone_t * | source, | |
dns_zone_t ** | target | |||
) |
Attach '*target' to 'source' incrementing its external reference count.
Require:
Definition at line 4982 of file zone.c.
References DNS_ZONE_VALID, isc_refcount_increment, and REQUIRE.
Referenced by add_keydata_zone(), add_zone_tolist(), configure_zone(), dns_acache_getentry(), dns_acache_setentry(), dns_viewlist_findzone(), dns_zt_find(), dns_zt_mount(), ns_server_freeze(), ns_server_refreshcommand(), ns_server_retransfercommand(), ns_update_start(), query_find(), receive_secure_serial(), and xfrout_ctx_create().
void dns_zone_detach | ( | dns_zone_t ** | zonep | ) |
Detach from a zone decrementing its external reference count. If this was the last external reference to the zone it will be shut down and eventually freed.
Require:
Definition at line 4990 of file zone.c.
References dns_zone_detach(), dns_zone_idetach(), DNS_ZONE_VALID, free_now, INSIST, ISC_FALSE, isc_refcount_decrement, isc_task_send(), ISC_TRUE, LOCK_ZONE, REQUIRE, secure(), UNLOCK_ZONE, and zone_free().
Referenced by add_keydata_zone(), ATF_TC_BODY(), auto_detach(), clear_entry(), configure_view(), configure_zone(), create_empty_zone(), destroy(), dns64_reverse(), dns_acache_getentry(), dns_dlz_writeablezone(), dns_test_makezone(), dns_view_find2(), dns_view_findzone(), dns_view_findzonecut2(), dns_viewlist_findzone(), dns_zone_detach(), do_addzone(), do_modzone(), dumpcontext_destroy(), forward_action(), forward_callback(), freezezones(), load_zone(), ns_notify_start(), ns_server_delzone(), ns_server_freeze(), ns_server_notifycommand(), ns_server_refreshcommand(), ns_server_rekey(), ns_server_reloadcommand(), ns_server_retransfercommand(), ns_server_showzone(), ns_server_signing(), ns_server_sync(), ns_server_zonestatus(), ns_update_start(), ns_xfr_start(), ns_zone_reusable(), query_addadditional(), query_addadditional2(), query_addbestns(), query_discardcache(), query_find(), query_getdb(), query_getzonedb(), query_reset(), receive_secure_serial(), rpz_clean(), rpz_rrset_find(), synczone(), updatedone_action(), view_flushanddetach(), xfrout_ctx_destroy(), zone_from_args(), and zone_shutdown().
void dns_zone_iattach | ( | dns_zone_t * | source, | |
dns_zone_t ** | target | |||
) |
Attach '*target' to 'source' incrementing its internal reference count. This is intended for use by operations such as zone transfers that need to prevent the zone object from being freed but not from shutting down.
Require:
Definition at line 5050 of file zone.c.
References DNS_ZONE_VALID, LOCK_ZONE, REQUIRE, UNLOCK_ZONE, and zone_iattach().
Referenced by dns_zone_forwardupdate(), xfrin_create(), and zone_notify().
void dns_zone_idetach | ( | dns_zone_t ** | zonep | ) |
Detach from a zone decrementing its internal reference count. If there are no more internal or external references to the zone, it will be freed.
Require:
Definition at line 5091 of file zone.c.
References DNS_ZONE_VALID, exit_check(), INSIST, LOCK_ZONE, REQUIRE, UNLOCK_ZONE, and zone_free().
Referenced by dns_zone_detach(), dump_done(), forward_destroy(), keydone(), maybe_free(), notify_destroy(), receive_secure_db(), receive_secure_serial(), refresh_callback(), soa_query(), stub_callback(), xfrin_create(), zone_asyncload(), zone_loaddone(), and zone_shutdown().
isc_mem_t* dns_zone_getmctx | ( | dns_zone_t * | zone | ) |
Get the memory context of a zone.
Requires:
Definition at line 5109 of file zone.c.
References DNS_ZONE_VALID, and REQUIRE.
Referenced by configure_staticstub(), configure_staticstub_serveraddrs(), configure_staticstub_servernames(), configure_zone_acl(), configure_zone_ssutable(), ns_server_zonestatus(), and ns_zone_configure().
dns_zonemgr_t* dns_zone_getmgr | ( | dns_zone_t * | zone | ) |
If 'zone' is managed return the zone manager otherwise NULL.
Requires:
Definition at line 5116 of file zone.c.
References DNS_ZONE_VALID, and REQUIRE.
Referenced by xfrin_connect_done().
void dns_zone_setflag | ( | dns_zone_t * | zone, | |
unsigned int | flags, | |||
isc_boolean_t | value | |||
) |
Sets ('value' == 'ISC_TRUE') / clears ('value' == 'IS_FALSE') zone flags. Valid flag bits are DNS_ZONE_F_*.
Requires
Definition at line 5123 of file zone.c.
References DNS_ZONE_CLRFLAG, DNS_ZONE_SETFLAG, DNS_ZONE_VALID, LOCK_ZONE, REQUIRE, and UNLOCK_ZONE.
void dns_zone_setoption | ( | dns_zone_t * | zone, | |
unsigned int | option, | |||
isc_boolean_t | value | |||
) |
Definition at line 5135 of file zone.c.
References DNS_ZONE_VALID, LOCK_ZONE, REQUIRE, and UNLOCK_ZONE.
Referenced by add_keydata_zone(), create_empty_zone(), dns64_reverse(), load_zone(), and ns_zone_configure().
void dns_zone_setoption2 | ( | dns_zone_t * | zone, | |
unsigned int | option, | |||
isc_boolean_t | value | |||
) |
Set the given options on ('value' == ISC_TRUE) or off ('value' == ISC_FALSE).
dns_zone_setoption2() has been introduced because the number of options needed now exceeds the 32 bits in the zone->options field; it should be used set options with names beginning with DNS_ZONEOPT2_.
Require:
Definition at line 5149 of file zone.c.
References DNS_ZONE_VALID, LOCK_ZONE, REQUIRE, and UNLOCK_ZONE.
Referenced by load_zone().
unsigned int dns_zone_getoptions | ( | dns_zone_t * | zone | ) |
Definition at line 5163 of file zone.c.
References DNS_ZONE_VALID, and REQUIRE.
Referenced by check_mx(), dns_update_signaturesinc(), and update_action().
unsigned int dns_zone_getoptions2 | ( | dns_zone_t * | zone | ) |
Returns the current zone options.
Callers should be aware there is now more than one set of zone options. dns_zone_getoptions2() has been introduced because the number of options needed now exceeds the 32 bits in the zone->options field. It returns the options whose names begin with DNS_ZONEOPT2_.
Require:
Definition at line 5170 of file zone.c.
References DNS_ZONE_VALID, and REQUIRE.
Referenced by update_action().
void dns_zone_setkeyopt | ( | dns_zone_t * | zone, | |
unsigned int | option, | |||
isc_boolean_t | value | |||
) |
Set key options on ('value' == ISC_TRUE) or off ('value' == ISC_FALSE).
Require:
Definition at line 5177 of file zone.c.
References DNS_ZONE_VALID, LOCK_ZONE, REQUIRE, and UNLOCK_ZONE.
Referenced by ns_zone_configure().
unsigned int dns_zone_getkeyopts | ( | dns_zone_t * | zone | ) |
Returns the current zone key options.
Require:
Definition at line 5190 of file zone.c.
References DNS_ZONE_VALID, and REQUIRE.
Referenced by configure_zone(), ns_server_rekey(), and ns_server_zonestatus().
isc_result_t dns_zone_setxfrsource4 | ( | dns_zone_t * | zone, | |
const isc_sockaddr_t * | xfrsource | |||
) |
Definition at line 5198 of file zone.c.
References DNS_ZONE_VALID, ISC_R_SUCCESS, LOCK_ZONE, REQUIRE, and UNLOCK_ZONE.
Referenced by ns_zone_configure().
isc_sockaddr_t* dns_zone_getxfrsource4 | ( | dns_zone_t * | zone | ) |
Definition at line 5209 of file zone.c.
References DNS_ZONE_VALID, and REQUIRE.
Referenced by dns_xfrin_create().
isc_result_t dns_zone_setxfrsource4dscp | ( | dns_zone_t * | zone, | |
isc_dscp_t | dscp | |||
) |
Definition at line 5215 of file zone.c.
References DNS_ZONE_VALID, ISC_R_SUCCESS, LOCK_ZONE, REQUIRE, and UNLOCK_ZONE.
Referenced by ns_zone_configure().
isc_dscp_t dns_zone_getxfrsource4dscp | ( | dns_zone_t * | zone | ) |
Definition at line 5226 of file zone.c.
References DNS_ZONE_VALID, and REQUIRE.
Referenced by dns_xfrin_create().
isc_result_t dns_zone_setxfrsource6 | ( | dns_zone_t * | zone, | |
const isc_sockaddr_t * | xfrsource | |||
) |
/ Get the DSCP value associated with the transfer/alt-transfer source.
Require:
Definition at line 5232 of file zone.c.
References DNS_ZONE_VALID, ISC_R_SUCCESS, LOCK_ZONE, REQUIRE, and UNLOCK_ZONE.
Referenced by ns_zone_configure().
isc_sockaddr_t* dns_zone_getxfrsource6 | ( | dns_zone_t * | zone | ) |
Definition at line 5243 of file zone.c.
References DNS_ZONE_VALID, and REQUIRE.
Referenced by adjust_interfaces(), and dns_xfrin_create().
isc_dscp_t dns_zone_getxfrsource6dscp | ( | dns_zone_t * | zone | ) |
Definition at line 5249 of file zone.c.
References DNS_ZONE_VALID, and REQUIRE.
Referenced by adjust_interfaces(), and dns_xfrin_create().
isc_result_t dns_zone_setxfrsource6dscp | ( | dns_zone_t * | zone, | |
isc_dscp_t | dscp | |||
) |
/ Get the DSCP value associated with the transfer/alt-transfer source.
Require:
Definition at line 5255 of file zone.c.
References DNS_ZONE_VALID, ISC_R_SUCCESS, LOCK_ZONE, REQUIRE, and UNLOCK_ZONE.
Referenced by ns_zone_configure().
isc_result_t dns_zone_setaltxfrsource4 | ( | dns_zone_t * | zone, | |
const isc_sockaddr_t * | xfrsource | |||
) |
Set the source address to be used in IPv4 zone transfers.
Require:
Definition at line 5266 of file zone.c.
References DNS_ZONE_VALID, ISC_R_SUCCESS, LOCK_ZONE, REQUIRE, and UNLOCK_ZONE.
Referenced by ns_zone_configure().
isc_sockaddr_t* dns_zone_getaltxfrsource4 | ( | dns_zone_t * | zone | ) |
Returns the source address set by a previous dns_zone_setxfrsource4 call, or the default of inaddr_any, port 0.
Require:
Definition at line 5279 of file zone.c.
References DNS_ZONE_VALID, and REQUIRE.
isc_result_t dns_zone_setaltxfrsource4dscp | ( | dns_zone_t * | zone, | |
isc_dscp_t | dscp | |||
) |
Set the DSCP value associated with the transfer/alt-transfer source.
Require:
Definition at line 5285 of file zone.c.
References DNS_ZONE_VALID, ISC_R_SUCCESS, LOCK_ZONE, REQUIRE, and UNLOCK_ZONE.
Referenced by ns_zone_configure().
isc_dscp_t dns_zone_getaltxfrsource4dscp | ( | dns_zone_t * | zone | ) |
isc_result_t dns_zone_setaltxfrsource6 | ( | dns_zone_t * | zone, | |
const isc_sockaddr_t * | xfrsource | |||
) |
Set the source address to be used in IPv6 zone transfers.
Require:
Definition at line 5302 of file zone.c.
References DNS_ZONE_VALID, ISC_R_SUCCESS, LOCK_ZONE, REQUIRE, and UNLOCK_ZONE.
Referenced by ns_zone_configure().
isc_sockaddr_t* dns_zone_getaltxfrsource6 | ( | dns_zone_t * | zone | ) |
Returns the source address set by a previous dns_zone_setxfrsource6 call, or the default of in6addr_any, port 0.
Require:
Definition at line 5315 of file zone.c.
References DNS_ZONE_VALID, and REQUIRE.
isc_result_t dns_zone_setaltxfrsource6dscp | ( | dns_zone_t * | zone, | |
isc_dscp_t | dscp | |||
) |
Set the DSCP value associated with the transfer/alt-transfer source.
Require:
Definition at line 5321 of file zone.c.
References DNS_ZONE_VALID, ISC_R_SUCCESS, LOCK_ZONE, REQUIRE, and UNLOCK_ZONE.
Referenced by ns_zone_configure().
isc_dscp_t dns_zone_getaltxfrsource6dscp | ( | dns_zone_t * | zone | ) |
isc_result_t dns_zone_setnotifysrc4 | ( | dns_zone_t * | zone, | |
const isc_sockaddr_t * | notifysrc | |||
) |
Set the source address to be used with IPv4 NOTIFY messages.
Require:
Definition at line 5338 of file zone.c.
References DNS_ZONE_VALID, ISC_R_SUCCESS, LOCK_ZONE, REQUIRE, and UNLOCK_ZONE.
Referenced by ns_zone_configure().
isc_sockaddr_t* dns_zone_getnotifysrc4 | ( | dns_zone_t * | zone | ) |
Returns the source address set by a previous dns_zone_setnotifysrc4 call, or the default of inaddr_any, port 0.
Require:
Definition at line 5349 of file zone.c.
References DNS_ZONE_VALID, and REQUIRE.
isc_result_t dns_zone_setnotifysrc4dscp | ( | dns_zone_t * | zone, | |
isc_dscp_t | dscp | |||
) |
/ Get the DCSP value associated with the notify source.
Require:
Definition at line 5355 of file zone.c.
References DNS_ZONE_VALID, ISC_R_SUCCESS, LOCK_ZONE, REQUIRE, and UNLOCK_ZONE.
Referenced by ns_zone_configure().
isc_dscp_t dns_zone_getnotifysrc4dscp | ( | dns_zone_t * | zone | ) |
isc_result_t dns_zone_setnotifysrc6 | ( | dns_zone_t * | zone, | |
const isc_sockaddr_t * | notifysrc | |||
) |
/ Get the DSCP value associated with the notify source.
Require:
Definition at line 5372 of file zone.c.
References DNS_ZONE_VALID, ISC_R_SUCCESS, LOCK_ZONE, REQUIRE, and UNLOCK_ZONE.
Referenced by ns_zone_configure().
isc_sockaddr_t* dns_zone_getnotifysrc6 | ( | dns_zone_t * | zone | ) |
Returns the source address set by a previous dns_zone_setnotifysrc6 call, or the default of in6addr_any, port 0.
Require:
Definition at line 5383 of file zone.c.
References DNS_ZONE_VALID, and REQUIRE.
Referenced by adjust_interfaces().
static isc_boolean_t same_addrs | ( | const isc_sockaddr_t * | old, | |
const isc_sockaddr_t * | new, | |||
isc_uint32_t | count | |||
) | [static] |
Definition at line 5389 of file zone.c.
References ISC_FALSE, isc_sockaddr_equal(), and ISC_TRUE.
Referenced by dns_zone_setalsonotifydscpkeys(), and dns_zone_setmasterswithkeys().
static isc_boolean_t same_keynames | ( | dns_name_t ** | old, | |
dns_name_t ** | new, | |||
isc_uint32_t | count | |||
) | [static] |
Definition at line 5401 of file zone.c.
References dns_name_equal(), ISC_FALSE, and ISC_TRUE.
Referenced by dns_zone_setalsonotifydscpkeys(), and dns_zone_setmasterswithkeys().
static void clear_addresskeylist | ( | isc_sockaddr_t ** | addrsp, | |
isc_dscp_t ** | dscpsp, | |||
dns_name_t *** | keynamesp, | |||
unsigned int * | countp, | |||
isc_mem_t * | mctx | |||
) | [static] |
Definition at line 5420 of file zone.c.
References dns_name_free(), isc_mem_put, and REQUIRE.
Referenced by dns_zone_setalsonotifydscpkeys(), and dns_zone_setmasterswithkeys().
static isc_result_t set_addrkeylist | ( | unsigned int | count, | |
const isc_sockaddr_t * | addrs, | |||
isc_sockaddr_t ** | newaddrsp, | |||
const isc_dscp_t * | dscp, | |||
isc_dscp_t ** | newdscpp, | |||
dns_name_t ** | names, | |||
dns_name_t *** | newnamesp, | |||
isc_mem_t * | mctx | |||
) | [static] |
Definition at line 5462 of file zone.c.
References dns_name_dup(), dns_name_free(), dns_name_init(), isc_mem_get, isc_mem_put, ISC_R_NOMEMORY, ISC_R_SUCCESS, and REQUIRE.
Referenced by dns_zone_setalsonotifydscpkeys(), and dns_zone_setmasterswithkeys().
isc_result_t dns_zone_setnotifysrc6dscp | ( | dns_zone_t * | zone, | |
isc_dscp_t | dscp | |||
) |
/ Get the DCSP value associated with the notify source.
Require:
Definition at line 5540 of file zone.c.
References DNS_ZONE_VALID, ISC_R_SUCCESS, LOCK_ZONE, REQUIRE, and UNLOCK_ZONE.
Referenced by ns_zone_configure().
isc_dscp_t dns_zone_getnotifysrc6dscp | ( | dns_zone_t * | zone | ) |
Definition at line 5551 of file zone.c.
References DNS_ZONE_VALID, and REQUIRE.
Referenced by adjust_interfaces().
isc_result_t dns_zone_setalsonotify | ( | dns_zone_t * | zone, | |
const isc_sockaddr_t * | notify, | |||
isc_uint32_t | count | |||
) |
Definition at line 5557 of file zone.c.
References dns_zone_setalsonotifydscpkeys().
Referenced by ns_zone_configure(), and zone_free().
isc_result_t dns_zone_setalsonotifywithkeys | ( | dns_zone_t * | zone, | |
const isc_sockaddr_t * | notify, | |||
dns_name_t ** | keynames, | |||
isc_uint32_t | count | |||
) |
isc_result_t dns_zone_setalsonotifydscpkeys | ( | dns_zone_t * | zone, | |
const isc_sockaddr_t * | notify, | |||
const isc_dscp_t * | dscps, | |||
dns_name_t ** | keynames, | |||
isc_uint32_t | count | |||
) |
Set the list of additional servers to be notified when a zone changes. To clear the list use 'count = 0'.
dns_zone_alsonotifywithkeys() allows each notify address to be associated with a TSIG key.
Require:
Definition at line 5573 of file zone.c.
References clear_addresskeylist(), DNS_ZONE_VALID, ISC_R_SUCCESS, LOCK_ZONE, REQUIRE, same_addrs(), same_keynames(), set_addrkeylist(), and UNLOCK_ZONE.
Referenced by dns_zone_setalsonotify(), dns_zone_setalsonotifywithkeys(), and ns_zone_configure().
isc_result_t dns_zone_setmasters | ( | dns_zone_t * | zone, | |
const isc_sockaddr_t * | masters, | |||
isc_uint32_t | count | |||
) |
Definition at line 5622 of file zone.c.
References dns_zone_setmasterswithkeys().
Referenced by ns_zone_configure().
isc_result_t dns_zone_setmasterswithkeys | ( | dns_zone_t * | zone, | |
const isc_sockaddr_t * | masters, | |||
dns_name_t ** | keynames, | |||
isc_uint32_t | count | |||
) |
Set the list of master servers for the zone.
Require:
Definition at line 5632 of file zone.c.
References clear_addresskeylist(), dns_request_cancel(), DNS_ZONE_CLRFLAG, DNS_ZONE_VALID, DNS_ZONEFLG_NOMASTERS, INSIST, ISC_FALSE, isc_mem_get, isc_mem_put, ISC_R_NOMEMORY, ISC_R_SUCCESS, LOCK_ZONE, REQUIRE, same_addrs(), same_keynames(), set_addrkeylist(), and UNLOCK_ZONE.
Referenced by dns_zone_setmasters(), ns_zone_configure(), and zone_free().
isc_result_t dns_zone_getdb | ( | dns_zone_t * | zone, | |
dns_db_t ** | dbp | |||
) |
Attach '*dbp' to the database to if it exists otherwise return DNS_R_NOTLOADED.
Require:
Definition at line 5724 of file zone.c.
References dns_db_attach(), DNS_R_NOTLOADED, DNS_ZONE_VALID, ISC_R_SUCCESS, isc_rwlocktype_read, REQUIRE, ZONEDB_LOCK, and ZONEDB_UNLOCK.
Referenced by ATF_TC_BODY(), check_ttls(), dns_view_find2(), dns_view_findzonecut2(), dns_xfrin_create3(), dns_zone_synckeyzone(), do_addzone(), do_modzone(), dumpdone(), mkey_dumpzone(), ns_server_delzone(), ns_server_signing(), ns_server_zonestatus(), ns_xfr_start(), query_getzonedb(), query_iscachevalid(), redirect(), and update_action().
void dns_zone_setdb | ( | dns_zone_t * | zone, | |
dns_db_t * | db | |||
) |
Sets the zone database to 'db'.
This function is expected to be used to configure a zone with a database which is not loaded from a file or zone transfer. It can be used for a general purpose zone, but right now its use is limited to static-stub zones to avoid possible undiscovered problems in the general cases.
Require:
Definition at line 5740 of file zone.c.
References dns_db_attach(), dns_zone_staticstub, DNS_ZONE_VALID, isc_rwlocktype_write, REQUIRE, ZONEDB_LOCK, and ZONEDB_UNLOCK.
Referenced by configure_staticstub().
void dns_zone_maintenance | ( | dns_zone_t * | zone | ) |
Perform regular maintenance on the zone. This is called as a result of a zone being managed.
Require
Definition at line 5755 of file zone.c.
References DNS_ZONE_VALID, ENTER, LOCK_ZONE, now, REQUIRE, TIME_NOW, UNLOCK_ZONE, and zone_settimer().
Referenced by dns_zonemgr_forcemaint().
static isc_boolean_t was_dumping | ( | dns_zone_t * | zone | ) | [inline, static] |
Definition at line 5769 of file zone.c.
References DNS_ZONE_CLRFLAG, DNS_ZONE_FLAG, DNS_ZONE_SETFLAG, DNS_ZONEFLG_DUMPING, DNS_ZONEFLG_NEEDDUMP, isc_time_settoepoch(), LOCKED_ZONE, and REQUIRE.
Referenced by dns_zone_dump(), dns_zone_flush(), and zone_maintenance().
static isc_result_t find_zone_keys | ( | dns_zone_t * | zone, | |
dns_db_t * | db, | |||
dns_dbversion_t * | ver, | |||
isc_mem_t * | mctx, | |||
unsigned int | maxkeys, | |||
dst_key_t ** | keys, | |||
unsigned int * | nkeys | |||
) | [static] |
Definition at line 5784 of file zone.c.
References CHECK, directory, dns_db_detachnode(), dns_db_findnode(), dns_db_origin(), dns_dnssec_findzonekeys2(), dns_zone_getkeydirectory(), ISC_FALSE, ISC_R_NOTFOUND, and ISC_R_SUCCESS.
static isc_result_t offline | ( | dns_db_t * | db, | |
dns_dbversion_t * | ver, | |||
zonediff_t * | zonediff, | |||
dns_name_t * | name, | |||
dns_ttl_t | ttl, | |||
dns_rdata_t * | rdata | |||
) | [static] |
Definition at line 5806 of file zone.c.
References zonediff_t::diff, DNS_DIFFOP_ADDRESIGN, DNS_DIFFOP_DELRESIGN, DNS_RDATA_OFFLINE, dns_rdata::flags, ISC_R_SUCCESS, ISC_TRUE, zonediff_t::offline, and update_one_rr().
Referenced by del_sigs(), and rdata_from_slab().
static void set_key_expiry_warning | ( | dns_zone_t * | zone, | |
isc_stdtime_t | when, | |||
isc_stdtime_t | now | |||
) | [static] |
Definition at line 5825 of file zone.c.
References dns_zone_log(), ISC_LOG_ERROR, ISC_LOG_NOTICE, ISC_LOG_WARNING, isc_time_formattimestamp(), isc_time_set(), and isc_time_settoepoch().
Referenced by del_sigs(), and zone_maintenance().
static isc_boolean_t delsig_ok | ( | dns_rdata_rrsig_t * | rrsig_ptr, | |
dst_key_t ** | keys, | |||
unsigned int | nkeys, | |||
isc_boolean_t * | warn | |||
) | [static] |
Definition at line 5860 of file zone.c.
References dst_key_alg(), dst_key_id(), dst_key_isprivate(), ISC_FALSE, ISC_TRUE, and KSK.
Referenced by del_sigs().
static isc_result_t del_sigs | ( | dns_zone_t * | zone, | |
dns_db_t * | db, | |||
dns_dbversion_t * | ver, | |||
dns_name_t * | name, | |||
dns_rdatatype_t | type, | |||
zonediff_t * | zonediff, | |||
dst_key_t ** | keys, | |||
unsigned int | nkeys, | |||
isc_stdtime_t | now, | |||
isc_boolean_t | incremental | |||
) | [static] |
Definition at line 5914 of file zone.c.
References delsig_ok(), zonediff_t::diff, dns_db_detachnode(), dns_db_findnode(), dns_db_findnsec3node(), dns_db_findrdataset(), DNS_DIFFOP_DELRESIGN, dns_name_format(), DNS_NAME_FORMATSIZE, DNS_RDATA_INIT, DNS_RDATA_OFFLINE, dns_rdata_tostruct(), dns_rdataset_current(), dns_rdataset_disassociate(), dns_rdataset_first(), dns_rdataset_init(), dns_rdataset_isassociated(), dns_rdataset_next(), dns_secalg_format(), dns_time64_from32(), dns_zone_log(), dst_key_alg(), dst_key_id(), dst_key_inactive(), dst_key_isprivate(), dns_rdata::flags, INSIST, ISC_FALSE, ISC_LOG_ERROR, ISC_LOG_WARNING, ISC_R_NOMORE, ISC_R_NOTFOUND, ISC_R_SUCCESS, ISC_TRUE, offline(), origin, RUNTIME_CHECK, set_key_expiry_warning(), dns_rdataset::ttl, and update_one_rr().
Referenced by update_sigs(), zone_nsec3chain(), zone_resigninc(), and zone_sign().
static isc_result_t add_sigs | ( | dns_db_t * | db, | |
dns_dbversion_t * | ver, | |||
dns_name_t * | name, | |||
dns_rdatatype_t | type, | |||
dns_diff_t * | diff, | |||
dst_key_t ** | keys, | |||
unsigned int | nkeys, | |||
isc_mem_t * | mctx, | |||
isc_stdtime_t | inception, | |||
isc_stdtime_t | expire, | |||
isc_boolean_t | check_ksk, | |||
isc_boolean_t | keyset_kskonly | |||
) | [static] |
Definition at line 6092 of file zone.c.
References ALG, buffer, CHECK, dns_db_detachnode(), dns_db_findnode(), dns_db_findnsec3node(), dns_db_findrdataset(), DNS_DIFFOP_ADDRESIGN, dns_dnssec_sign(), DNS_RDATA_INIT, dns_rdata_reset(), dns_rdataset_disassociate(), dns_rdataset_init(), dns_rdataset_isassociated(), dst_key_isprivate(), INSIST, isc_buffer_clear, isc_buffer_init, ISC_FALSE, ISC_R_NOTFOUND, ISC_R_SUCCESS, ISC_TRUE, KSK, REVOKE, dns_rdataset::ttl, and update_one_rr().
static void zone_resigninc | ( | dns_zone_t * | zone | ) | [static] |
Definition at line 6189 of file zone.c.
References add_sigs(), CHECK, dns_rdataset::covers, del_sigs(), zonediff_t::diff, dns_db_attach(), dns_db_closeversion(), dns_db_detach(), dns_db_getsigningtime(), dns_db_newversion(), dns_diff_clear(), dns_diff_init(), DNS_DUMP_DELAY, dns_fixedname_init, dns_fixedname_name, DNS_MAXZONEKEYS, dns_rdataset_disassociate(), dns_rdataset_init(), dns_result_totext(), dns_zone_getsigvalidityinterval(), dns_zone_log(), DNS_ZONE_OPTION, DNS_ZONE_SETFLAG, DNS_ZONEFLG_NEEDNOTIFY, DNS_ZONEKEY_NORESIGN, DNS_ZONEKEY_OPTION, DNS_ZONEOPT_DNSKEYKSKONLY, DNS_ZONEOPT_UPDATECHECKKSK, dst_key_free(), ENTER, find_zone_keys(), fixed, INSIST, ISC_FALSE, isc_interval_set(), ISC_LIST_EMPTY, ISC_LOG_ERROR, ISC_R_FAILURE, ISC_R_NOMORE, ISC_R_NOTFOUND, ISC_R_SUCCESS, isc_random_get(), isc_rwlocktype_read, isc_stdtime_get(), isc_time_nowplusinterval(), ISC_TRUE, jitter, keyset_kskonly, LOCK_ZONE, dns_diff::mctx, dns_db::mctx, now, zonediff_t::offline, dns_db::origin, dns_rdataset::resign, set_resigntime(), UNLOCK_ZONE, update_soa_serial(), version, zone_journal(), zone_needdump(), ZONEDB_LOCK, ZONEDB_UNLOCK, and zonediff_init.
Referenced by zone_maintenance().
static isc_result_t next_active | ( | dns_db_t * | db, | |
dns_dbversion_t * | version, | |||
dns_name_t * | oldname, | |||
dns_name_t * | newname, | |||
isc_boolean_t | bottom | |||
) | [static] |
Definition at line 6396 of file zone.c.
References CHECK, dns_db_allrdatasets(), dns_db_createiterator(), dns_db_detachnode(), DNS_DB_NONSEC3, dns_dbiterator_current(), dns_dbiterator_destroy(), dns_dbiterator_first(), dns_dbiterator_next(), dns_dbiterator_seek(), dns_name_equal(), dns_name_issubdomain(), dns_rdatasetiter_destroy(), dns_rdatasetiter_first(), and ISC_R_NOMORE.
static isc_boolean_t signed_with_key | ( | dns_db_t * | db, | |
dns_dbnode_t * | node, | |||
dns_dbversion_t * | version, | |||
dns_rdatatype_t | type, | |||
dst_key_t * | key | |||
) | [static] |
Definition at line 6435 of file zone.c.
References dns_db_findrdataset(), DNS_RDATA_INIT, dns_rdata_reset(), dns_rdata_tostruct(), dns_rdataset_current(), dns_rdataset_disassociate(), dns_rdataset_first(), dns_rdataset_init(), dns_rdataset_isassociated(), dns_rdataset_next(), dst_key_alg(), dst_key_id(), INSIST, ISC_FALSE, ISC_R_SUCCESS, and ISC_TRUE.
Referenced by sign_a_node().
static isc_result_t add_nsec | ( | dns_db_t * | db, | |
dns_dbversion_t * | version, | |||
dns_name_t * | name, | |||
dns_dbnode_t * | node, | |||
dns_ttl_t | ttl, | |||
isc_boolean_t | bottom, | |||
dns_diff_t * | diff | |||
) | [static] |
Definition at line 6468 of file zone.c.
References CHECK, DNS_DIFFOP_ADD, dns_fixedname_init, dns_fixedname_name, DNS_NSEC_BUFFERSIZE, dns_nsec_buildrdata(), DNS_RDATA_INIT, fixed, next_active(), and update_one_rr().
static isc_result_t sign_a_node | ( | dns_db_t * | db, | |
dns_name_t * | name, | |||
dns_dbnode_t * | node, | |||
dns_dbversion_t * | version, | |||
isc_boolean_t | build_nsec3, | |||
isc_boolean_t | build_nsec, | |||
dst_key_t * | key, | |||
isc_stdtime_t | inception, | |||
isc_stdtime_t | expire, | |||
unsigned int | minimum, | |||
isc_boolean_t | is_ksk, | |||
isc_boolean_t | keyset_kskonly, | |||
isc_boolean_t * | delegation, | |||
dns_diff_t * | diff, | |||
isc_int32_t * | signatures, | |||
isc_mem_t * | mctx | |||
) | [static] |
Definition at line 6491 of file zone.c.
References add_nsec(), buffer, CHECK, dns_db_allrdatasets(), dns_db_origin(), DNS_DIFFOP_ADDRESIGN, dns_dnssec_sign(), dns_name_equal(), dns_nsec3_addnsec3s(), DNS_RDATA_INIT, dns_rdata_reset(), dns_rdataset_disassociate(), dns_rdataset_init(), dns_rdataset_isassociated(), dns_rdatasetiter_current(), dns_rdatasetiter_destroy(), dns_rdatasetiter_first(), dns_rdatasetiter_next(), isc_buffer_clear, isc_buffer_init, ISC_FALSE, ISC_R_NOMORE, ISC_R_NOTFOUND, ISC_R_SUCCESS, ISC_TRUE, signed_with_key(), dns_rdataset::ttl, dns_rdataset::type, and update_one_rr().
Referenced by zone_sign().
static isc_result_t updatesecure | ( | dns_db_t * | db, | |
dns_dbversion_t * | version, | |||
dns_name_t * | name, | |||
dns_ttl_t | minimum, | |||
isc_boolean_t | update_only, | |||
dns_diff_t * | diff | |||
) | [static] |
Definition at line 6618 of file zone.c.
References add_nsec(), CHECK, delete_nsec(), dns_db_detachnode(), dns_db_findrdataset(), dns_db_getoriginnode(), dns_rdataset_disassociate(), dns_rdataset_init(), dns_rdataset_isassociated(), ISC_FALSE, ISC_R_NOTFOUND, and ISC_R_SUCCESS.
Referenced by updatesignwithkey(), zone_nsec3chain(), and zone_sign().
static isc_result_t updatesignwithkey | ( | dns_zone_t * | zone, | |
dns_signing_t * | signing, | |||
dns_dbversion_t * | version, | |||
isc_boolean_t | build_nsec3, | |||
dns_ttl_t | minimum, | |||
dns_diff_t * | diff | |||
) | [static] |
Definition at line 6650 of file zone.c.
References CHECK, dns_rdata::data, dns_db_class(), dns_db_detachnode(), dns_db_findrdataset(), dns_db_getoriginnode(), dns_db_origin(), DNS_DIFFOP_ADD, DNS_DIFFOP_DEL, dns_nsec3_addnsec3s(), DNS_RDATA_INIT, dns_rdata_reset(), dns_rdataset_current(), dns_rdataset_disassociate(), dns_rdataset_first(), dns_rdataset_init(), dns_rdataset_isassociated(), dns_rdataset_next(), INSIST, ISC_FALSE, ISC_R_NOMORE, ISC_R_NOTFOUND, ISC_R_SUCCESS, ISC_TRUE, dns_rdata::length, origin, dns_rdata::rdclass, dns_rdataset::ttl, dns_rdata::type, update_one_rr(), and updatesecure().
Referenced by zone_sign().
static isc_result_t fixup_nsec3param | ( | dns_db_t * | db, | |
dns_dbversion_t * | ver, | |||
dns_nsec3chain_t * | chain, | |||
isc_boolean_t | active, | |||
dns_rdatatype_t | privatetype, | |||
dns_diff_t * | diff | |||
) | [static] |
Definition at line 6760 of file zone.c.
References buffer, CHECK, dns_rdata::data, dns_db_class(), dns_db_detachnode(), dns_db_findrdataset(), dns_db_getoriginnode(), dns_db_origin(), DNS_DIFFOP_ADD, DNS_DIFFOP_DEL, DNS_NSEC3PARAM_BUFFERSIZE, dns_nsec3param_fromprivate(), dns_nsec_nseconly(), dns_rdata_fromstruct(), DNS_RDATA_INIT, dns_rdata_reset(), dns_rdata_tostruct(), dns_rdataset_current(), dns_rdataset_disassociate(), dns_rdataset_first(), dns_rdataset_init(), dns_rdataset_isassociated(), dns_rdataset_next(), isc_buffer_init, ISC_FALSE, ISC_R_NOMORE, ISC_R_NOTFOUND, ISC_R_SUCCESS, RUNTIME_CHECK, dns_rdataset::ttl, and update_one_rr().
Referenced by zone_nsec3chain().
static isc_result_t deletematchingnsec3 | ( | dns_db_t * | db, | |
dns_dbversion_t * | ver, | |||
dns_dbnode_t * | node, | |||
dns_name_t * | name, | |||
const dns_rdata_nsec3param_t * | param, | |||
dns_diff_t * | diff | |||
) | [static] |
Definition at line 6927 of file zone.c.
References CHECK, dns_db_findrdataset(), DNS_DIFFOP_DEL, DNS_RDATA_INIT, dns_rdata_tostruct(), dns_rdataset_current(), dns_rdataset_disassociate(), dns_rdataset_first(), dns_rdataset_init(), dns_rdataset_next(), ISC_R_NOMORE, ISC_R_NOTFOUND, ISC_R_SUCCESS, dns_rdataset::ttl, and update_one_rr().
Referenced by zone_nsec3chain().
static isc_result_t need_nsec_chain | ( | dns_db_t * | db, | |
dns_dbversion_t * | ver, | |||
const dns_rdata_nsec3param_t * | param, | |||
isc_boolean_t * | answer | |||
) | [static] |
Definition at line 6966 of file zone.c.
References CHECK, dns_db_detachnode(), dns_db_findrdataset(), dns_db_getoriginnode(), DNS_RDATA_INIT, dns_rdata_reset(), dns_rdata_tostruct(), dns_rdataset_current(), dns_rdataset_disassociate(), dns_rdataset_first(), dns_rdataset_init(), dns_rdataset_isassociated(), dns_rdataset_next(), ISC_FALSE, ISC_R_NOMORE, ISC_R_NOTFOUND, ISC_R_SUCCESS, ISC_TRUE, NSEC3REMOVE, and RUNTIME_CHECK.
Referenced by zone_nsec3chain().
static isc_result_t update_sigs | ( | dns_diff_t * | diff, | |
dns_db_t * | db, | |||
dns_dbversion_t * | version, | |||
dst_key_t * | zone_keys[], | |||
unsigned int | nkeys, | |||
dns_zone_t * | zone, | |||
isc_stdtime_t | inception, | |||
isc_stdtime_t | expire, | |||
isc_stdtime_t | now, | |||
isc_boolean_t | check_ksk, | |||
isc_boolean_t | keyset_kskonly, | |||
zonediff_t * | zonediff | |||
) | [static] |
Definition at line 7044 of file zone.c.
References add_sigs(), del_sigs(), zonediff_t::diff, dns_diff_appendminimal(), dns_name_equal(), dns_result_totext(), dns_zone_log(), INSIST, ISC_FALSE, ISC_LIST_HEAD, ISC_LIST_NEXT, ISC_LIST_UNLINK, ISC_LOG_ERROR, ISC_R_SUCCESS, dns_diff::mctx, dns_difftuple::name, dns_difftuple::rdata, and dns_rdata::type.
Referenced by zone_nsec3chain(), and zone_sign().
static void zone_nsec3chain | ( | dns_zone_t * | zone | ) | [static] |
Definition at line 7096 of file zone.c.
References add_nsec(), add_sigs(), CHECK, cleanup(), del_sigs(), delete_nsec(), deletematchingnsec3(), zonediff_t::diff, dns_db_allrdatasets(), dns_db_attach(), dns_db_closeversion(), dns_db_detach(), dns_db_detachnode(), dns_db_find(), dns_db_getoriginnode(), dns_db_newversion(), dns_db_origin(), DNS_DBFIND_NOWILD, dns_dbiterator_current(), dns_dbiterator_destroy(), dns_dbiterator_first(), dns_dbiterator_next(), dns_dbiterator_pause(), dns_diff_clear(), dns_diff_init(), DNS_DUMP_DELAY, dns_fixedname_init, dns_fixedname_name, DNS_MAXZONEKEYS, dns_name_copy(), dns_name_equal(), dns_name_issubdomain(), dns_nsec3_addnsec3(), dns_nsec3_addnsec3s(), DNS_R_DELEGATION, DNS_R_DNAME, dns_rdataset_disassociate(), dns_rdataset_init(), dns_rdatasetiter_current(), dns_rdatasetiter_destroy(), dns_rdatasetiter_first(), dns_rdatasetiter_next(), dns_result_totext(), dns_zone_getsigvalidityinterval(), dns_zone_log(), DNS_ZONE_OPTION, DNS_ZONE_SETFLAG, DNS_ZONEFLG_NEEDNOTIFY, DNS_ZONEOPT_DNSKEYKSKONLY, DNS_ZONEOPT_UPDATECHECKKSK, dst_key_free(), ENTER, find_zone_keys(), fixed, fixup_nsec3param(), INSIST, ISC_FALSE, isc_interval_set(), ISC_LIST_APPEND, ISC_LIST_EMPTY, ISC_LIST_HEAD, ISC_LIST_INIT, ISC_LIST_NEXT, ISC_LIST_PREPEND, ISC_LIST_TAIL, ISC_LIST_UNLINK, ISC_LOG_DEBUG, ISC_LOG_ERROR, isc_mem_put, ISC_R_FAILURE, ISC_R_NOMORE, ISC_R_NOTFOUND, ISC_R_SUCCESS, isc_random_get(), isc_rwlocktype_read, isc_stdtime_get(), isc_time_nowplusinterval(), isc_time_settoepoch(), ISC_TRUE, jitter, keyset_kskonly, LOCK_ZONE, dns_diff::mctx, dns_db::mctx, need_nsec_chain(), now, NSEC3REMOVE, dns_db::origin, privatetype, RUNTIME_CHECK, set_resigntime(), dns_rdataset::type, UNLOCK_ZONE, update_sigs(), update_soa_serial(), updatesecure(), version, zone_journal(), zone_needdump(), ZONEDB_LOCK, ZONEDB_UNLOCK, and zonediff_init.
Referenced by zone_maintenance().
static isc_result_t del_sig | ( | dns_db_t * | db, | |
dns_dbversion_t * | version, | |||
dns_name_t * | name, | |||
dns_dbnode_t * | node, | |||
unsigned int | nkeys, | |||
dns_secalg_t | algorithm, | |||
isc_uint16_t | keyid, | |||
dns_diff_t * | diff | |||
) | [static] |
Definition at line 7881 of file zone.c.
References CHECK, dns_db_allrdatasets(), DNS_DIFFOP_DEL, DNS_DIFFOP_DELRESIGN, DNS_RDATA_INIT, dns_rdata_tostruct(), dns_rdataset_current(), dns_rdataset_disassociate(), dns_rdataset_first(), dns_rdataset_init(), dns_rdataset_isassociated(), dns_rdataset_next(), dns_rdatasetiter_current(), dns_rdatasetiter_destroy(), dns_rdatasetiter_first(), dns_rdatasetiter_next(), ISC_R_NOMORE, ISC_R_NOTFOUND, ISC_R_SUCCESS, dns_rdataset::ttl, dns_rdataset::type, and update_one_rr().
Referenced by zone_sign().
static void zone_sign | ( | dns_zone_t * | zone | ) | [static] |
Definition at line 7952 of file zone.c.
References add_sigs(), ALG, CHECK, cleanup(), commit(), del_sig(), del_sigs(), zonediff_t::diff, dns_db_attach(), dns_db_closeversion(), dns_db_detach(), dns_db_detachnode(), dns_db_find(), dns_db_newversion(), DNS_DBFIND_NOWILD, dns_dbiterator_current(), dns_dbiterator_destroy(), dns_dbiterator_first(), dns_dbiterator_next(), dns_dbiterator_pause(), dns_diff_clear(), dns_diff_init(), DNS_DUMP_DELAY, dns_fixedname_init, dns_fixedname_name, DNS_MAXZONEKEYS, dns_name_copy(), dns_name_equal(), dns_name_issubdomain(), dns_private_chains(), DNS_R_DELEGATION, DNS_R_DNAME, dns_rdataset_init(), dns_result_totext(), dns_zone_getsigvalidityinterval(), dns_zone_log(), DNS_ZONE_OPTION, DNS_ZONE_SETFLAG, DNS_ZONEFLG_NEEDNOTIFY, DNS_ZONEOPT_DNSKEYKSKONLY, DNS_ZONEOPT_UPDATECHECKKSK, dst_key_alg(), dst_key_free(), dst_key_id(), dst_key_isprivate(), ENTER, find_zone_keys(), fixed, INSIST, ISC_FALSE, isc_interval_set(), ISC_LIST_APPEND, ISC_LIST_EMPTY, ISC_LIST_HEAD, ISC_LIST_INIT, ISC_LIST_NEXT, ISC_LIST_PREPEND, ISC_LIST_UNLINK, ISC_LOG_ERROR, isc_mem_put, ISC_R_FAILURE, ISC_R_NOMORE, ISC_R_SUCCESS, isc_random_get(), isc_rwlocktype_read, isc_stdtime_get(), ISC_TF, isc_time_nowplusinterval(), isc_time_settoepoch(), ISC_TRUE, jitter, keyset_kskonly, KSK, LOCK_ZONE, dns_diff::mctx, dns_db::mctx, now, zonediff_t::offline, dns_db::origin, REVOKE, set_resigntime(), sign_a_node(), UNLOCK_ZONE, update_sigs(), update_soa_serial(), updatesecure(), updatesignwithkey(), version, zone_journal(), zone_needdump(), ZONEDB_LOCK, ZONEDB_UNLOCK, and zonediff_init.
Referenced by zone_maintenance().
static isc_result_t normalize_key | ( | dns_rdata_t * | rr, | |
dns_rdata_t * | target, | |||
unsigned char * | data, | |||
int | size | |||
) | [static] |
Definition at line 8430 of file zone.c.
References dns_keydata_todnskey(), DNS_KEYFLAG_REVOKE, dns_rdata_fromstruct(), dns_rdata_reset(), dns_rdata_tostruct(), INSIST, isc_buffer_init, ISC_R_SUCCESS, ISC_R_UNEXPECTEDEND, dns_rdata::rdclass, RUNTIME_CHECK, and dns_rdata::type.
Referenced by matchkey().
static isc_boolean_t matchkey | ( | dns_rdataset_t * | rdset, | |
dns_rdata_t * | rr | |||
) | [static] |
Definition at line 8476 of file zone.c.
References dns_rdata_compare(), dns_rdata_init(), dns_rdata_reset(), dns_rdataset_current(), dns_rdataset_first(), dns_rdataset_next(), ISC_FALSE, ISC_R_SUCCESS, ISC_TRUE, and normalize_key().
Referenced by keyfetch_done().
static isc_stdtime_t refresh_time | ( | dns_keyfetch_t * | kfetch, | |
isc_boolean_t | retry | |||
) | [inline, static] |
Definition at line 8516 of file zone.c.
References DNS_RDATA_INIT, dns_rdata_tostruct(), dns_rdataset_current(), dns_rdataset_first(), dns_rdataset_isassociated(), dns_zone_mkey_day, dns_zone_mkey_hour, ISC_R_SUCCESS, isc_serial_gt(), isc_stdtime_get(), now, and RUNTIME_CHECK.
Referenced by keyfetch_done(), and minimal_update().
static isc_result_t minimal_update | ( | dns_keyfetch_t * | kfetch, | |
dns_dbversion_t * | ver, | |||
dns_diff_t * | diff | |||
) | [static] |
Definition at line 8578 of file zone.c.
References CHECK, DNS_DIFFOP_ADD, DNS_DIFFOP_DEL, dns_fixedname_name, dns_rdata_fromstruct(), DNS_RDATA_INIT, dns_rdata_reset(), dns_rdata_tostruct(), dns_rdataset_current(), dns_rdataset_first(), dns_rdataset_next(), isc_buffer_init, ISC_FALSE, ISC_R_SUCCESS, ISC_R_UNEXPECTEDEND, isc_stdtime_get(), ISC_TRUE, now, dns_rdata::rdclass, refresh_time(), set_refreshkeytimer(), and update_one_rr().
Referenced by keyfetch_done().
static isc_boolean_t revocable | ( | dns_keyfetch_t * | kfetch, | |
dns_rdata_keydata_t * | keydata | |||
) | [static] |
Definition at line 8630 of file zone.c.
References answer, dns_dnssec_keyfromrdata(), dns_dnssec_verify2(), dns_fixedname_init, dns_fixedname_name, dns_keydata_todnskey(), dns_rdata_fromstruct(), DNS_RDATA_INIT, dns_rdata_reset(), dns_rdata_tostruct(), dns_rdataset_current(), dns_rdataset_first(), dns_rdataset_isassociated(), dns_rdataset_next(), dns_result_totext(), dns_zone_log(), dst_key_alg(), dst_key_free(), dst_key_rid(), fixed, isc_buffer_init, ISC_FALSE, ISC_LOG_DEBUG, ISC_R_SUCCESS, ISC_TRUE, dns_notify::mctx, dns_rdata::rdclass, REQUIRE, and RUNTIME_CHECK.
Referenced by keyfetch_done().
static void keyfetch_done | ( | isc_task_t * | task, | |
isc_event_t * | event | |||
) | [static] |
Definition at line 8700 of file zone.c.
References CHECK, cleanup(), commit(), compute_tag(), dns_db_closeversion(), dns_db_detach(), dns_db_detachnode(), dns_db_newversion(), dns_diff_clear(), dns_diff_init(), DNS_DIFFOP_ADD, DNS_DIFFOP_DEL, dns_dnssec_verify2(), DNS_EVENT_FETCHDONE, dns_fixedname_init, dns_fixedname_name, dns_keydata_fromdnskey(), DNS_KEYFLAG_KSK, DNS_KEYFLAG_REVOKE, dns_keynode_key(), dns_keytable_detach(), dns_keytable_detachkeynode(), dns_keytable_find(), dns_keytable_nextkeynode(), dns_name_format(), DNS_NAME_FORMATSIZE, dns_name_free(), dns_rdata_fromstruct(), DNS_RDATA_INIT, dns_rdata_reset(), dns_rdata_tostruct(), dns_rdataset_current(), dns_rdataset_disassociate(), dns_rdataset_first(), dns_rdataset_isassociated(), dns_rdataset_next(), dns_resolver_destroyfetch(), dns_result_totext(), dns_trust_none, dns_trust_secure, dns_view_getsecroots(), dns_view_untrust(), DNS_ZONE_CLRFLAG, DNS_ZONE_FLAG, dns_zone_log(), dns_zone_mkey_hour, dns_zone_mkey_month, DNS_ZONE_SETFLAG, DNS_ZONEFLG_EXITING, DNS_ZONEFLG_LOADED, DNS_ZONEFLG_REFRESHING, dst_key_alg(), dst_key_id(), exit_check(), fail_secure(), fixed, INSIST, isc_buffer_init, isc_event_free(), ISC_FALSE, ISC_LIST_EMPTY, ISC_LOG_DEBUG, ISC_LOG_WARNING, isc_mem_attach(), isc_mem_detach(), isc_mem_put, ISC_R_SUCCESS, isc_stdtime_get(), ISC_TF, ISC_TRUE, LOCK_ZONE, matchkey(), dns_notify::mctx, minimal_update(), namebuf, now, dns_rdata::rdclass, refresh_time(), revocable(), RUNTIME_CHECK, secure(), set_refreshkeytimer(), trust_key(), UNLOCK_ZONE, UNUSED, update_one_rr(), update_soa_serial(), zone_free(), zone_journal(), and zone_needdump().
Referenced by zone_refreshkeys().
static void zone_refreshkeys | ( | dns_zone_t * | zone | ) | [static] |
Definition at line 9204 of file zone.c.
References CHECK, commit(), dns_db_attach(), dns_db_closeversion(), dns_db_detach(), dns_db_newversion(), dns_diff_clear(), dns_diff_init(), DNS_DIFFOP_DEL, DNS_FETCHOPT_NOVALIDATE, dns_fixedname_init, dns_fixedname_name, dns_name_dup(), dns_name_free(), DNS_RDATA_INIT, dns_rdata_reset(), dns_rdata_tostruct(), dns_rdataset_clone(), dns_rdataset_current(), dns_rdataset_disassociate(), dns_rdataset_first(), dns_rdataset_init(), dns_rdataset_isassociated(), dns_rdataset_next(), dns_resolver_createfetch(), dns_rriterator_current(), dns_rriterator_destroy(), dns_rriterator_first(), dns_rriterator_init(), dns_rriterator_nextrrset(), DNS_ZONE_CLRFLAG, DNS_ZONE_FLAG, dns_zone_log(), dns_zone_mkey_hour, DNS_ZONE_SETFLAG, DNS_ZONE_TIME_ADD, DNS_ZONEFLG_EXITING, DNS_ZONEFLG_LOADED, DNS_ZONEFLG_REFRESHING, ENTER, INSIST, ISC_FALSE, ISC_LIST_EMPTY, ISC_LOG_DEBUG, ISC_LOG_WARNING, isc_mem_get, isc_mem_put, ISC_R_SUCCESS, isc_rwlocktype_read, isc_stdtime_get(), isc_time_formattimestamp(), isc_time_settoepoch(), ISC_TRUE, keyfetch_done(), LOCK_ZONE, dns_diff::mctx, now, REQUIRE, RUNTIME_CHECK, TIME_NOW, dns_rdataset::type, UNLOCK_ZONE, update_one_rr(), update_soa_serial(), zone_journal(), zone_needdump(), zone_settimer(), ZONEDB_LOCK, and ZONEDB_UNLOCK.
Referenced by zone_maintenance().
void dns_zone_markdirty | ( | dns_zone_t * | zone | ) |
Mark a zone as 'dirty'.
Require:
Definition at line 9547 of file zone.c.
References DNS_DUMP_DELAY, DNS_R_NOTLOADED, dns_zone_master, inline_raw(), INSIST, ISC_R_SUCCESS, isc_rwlocktype_read, isc_thread_yield, LOCK_ZONE, secure(), set_resigntime(), TRYLOCK_ZONE, UNLOCK_ZONE, zone_get_from_db(), zone_needdump(), zone_send_secureserial(), ZONEDB_LOCK, and ZONEDB_UNLOCK.
Referenced by ixfr_commit(), and update_action().
void dns_zone_expire | ( | dns_zone_t * | zone | ) |
Mark the zone as expired. If the zone requires dumping cause it to be initiated. Set the refresh and retry intervals to there default values and unload the zone.
Require
Definition at line 9598 of file zone.c.
References DNS_ZONE_VALID, LOCK_ZONE, REQUIRE, UNLOCK_ZONE, and zone_expire().
void dns_zone_refresh | ( | dns_zone_t * | zone | ) |
Initiate zone up to date checks. The zone must already be being managed.
Require
Definition at line 9624 of file zone.c.
References dns_result_totext(), DNS_ZONE_CLRFLAG, DNS_ZONE_FLAG, dns_zone_log(), DNS_ZONE_SETFLAG, DNS_ZONE_VALID, DNS_ZONEFLG_EXITING, DNS_ZONEFLG_HAVETIMERS, DNS_ZONEFLG_LOADING, DNS_ZONEFLG_NOEDNS, DNS_ZONEFLG_NOMASTERS, DNS_ZONEFLG_REFRESH, DNS_ZONEFLG_USEALTXFRSRC, ISC_FALSE, isc_interval_set(), ISC_LOG_ERROR, ISC_LOG_WARNING, ISC_MIN, ISC_R_SUCCESS, isc_random_jitter(), isc_time_nowplusinterval(), LOCK_ZONE, queue_soa_query(), REQUIRE, and UNLOCK_ZONE.
Referenced by dns_zone_notifyreceive(), ns_server_refreshcommand(), ns_server_reloadcommand(), and zone_maintenance().
isc_result_t dns_zone_flush | ( | dns_zone_t * | zone | ) |
Write the zone to database if there are uncommitted changes.
Require:
Definition at line 9686 of file zone.c.
References DNS_ZONE_FLAG, DNS_ZONE_SETFLAG, DNS_ZONE_VALID, DNS_ZONEFLG_FLUSH, DNS_ZONEFLG_NEEDDUMP, ISC_FALSE, ISC_R_ALREADYRUNNING, ISC_R_SUCCESS, ISC_TRUE, LOCK_ZONE, REQUIRE, UNLOCK_ZONE, was_dumping(), and zone_dump().
Referenced by flush(), freezezones(), ns_server_freeze(), ns_server_mkeys(), synczone(), and view_flushanddetach().
isc_result_t dns_zone_dump | ( | dns_zone_t * | zone | ) |
Write the zone to database.
Require:
Definition at line 9707 of file zone.c.
References DNS_ZONE_VALID, ISC_FALSE, ISC_R_ALREADYRUNNING, LOCK_ZONE, REQUIRE, UNLOCK_ZONE, was_dumping(), and zone_dump().
static isc_result_t dumptostream | ( | dns_zone_t * | zone, | |
FILE * | fd, | |||
const dns_master_style_t * | style, | |||
dns_masterformat_t | format, | |||
const isc_uint32_t | rawversion | |||
) | [static] |
Definition at line 9954 of file zone.c.
References dns_db_attach(), dns_db_closeversion(), dns_db_currentversion(), dns_db_detach(), dns_master_dumptostream3(), dns_master_initrawheader(), DNS_MASTERRAW_COMPAT, DNS_MASTERRAW_SOURCESERIALSET, DNS_R_NOTLOADED, DNS_ZONE_VALID, dns_masterrawheader::flags, get_raw_serial(), inline_secure(), ISC_FALSE, isc_rwlocktype_read, REQUIRE, dns_masterrawheader::sourceserial, version, ZONEDB_LOCK, and ZONEDB_UNLOCK.
Referenced by dns_zone_dumptostream(), dns_zone_dumptostream2(), dns_zone_dumptostream3(), and dns_zone_fulldumptostream().
isc_result_t dns_zone_dumptostream3 | ( | dns_zone_t * | zone, | |
FILE * | fd, | |||
dns_masterformat_t | format, | |||
const dns_master_style_t * | style, | |||
const isc_uint32_t | rawversion | |||
) |
Write the zone to stream 'fd' in the specified 'format'. If the 'format' is dns_masterformat_text (RFC1035), 'style' also specifies the file style (e.g., &dns_master_style_default).
dns_zone_dumptostream() is a backward-compatible form of dns_zone_dumptostream2(), which always uses the dns_masterformat_text format and the dns_master_style_default style.
dns_zone_dumptostream2() is a backward-compatible form of dns_zone_dumptostream3(), which always uses the current default raw file format version.
Note that dns_zone_dumptostream3() is the most flexible form. It can also provide the functionality of dns_zone_fulldumptostream().
Require:
Definition at line 9989 of file zone.c.
References dumptostream().
Referenced by dump_zone().
isc_result_t dns_zone_dumptostream2 | ( | dns_zone_t * | zone, | |
FILE * | fd, | |||
dns_masterformat_t | format, | |||
const dns_master_style_t * | style | |||
) |
isc_result_t dns_zone_dumptostream | ( | dns_zone_t * | zone, | |
FILE * | fd | |||
) |
Definition at line 10003 of file zone.c.
References dns_master_style_default, dns_masterformat_text, and dumptostream().
isc_result_t dns_zone_fulldumptostream | ( | dns_zone_t * | zone, | |
FILE * | fd | |||
) |
The same as dns_zone_dumptostream, but dumps the zone with different dump settings (dns_master_style_full).
Require:
Definition at line 10009 of file zone.c.
References dns_master_style_full, dns_masterformat_text, and dumptostream().
void dns_zone_unload | ( | dns_zone_t * | zone | ) |
detach the database from the zone structure.
Require:
Definition at line 10015 of file zone.c.
References DNS_ZONE_VALID, LOCK_ZONE, REQUIRE, UNLOCK_ZONE, and zone_unload().
Referenced by do_addzone(), do_modzone(), and ns_server_delzone().
static void forward_cancel | ( | dns_zone_t * | zone | ) | [static] |
Definition at line 10044 of file zone.c.
References dns_request_cancel(), ISC_LIST_HEAD, ISC_LIST_NEXT, LOCKED_ZONE, dns_forward::request, and REQUIRE.
Referenced by dns_zonemgr_shutdown(), and zone_shutdown().
void dns_zone_setminrefreshtime | ( | dns_zone_t * | zone, | |
isc_uint32_t | val | |||
) |
Set the minimum refresh time.
Requires:
Definition at line 10085 of file zone.c.
References DNS_ZONE_VALID, and REQUIRE.
Referenced by ns_zone_configure().
void dns_zone_setmaxrefreshtime | ( | dns_zone_t * | zone, | |
isc_uint32_t | val | |||
) |
Set the maximum refresh time.
Requires:
Definition at line 10093 of file zone.c.
References DNS_ZONE_VALID, and REQUIRE.
Referenced by ns_zone_configure().
void dns_zone_setminretrytime | ( | dns_zone_t * | zone, | |
isc_uint32_t | val | |||
) |
Set the minimum retry time.
Requires:
Definition at line 10101 of file zone.c.
References DNS_ZONE_VALID, and REQUIRE.
Referenced by ns_zone_configure().
void dns_zone_setmaxretrytime | ( | dns_zone_t * | zone, | |
isc_uint32_t | val | |||
) |
Set the maximum retry time.
Requires:
Definition at line 10109 of file zone.c.
References DNS_ZONE_VALID, and REQUIRE.
Referenced by ns_zone_configure().
static isc_boolean_t notify_isqueued | ( | dns_zone_t * | zone, | |
unsigned int | flags, | |||
dns_name_t * | name, | |||
isc_sockaddr_t * | addr, | |||
dns_tsigkey_t * | key | |||
) | [static] |
Definition at line 10117 of file zone.c.
References dns_name_dynamic(), dns_name_equal(), DNS_NOTIFY_STARTUP, dns_notify::dst, dns_notify::flags, isc_event_free(), ISC_FALSE, ISC_LIST_HEAD, ISC_LIST_NEXT, ISC_R_SUCCESS, isc_ratelimiter_dequeue(), isc_ratelimiter_enqueue(), isc_sockaddr_equal(), ISC_TRUE, dns_notify::key, notify(), dns_notify::ns, dns_notify::request, dns_zonemgr::startupnotifyrl, and dns_notify::zone.
Referenced by notify_send(), and zone_notify().
static isc_boolean_t notify_isself | ( | dns_zone_t * | zone, | |
isc_sockaddr_t * | dst | |||
) | [static] |
Definition at line 10165 of file zone.c.
References dns_tsigkey_detach(), dns_view_getpeertsig(), ISC_FALSE, isc_netaddr_fromsockaddr(), ISC_R_NOTFOUND, ISC_R_SUCCESS, isc_sockaddr_any(), isc_sockaddr_any6(), isc_sockaddr_eqaddr(), isc_sockaddr_pf(), dns_notify::key, and PF_INET6.
Referenced by notify_send().
static void notify_destroy | ( | dns_notify_t * | notify, | |
isc_boolean_t | locked | |||
) | [static] |
Definition at line 10208 of file zone.c.
References dns_adb_destroyfind(), dns_name_dynamic(), dns_name_free(), DNS_NOTIFY_VALID, dns_request_destroy(), dns_tsigkey_detach(), dns_zone_idetach(), dns_notify::find, ISC_LINK_LINKED, ISC_LIST_UNLINK, isc_mem_detach(), isc_mem_put, dns_notify::key, LOCK_ZONE, LOCKED_ZONE, dns_notify::mctx, dns_notify::ns, dns_notify::request, REQUIRE, UNLOCK_ZONE, dns_notify::zone, and zone_idetach().
Referenced by notify_done(), notify_find_address(), notify_send(), notify_send_toaddr(), process_adb_event(), and zone_notify().
static isc_result_t notify_create | ( | isc_mem_t * | mctx, | |
unsigned int | flags, | |||
dns_notify_t ** | notifyp | |||
) | [static] |
Definition at line 10240 of file zone.c.
References dns_name_init(), dns_notify::dst, dns_notify::find, dns_notify::flags, ISC_LINK_INIT, isc_mem_attach(), isc_mem_get, ISC_R_NOMEMORY, ISC_R_SUCCESS, isc_sockaddr_any(), dns_notify::key, dns_notify::magic, dns_notify::mctx, notify(), NOTIFY_MAGIC, dns_notify::ns, dns_notify::request, REQUIRE, and dns_notify::zone.
Referenced by notify_send(), and zone_notify().
static void process_adb_event | ( | isc_task_t * | task, | |
isc_event_t * | ev | |||
) | [static] |
Definition at line 10269 of file zone.c.
References dns_adb_destroyfind(), DNS_EVENT_ADBMOREADDRESSES, DNS_EVENT_ADBNOMOREADDRESSES, DNS_NOTIFY_VALID, dns_notify::find, INSIST, isc_event_free(), ISC_FALSE, LOCK_ZONE, notify(), notify_destroy(), notify_find_address(), notify_send(), REQUIRE, UNLOCK_ZONE, UNUSED, and dns_notify::zone.
Referenced by notify_find_address().
static isc_result_t notify_send_queue | ( | dns_notify_t * | notify, | |
isc_boolean_t | startup | |||
) | [static] |
Definition at line 10332 of file zone.c.
References DNS_EVENT_NOTIFYSENDTOADDR, INSIST, isc_event_allocate(), isc_event_free(), ISC_R_NOMEMORY, ISC_R_SUCCESS, isc_ratelimiter_enqueue(), dns_notify::mctx, notify_send_toaddr(), and dns_notify::zone.
Referenced by notify_done(), notify_send(), and zone_notify().
void dns_zone_notify | ( | dns_zone_t * | zone | ) |
Generate notify events for this zone.
Requires:
Definition at line 10539 of file zone.c.
References DNS_ZONE_SETFLAG, DNS_ZONE_VALID, DNS_ZONEFLG_NEEDNOTIFY, LOCK_ZONE, now, REQUIRE, TIME_NOW, UNLOCK_ZONE, and zone_settimer().
Referenced by ns_server_notifycommand(), and update_action().
static isc_result_t save_nsrrset | ( | dns_message_t * | message, | |
dns_name_t * | name, | |||
dns_db_t * | db, | |||
dns_dbversion_t * | version | |||
) | [inline, static] |
Definition at line 10777 of file zone.c.
References dns_db_addrdataset(), dns_db_detachnode(), dns_db_findnode(), dns_message_findname(), dns_name_issubdomain(), DNS_RDATA_INIT, dns_rdata_reset(), dns_rdata_tostruct(), dns_rdataset_current(), dns_rdataset_first(), dns_rdataset_next(), DNS_SECTION_ADDITIONAL, DNS_SECTION_ANSWER, ISC_R_NOMORE, ISC_R_SUCCESS, ISC_TRUE, dns_notify::ns, and RUNTIME_CHECK.
Referenced by stub_callback().
static void get_edns_expire | ( | dns_zone_t * | zone, | |
dns_message_t * | message, | |||
isc_uint32_t * | expirep | |||
) | [static] |
Definition at line 11125 of file zone.c.
References dns_rdata::data, DNS_OPT_EXPIRE, DNS_RDATA_INIT, dns_rdataset_current(), dns_rdataset_first(), dns_zone_log(), isc_buffer_add, isc_buffer_forward, isc_buffer_getuint16(), isc_buffer_getuint32(), isc_buffer_init, isc_buffer_remaininglength, ISC_LOG_DEBUG, ISC_R_SUCCESS, dns_rdata::length, dns_message::opt, and REQUIRE.
Referenced by refresh_callback().
static void setmodtime | ( | dns_zone_t * | zone, | |
isc_time_t * | expiretime | |||
) | [static] |
Definition at line 11173 of file zone.c.
References DNS_DUMP_DELAY, dns_result_totext(), DNS_ZONE_FLAG, dns_zone_log(), DNS_ZONEFLG_NEEDDUMP, isc_file_settime(), isc_interval_set(), ISC_LOG_ERROR, ISC_R_FAILURE, ISC_R_FILENOTFOUND, ISC_R_SUCCESS, isc_time_subtract(), and zone_needdump().
Referenced by refresh_callback().
static isc_result_t create_query | ( | dns_zone_t * | zone, | |
dns_rdatatype_t | rdtype, | |||
dns_message_t ** | messagep | |||
) | [inline, static] |
Definition at line 11643 of file zone.c.
References cleanup(), dns_message_addname(), dns_message_create(), dns_message_destroy(), dns_message_gettempname(), dns_message_gettemprdataset(), DNS_MESSAGE_INTENTRENDER, dns_message_puttempname(), dns_message_puttemprdataset(), dns_name_clone(), dns_name_init(), dns_opcode_query, dns_rdataset_init(), dns_rdataset_makequestion(), DNS_SECTION_QUESTION, ISC_LIST_APPEND, ISC_R_SUCCESS, dns_message::opcode, dns_rdataset::rdclass, and dns_message::rdclass.
Referenced by ns_query(), and soa_query().
static isc_result_t add_opt | ( | dns_message_t * | message, | |
isc_uint16_t | udpsize, | |||
isc_boolean_t | reqnsid, | |||
isc_boolean_t | reqexpire | |||
) | [static] |
Definition at line 11691 of file zone.c.
References dns_ednsopt::code, DNS_EDNSOPTIONS, dns_message_buildopt(), dns_message_setopt(), DNS_OPT_EXPIRE, DNS_OPT_NSID, ednsopts, INSIST, ISC_R_SUCCESS, dns_ednsopt::length, and dns_ednsopt::value.
Referenced by ns_query(), setup_lookup(), and soa_query().
static void zone_timer | ( | isc_task_t * | task, | |
isc_event_t * | event | |||
) | [static] |
Definition at line 12272 of file zone.c.
References DNS_ZONE_VALID, ENTER, isc_event_free(), REQUIRE, UNUSED, and zone_maintenance().
Referenced by dns_zone_link(), and dns_zonemgr_managezone().
isc_result_t dns_zone_notifyreceive | ( | dns_zone_t * | zone, | |
isc_sockaddr_t * | from, | |||
dns_message_t * | msg | |||
) |
Tell the zone that it has received a NOTIFY message from another server. This may cause some zone maintenance activity to occur.
Requires:
Definition at line 12589 of file zone.c.
References dns_message::counts, dns_acl_match(), dns_message_findname(), dns_message_gettsigkey(), DNS_R_FORMERR, DNS_R_NOTIMP, DNS_R_REFUSED, DNS_RDATA_INIT, dns_rdata_tostruct(), dns_rdataset_current(), dns_rdataset_first(), DNS_SECTION_ANSWER, DNS_SECTION_QUESTION, dns_tsigkey_identity, DNS_ZONE_FLAG, dns_zone_log(), dns_zone_master, dns_zone_notifyreceive(), dns_zone_refresh(), DNS_ZONE_SETFLAG, DNS_ZONE_VALID, DNS_ZONEFLG_LOADED, DNS_ZONEFLG_NEEDREFRESH, DNS_ZONEFLG_NOREFRESH, DNS_ZONEFLG_REFRESH, dns_zonemgr_unreachabledel(), dns_zonestatscounter_notifyinv4, dns_zonestatscounter_notifyinv6, dns_zonestatscounter_notifyrej, IN6_IS_ADDR_V4MAPPED, inc_stats(), inline_secure(), INSIST, ISC_FALSE, ISC_LOG_INFO, ISC_LOG_NOTICE, isc_netaddr_equal(), isc_netaddr_fromsockaddr(), isc_netaddr_fromv4mapped(), ISC_R_SUCCESS, isc_serial_le(), isc_sockaddr_eqaddr(), isc_sockaddr_format(), ISC_SOCKADDR_FORMATSIZE, isc_sockaddr_pf(), ISC_TRUE, LOCK_ZONE, match(), REQUIRE, RUNTIME_CHECK, isc_sockaddr::sin6, sockaddr_in6::sin6_addr, tsigkey, isc_sockaddr::type, UNLOCK_ZONE, and zone_get_from_db().
Referenced by dns_zone_notifyreceive(), and ns_notify_start().
void dns_zone_setnotifyacl | ( | dns_zone_t * | zone, | |
dns_acl_t * | acl | |||
) |
/ Get the DSCP value associated with the notify source.
Require:
Definition at line 12789 of file zone.c.
References dns_acl_attach(), dns_acl_detach(), DNS_ZONE_VALID, LOCK_ZONE, REQUIRE, and UNLOCK_ZONE.
Referenced by ns_zone_configure().
void dns_zone_setqueryacl | ( | dns_zone_t * | zone, | |
dns_acl_t * | acl | |||
) |
Sets the query acl list for the zone.
Require:
Definition at line 12801 of file zone.c.
References dns_acl_attach(), dns_acl_detach(), DNS_ZONE_VALID, LOCK_ZONE, REQUIRE, and UNLOCK_ZONE.
Referenced by add_keydata_zone(), create_empty_zone(), dns64_reverse(), and ns_zone_configure().
void dns_zone_setqueryonacl | ( | dns_zone_t * | zone, | |
dns_acl_t * | acl | |||
) |
Sets the query-on acl list for the zone.
Require:
Definition at line 12813 of file zone.c.
References dns_acl_attach(), dns_acl_detach(), DNS_ZONE_VALID, LOCK_ZONE, REQUIRE, and UNLOCK_ZONE.
Referenced by add_keydata_zone(), create_empty_zone(), dns64_reverse(), and ns_zone_configure().
void dns_zone_setupdateacl | ( | dns_zone_t * | zone, | |
dns_acl_t * | acl | |||
) |
Sets the update acl list for the zone.
Require:
Definition at line 12825 of file zone.c.
References dns_acl_attach(), dns_acl_detach(), DNS_ZONE_VALID, LOCK_ZONE, REQUIRE, and UNLOCK_ZONE.
Referenced by ns_zone_configure().
void dns_zone_setforwardacl | ( | dns_zone_t * | zone, | |
dns_acl_t * | acl | |||
) |
Sets the forward unsigned updates acl list for the zone.
Require:
Definition at line 12837 of file zone.c.
References dns_acl_attach(), dns_acl_detach(), DNS_ZONE_VALID, LOCK_ZONE, REQUIRE, and UNLOCK_ZONE.
Referenced by ns_zone_configure().
void dns_zone_setxfracl | ( | dns_zone_t * | zone, | |
dns_acl_t * | acl | |||
) |
Sets the transfer acl list for the zone.
Require:
Definition at line 12849 of file zone.c.
References dns_acl_attach(), dns_acl_detach(), DNS_ZONE_VALID, LOCK_ZONE, REQUIRE, and UNLOCK_ZONE.
Referenced by create_empty_zone(), and ns_zone_configure().
dns_acl_t* dns_zone_getnotifyacl | ( | dns_zone_t * | zone | ) |
Returns the current notify acl or NULL.
Require:
Definition at line 12861 of file zone.c.
References DNS_ZONE_VALID, and REQUIRE.
dns_acl_t* dns_zone_getqueryacl | ( | dns_zone_t * | zone | ) |
Returns the current query acl or NULL.
Require:
Definition at line 12869 of file zone.c.
References DNS_ZONE_VALID, and REQUIRE.
Referenced by query_validatezonedb(), redirect(), and update_action().
dns_acl_t* dns_zone_getqueryonacl | ( | dns_zone_t * | zone | ) |
Returns the current query-on acl or NULL.
Require:
Definition at line 12877 of file zone.c.
References DNS_ZONE_VALID, and REQUIRE.
Referenced by query_validatezonedb().
dns_acl_t* dns_zone_getupdateacl | ( | dns_zone_t * | zone | ) |
Returns the current update acl or NULL.
Require:
Definition at line 12885 of file zone.c.
References DNS_ZONE_VALID, and REQUIRE.
Referenced by ns_zone_configure(), and update_action().
dns_acl_t* dns_zone_getforwardacl | ( | dns_zone_t * | zone | ) |
Returns the current forward unsigned updates acl or NULL.
Require:
Definition at line 12893 of file zone.c.
References DNS_ZONE_VALID, and REQUIRE.
Referenced by ns_update_start().
dns_acl_t* dns_zone_getxfracl | ( | dns_zone_t * | zone | ) |
Returns the current transfer acl or NULL.
Require:
Definition at line 12901 of file zone.c.
References DNS_ZONE_VALID, and REQUIRE.
Referenced by ns_xfr_start().
void dns_zone_clearupdateacl | ( | dns_zone_t * | zone | ) |
Clear the current update acl.
Require:
Definition at line 12909 of file zone.c.
References dns_acl_detach(), DNS_ZONE_VALID, LOCK_ZONE, REQUIRE, and UNLOCK_ZONE.
Referenced by create_empty_zone(), and ns_zone_configure().
void dns_zone_clearforwardacl | ( | dns_zone_t * | zone | ) |
Clear the current forward unsigned updates acl.
Require:
Definition at line 12920 of file zone.c.
References dns_acl_detach(), DNS_ZONE_VALID, LOCK_ZONE, REQUIRE, and UNLOCK_ZONE.
Referenced by ns_zone_configure().
void dns_zone_clearnotifyacl | ( | dns_zone_t * | zone | ) |
Clear the current notify acl.
Require:
Definition at line 12931 of file zone.c.
References dns_acl_detach(), DNS_ZONE_VALID, LOCK_ZONE, REQUIRE, and UNLOCK_ZONE.
Referenced by ns_zone_configure().
void dns_zone_clearqueryacl | ( | dns_zone_t * | zone | ) |
Clear the current query acl.
Require:
Definition at line 12942 of file zone.c.
References dns_acl_detach(), DNS_ZONE_VALID, LOCK_ZONE, REQUIRE, and UNLOCK_ZONE.
Referenced by create_empty_zone(), and ns_zone_configure().
void dns_zone_clearqueryonacl | ( | dns_zone_t * | zone | ) |
Clear the current query-on acl.
Require:
Definition at line 12953 of file zone.c.
References dns_acl_detach(), DNS_ZONE_VALID, LOCK_ZONE, REQUIRE, and UNLOCK_ZONE.
Referenced by create_empty_zone(), and ns_zone_configure().
void dns_zone_clearxfracl | ( | dns_zone_t * | zone | ) |
Clear the current transfer acl.
Require:
Definition at line 12964 of file zone.c.
References dns_acl_detach(), DNS_ZONE_VALID, LOCK_ZONE, REQUIRE, and UNLOCK_ZONE.
Referenced by create_empty_zone(), and ns_zone_configure().
isc_boolean_t dns_zone_getupdatedisabled | ( | dns_zone_t * | zone | ) |
Return update disabled. Transient unless called when running in isc_task_exclusive() mode.
Definition at line 12975 of file zone.c.
References DNS_ZONE_VALID, and REQUIRE.
Referenced by freezezones(), ns_server_freeze(), and update_action().
void dns_zone_setupdatedisabled | ( | dns_zone_t * | zone, | |
isc_boolean_t | state | |||
) |
Set update disabled. Should only be called only when running in isc_task_exclusive() mode. Failure to do so may result in updates being committed after the call has been made.
Definition at line 12982 of file zone.c.
References DNS_ZONE_VALID, and REQUIRE.
Referenced by freezezones(), and ns_server_freeze().
isc_boolean_t dns_zone_getzeronosoattl | ( | dns_zone_t * | zone | ) |
Return zero-no-soa-ttl status.
Definition at line 12988 of file zone.c.
References DNS_ZONE_VALID, and REQUIRE.
Referenced by query_find().
void dns_zone_setzeronosoattl | ( | dns_zone_t * | zone, | |
isc_boolean_t | state | |||
) |
Set zero-no-soa-ttl status.
Definition at line 12995 of file zone.c.
References DNS_ZONE_VALID, and REQUIRE.
Referenced by ns_zone_configure().
void dns_zone_setchecknames | ( | dns_zone_t * | zone, | |
dns_severity_t | severity | |||
) |
Set the severity of name checking when loading a zone.
Require:
Definition at line 13001 of file zone.c.
References DNS_ZONE_VALID, and REQUIRE.
dns_severity_t dns_zone_getchecknames | ( | dns_zone_t * | zone | ) |
Return the current severity of name checking.
Require:
Definition at line 13009 of file zone.c.
References DNS_ZONE_VALID, and REQUIRE.
void dns_zone_setjournalsize | ( | dns_zone_t * | zone, | |
isc_int32_t | size | |||
) |
Sets the journal size for the zone.
Requires:
Definition at line 13017 of file zone.c.
References DNS_ZONE_VALID, and REQUIRE.
Referenced by add_keydata_zone(), and ns_zone_configure().
isc_int32_t dns_zone_getjournalsize | ( | dns_zone_t * | zone | ) |
Return the journal size as set with a previous call to dns_zone_setjournalsize().
Requires:
Definition at line 13025 of file zone.c.
References DNS_ZONE_VALID, and REQUIRE.
void dns_zone_name | ( | dns_zone_t * | zone, | |
char * | buf, | |||
size_t | len | |||
) |
Log the message 'msg...' at 'level', including text that identifies the message as applying to 'zone'.
Return the name of the zone with class and view.
Requires:
Definition at line 13133 of file zone.c.
References DNS_ZONE_VALID, REQUIRE, and zone_namerd_tostr().
Referenced by dns_xfrin_create3(), dumpdone(), and xfrin_log().
void dns_zone_logc | ( | dns_zone_t * | zone, | |
isc_logcategory_t * | category, | |||
int | level, | |||
const char * | fmt, | |||
... | ||||
) |
Definition at line 13155 of file zone.c.
References dns_lctx, DNS_LOGMODULE_ZONE, dns_zone_key, dns_zone_redirect, ISC_FALSE, isc_log_wouldlog(), and isc_log_write().
void dns_zone_log | ( | dns_zone_t * | zone, | |
int | level, | |||
const char * | fmt, | |||
... | ||||
) |
Definition at line 13173 of file zone.c.
References dns_lctx, DNS_LOGCATEGORY_GENERAL, DNS_LOGMODULE_ZONE, dns_zone_key, dns_zone_redirect, ISC_FALSE, isc_log_wouldlog(), and isc_log_write().
void dns_zone_setmaxxfrin | ( | dns_zone_t * | zone, | |
isc_uint32_t | maxxfrin | |||
) |
Set the maximum time (in seconds) that a zone transfer in (AXFR/IXFR) of this zone will use before being aborted.
Requires:
Definition at line 13246 of file zone.c.
References DNS_ZONE_VALID, and REQUIRE.
Referenced by ns_zone_configure().
isc_uint32_t dns_zone_getmaxxfrin | ( | dns_zone_t * | zone | ) |
Returns the maximum transfer time for this zone. This will be either the value set by the last call to dns_zone_setmaxxfrin() or the default value of 1 hour.
Requires:
Definition at line 13253 of file zone.c.
References DNS_ZONE_VALID, and REQUIRE.
Referenced by xfrin_create().
void dns_zone_setmaxxfrout | ( | dns_zone_t * | zone, | |
isc_uint32_t | maxxfrout | |||
) |
Set the maximum time (in seconds) that a zone transfer out (AXFR/IXFR) of this zone will use before being aborted.
Requires:
Definition at line 13260 of file zone.c.
References DNS_ZONE_VALID, and REQUIRE.
Referenced by ns_zone_configure().
isc_uint32_t dns_zone_getmaxxfrout | ( | dns_zone_t * | zone | ) |
Returns the maximum transfer time for this zone. This will be either the value set by the last call to dns_zone_setmaxxfrout() or the default value of 1 hour.
Requires:
Definition at line 13266 of file zone.c.
References DNS_ZONE_VALID, and REQUIRE.
Referenced by ns_xfr_start().
dns_zonetype_t dns_zone_gettype | ( | dns_zone_t * | zone | ) |
Returns the type of the zone (master/slave/etc.).
Requires:
Definition at line 13273 of file zone.c.
References DNS_ZONE_VALID, and REQUIRE.
Referenced by create_empty_zone(), dns_view_find2(), freezezones(), ns_notify_start(), ns_server_delzone(), ns_server_freeze(), ns_server_refreshcommand(), ns_server_rekey(), ns_server_reloadcommand(), ns_server_retransfercommand(), ns_server_zonestatus(), ns_update_start(), ns_xfr_start(), ns_zone_reusable(), query_find(), query_validatezonedb(), and removed().
dns_name_t* dns_zone_getorigin | ( | dns_zone_t * | zone | ) |
Returns the value of the origin.
Require:
Definition at line 13280 of file zone.c.
References DNS_ZONE_VALID, and REQUIRE.
Referenced by add_nsec3param_records(), configure_staticstub(), configure_staticstub_serveraddrs(), configure_staticstub_servernames(), configure_zone_ssutable(), dlzconfigure_callback(), dns_nsec3param_deletechains(), dns_view_find2(), dns_xfrin_create3(), dns_zt_mount(), dns_zt_unmount(), freezezones(), ns_server_freeze(), ns_server_signing(), ns_server_sync(), ns_stats_dump(), query_getdb(), send_forward_event(), and update_log().
void dns_zone_settask | ( | dns_zone_t * | zone, | |
isc_task_t * | task | |||
) |
Give a zone a task to work with. Any current task will be detached.
Requires:
Definition at line 13287 of file zone.c.
References dns_db_settask(), DNS_ZONE_VALID, isc_rwlocktype_read, isc_task_attach(), isc_task_detach(), LOCK_ZONE, REQUIRE, UNLOCK_ZONE, ZONEDB_LOCK, and ZONEDB_UNLOCK.
void dns_zone_gettask | ( | dns_zone_t * | zone, | |
isc_task_t ** | target | |||
) |
Attach '*target' to the zone's task.
Requires:
Definition at line 13302 of file zone.c.
References DNS_ZONE_VALID, isc_task_attach(), and REQUIRE.
Referenced by send_forward_event(), and send_update_event().
void dns_zone_setidlein | ( | dns_zone_t * | zone, | |
isc_uint32_t | idlein | |||
) |
Definition at line 13308 of file zone.c.
References DNS_DEFAULT_IDLEIN, DNS_ZONE_VALID, and REQUIRE.
Referenced by ns_zone_configure().
isc_uint32_t dns_zone_getidlein | ( | dns_zone_t * | zone | ) |
Requires:.
Definition at line 13317 of file zone.c.
References DNS_ZONE_VALID, and REQUIRE.
Referenced by xfrin_create().
void dns_zone_setidleout | ( | dns_zone_t * | zone, | |
isc_uint32_t | idleout | |||
) |
Definition at line 13324 of file zone.c.
References DNS_ZONE_VALID, and REQUIRE.
Referenced by ns_zone_configure().
isc_uint32_t dns_zone_getidleout | ( | dns_zone_t * | zone | ) |
Requires:.
Definition at line 13331 of file zone.c.
References DNS_ZONE_VALID, and REQUIRE.
Referenced by ns_xfr_start().
static void update_log_cb | ( | void * | arg, | |
dns_zone_t * | zone, | |||
int | level, | |||
const char * | message | |||
) | [static] |
Definition at line 13406 of file zone.c.
References dns_zone_log(), and UNUSED.
Referenced by keydone(), receive_secure_serial(), and update_action().
static isc_result_t sync_secure_journal | ( | dns_zone_t * | zone, | |
dns_zone_t * | raw, | |||
dns_journal_t * | journal, | |||
isc_uint32_t | start, | |||
isc_uint32_t | end, | |||
dns_difftuple_t ** | soatuplep, | |||
dns_diff_t * | diff | |||
) | [static] |
Definition at line 13412 of file zone.c.
References CHECK, dns_diff_appendminimal(), DNS_DIFFOP_ADD, DNS_DIFFOP_DEL, dns_difftuple_create(), dns_difftuple_free(), dns_journal_current_rr(), dns_journal_first_rr(), dns_journal_iter_init(), dns_journal_next_rr(), DNS_R_UNCHANGED, dns_zone_log(), ISC_LOG_ERROR, ISC_R_FAILURE, ISC_R_NOMORE, ISC_R_SUCCESS, dns_diff::mctx, REQUIRE, and dns_rdata::type.
Referenced by receive_secure_serial().
static isc_result_t sync_secure_db | ( | dns_zone_t * | seczone, | |
dns_zone_t * | raw, | |||
dns_db_t * | secdb, | |||
dns_dbversion_t * | secver, | |||
dns_difftuple_t ** | soatuple, | |||
dns_diff_t * | diff | |||
) | [static] |
Definition at line 13487 of file zone.c.
References dns_db_attach(), dns_db_closeversion(), dns_db_currentversion(), dns_db_detach(), dns_db_diffx(), DNS_DIFFOP_ADD, DNS_DIFFOP_DEL, dns_difftuple_free(), dns_name_equal(), DNS_R_UNCHANGED, dns_rdata_tostruct(), DNS_ZONE_VALID, INSIST, ISC_FALSE, ISC_LIST_EMPTY, ISC_LIST_HEAD, ISC_LIST_NEXT, ISC_LIST_UNLINK, ISC_R_SUCCESS, dns_difftuple::op, dns_difftuple::rdata, REQUIRE, RUNTIME_CHECK, and dns_rdata::type.
Referenced by receive_secure_serial().
static void receive_secure_serial | ( | isc_task_t * | task, | |
isc_event_t * | event | |||
) | [static] |
Definition at line 13586 of file zone.c.
References CHECK, dns_db_attach(), dns_db_closeversion(), dns_db_createsoatuple(), dns_db_currentversion(), dns_db_detach(), dns_db_newversion(), dns_diff_apply(), dns_diff_clear(), dns_diff_init(), DNS_DIFFOP_DEL, dns_difftuple_free(), DNS_DUMP_DELAY, dns_journal_commit(), dns_journal_destroy(), dns_journal_first_serial(), dns_journal_get_sourceserial(), dns_journal_open(), DNS_JOURNAL_READ, dns_journal_set_sourceserial(), DNS_JOURNAL_WRITE, DNS_R_CONTINUE, DNS_R_UNCHANGED, dns_result_totext(), dns_soa_getserial(), dns_soa_setserial(), dns_update_signaturesinc(), dns_zone_attach(), dns_zone_detach(), dns_zone_idetach(), dns_zone_log(), DNS_ZONE_SETFLAG, DNS_ZONEFLG_NEEDNOTIFY, do_one_tuple(), ENTER, INSIST, isc_event_free(), ISC_FALSE, ISC_LIST_APPEND, ISC_LIST_HEAD, ISC_LOG_ERROR, ISC_LOG_INFO, ISC_R_FAILURE, ISC_R_NOTFOUND, ISC_R_SUCCESS, isc_rwlocktype_read, isc_serial_gt(), isc_task_send(), ISC_TRUE, LOCK_ZONE, dns_difftuple::rdata, start, sync_secure_db(), sync_secure_journal(), TIME_NOW, UNLOCK_ZONE, UNUSED, update_log_cb(), update_soa_serial(), zone_journal(), zone_needdump(), zone_settimer(), ZONEDB_LOCK, and ZONEDB_UNLOCK.
Referenced by zone_send_secureserial().
static isc_result_t checkandaddsoa | ( | dns_db_t * | db, | |
dns_dbnode_t * | node, | |||
dns_dbversion_t * | version, | |||
dns_rdataset_t * | rdataset, | |||
isc_uint32_t | oldserial | |||
) | [static] |
Definition at line 13827 of file zone.c.
References dns_db_addrdataset(), dns_fixedname_init, dns_fixedname_name, dns_rbtnode_nodename(), dns_rdata_fromstruct(), DNS_RDATA_INIT, dns_rdata_reset(), dns_rdata_tostruct(), dns_rdatalist_init(), dns_rdatalist_tordataset(), dns_rdataset_current(), dns_rdataset_first(), dns_rdataset_getownercase(), dns_rdataset_init(), dns_rdataset_setownercase(), DNS_SOA_BUFFERSIZE, fixed, isc_buffer_init, ISC_LIST_APPEND, ISC_R_SUCCESS, isc_serial_gt(), dns_rdata::rdclass, dns_rdatalist::rdclass, dns_rdataset::rdclass, RUNTIME_CHECK, dns_rdataset::ttl, dns_rdatalist::ttl, dns_rdata::type, and dns_rdatalist::type.
Referenced by receive_secure_db().
static isc_result_t save_nsec3param | ( | dns_zone_t * | zone, | |
nsec3paramlist_t * | nsec3list | |||
) | [static] |
Definition at line 13888 of file zone.c.
References CHECK, dns_rdata::data, nsec3param::data, dns_db_attach(), dns_db_closeversion(), dns_db_currentversion(), dns_db_detach(), dns_db_detachnode(), dns_db_findrdataset(), dns_db_getoriginnode(), dns_lctx, DNS_LOGCATEGORY_GENERAL, DNS_LOGMODULE_ZONE, DNS_NSEC3PARAM_BUFFERSIZE, dns_nsec3param_fromprivate(), dns_nsec3param_toprivate(), DNS_RDATA_INIT, dns_rdataset_current(), dns_rdataset_disassociate(), dns_rdataset_first(), dns_rdataset_init(), dns_rdataset_isassociated(), dns_rdataset_next(), DNS_ZONE_VALID, INSIST, ISC_FALSE, ISC_LINK_INIT, ISC_LIST_APPEND, ISC_LIST_EMPTY, ISC_LIST_HEAD, ISC_LIST_NEXT, ISC_LIST_UNLINK, ISC_LOG_DEBUG, isc_log_write(), isc_mem_get, isc_mem_put, ISC_R_NOMEMORY, ISC_R_NOMORE, ISC_R_NOTFOUND, ISC_R_SUCCESS, dns_rdata::length, nsec3param::length, NSEC3REMOVE, REQUIRE, and version.
Referenced by receive_secure_db().
static isc_result_t restore_nsec3param | ( | dns_zone_t * | zone, | |
dns_db_t * | db, | |||
dns_dbversion_t * | version, | |||
nsec3paramlist_t * | nsec3list | |||
) | [static] |
Definition at line 14046 of file zone.c.
References CHECK, dns_rdata::data, nsec3param::data, dns_diff_clear(), dns_diff_init(), DNS_DIFFOP_ADD, dns_rdata_init(), DNS_ZONE_VALID, ISC_LIST_EMPTY, ISC_LIST_HEAD, ISC_LIST_NEXT, ISC_LIST_UNLINK, isc_mem_put, ISC_R_SUCCESS, nsec3param::length, dns_rdata::length, dns_rdata::rdclass, REQUIRE, dns_rdata::type, and update_one_rr().
Referenced by receive_secure_db().
static void receive_secure_db | ( | isc_task_t * | task, | |
isc_event_t * | event | |||
) | [static] |
Definition at line 14097 of file zone.c.
References checkandaddsoa(), dns_db_addrdataset(), dns_db_allrdatasets(), dns_db_closeversion(), dns_db_create(), dns_db_createiterator(), dns_db_detach(), dns_db_detachnode(), dns_db_findnode(), dns_db_getsoaserial(), dns_db_newversion(), dns_dbiterator_current(), dns_dbiterator_destroy(), dns_dbiterator_first(), dns_dbiterator_next(), dns_dbtype_zone, dns_fixedname_init, dns_fixedname_name, dns_rdataset_disassociate(), dns_rdataset_init(), dns_rdataset_isassociated(), dns_rdatasetiter_current(), dns_rdatasetiter_destroy(), dns_rdatasetiter_first(), dns_rdatasetiter_next(), dns_result_totext(), DNS_ZONE_FLAG, dns_zone_idetach(), dns_zone_log(), DNS_ZONE_SETFLAG, DNS_ZONEFLG_EXITING, DNS_ZONEFLG_NEEDNOTIFY, inline_secure(), INSIST, isc_event_free(), ISC_FALSE, ISC_LIST_EMPTY, ISC_LIST_HEAD, ISC_LIST_INIT, ISC_LIST_UNLINK, ISC_LOG_ERROR, isc_mem_put, ISC_R_SHUTTINGDOWN, ISC_R_SUCCESS, isc_rwlocktype_read, ISC_TRUE, LOCK_ZONE, restore_nsec3param(), save_nsec3param(), TIME_NOW, dns_rdataset::type, UNLOCK_ZONE, UNUSED, version, zone_needdump(), zone_postload(), ZONEDB_LOCK, and ZONEDB_UNLOCK.
Referenced by zone_send_securedb().
isc_result_t dns_zone_replacedb | ( | dns_zone_t * | zone, | |
dns_db_t * | db, | |||
isc_boolean_t | dump | |||
) |
Replace the database of "zone" with a new database "db".
If "dump" is ISC_TRUE, then the new zone contents are dumped into to the zone's master file for persistence. When replacing a zone database by one just loaded from a master file, set "dump" to ISC_FALSE to avoid a redundant redump of the data just loaded. Otherwise, it should be set to ISC_TRUE.
If the "diff-on-reload" option is enabled in the configuration file, the differences between the old and the new database are added to the journal file, and the master file dump is postponed.
Requires:
Definition at line 14281 of file zone.c.
References DNS_ZONE_VALID, inline_raw(), INSIST, ISC_R_SUCCESS, isc_rwlocktype_write, isc_thread_yield, LOCK_ZONE, REQUIRE, secure(), TRYLOCK_ZONE, UNLOCK_ZONE, zone_replacedb(), ZONEDB_LOCK, and ZONEDB_UNLOCK.
Referenced by axfr_finalize(), and create_empty_zone().
void dns_zone_getssutable | ( | dns_zone_t * | zone, | |
dns_ssutable_t ** | table | |||
) |
Get the simple-secure-update policy table.
Requires:
Definition at line 14858 of file zone.c.
References dns_ssutable_attach(), DNS_ZONE_VALID, LOCK_ZONE, REQUIRE, and UNLOCK_ZONE.
Referenced by update_action().
void dns_zone_setssutable | ( | dns_zone_t * | zone, | |
dns_ssutable_t * | table | |||
) |
Set / clear the simple-secure-update policy table.
Requires:
Definition at line 14870 of file zone.c.
References dns_ssutable_attach(), dns_ssutable_detach(), DNS_ZONE_VALID, LOCK_ZONE, REQUIRE, and UNLOCK_ZONE.
Referenced by configure_zone_ssutable(), and dns_dlz_writeablezone().
void dns_zone_setsigvalidityinterval | ( | dns_zone_t * | zone, | |
isc_uint32_t | interval | |||
) |
Set the zone's RRSIG validity interval. This is the length of time for which DNSSEC signatures created as a result of dynamic updates to secure zones will remain valid, in seconds.
Requires:
Definition at line 14882 of file zone.c.
References DNS_ZONE_VALID, and REQUIRE.
Referenced by ns_zone_configure().
isc_uint32_t dns_zone_getsigvalidityinterval | ( | dns_zone_t * | zone | ) |
Get the zone's RRSIG validity interval.
Requires:
Definition at line 14889 of file zone.c.
References DNS_ZONE_VALID, and REQUIRE.
Referenced by update_action(), zone_nsec3chain(), zone_resigninc(), and zone_sign().
void dns_zone_setsigresigninginterval | ( | dns_zone_t * | zone, | |
isc_uint32_t | interval | |||
) |
Set the zone's RRSIG re-signing interval. A dynamic zone's RRSIG's will be re-signed 'interval' amount of time before they expire.
Requires:
Definition at line 14896 of file zone.c.
References DNS_ZONE_VALID, LOCK_ZONE, now, REQUIRE, set_resigntime(), TIME_NOW, UNLOCK_ZONE, and zone_settimer().
Referenced by ns_zone_configure().
isc_uint32_t dns_zone_getsigresigninginterval | ( | dns_zone_t * | zone | ) |
Get the zone's RRSIG re-signing interval.
Requires:
Definition at line 14912 of file zone.c.
References DNS_ZONE_VALID, and REQUIRE.
Referenced by ns_server_zonestatus().
static void forward_destroy | ( | dns_forward_t * | forward | ) | [static] |
Definition at line 15124 of file zone.c.
References dns_request_destroy(), dns_zone_idetach(), isc_buffer_free(), ISC_LINK_LINKED, ISC_LIST_UNLINK, isc_mem_putanddetach, LOCK, dns_forward::magic, dns_forward::mctx, dns_forward::msgbuf, dns_forward::request, UNLOCK, and dns_forward::zone.
Referenced by dns_zone_forwardupdate(), and forward_callback().
static isc_result_t sendtomaster | ( | dns_forward_t * | forward | ) | [static] |
Definition at line 15142 of file zone.c.
References dns_forward::addr, dns_request_createraw4(), DNS_ZONE_FLAG, DNS_ZONEFLG_EXITING, dns_notify::dscp, forward_callback(), ISC_LINK_LINKED, ISC_LIST_APPEND, ISC_R_CANCELED, ISC_R_NOMORE, ISC_R_NOTIMPLEMENTED, ISC_R_SUCCESS, isc_sockaddr_pf(), LOCK_ZONE, dns_forward::msgbuf, dns_forward::options, PF_INET6, dns_forward::request, UNLOCK_ZONE, dns_forward::which, and dns_forward::zone.
Referenced by dns_zone_forwardupdate(), and forward_callback().
isc_result_t dns_zone_forwardupdate | ( | dns_zone_t * | zone, | |
dns_message_t * | msg, | |||
dns_updatecallback_t | callback, | |||
void * | callback_arg | |||
) |
Forward 'msg' to each master in turn until we get an answer or we have exhausted the list of masters. 'callback' will be called with ISC_R_SUCCESS if we get an answer and the returned message will be passed as 'answer_message', otherwise a non ISC_R_SUCCESS result code will be passed and answer_message will be NULL. The callback function is responsible for destroying 'answer_message'. (callback)(callback_arg, result, answer_message);.
Require:
Definition at line 15305 of file zone.c.
References dns_forward::callback, dns_forward::callback_arg, cleanup(), dns_message_getrawmessage(), DNS_REQUESTOPT_FIXEDID, DNS_REQUESTOPT_TCP, dns_zone_iattach(), DNS_ZONE_VALID, forward_destroy(), FORWARD_MAGIC, isc_buffer_allocate(), isc_buffer_copyregion(), ISC_LINK_INIT, isc_mem_attach(), isc_mem_get, ISC_R_NOMEMORY, ISC_R_SUCCESS, ISC_R_UNEXPECTEDEND, isc_region::length, dns_forward::magic, dns_forward::mctx, dns_forward::msgbuf, dns_forward::options, dns_forward::request, REQUIRE, sendtomaster(), dns_message::sig0, dns_forward::which, and dns_forward::zone.
Referenced by forward_action().
isc_result_t dns_zone_next | ( | dns_zone_t * | zone, | |
dns_zone_t ** | next | |||
) |
Find the next zone in the list of managed zones.
Requires:
Definition at line 15362 of file zone.c.
References DNS_ZONE_VALID, ISC_LIST_NEXT, ISC_R_NOMORE, ISC_R_SUCCESS, and REQUIRE.
Referenced by adjust_interfaces(), and ns_stats_dump().
isc_result_t dns_zone_first | ( | dns_zonemgr_t * | zmgr, | |
dns_zone_t ** | first | |||
) |
Find the first zone in the list of managed zones.
Requires:
Definition at line 15374 of file zone.c.
References DNS_ZONEMGR_VALID, ISC_LIST_HEAD, ISC_R_NOMORE, ISC_R_SUCCESS, REQUIRE, and dns_zonemgr::zones.
Referenced by adjust_interfaces(), and ns_stats_dump().
isc_result_t dns_zonemgr_create | ( | isc_mem_t * | mctx, | |
isc_taskmgr_t * | taskmgr, | |||
isc_timermgr_t * | timermgr, | |||
isc_socketmgr_t * | socketmgr, | |||
dns_zonemgr_t ** | zmgrp | |||
) |
Create a zone manager. Note: the zone manager will not be able to manage any zones until dns_zonemgr_setsize() has been run.
Requires:
Definition at line 15390 of file zone.c.
References DESTROYLOCK, dns_zonemgr::high, dns_zonemgr::ioactive, dns_zonemgr::iolimit, dns_zonemgr::iolock, ISC_LIST_INIT, isc_mem_attach(), isc_mem_detach(), isc_mem_get, isc_mem_put, isc_mutex_init, ISC_R_NOMEMORY, ISC_R_SUCCESS, isc_ratelimiter_create(), isc_ratelimiter_detach(), isc_rwlock_destroy(), isc_rwlock_init(), isc_task_create(), isc_task_detach(), isc_task_setname(), dns_zonemgr::loadtasks, dns_zonemgr::low, dns_zonemgr::magic, dns_zonemgr::mctx, dns_zonemgr::mctxpool, dns_zonemgr::notifyrate, dns_zonemgr::notifyrl, dns_zonemgr::refreshrl, dns_zonemgr::refs, dns_zonemgr::rwlock, dns_zonemgr::serialqueryrate, setrl(), dns_zonemgr::socketmgr, dns_zonemgr::startupnotifyrate, dns_zonemgr::startupnotifyrl, dns_zonemgr::startuprefreshrl, dns_zonemgr::startupserialqueryrate, dns_zonemgr::task, dns_zonemgr::taskmgr, dns_zonemgr::timermgr, dns_zonemgr::transfersin, dns_zonemgr::transfersperns, dns_zonemgr::unreachable, dns_zonemgr::urlock, dns_zonemgr::waiting_for_xfrin, dns_zonemgr::xfrin_in_progress, ZONEMGR_MAGIC, dns_zonemgr::zones, and dns_zonemgr::zonetasks.
Referenced by ATF_TC_BODY(), dns_test_setupzonemgr(), and ns_server_create().
isc_result_t dns_zonemgr_createzone | ( | dns_zonemgr_t * | zmgr, | |
dns_zone_t ** | zonep | |||
) |
Allocate a new zone using a memory context from the zone manager's memory context pool.
Require:
Definition at line 15501 of file zone.c.
References dns_zone_create(), DNS_ZONEMGR_VALID, isc_mem_attach(), isc_mem_detach(), isc_pool_get(), ISC_R_FAILURE, ISC_R_SUCCESS, dns_notify::mctx, dns_zonemgr::mctxpool, and REQUIRE.
Referenced by add_keydata_zone(), ATF_TC_BODY(), configure_zone(), and create_empty_zone().
isc_result_t dns_zonemgr_managezone | ( | dns_zonemgr_t * | zmgr, | |
dns_zone_t * | zone | |||
) |
Bring the zone under control of a zone manager.
Require:
Definition at line 15528 of file zone.c.
References DNS_ZONE_VALID, DNS_ZONEMGR_VALID, INSIST, ISC_LIST_APPEND, ISC_R_FAILURE, ISC_R_SUCCESS, isc_rwlocktype_write, isc_task_detach(), isc_task_setname(), isc_taskpool_gettask(), isc_timer_create(), isc_timertype_inactive, dns_zonemgr::loadtasks, LOCK_ZONE, dns_zonemgr::refs, REQUIRE, dns_zonemgr::rwlock, RWLOCK, RWUNLOCK, dns_zonemgr::timermgr, UNLOCK_ZONE, zone_timer(), dns_zonemgr::zones, and dns_zonemgr::zonetasks.
Referenced by add_keydata_zone(), ATF_TC_BODY(), configure_zone(), create_empty_zone(), dlzconfigure_callback(), dns64_reverse(), and dns_test_managezone().
void dns_zonemgr_releasezone | ( | dns_zonemgr_t * | zmgr, | |
dns_zone_t * | zone | |||
) |
Release 'zone' from the managed by 'zmgr'. 'zmgr' is implicitly detached from 'zone'.
Requires:
Definition at line 15585 of file zone.c.
References DNS_ZONE_VALID, DNS_ZONEMGR_VALID, ENSURE, free_now, ISC_FALSE, ISC_LIST_UNLINK, isc_rwlocktype_write, ISC_TRUE, LOCK_ZONE, dns_zonemgr::refs, REQUIRE, dns_zonemgr::rwlock, RWLOCK, RWUNLOCK, UNLOCK_ZONE, zonemgr_free(), and dns_zonemgr::zones.
Referenced by ATF_TC_BODY(), dns_test_releasezone(), and zone_shutdown().
void dns_zonemgr_attach | ( | dns_zonemgr_t * | source, | |
dns_zonemgr_t ** | target | |||
) |
Attach '*target' to 'source' incrementing its external reference count.
Require:
Definition at line 15610 of file zone.c.
References DNS_ZONEMGR_VALID, INSIST, isc_rwlocktype_write, dns_zonemgr::refs, REQUIRE, dns_zonemgr::rwlock, RWLOCK, and RWUNLOCK.
void dns_zonemgr_detach | ( | dns_zonemgr_t ** | zmgrp | ) |
Detach from a zone manager.
Requires:
Definition at line 15623 of file zone.c.
References DNS_ZONEMGR_VALID, free_now, ISC_FALSE, isc_rwlocktype_write, ISC_TRUE, dns_zonemgr::refs, REQUIRE, dns_zonemgr::rwlock, RWLOCK, RWUNLOCK, and zonemgr_free().
Referenced by ATF_TC_BODY(), dns_test_closezonemgr(), and ns_server_destroy().
isc_result_t dns_zonemgr_forcemaint | ( | dns_zonemgr_t * | zmgr | ) |
Force zone maintenance of all zones managed by 'zmgr' at its earliest convenience.
Definition at line 15643 of file zone.c.
References dns_zone_maintenance(), DNS_ZONEMGR_VALID, ISC_LIST_HEAD, ISC_LIST_NEXT, ISC_R_SUCCESS, isc_rwlocktype_read, isc_rwlocktype_write, ISC_TRUE, REQUIRE, dns_zonemgr::rwlock, RWLOCK, RWUNLOCK, zmgr_resume_xfrs(), and dns_zonemgr::zones.
Referenced by view_loaded().
void dns_zonemgr_resumexfrs | ( | dns_zonemgr_t * | zmgr | ) |
Attempt to start any stalled zone transfers.
Definition at line 15670 of file zone.c.
References DNS_ZONEMGR_VALID, isc_rwlocktype_write, ISC_TRUE, REQUIRE, dns_zonemgr::rwlock, RWLOCK, RWUNLOCK, and zmgr_resume_xfrs().
Referenced by load_new_zones().
void dns_zonemgr_shutdown | ( | dns_zonemgr_t * | zmgr | ) |
Shut down the zone manager.
Requires:
Definition at line 15680 of file zone.c.
References DNS_ZONEMGR_VALID, forward_cancel(), ISC_LIST_HEAD, ISC_LIST_NEXT, isc_pool_destroy(), isc_ratelimiter_shutdown(), isc_rwlocktype_read, isc_task_destroy(), isc_taskpool_destroy(), dns_zonemgr::loadtasks, LOCK_ZONE, dns_zonemgr::mctxpool, dns_zonemgr::notifyrl, dns_zonemgr::refreshrl, REQUIRE, dns_zonemgr::rwlock, RWLOCK, RWUNLOCK, dns_zonemgr::startupnotifyrl, dns_zonemgr::startuprefreshrl, dns_zonemgr::task, UNLOCK_ZONE, dns_zonemgr::zones, and dns_zonemgr::zonetasks.
Referenced by ATF_TC_BODY(), dns_test_closezonemgr(), and shutdown_server().
static isc_result_t mctxinit | ( | void ** | target, | |
void * | arg | |||
) | [static] |
Definition at line 15712 of file zone.c.
References isc_mem_create(), isc_mem_setname(), ISC_R_SUCCESS, dns_notify::mctx, REQUIRE, and UNUSED.
Referenced by dns_zonemgr_setsize().
static void mctxfree | ( | void ** | target | ) | [static] |
Definition at line 15730 of file zone.c.
References isc_mem_detach(), and dns_notify::mctx.
Referenced by dns_zonemgr_setsize().
isc_result_t dns_zonemgr_setsize | ( | dns_zonemgr_t * | zmgr, | |
int | num_zones | |||
) |
Set the size of the zone manager task pool. This must be run before zmgr can be used for managing zones. Currently, it can only be run once; the task pool cannot be resized.
Requires:
Definition at line 15740 of file zone.c.
References DNS_ZONEMGR_VALID, isc_pool_create(), isc_pool_expand(), ISC_R_SUCCESS, isc_taskpool_create(), isc_taskpool_expand(), isc_taskpool_setprivilege(), ISC_TRUE, dns_zonemgr::loadtasks, dns_zonemgr::mctx, mctxfree(), mctxinit(), dns_zonemgr::mctxpool, ntasks, REQUIRE, dns_zonemgr::taskmgr, ZONES_PER_MCTX, ZONES_PER_TASK, and dns_zonemgr::zonetasks.
Referenced by ATF_TC_BODY(), dns_test_managezone(), load_configuration(), and ns_server_create().
void dns_zonemgr_settransfersin | ( | dns_zonemgr_t * | zmgr, | |
isc_uint32_t | value | |||
) |
Set the maximum number of simultaneous transfers in allowed by the zone manager.
Requires:
Definition at line 15831 of file zone.c.
References DNS_ZONEMGR_VALID, REQUIRE, and dns_zonemgr::transfersin.
Referenced by load_configuration().
isc_uint32_t dns_zonemgr_getttransfersin | ( | dns_zonemgr_t * | zmgr | ) |
Return the maximum number of simultaneous transfers in allowed.
Requires:
Definition at line 15838 of file zone.c.
References DNS_ZONEMGR_VALID, REQUIRE, and dns_zonemgr::transfersin.
void dns_zonemgr_settransfersperns | ( | dns_zonemgr_t * | zmgr, | |
isc_uint32_t | value | |||
) |
Set the number of zone transfers allowed per nameserver.
Requires:
Definition at line 15845 of file zone.c.
References DNS_ZONEMGR_VALID, REQUIRE, and dns_zonemgr::transfersperns.
Referenced by load_configuration().
isc_uint32_t dns_zonemgr_getttransfersperns | ( | dns_zonemgr_t * | zmgr | ) |
Return the number of transfers allowed per nameserver.
Requires:
Definition at line 15852 of file zone.c.
References DNS_ZONEMGR_VALID, REQUIRE, and dns_zonemgr::transfersperns.
void dns_zonemgr_setiolimit | ( | dns_zonemgr_t * | zmgr, | |
isc_uint32_t | iolimit | |||
) |
Set the number of simultaneous file descriptors available for reading and writing masterfiles.
Requires:
Definition at line 16004 of file zone.c.
References DNS_ZONEMGR_VALID, dns_zonemgr::iolimit, and REQUIRE.
isc_uint32_t dns_zonemgr_getiolimit | ( | dns_zonemgr_t * | zmgr | ) |
Get the number of simultaneous file descriptors available for reading and writing masterfiles.
Requires:
Definition at line 16013 of file zone.c.
References DNS_ZONEMGR_VALID, dns_zonemgr::iolimit, and REQUIRE.
void dns_zonemgr_setnotifyrate | ( | dns_zonemgr_t * | zmgr, | |
unsigned int | value | |||
) |
Set the number of NOTIFY requests sent per second.
Requires:
Definition at line 16217 of file zone.c.
Referenced by load_configuration().
void dns_zonemgr_setstartupnotifyrate | ( | dns_zonemgr_t * | zmgr, | |
unsigned int | value | |||
) |
Set the number of startup NOTIFY requests sent per second.
Requires:
Definition at line 16225 of file zone.c.
Referenced by load_configuration().
void dns_zonemgr_setserialqueryrate | ( | dns_zonemgr_t * | zmgr, | |
unsigned int | value | |||
) |
Set the number of SOA queries sent per second.
Requires:
Definition at line 16233 of file zone.c.
Referenced by load_configuration().
unsigned int dns_zonemgr_getnotifyrate | ( | dns_zonemgr_t * | zmgr | ) |
unsigned int dns_zonemgr_getstartupnotifyrate | ( | dns_zonemgr_t * | zmgr | ) |
unsigned int dns_zonemgr_getserialqueryrate | ( | dns_zonemgr_t * | zmgr | ) |
isc_boolean_t dns_zonemgr_unreachable | ( | dns_zonemgr_t * | zmgr, | |
isc_sockaddr_t * | remote, | |||
isc_sockaddr_t * | local, | |||
isc_time_t * | now | |||
) |
Returns ISC_TRUE if the given local/remote address pair is found in the zone maanger's unreachable cache.
Requires:
Definition at line 16264 of file zone.c.
Referenced by ATF_TC_BODY(), got_transfer_quota(), and refresh_callback().
void dns_zonemgr_unreachabledel | ( | dns_zonemgr_t * | zmgr, | |
isc_sockaddr_t * | remote, | |||
isc_sockaddr_t * | local | |||
) |
Remove the pair of addresses from the unreachable cache.
Requires:
Definition at line 16295 of file zone.c.
Referenced by ATF_TC_BODY(), dns_zone_notifyreceive(), and xfrin_connect_done().
void dns_zonemgr_unreachableadd | ( | dns_zonemgr_t * | zmgr, | |
isc_sockaddr_t * | remote, | |||
isc_sockaddr_t * | local, | |||
isc_time_t * | now | |||
) |
Add the pair of addresses to the unreachable cache.
Requires:
Definition at line 16334 of file zone.c.
Referenced by ATF_TC_BODY(), stub_callback(), and xfrin_connect_done().
void dns_zone_forcereload | ( | dns_zone_t * | zone | ) |
Force a reload of specified zone.
Requires:
Definition at line 16392 of file zone.c.
Referenced by ns_server_retransfercommand().
isc_boolean_t dns_zone_isforced | ( | dns_zone_t * | zone | ) |
isc_result_t dns_zone_setstatistics | ( | dns_zone_t * | zone, | |
isc_boolean_t | on | |||
) |
isc_uint64_t* dns_zone_getstatscounters | ( | dns_zone_t * | zone | ) |
void dns_zone_setstats | ( | dns_zone_t * | zone, | |
isc_stats_t * | stats | |||
) |
Set a general zone-maintenance statistics set 'stats' for 'zone'. This function is expected to be called only on zone creation (when necessary). Once installed, it cannot be removed or replaced. Also, there is no interface to get the installed stats from the zone; the caller must keep the stats to reference (e.g. dump) it later.
Requires:
Definition at line 16432 of file zone.c.
Referenced by add_keydata_zone(), configure_zone(), create_empty_zone(), dlzconfigure_callback(), and dns64_reverse().
void dns_zone_setrequeststats | ( | dns_zone_t * | zone, | |
isc_stats_t * | stats | |||
) |
void dns_zone_setrcvquerystats | ( | dns_zone_t * | zone, | |
dns_stats_t * | stats | |||
) |
Set additional statistics sets to zone. These are attached to the zone but are not counted in the zone module; only the caller updates the counters.
Requires:
Definition at line 16460 of file zone.c.
Referenced by ns_zone_configure().
isc_stats_t* dns_zone_getrequeststats | ( | dns_zone_t * | zone | ) |
Definition at line 16475 of file zone.c.
Referenced by inc_stats(), ns_stats_dump(), and rpz_log_rewrite().
dns_stats_t* dns_zone_getrcvquerystats | ( | dns_zone_t * | zone | ) |
Get the additional statistics for zone, if one is installed.
Requires:
Definition at line 16495 of file zone.c.
Referenced by inc_stats().
void dns_zone_dialup | ( | dns_zone_t * | zone | ) |
void dns_zone_setdialup | ( | dns_zone_t * | zone, | |
dns_dialuptype_t | dialup | |||
) |
Set the dialup type of 'zone' to 'dialup'.
Requires:
Definition at line 16520 of file zone.c.
Referenced by add_keydata_zone(), create_empty_zone(), dns64_reverse(), and ns_zone_configure().
isc_result_t dns_zone_setkeydirectory | ( | dns_zone_t * | zone, | |
const char * | directory | |||
) |
Sets the name of the directory where private keys used for online signing of dynamic zones are found.
Require:
Definition at line 16556 of file zone.c.
Referenced by ns_zone_configure().
const char* dns_zone_getkeydirectory | ( | dns_zone_t * | zone | ) |
Gets the name of the directory where private keys used for online signing of dynamic zones are found.
Requires:
Definition at line 16569 of file zone.c.
Referenced by find_zone_keys().
unsigned int dns_zonemgr_getcount | ( | dns_zonemgr_t * | zmgr, | |
int | state | |||
) |
Returns the number of zones in the specified state.
Requires:
Definition at line 16576 of file zone.c.
Referenced by ATF_TC_BODY(), and ns_server_status().
isc_result_t dns_zone_checknames | ( | dns_zone_t * | zone, | |
dns_name_t * | name, | |||
dns_rdata_t * | rdata | |||
) |
Check if this record meets the check-names policy.
Requires: 'zone' to be valid. 'name' to be valid. 'rdata' to be valid.
Returns: DNS_R_SUCCESS passed checks. DNS_R_BADOWNERNAME failed ownername checks. DNS_R_BADNAME failed rdata checks.
Definition at line 16634 of file zone.c.
Referenced by axfr_putdata(), ixfr_putdata(), and update_action().
void dns_zone_setcheckmx | ( | dns_zone_t * | zone, | |
dns_checkmxfunc_t | checkmx | |||
) |
Set the post load integrity callback function 'checkmx'. 'checkmx' will be called if the MX TARGET is not within the zone.
Require: 'zone' to be a valid zone.
Definition at line 16681 of file zone.c.
Referenced by load_zone().
void dns_zone_setchecksrv | ( | dns_zone_t * | zone, | |
dns_checkmxfunc_t | checksrv | |||
) |
Set the post load integrity callback function 'checksrv'. 'checksrv' will be called if the SRV TARGET is not within the zone.
Require: 'zone' to be a valid zone.
Definition at line 16687 of file zone.c.
Referenced by load_zone().
void dns_zone_setcheckns | ( | dns_zone_t * | zone, | |
dns_checknsfunc_t | checkns | |||
) |
Set the post load integrity callback function 'checkns'. 'checkns' will be called if the NS TARGET is not within the zone.
Require: 'zone' to be a valid zone.
Definition at line 16693 of file zone.c.
Referenced by load_zone().
void dns_zone_setisself | ( | dns_zone_t * | zone, | |
dns_isselffunc_t | isself, | |||
void * | arg | |||
) |
Set the isself callback function and argument.
isc_boolean_t isself(dns_view_t *myview, dns_tsigkey_t *mykey, isc_netaddr_t *srcaddr, isc_netaddr_t *destaddr, dns_rdataclass_t rdclass, void *arg);
'isself' returns ISC_TRUE if a non-recursive query from 'srcaddr' to 'destaddr' with optional key 'mykey' for class 'rdclass' would be delivered to 'myview'.
Definition at line 16699 of file zone.c.
Referenced by ns_zone_configure().
void dns_zone_setnotifydelay | ( | dns_zone_t * | zone, | |
isc_uint32_t | delay | |||
) |
Set the minimum delay between sets of notify messages.
Requires: 'zone' to be valid.
Definition at line 16709 of file zone.c.
Referenced by ns_zone_configure().
isc_uint32_t dns_zone_getnotifydelay | ( | dns_zone_t * | zone | ) |
isc_result_t dns_zone_signwithkey | ( | dns_zone_t * | zone, | |
dns_secalg_t | algorithm, | |||
isc_uint16_t | keyid, | |||
isc_boolean_t | delete | |||
) |
Initiate/resume signing of the entire zone with the zone DNSKEY(s) that match the given algorithm and keyid.
Definition at line 16725 of file zone.c.
Referenced by update_action().
isc_result_t dns_zone_addnsec3chain | ( | dns_zone_t * | zone, | |
dns_rdata_nsec3param_t * | nsec3param | |||
) |
Incrementally add a NSEC3 chain that corresponds to 'nsec3param'.
Definition at line 16744 of file zone.c.
References dns_zone_log(), DNS_ZONE_VALID, hex, INSIST, ISC_LOG_NOTICE, LOCK_ZONE, REQUIRE, UNLOCK_ZONE, and zone_addnsec3chain().
Referenced by update_action().
void dns_zone_setnodes | ( | dns_zone_t * | zone, | |
isc_uint32_t | nodes | |||
) |
Set the number of nodes that will be checked per quantum.
Definition at line 16772 of file zone.c.
Referenced by ns_zone_configure().
void dns_zone_setsignatures | ( | dns_zone_t * | zone, | |
isc_uint32_t | signatures | |||
) |
Set the number of signatures that will be generated per quantum.
Definition at line 16781 of file zone.c.
Referenced by ns_zone_configure().
isc_uint32_t dns_zone_getsignatures | ( | dns_zone_t * | zone | ) |
Get the number of signatures that will be generated per quantum.
Definition at line 16796 of file zone.c.
Referenced by dns_update_signaturesinc().
void dns_zone_setprivatetype | ( | dns_zone_t * | zone, | |
dns_rdatatype_t | type | |||
) |
dns_rdatatype_t dns_zone_getprivatetype | ( | dns_zone_t * | zone | ) |
Definition at line 16808 of file zone.c.
Referenced by add_nsec3param_records(), check_dnssec(), dns_nsec3param_deletechains(), dns_update_signaturesinc(), dnskey_sane(), ns_server_signing(), and update_action().
static void clear_keylist | ( | dns_dnsseckeylist_t * | list, | |
isc_mem_t * | mctx | |||
) | [static] |
static isc_result_t next_keyevent | ( | dst_key_t * | key, | |
isc_stdtime_t * | timep | |||
) | [static] |
Definition at line 16912 of file zone.c.
References dst_key_gettime(), DST_MAX_TIMES, ISC_R_NOTFOUND, and ISC_R_SUCCESS.
static isc_result_t rr_exists | ( | dns_db_t * | db, | |
dns_dbversion_t * | ver, | |||
dns_name_t * | name, | |||
const dns_rdata_t * | rdata, | |||
isc_boolean_t * | flag | |||
) | [static] |
static isc_result_t add_signing_records | ( | dns_db_t * | db, | |
dns_rdatatype_t | privatetype, | |||
dns_dbversion_t * | ver, | |||
dns_diff_t * | diff, | |||
isc_boolean_t | sign_all | |||
) | [static] |
Definition at line 16981 of file zone.c.
References CHECK, dns_rdata::data, dns_db_origin(), DNS_DIFFOP_ADD, DNS_DIFFOP_DEL, dns_difftuple_create(), DNS_KEYFLAG_OWNERMASK, DNS_KEYOWNER_ZONE, DNS_KEYTYPE_NOAUTH, DNS_RDATA_INIT, dns_rdata_toregion(), dns_rdata_tostruct(), do_one_tuple(), dst_region_computeid(), INSIST, ISC_LIST_HEAD, ISC_LIST_NEXT, ISC_R_SUCCESS, dns_rdata::length, dns_diff::mctx, dns_difftuple::op, r, dns_difftuple::rdata, dns_rdata::rdclass, rr_exists(), RUNTIME_CHECK, and dns_rdata::type.
Referenced by update_action().
static isc_result_t sign_apex | ( | dns_zone_t * | zone, | |
dns_db_t * | db, | |||
dns_dbversion_t * | ver, | |||
dns_diff_t * | diff, | |||
zonediff_t * | zonediff | |||
) | [static] |
static isc_boolean_t dnskey_sane | ( | dns_zone_t * | zone, | |
dns_db_t * | db, | |||
dns_dbversion_t * | ver, | |||
dns_diff_t * | diff | |||
) | [static] |
Definition at line 17134 of file zone.c.
References CHECK, dns_rdata::data, DNS_DIFFOP_ADD, dns_nsec3_activex(), dns_nsec_nseconly(), dns_zone_getprivatetype(), dns_zone_log(), DST_ALG_DSA, DST_ALG_ECC, DST_ALG_RSAMD5, DST_ALG_RSASHA1, ISC_FALSE, ISC_LIST_HEAD, ISC_LIST_NEXT, ISC_LOG_ERROR, ISC_R_NOTFOUND, ISC_R_SUCCESS, ISC_TRUE, dns_difftuple::op, privatetype, dns_difftuple::rdata, and dns_rdata::type.
static isc_result_t clean_nsec3param | ( | dns_zone_t * | zone, | |
dns_db_t * | db, | |||
dns_dbversion_t * | ver, | |||
dns_diff_t * | diff | |||
) | [static] |
static isc_boolean_t signed_with_alg | ( | dns_rdataset_t * | rdataset, | |
dns_secalg_t | alg | |||
) | [static] |
Definition at line 17216 of file zone.c.
References DNS_RDATA_INIT, dns_rdata_reset(), dns_rdata_tostruct(), dns_rdataset_current(), dns_rdataset_first(), dns_rdataset_isassociated(), dns_rdataset_next(), ISC_FALSE, ISC_R_SUCCESS, ISC_TRUE, REQUIRE, RUNTIME_CHECK, and dns_rdataset::type.
static isc_result_t add_chains | ( | dns_zone_t * | zone, | |
dns_db_t * | db, | |||
dns_dbversion_t * | ver, | |||
dns_diff_t * | diff | |||
) | [static] |
void dns_zone_rekey | ( | dns_zone_t * | zone, | |
isc_boolean_t | fullsign | |||
) |
Update the zone's DNSKEY set from the key repository.
If 'fullsign' is true, trigger an immediate full signing of the zone with the new key. Otherwise, if there are no keys or if the new keys are for algorithms that have already signed the zone, then the zone can be re-signed incrementally.
Definition at line 17602 of file zone.c.
Referenced by configure_zone(), and ns_server_rekey().
isc_result_t dns_zone_nscheck | ( | dns_zone_t * | zone, | |
dns_db_t * | db, | |||
dns_dbversion_t * | version, | |||
unsigned int * | errors | |||
) |
void dns_zone_setautomatic | ( | dns_zone_t * | zone, | |
isc_boolean_t | automatic | |||
) |
Returns ISC_TRUE if the zone was originally added at runtime using "rndc addzone".
Requires:
Definition at line 17639 of file zone.c.
Referenced by create_empty_zone().
isc_boolean_t dns_zone_getautomatic | ( | dns_zone_t * | zone | ) |
void dns_zone_setadded | ( | dns_zone_t * | zone, | |
isc_boolean_t | added | |||
) |
Check if the name servers for the zone are sane (have address, don't refer to CNAMEs/DNAMEs. The number of constiancy errors detected in returned in '*errors'.
Requires:
Definition at line 17654 of file zone.c.
Referenced by configure_zone(), dns_dlz_writeablezone(), and do_addzone().
isc_boolean_t dns_zone_getadded | ( | dns_zone_t * | zone | ) |
Sets the value of zone->added, which should be ISC_TRUE for zones that were originally added by "rndc addzone".
Requires:
Definition at line 17663 of file zone.c.
Referenced by do_modzone(), ns_server_delzone(), and ns_server_zonestatus().
isc_result_t dns_zone_dlzpostload | ( | dns_zone_t * | zone, | |
dns_db_t * | db | |||
) |
Returns ISC_TRUE if the zone was added automatically by named.
Requires:
Definition at line 17669 of file zone.c.
Referenced by ns_zone_configure_writeable_dlz().
isc_result_t dns_zone_setrefreshkeyinterval | ( | dns_zone_t * | zone, | |
isc_uint32_t | interval | |||
) |
Return true iff the zone is "dynamic", in the sense that the zone's master file (if any) is written by the server, rather than being updated manually and read by the server.
This is true for slave zones, stub zones, key zones, and zones that allow dynamic updates either by having an update policy ("ssutable") or an "allow-update" ACL with a value other than exactly "{ none; }".
If 'ignore_freeze' is true, then the zone which has had updates disabled will still report itself to be dynamic.
Requires:
Definition at line 17707 of file zone.c.
Referenced by ns_zone_configure().
void dns_zone_setrequestixfr | ( | dns_zone_t * | zone, | |
isc_boolean_t | flag | |||
) |
Returns the true/false value of the request-ixfr option in the zone.
Requires:
Definition at line 17720 of file zone.c.
Referenced by ns_zone_configure().
isc_boolean_t dns_zone_getrequestixfr | ( | dns_zone_t * | zone | ) |
void dns_zone_setrequestexpire | ( | dns_zone_t * | zone, | |
isc_boolean_t | flag | |||
) |
Returns the true/false value of the request-expire option in the zone.
Requires:
Definition at line 17732 of file zone.c.
Referenced by ns_zone_configure().
isc_boolean_t dns_zone_getrequestexpire | ( | dns_zone_t * | zone | ) |
Sets the frequency, in minutes, with which the key repository will be checked to see if the keys for this zone have been updated. Any value higher than 1440 minutes (24 hours) will be silently reduced. A value of zero will return an out-of-range error.
Requires:
void dns_zone_setserialupdatemethod | ( | dns_zone_t * | zone, | |
dns_updatemethod_t | method | |||
) |
Sets the request-ixfr option for the zone. Either true or false. The default value is determined by the setting of this option in the view.
Requires:
Definition at line 17744 of file zone.c.
Referenced by ns_zone_configure().
dns_updatemethod_t dns_zone_getserialupdatemethod | ( | dns_zone_t * | zone | ) |
Sets the update method to use when incrementing the zone serial number due to a DDNS update. Valid options are dns_updatemethod_increment and dns_updatemethod_unixtime.
Requires:
Definition at line 17750 of file zone.c.
Referenced by update_action().
isc_result_t dns_zone_link | ( | dns_zone_t * | zone, | |
dns_zone_t * | raw | |||
) |
Returns the update method to be used when incrementing the zone serial number due to a DDNS update.
Requires:
Definition at line 17759 of file zone.c.
References DNS_ZONE_VALID, INSIST, ISC_LIST_APPEND, ISC_R_SUCCESS, isc_refcount_increment, isc_rwlocktype_write, isc_task_attach(), isc_timer_create(), isc_timertype_inactive, LOCK_ZONE, dns_zonemgr::refs, REQUIRE, dns_zonemgr::rwlock, RWLOCK, RWUNLOCK, dns_zonemgr::timermgr, UNLOCK_ZONE, zone_iattach(), zone_timer(), and dns_zonemgr::zones.
Referenced by configure_zone().
void dns_zone_getraw | ( | dns_zone_t * | zone, | |
dns_zone_t ** | raw | |||
) |
Definition at line 17820 of file zone.c.
Referenced by configure_zone(), create_empty_zone(), freezezones(), ns_server_delzone(), ns_server_freeze(), ns_server_refreshcommand(), ns_server_retransfercommand(), ns_server_zonestatus(), ns_update_start(), ns_xfr_start(), ns_zone_reusable(), query_find(), and synczone().
static void keydone | ( | isc_task_t * | task, | |
isc_event_t * | event | |||
) | [static] |
Definition at line 17840 of file zone.c.
References keydone::all, CHECK, keydone::data, dns_rdata::data, dns_db_attach(), dns_db_closeversion(), dns_db_currentversion(), dns_db_detach(), dns_db_detachnode(), dns_db_findrdataset(), dns_db_getoriginnode(), dns_db_newversion(), dns_diff_clear(), dns_diff_init(), DNS_DIFFOP_DEL, DNS_RDATA_INIT, dns_rdata_reset(), dns_rdataset_current(), dns_rdataset_disassociate(), dns_rdataset_first(), dns_rdataset_init(), dns_rdataset_isassociated(), dns_rdataset_next(), dns_result_totext(), dns_update_signatures(), dns_zone_idetach(), dns_zone_log(), DNS_ZONE_SETFLAG, DNS_ZONE_VALID, DNS_ZONEFLG_LOADED, ENTER, INSIST, isc_event_free(), ISC_FALSE, ISC_LIST_EMPTY, ISC_LOG_ERROR, ISC_R_NOTFOUND, ISC_R_SUCCESS, isc_rwlocktype_read, ISC_TRUE, dns_rdata::length, LOCK_ZONE, dns_diff::mctx, PENDINGFLAGS, dns_rdataset::ttl, UNLOCK_ZONE, UNUSED, update_log_cb(), update_one_rr(), update_soa_serial(), zone_journal(), zone_needdump(), ZONEDB_LOCK, and ZONEDB_UNLOCK.
isc_result_t dns_zone_keydone | ( | dns_zone_t * | zone, | |
const char * | keystr | |||
) |
static void setnsec3param | ( | isc_task_t * | task, | |
isc_event_t * | event | |||
) | [static] |
isc_result_t dns_zone_setnsec3param | ( | dns_zone_t * | zone, | |
isc_uint8_t | hash, | |||
isc_uint8_t | flags, | |||
isc_uint16_t | iter, | |||
isc_uint8_t | saltlen, | |||
unsigned char * | salt, | |||
isc_boolean_t | replace | |||
) |
isc_result_t dns_zone_getloadtime | ( | dns_zone_t * | zone, | |
isc_time_t * | loadtime | |||
) |
Force the managed key zone to synchronize, and start the key maintenance timer.
Definition at line 18267 of file zone.c.
Referenced by ns_server_zonestatus().
isc_result_t dns_zone_getexpiretime | ( | dns_zone_t * | zone, | |
isc_time_t * | expiretime | |||
) |
Return the time when the (slave) zone will need to be refreshed.
Definition at line 18278 of file zone.c.
Referenced by ns_server_zonestatus(), ns_xfr_start(), and query_find().
isc_result_t dns_zone_getrefreshtime | ( | dns_zone_t * | zone, | |
isc_time_t * | refreshtime | |||
) |
Return the time when the zone was last loaded.
Definition at line 18289 of file zone.c.
Referenced by ns_server_zonestatus().
isc_result_t dns_zone_getrefreshkeytime | ( | dns_zone_t * | zone, | |
isc_time_t * | refreshkeytime | |||
) |
Return the time when the (slave) zone will expire.
Definition at line 18300 of file zone.c.
Referenced by mkey_status(), and ns_server_zonestatus().
unsigned int dns_zone_getincludes | ( | dns_zone_t * | zone, | |
char *** | includesp | |||
) |
Return the time of the next scheduled DNSSEC key event.
Definition at line 18311 of file zone.c.
Referenced by ns_server_zonestatus().
void dns_zone_setstatlevel | ( | dns_zone_t * | zone, | |
dns_zonestat_level_t | level | |||
) |
dns_zonestat_level_t dns_zone_getstatlevel | ( | dns_zone_t * | zone | ) |
static void setserial | ( | isc_task_t * | task, | |
isc_event_t * | event | |||
) | [static] |
isc_result_t dns_zone_setserial | ( | dns_zone_t * | zone, | |
isc_uint32_t | serial | |||
) |
Set and get the statistics reporting level for the zone; full, terse, or none.
Definition at line 18452 of file zone.c.
Referenced by ns_server_signing().
unsigned int dns_zone_mkey_hour = HOUR |
Definition at line 721 of file zone.c.
Referenced by keyfetch_done(), parse_command_line(), refresh_time(), and zone_refreshkeys().
unsigned int dns_zone_mkey_day = DAY |
unsigned int dns_zone_mkey_month = MONTH |
const unsigned int dbargc_default = 1 [static] |
const char* dbargv_default[] = { "rbt" } [static] |