diff options
author | Florian Obser <florian@cvs.openbsd.org> | 2016-06-24 08:34:04 +0000 |
---|---|---|
committer | Florian Obser <florian@cvs.openbsd.org> | 2016-06-24 08:34:04 +0000 |
commit | e32f6a20a2ff7a7d1cb5de93dc9992dca7e22c1b (patch) | |
tree | 75e3afdf4a86d6326847253868adecc8251bbaac /usr.sbin/nsd/udbzone.h | |
parent | e547a96bfd6a3f56adf58b726d52318df7c307e7 (diff) |
Update to 4.1.10
Testing by millert@, sthen@ and me.
came up with the same diff & OK sthen@
Diffstat (limited to 'usr.sbin/nsd/udbzone.h')
-rw-r--r-- | usr.sbin/nsd/udbzone.h | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/usr.sbin/nsd/udbzone.h b/usr.sbin/nsd/udbzone.h index f1163e4dfe5..8169857a795 100644 --- a/usr.sbin/nsd/udbzone.h +++ b/usr.sbin/nsd/udbzone.h @@ -15,7 +15,10 @@ * | * v * zonetree -> zone -- zone_name - * radtree | + * radtree |--> nsec3param + * |--> log_str + * |--> file_str + * | * v * domain --> rrset -> rr * radtree list list @@ -32,8 +35,12 @@ struct zone_d { udb_rel_ptr nsec3param; /** the log_str for the AXFR change, or 0 */ udb_rel_ptr log_str; + /** the file name when read from a file, or 0 */ + udb_rel_ptr file_str; /** modification time, time when the zone data was changed */ uint64_t mtime; + /** modification time, nsecs */ + uint64_t mtime_nsec; /** number of RRsets in the zone */ uint64_t rrset_count; /** number of RRs in the zone */ @@ -102,9 +109,15 @@ void udb_zone_delete(udb_base* udb, udb_ptr* zone); int udb_zone_search(udb_base* udb, udb_ptr* result, const uint8_t* dname, size_t dlen); /** get modification time for zone or 0 */ -uint64_t udb_zone_get_mtime(udb_base* udb, const uint8_t* dname, size_t dlen); +void udb_zone_get_mtime(udb_base* udb, const uint8_t* dname, size_t dlen, + struct timespec* mtime); /** set log str in udb, or remove it */ void udb_zone_set_log_str(udb_base* udb, udb_ptr* zone, const char* str); +/** set file str in udb, or remove it */ +void udb_zone_set_file_str(udb_base* udb, udb_ptr* zone, const char* str); +/** get file string for zone or NULL */ +const char* udb_zone_get_file_str(udb_base* udb, const uint8_t* dname, + size_t dlen); /** find a domain name in the zone domain tree */ int udb_domain_find(udb_base* udb, udb_ptr* zone, const uint8_t* nm, size_t nmlen, udb_ptr* result); |