/
usr
/
include
/
bind9
/
dns
/
/usr/include/bind9/dns
mkdir
upload
Name
Size
Mode
Actions
acl.h
6477
0644
edit
dl
rm
adb.h
22267
0644
edit
dl
rm
badcache.h
3387
0644
edit
dl
rm
bit.h
798
0644
edit
dl
rm
byaddr.h
3598
0644
edit
dl
rm
cache.h
8730
0644
edit
dl
rm
callbacks.h
2280
0644
edit
dl
rm
catz.h
11881
0644
edit
dl
rm
cert.h
1465
0644
edit
dl
rm
client.h
14527
0644
edit
dl
rm
clientinfo.h
2015
0644
edit
dl
rm
compress.h
7047
0644
edit
dl
rm
db.h
50446
0644
edit
dl
rm
dbiterator.h
7385
0644
edit
dl
rm
dbtable.h
3167
0644
edit
dl
rm
diff.h
7039
0644
edit
dl
rm
dispatch.h
15538
0644
edit
dl
rm
dlz.h
10876
0644
edit
dl
rm
dlz_dlopen.h
4394
0644
edit
dl
rm
dns64.h
5720
0644
edit
dl
rm
dnsrps.h
2572
0644
edit
dl
rm
dnssec.h
12841
0644
edit
dl
rm
dnstap.h
10193
0644
edit
dl
rm
ds.h
1665
0644
edit
dl
rm
dsdigest.h
1713
0644
edit
dl
rm
dyndb.h
4869
0644
edit
dl
rm
ecdb.h
806
0644
edit
dl
rm
ecs.h
1250
0644
edit
dl
rm
edns.h
783
0644
edit
dl
rm
enumclass.h
1220
0644
edit
dl
rm
enumtype.h
8485
0644
edit
dl
rm
events.h
4451
0644
edit
dl
rm
fixedname.h
1652
0644
edit
dl
rm
forward.h
3060
0644
edit
dl
rm
geoip.h
2340
0644
edit
dl
rm
ipkeylist.h
2219
0644
edit
dl
rm
iptable.h
1521
0644
edit
dl
rm
journal.h
9712
0644
edit
dl
rm
kasp.h
12124
0644
edit
dl
rm
keydata.h
1047
0644
edit
dl
rm
keyflags.h
1277
0644
edit
dl
rm
keymgr.h
4107
0644
edit
dl
rm
keytable.h
7871
0644
edit
dl
rm
keyvalues.h
4083
0644
edit
dl
rm
lib.h
993
0644
edit
dl
rm
librpz.h
31401
0644
edit
dl
rm
lmdb.h
779
0644
edit
dl
rm
log.h
4029
0644
edit
dl
rm
lookup.h
2921
0644
edit
dl
rm
master.h
8786
0644
edit
dl
rm
masterdump.h
10133
0644
edit
dl
rm
message.h
39567
0644
edit
dl
rm
name.h
37781
0644
edit
dl
rm
ncache.h
4960
0644
edit
dl
rm
nsec.h
3065
0644
edit
dl
rm
nsec3.h
8258
0644
edit
dl
rm
nta.h
4846
0644
edit
dl
rm
opcode.h
1006
0644
edit
dl
rm
order.h
2010
0644
edit
dl
rm
peer.h
6475
0644
edit
dl
rm
portlist.h
2101
0644
edit
dl
rm
private.h
1962
0644
edit
dl
rm
rbt.h
37484
0644
edit
dl
rm
rcode.h
2472
0644
edit
dl
rm
rdata.h
22564
0644
edit
dl
rm
rdataclass.h
2248
0644
edit
dl
rm
rdatalist.h
2557
0644
edit
dl
rm
rdataset.h
18714
0644
edit
dl
rm
rdatasetiter.h
3912
0644
edit
dl
rm
rdataslab.h
4267
0644
edit
dl
rm
rdatastruct.h
62703
0644
edit
dl
rm
rdatatype.h
2290
0644
edit
dl
rm
request.h
9187
0644
edit
dl
rm
resolver.h
20152
0644
edit
dl
rm
result.h
9196
0644
edit
dl
rm
rootns.h
891
0644
edit
dl
rm
rpz.h
12156
0644
edit
dl
rm
rriterator.h
4214
0644
edit
dl
rm
rrl.h
6959
0644
edit
dl
rm
sdb.h
7350
0644
edit
dl
rm
sdlz.h
14090
0644
edit
dl
rm
secalg.h
1705
0644
edit
dl
rm
secproto.h
1556
0644
edit
dl
rm
soa.h
2179
0644
edit
dl
rm
ssu.h
7182
0644
edit
dl
rm
stats.h
24689
0644
edit
dl
rm
tcpmsg.h
3128
0644
edit
dl
rm
time.h
1693
0644
edit
dl
rm
timer.h
1050
0644
edit
dl
rm
tkey.h
7655
0644
edit
dl
rm
tsec.h
2946
0644
edit
dl
rm
tsig.h
8497
0644
edit
dl
rm
ttl.h
1876
0644
edit
dl
rm
types.h
14584
0644
edit
dl
rm
update.h
2004
0644
edit
dl
rm
validator.h
6679
0644
edit
dl
rm
version.h
679
0644
edit
dl
rm
view.h
35341
0644
edit
dl
rm
xfrin.h
2314
0644
edit
dl
rm
zone.h
65543
0644
edit
dl
rm
zonekey.h
776
0644
edit
dl
rm
zoneverify.h
1393
0644
edit
dl
rm
zt.h
5241
0644
edit
dl
rm
Edit:
/usr/include/bind9/dns/nsec3.h
(8258B)
/* * Copyright (C) Internet Systems Consortium, Inc. ("ISC") * * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, you can obtain one at https://mozilla.org/MPL/2.0/. * * See the COPYRIGHT file distributed with this work for additional * information regarding copyright ownership. */ #ifndef DNS_NSEC3_H #define DNS_NSEC3_H 1 #include <stdbool.h> #include <isc/iterated_hash.h> #include <isc/lang.h> #include <isc/log.h> #include <dns/db.h> #include <dns/diff.h> #include <dns/name.h> #include <dns/rdatastruct.h> #include <dns/types.h> #define DNS_NSEC3_SALTSIZE 255 #define DNS_NSEC3_MAXITERATIONS 150U /* * hash = 1, flags =1, iterations = 2, salt length = 1, salt = 255 (max) * hash length = 1, hash = 255 (max), bitmap = 8192 + 512 (max) */ #define DNS_NSEC3_BUFFERSIZE (6 + 255 + 255 + 8192 + 512) /* * hash = 1, flags = 1, iterations = 2, salt length = 1, salt = 255 (max) */ #define DNS_NSEC3PARAM_BUFFERSIZE (5 + 255) /* * Test "unknown" algorithm. Is mapped to dns_hash_sha1. */ #define DNS_NSEC3_UNKNOWNALG ((dns_hash_t)245U) ISC_LANG_BEGINDECLS isc_result_t dns_nsec3_buildrdata(dns_db_t *db, dns_dbversion_t *version, dns_dbnode_t *node, unsigned int hashalg, unsigned int optin, unsigned int iterations, const unsigned char *salt, size_t salt_length, const unsigned char *nexthash, size_t hash_length, unsigned char *buffer, dns_rdata_t *rdata); /*%< * Build the rdata of a NSEC3 record for the data at 'node'. * Note: 'node' is not the node where the NSEC3 record will be stored. * * Requires: * buffer Points to a temporary buffer of at least * DNS_NSEC_BUFFERSIZE bytes. * rdata Points to an initialized dns_rdata_t. * * Ensures: * *rdata Contains a valid NSEC3 rdata. The 'data' member refers * to 'buffer'. */ bool dns_nsec3_typepresent(dns_rdata_t *nsec, dns_rdatatype_t type); /*%< * Determine if a type is marked as present in an NSEC3 record. * * Requires: * 'nsec' points to a valid rdataset of type NSEC3 */ isc_result_t dns_nsec3_generate_salt(unsigned char *salt, size_t saltlen); /*%< * Generate a salt with the given salt length. */ isc_result_t dns_nsec3_hashname(dns_fixedname_t *result, unsigned char rethash[NSEC3_MAX_HASH_LENGTH], size_t *hash_length, const dns_name_t *name, const dns_name_t *origin, dns_hash_t hashalg, unsigned int iterations, const unsigned char *salt, size_t saltlength); /*%< * Make a hashed domain name from an unhashed one. If rethash is not NULL * the raw hash is stored there. */ unsigned int dns_nsec3_hashlength(dns_hash_t hash); /*%< * Return the length of the hash produced by the specified algorithm * or zero when unknown. */ bool dns_nsec3_supportedhash(dns_hash_t hash); /*%< * Return whether we support this hash algorithm or not. */ isc_result_t dns_nsec3_addnsec3(dns_db_t *db, dns_dbversion_t *version, const dns_name_t *name, const dns_rdata_nsec3param_t *nsec3param, dns_ttl_t nsecttl, bool unsecure, dns_diff_t *diff); isc_result_t dns_nsec3_addnsec3s(dns_db_t *db, dns_dbversion_t *version, const dns_name_t *name, dns_ttl_t nsecttl, bool unsecure, dns_diff_t *diff); isc_result_t dns_nsec3_addnsec3sx(dns_db_t *db, dns_dbversion_t *version, const dns_name_t *name, dns_ttl_t nsecttl, bool unsecure, dns_rdatatype_t private, dns_diff_t *diff); /*%< * Add NSEC3 records for 'name', recording the change in 'diff'. * Adjust previous NSEC3 records, if any, to reflect the addition. * The existing NSEC3 records are removed. * * dns_nsec3_addnsec3() will only add records to the chain identified by * 'nsec3param'. * * 'unsecure' should be set to reflect if this is a potentially * unsecure delegation (no DS record). * * dns_nsec3_addnsec3s() will examine the NSEC3PARAM RRset to determine which * chains to be updated. NSEC3PARAM records with the DNS_NSEC3FLAG_CREATE * will be preferentially chosen over NSEC3PARAM records without * DNS_NSEC3FLAG_CREATE set. NSEC3PARAM records with DNS_NSEC3FLAG_REMOVE * set will be ignored by dns_nsec3_addnsec3s(). If DNS_NSEC3FLAG_CREATE * is set then the new NSEC3 will have OPTOUT set to match the that in the * NSEC3PARAM record otherwise OPTOUT will be inherited from the previous * record in the chain. * * dns_nsec3_addnsec3sx() is similar to dns_nsec3_addnsec3s() but 'private' * specifies the type of the private rdataset to be checked in addition to * the nsec3param rdataset at the zone apex. * * Requires: * 'db' to be valid. * 'version' to be valid or NULL. * 'name' to be valid. * 'nsec3param' to be valid. * 'diff' to be valid. */ isc_result_t dns_nsec3_delnsec3(dns_db_t *db, dns_dbversion_t *version, const dns_name_t *name, const dns_rdata_nsec3param_t *nsec3param, dns_diff_t *diff); isc_result_t dns_nsec3_delnsec3s(dns_db_t *db, dns_dbversion_t *version, const dns_name_t *name, dns_diff_t *diff); isc_result_t dns_nsec3_delnsec3sx(dns_db_t *db, dns_dbversion_t *version, const dns_name_t *name, dns_rdatatype_t private, dns_diff_t *diff); /*%< * Remove NSEC3 records for 'name', recording the change in 'diff'. * Adjust previous NSEC3 records, if any, to reflect the removal. * * dns_nsec3_delnsec3() performs the above for the chain identified by * 'nsec3param'. * * dns_nsec3_delnsec3s() examines the NSEC3PARAM RRset in a similar manner * to dns_nsec3_addnsec3s(). Unlike dns_nsec3_addnsec3s() updated NSEC3 * records have the OPTOUT flag preserved. * * dns_nsec3_delnsec3sx() is similar to dns_nsec3_delnsec3s() but 'private' * specifies the type of the private rdataset to be checked in addition to * the nsec3param rdataset at the zone apex. * * Requires: * 'db' to be valid. * 'version' to be valid or NULL. * 'name' to be valid. * 'nsec3param' to be valid. * 'diff' to be valid. */ isc_result_t dns_nsec3_active(dns_db_t *db, dns_dbversion_t *version, bool complete, bool *answer); isc_result_t dns_nsec3_activex(dns_db_t *db, dns_dbversion_t *version, bool complete, dns_rdatatype_t private, bool *answer); /*%< * Check if there are any complete/to be built NSEC3 chains. * If 'complete' is true only complete chains will be recognized. * * dns_nsec3_activex() is similar to dns_nsec3_active() but 'private' * specifies the type of the private rdataset to be checked in addition to * the nsec3param rdataset at the zone apex. * * Requires: * 'db' to be valid. * 'version' to be valid or NULL. * 'answer' to be non NULL. */ unsigned int dns_nsec3_maxiterations(void); /*%< * Return the maximum permissible number of NSEC3 iterations. */ bool dns_nsec3param_fromprivate(dns_rdata_t *src, dns_rdata_t *target, unsigned char *buf, size_t buflen); /*%< * Convert a private rdata to a nsec3param rdata. * * Return true if 'src' could be successfully converted. * * 'buf' should be at least DNS_NSEC3PARAM_BUFFERSIZE in size. */ void dns_nsec3param_toprivate(dns_rdata_t *src, dns_rdata_t *target, dns_rdatatype_t privatetype, unsigned char *buf, size_t buflen); /*%< * Convert a nsec3param rdata to a private rdata. * * 'buf' should be at least src->length + 1 in size. */ isc_result_t dns_nsec3param_salttotext(dns_rdata_nsec3param_t *nsec3param, char *dst, size_t dstlen); /*%< * Convert the salt of given NSEC3PARAM RDATA into hex-encoded, NULL-terminated * text stored at "dst". * * Requires: * *\li "dst" to have enough space (as indicated by "dstlen") to hold the * resulting text and its NULL-terminating byte. */ isc_result_t dns_nsec3param_deletechains(dns_db_t *db, dns_dbversion_t *ver, dns_zone_t *zone, bool nonsec, dns_diff_t *diff); /*%< * Mark NSEC3PARAM for deletion. */ isc_result_t dns_nsec3_noexistnodata(dns_rdatatype_t type, const dns_name_t *name, const dns_name_t *nsec3name, dns_rdataset_t *nsec3set, dns_name_t *zonename, bool *exists, bool *data, bool *optout, bool *unknown, bool *setclosest, bool *setnearest, dns_name_t *closest, dns_name_t *nearest, dns_nseclog_t logit, void *arg); ISC_LANG_ENDDECLS #endif /* DNS_NSEC3_H */
Save
cmd:
run