#include <isc/lang.h>
#include <dns/types.h>
#include <dns/diff.h>
Go to the source code of this file.
Data Structures | |
struct | dns_update_log_t |
Defines | |
#define | DNS_UPDATE_H 1 |
Functions | |
ISC_LANG_BEGINDECLS isc_uint32_t | dns_update_soaserial (isc_uint32_t serial, dns_updatemethod_t method) |
Return the next serial number after 'serial', depending on the update method 'method':. | |
isc_result_t | dns_update_signatures (dns_update_log_t *log, dns_zone_t *zone, dns_db_t *db, dns_dbversion_t *oldver, dns_dbversion_t *newver, dns_diff_t *diff, isc_uint32_t sigvalidityinterval) |
Update RRSIG, NSEC and NSEC3 records affected by an update. The original update, including the SOA serial update but excluding the RRSIG & NSEC changes, is in "diff" and has already been applied to "newver" of "db". The database version prior to the update is "oldver". | |
isc_result_t | dns_update_signaturesinc (dns_update_log_t *log, dns_zone_t *zone, dns_db_t *db, dns_dbversion_t *oldver, dns_dbversion_t *newver, dns_diff_t *diff, isc_uint32_t sigvalidityinterval, dns_update_state_t **state) |
Definition in file update.h.
ISC_LANG_BEGINDECLS isc_uint32_t dns_update_soaserial | ( | isc_uint32_t | serial, | |
dns_updatemethod_t | method | |||
) |
Return the next serial number after 'serial', depending on the update method 'method':.
Definition at line 2031 of file update.c.
References dns_updatemethod_date, dns_updatemethod_increment, dns_updatemethod_none, dns_updatemethod_unixtime, epoch_to_yyyymmdd(), isc_serial_gt(), isc_stdtime_get(), and now.
Referenced by ATF_TC_BODY(), setsoaserial(), and update_soa_serial().
isc_result_t dns_update_signatures | ( | dns_update_log_t * | log, | |
dns_zone_t * | zone, | |||
dns_db_t * | db, | |||
dns_dbversion_t * | oldver, | |||
dns_dbversion_t * | newver, | |||
dns_diff_t * | diff, | |||
isc_uint32_t | sigvalidityinterval | |||
) |
Update RRSIG, NSEC and NSEC3 records affected by an update. The original update, including the SOA serial update but excluding the RRSIG & NSEC changes, is in "diff" and has already been applied to "newver" of "db". The database version prior to the update is "oldver".
The necessary RRSIG, NSEC and NSEC3 changes will be applied to "newver" and added (as a minimal diff) to "diff".
The RRSIGs generated will be valid for 'sigvalidityinterval' seconds.
Definition at line 1336 of file update.c.
References dns_update_signaturesinc().
Referenced by keydone(), and update_action().
isc_result_t dns_update_signaturesinc | ( | dns_update_log_t * | log, | |
dns_zone_t * | zone, | |||
dns_db_t * | db, | |||
dns_dbversion_t * | oldver, | |||
dns_dbversion_t * | newver, | |||
dns_diff_t * | diff, | |||
isc_uint32_t | sigvalidityinterval, | |||
dns_update_state_t ** | state | |||
) |
Definition at line 1362 of file update.c.
References add_exposed_sigs(), add_nsec(), add_placeholder_nsec(), add_sigs(), dns_update_state::affected, CHECK, dns_update_state::check_ksk, del_keysigs(), delete_if(), dns_update_state::diffnames, dns_db_detachnode(), dns_db_findnode(), dns_db_findrdataset(), dns_db_origin(), dns_diff_appendminimal(), dns_diff_clear(), dns_diff_init(), dns_diff_sort(), DNS_DIFFOP_ADD, DNS_DIFFOP_DEL, dns_fixedname_init, dns_fixedname_name, DNS_MAXZONEKEYS, dns_name_equal(), dns_nsec3_addnsec3sx(), dns_nsec3_delnsec3sx(), dns_private_chains(), DNS_R_CONTINUE, DNS_RDATA_INIT, dns_rdata_tostruct(), dns_rdataset_current(), dns_rdataset_disassociate(), dns_rdataset_first(), dns_rdataset_init(), DNS_STATE_VALID, dns_zone_getoptions(), dns_zone_getprivatetype(), dns_zone_getsignatures(), DNS_ZONEOPT_DNSKEYKSKONLY, DNS_ZONEOPT_UPDATECHECKKSK, dst_key_free(), dns_update_state::expire, find_zone_keys(), dns_update_state::inception, INSIST, is_active(), ISC_FALSE, ISC_LIST_APPEND, ISC_LIST_APPENDLIST, ISC_LIST_EMPTY, ISC_LIST_HEAD, ISC_LIST_NEXT, ISC_LIST_UNLINK, ISC_LOG_DEBUG, ISC_LOG_ERROR, isc_mem_get, isc_mem_put, ISC_R_NOMEMORY, ISC_R_SUCCESS, isc_stdtime_get(), ISC_TF, dns_update_state::keyset_kskonly, dns_update_state::magic, dns_diff::mctx, dns_difftuple::name, name, name_exists(), namelist_append_name(), namelist_append_subdomain(), next_active(), dns_update_state::nkeys, non_nsec_rrset_exists(), now, dns_update_state::nsec_diff, dns_update_state::nsec_mindiff, dns_update_state::nsecttl, dns_difftuple::op, privatetype, dns_difftuple::rdata, REQUIRE, rrset_exists(), rrset_visible(), rrsig_p(), dns_update_state::sig_diff, dns_update_state::state, STATE_MAGIC, temp_order(), true_p(), dns_rdata::type, uniqify_name_list(), update_log(), dns_update_state::work, and dns_update_state::zone_keys.
Referenced by dns_update_signatures(), and receive_secure_serial().