mirror of
https://gitlab.isc.org/isc-projects/bind9.git
synced 2025-04-18 09:44:09 +03:00
fix spelling errors reported by Fossies.
This commit is contained in:
parent
c13adf225e
commit
ba0313e649
@ -24,7 +24,7 @@ string_escape_char2 = 0 # number
|
|||||||
# Improvements to template detection may make this option obsolete.
|
# Improvements to template detection may make this option obsolete.
|
||||||
tok_split_gte = false # false/true
|
tok_split_gte = false # false/true
|
||||||
|
|
||||||
# Control what to do with the UTF-8 BOM (recommed 'remove')
|
# Control what to do with the UTF-8 BOM (recommend 'remove')
|
||||||
utf8_bom = ignore # ignore/add/remove/force
|
utf8_bom = ignore # ignore/add/remove/force
|
||||||
|
|
||||||
# If the file only contains chars between 128 and 255 and is not UTF-8, then output as UTF-8
|
# If the file only contains chars between 128 and 255 and is not UTF-8, then output as UTF-8
|
||||||
@ -1352,7 +1352,7 @@ cmt_insert_func_header = "" # string
|
|||||||
# Will substitute $(class) with the class name.
|
# Will substitute $(class) with the class name.
|
||||||
cmt_insert_class_header = "" # string
|
cmt_insert_class_header = "" # string
|
||||||
|
|
||||||
# The filename that contains text to insert before a Obj-C message specification if the method isn't preceeded with a C/C++ comment.
|
# The filename that contains text to insert before a Obj-C message specification if the method isn't preceded with a C/C++ comment.
|
||||||
# Will substitute $(message) with the function name and $(javaparam) with the javadoc @param and @return stuff.
|
# Will substitute $(message) with the function name and $(javaparam) with the javadoc @param and @return stuff.
|
||||||
cmt_insert_oc_msg_header = "" # string
|
cmt_insert_oc_msg_header = "" # string
|
||||||
|
|
||||||
|
42
CHANGES
42
CHANGES
@ -124,7 +124,7 @@
|
|||||||
close all open sockets during shutdown. [GL #1312]
|
close all open sockets during shutdown. [GL #1312]
|
||||||
|
|
||||||
5324. [bug] Change the category of some log messages from general
|
5324. [bug] Change the category of some log messages from general
|
||||||
to the more appopriate catergory of xfer-in. [GL #1394]
|
to the more appropriate catergory of xfer-in. [GL #1394]
|
||||||
|
|
||||||
5323. [bug] Fix a bug in DNSSEC trust anchor verification.
|
5323. [bug] Fix a bug in DNSSEC trust anchor verification.
|
||||||
[GL !2609]
|
[GL !2609]
|
||||||
@ -172,7 +172,7 @@
|
|||||||
|
|
||||||
See the ARM for configuration details. [GL #1134]
|
See the ARM for configuration details. [GL #1134]
|
||||||
|
|
||||||
5315. [bug] Apply the inital RRSIG expiration spread fixed
|
5315. [bug] Apply the initial RRSIG expiration spread fixed
|
||||||
to all dynamically created records in the zone
|
to all dynamically created records in the zone
|
||||||
including NSEC3. Also fix the signature clusters
|
including NSEC3. Also fix the signature clusters
|
||||||
when the server has been offline for prolonged
|
when the server has been offline for prolonged
|
||||||
@ -677,7 +677,7 @@
|
|||||||
|
|
||||||
5170. [test] Added --with-dlz-filesystem to feature-test. [GL !1587]
|
5170. [test] Added --with-dlz-filesystem to feature-test. [GL !1587]
|
||||||
|
|
||||||
5169. [bug] The presence of certain types in an otherwise
|
5169. [bug] The presense of certain types in an otherwise
|
||||||
empty node could cause a crash while processing a
|
empty node could cause a crash while processing a
|
||||||
type ANY query. [GL #901]
|
type ANY query. [GL #901]
|
||||||
|
|
||||||
@ -1385,7 +1385,7 @@
|
|||||||
4965. [func] Add support for marking options as deprecated.
|
4965. [func] Add support for marking options as deprecated.
|
||||||
[GL #322]
|
[GL #322]
|
||||||
|
|
||||||
4964. [bug] Reduce the probabilty of double signature when deleting
|
4964. [bug] Reduce the probability of double signature when deleting
|
||||||
a DNSKEY by checking if the node is otherwise signed
|
a DNSKEY by checking if the node is otherwise signed
|
||||||
by the algorithm of the key to be deleted. [GL #240]
|
by the algorithm of the key to be deleted. [GL #240]
|
||||||
|
|
||||||
@ -1469,7 +1469,7 @@
|
|||||||
for unsigned zones since change 4596. [GL #209]
|
for unsigned zones since change 4596. [GL #209]
|
||||||
|
|
||||||
4945. [func] BIND can no longer be built without DNSSEC support.
|
4945. [func] BIND can no longer be built without DNSSEC support.
|
||||||
A cryptography provder (i.e., OpenSSL or a hardware
|
A cryptography provider (i.e., OpenSSL or a hardware
|
||||||
service module with PKCS#11 support) must be
|
service module with PKCS#11 support) must be
|
||||||
available. [GL #244]
|
available. [GL #244]
|
||||||
|
|
||||||
@ -1528,7 +1528,7 @@
|
|||||||
dig (+[no]raflag, +[no]tcflag). [GL #213]
|
dig (+[no]raflag, +[no]tcflag). [GL #213]
|
||||||
|
|
||||||
4928. [func] The "dnskey-sig-validity" option allows
|
4928. [func] The "dnskey-sig-validity" option allows
|
||||||
"sig-validity-interval" to be overriden for signatures
|
"sig-validity-interval" to be overridden for signatures
|
||||||
covering DNSKEY RRsets. [GL #145]
|
covering DNSKEY RRsets. [GL #145]
|
||||||
|
|
||||||
4927. [placeholder]
|
4927. [placeholder]
|
||||||
@ -1867,7 +1867,7 @@
|
|||||||
[RT #46725]
|
[RT #46725]
|
||||||
|
|
||||||
4831. [bug] Convert the RRSIG expirytime to 64 bits for
|
4831. [bug] Convert the RRSIG expirytime to 64 bits for
|
||||||
comparisions in diff.c:resign. [RT #46710]
|
comparisons in diff.c:resign. [RT #46710]
|
||||||
|
|
||||||
4830. [bug] Failure to configure ATF when requested did not cause
|
4830. [bug] Failure to configure ATF when requested did not cause
|
||||||
an error in top-level configure script. [RT #46655]
|
an error in top-level configure script. [RT #46655]
|
||||||
@ -2093,7 +2093,7 @@
|
|||||||
used to append a formatted string to the used region of
|
used to append a formatted string to the used region of
|
||||||
a buffer. [RT #46201]
|
a buffer. [RT #46201]
|
||||||
|
|
||||||
4766. [cleanup] Addresss Coverity warnings. [RT #46150]
|
4766. [cleanup] Address Coverity warnings. [RT #46150]
|
||||||
|
|
||||||
4765. [bug] Address potential INSIST in dnssec-cds. [RT #46150]
|
4765. [bug] Address potential INSIST in dnssec-cds. [RT #46150]
|
||||||
|
|
||||||
@ -2287,7 +2287,7 @@
|
|||||||
|
|
||||||
4719. [bug] Address PVS static analyzer warnings. [RT #45946]
|
4719. [bug] Address PVS static analyzer warnings. [RT #45946]
|
||||||
|
|
||||||
4718. [func] Avoid seaching for a owner name compression pointer
|
4718. [func] Avoid searching for a owner name compression pointer
|
||||||
more than once when writing out a RRset. [RT #45802]
|
more than once when writing out a RRset. [RT #45802]
|
||||||
|
|
||||||
4717. [bug] Treat replies with QCOUNT=0 as truncated if TC=1,
|
4717. [bug] Treat replies with QCOUNT=0 as truncated if TC=1,
|
||||||
@ -6432,7 +6432,7 @@
|
|||||||
|
|
||||||
3518. [bug] Increase the size of dns_rrl_key.s.rtype by one bit
|
3518. [bug] Increase the size of dns_rrl_key.s.rtype by one bit
|
||||||
so that all dns_rrl_rtype_t enum values fit regardless
|
so that all dns_rrl_rtype_t enum values fit regardless
|
||||||
of whether it is teated as signed or unsigned by
|
of whether it is treated as signed or unsigned by
|
||||||
the compiler. [RT #32792]
|
the compiler. [RT #32792]
|
||||||
|
|
||||||
3517. [bug] Reorder destruction to avoid shutdown race. [RT #32777]
|
3517. [bug] Reorder destruction to avoid shutdown race. [RT #32777]
|
||||||
@ -7507,7 +7507,7 @@
|
|||||||
|
|
||||||
--- 9.9.0b1 released ---
|
--- 9.9.0b1 released ---
|
||||||
|
|
||||||
3186. [bug] Version/db mis-match in rpz code. [RT #26180]
|
3186. [bug] Version/db mismatch in rpz code. [RT #26180]
|
||||||
|
|
||||||
3185. [func] New 'rndc signing' option for auto-dnssec zones:
|
3185. [func] New 'rndc signing' option for auto-dnssec zones:
|
||||||
- 'rndc signing -list' displays the current
|
- 'rndc signing -list' displays the current
|
||||||
@ -8172,7 +8172,7 @@
|
|||||||
2998. [func] Add isc_task_beginexclusive and isc_task_endexclusive
|
2998. [func] Add isc_task_beginexclusive and isc_task_endexclusive
|
||||||
to the task api. [RT #22776]
|
to the task api. [RT #22776]
|
||||||
|
|
||||||
2997. [func] named -V now reports the OpenSSL and libxml2 verions
|
2997. [func] named -V now reports the OpenSSL and libxml2 versions
|
||||||
it was compiled against. [RT #22687]
|
it was compiled against. [RT #22687]
|
||||||
|
|
||||||
2996. [security] Temporarily disable SO_ACCEPTFILTER support.
|
2996. [security] Temporarily disable SO_ACCEPTFILTER support.
|
||||||
@ -11155,7 +11155,7 @@
|
|||||||
2096. [bug] libbind: handle applications that fail to detect
|
2096. [bug] libbind: handle applications that fail to detect
|
||||||
res_init() failures better.
|
res_init() failures better.
|
||||||
|
|
||||||
2095. [port] libbind: alway prototype inet_cidr_ntop_ipv6() and
|
2095. [port] libbind: always prototype inet_cidr_ntop_ipv6() and
|
||||||
net_cidr_ntop_ipv6(). [RT #16388]
|
net_cidr_ntop_ipv6(). [RT #16388]
|
||||||
|
|
||||||
2094. [contrib] Update named-bootconf. [RT #16404]
|
2094. [contrib] Update named-bootconf. [RT #16404]
|
||||||
@ -11211,7 +11211,7 @@
|
|||||||
2076. [bug] Several files were missing #include <config.h>
|
2076. [bug] Several files were missing #include <config.h>
|
||||||
causing build failures on OSF. [RT #16341]
|
causing build failures on OSF. [RT #16341]
|
||||||
|
|
||||||
2075. [bug] The spillat timer event hander could leak memory.
|
2075. [bug] The spillat timer event handler could leak memory.
|
||||||
[RT #16357]
|
[RT #16357]
|
||||||
|
|
||||||
2074. [bug] dns_request_createvia2(), dns_request_createvia3(),
|
2074. [bug] dns_request_createvia2(), dns_request_createvia3(),
|
||||||
@ -11260,7 +11260,7 @@
|
|||||||
failure while cleaning up a stale rdataset.
|
failure while cleaning up a stale rdataset.
|
||||||
[RT #16292]
|
[RT #16292]
|
||||||
|
|
||||||
2058. [bug] Adjust how we calculate rtt estimates in the presence
|
2058. [bug] Adjust how we calculate rtt estimates in the presense
|
||||||
of authoritative servers that drop EDNS and/or CD
|
of authoritative servers that drop EDNS and/or CD
|
||||||
requests. Also fallback to EDNS/512 and plain DNS
|
requests. Also fallback to EDNS/512 and plain DNS
|
||||||
faster for zones with less than 3 servers. [RT #16187]
|
faster for zones with less than 3 servers. [RT #16187]
|
||||||
@ -11973,7 +11973,7 @@
|
|||||||
|
|
||||||
1831. [doc] Update named-checkzone documentation. [RT #13604]
|
1831. [doc] Update named-checkzone documentation. [RT #13604]
|
||||||
|
|
||||||
1830. [bug] adb lame cache has sence of test reversed. [RT #13600]
|
1830. [bug] adb lame cache has sense of test reversed. [RT #13600]
|
||||||
|
|
||||||
1829. [bug] win32: "pid-file none;" broken. [RT #13563]
|
1829. [bug] win32: "pid-file none;" broken. [RT #13563]
|
||||||
|
|
||||||
@ -12084,7 +12084,7 @@
|
|||||||
1796. [func] "rndc freeze/thaw" now freezes/thaws all zones.
|
1796. [func] "rndc freeze/thaw" now freezes/thaws all zones.
|
||||||
|
|
||||||
1795. [bug] "rndc dumpdb" was not fully documented. Minor
|
1795. [bug] "rndc dumpdb" was not fully documented. Minor
|
||||||
formating issues with "rndc dumpdb -all". [RT #13396]
|
formatting issues with "rndc dumpdb -all". [RT #13396]
|
||||||
|
|
||||||
1794. [func] Named and named-checkzone can now both check for
|
1794. [func] Named and named-checkzone can now both check for
|
||||||
non-terminal wildcard records.
|
non-terminal wildcard records.
|
||||||
@ -13261,7 +13261,7 @@
|
|||||||
acl.
|
acl.
|
||||||
|
|
||||||
1393. [port] Bind to individual IPv6 interfaces if IPV6_IPV6ONLY
|
1393. [port] Bind to individual IPv6 interfaces if IPV6_IPV6ONLY
|
||||||
is not available in the kernel to prevent accidently
|
is not available in the kernel to prevent accidentally
|
||||||
listening on IPv4 interfaces.
|
listening on IPv4 interfaces.
|
||||||
|
|
||||||
1392. [bug] named-checkzone: update usage.
|
1392. [bug] named-checkzone: update usage.
|
||||||
@ -14989,7 +14989,7 @@
|
|||||||
839. [func] Dump packets for which there was no view or that the
|
839. [func] Dump packets for which there was no view or that the
|
||||||
class could not be determined to category "unmatched".
|
class could not be determined to category "unmatched".
|
||||||
|
|
||||||
838. [port] UnixWare 7.x.x is now suported by
|
838. [port] UnixWare 7.x.x is now supported by
|
||||||
bin/tests/system/ifconfig.sh.
|
bin/tests/system/ifconfig.sh.
|
||||||
|
|
||||||
837. [cleanup] Multi-threading is now enabled by default only on
|
837. [cleanup] Multi-threading is now enabled by default only on
|
||||||
@ -15204,7 +15204,7 @@
|
|||||||
blocking.
|
blocking.
|
||||||
|
|
||||||
772. [bug] Owner names could be incorrectly omitted from cache
|
772. [bug] Owner names could be incorrectly omitted from cache
|
||||||
dumps in the presence of negative caching entries.
|
dumps in the presense of negative caching entries.
|
||||||
[RT #991]
|
[RT #991]
|
||||||
|
|
||||||
771. [cleanup] TSIG errors related to unsynchronized clocks
|
771. [cleanup] TSIG errors related to unsynchronized clocks
|
||||||
@ -17801,7 +17801,7 @@
|
|||||||
lock in certain error cases.
|
lock in certain error cases.
|
||||||
|
|
||||||
18. [bug] Use AC_TRY_LINK rather than AC_TRY_COMPILE in
|
18. [bug] Use AC_TRY_LINK rather than AC_TRY_COMPILE in
|
||||||
configure.in to check for presence of in6addr_any.
|
configure.in to check for presense of in6addr_any.
|
||||||
|
|
||||||
17. [func] Do configuration file post-load validation of zones.
|
17. [func] Do configuration file post-load validation of zones.
|
||||||
|
|
||||||
|
@ -99,7 +99,7 @@ e-mail is not a secure choice for communications concerning undisclosed
|
|||||||
security issues so please encrypt your communications to us if possible,
|
security issues so please encrypt your communications to us if possible,
|
||||||
using the ISC Security Officer public key.
|
using the ISC Security Officer public key.
|
||||||
|
|
||||||
Do not discuss undisclosed security vulnerabilites on any public mailing
|
Do not discuss undisclosed security vulnerabilities on any public mailing
|
||||||
list. ISC has a long history of handling reported vulnerabilities promptly
|
list. ISC has a long history of handling reported vulnerabilities promptly
|
||||||
and effectively and we respect and acknowledge responsible reporters.
|
and effectively and we respect and acknowledge responsible reporters.
|
||||||
|
|
||||||
|
@ -107,7 +107,7 @@ e-mail is not a secure choice for communications concerning undisclosed
|
|||||||
security issues so please encrypt your communications to us if possible,
|
security issues so please encrypt your communications to us if possible,
|
||||||
using the [ISC Security Officer public key](https://www.isc.org/downloads/software-support-policy/openpgp-key/).
|
using the [ISC Security Officer public key](https://www.isc.org/downloads/software-support-policy/openpgp-key/).
|
||||||
|
|
||||||
Do not discuss undisclosed security vulnerabilites on any public mailing list.
|
Do not discuss undisclosed security vulnerabilities on any public mailing list.
|
||||||
ISC has a long history of handling reported vulnerabilities promptly and
|
ISC has a long history of handling reported vulnerabilities promptly and
|
||||||
effectively and we respect and acknowledge responsible reporters.
|
effectively and we respect and acknowledge responsible reporters.
|
||||||
|
|
||||||
|
8
HISTORY
8
HISTORY
@ -515,8 +515,8 @@ BIND 9.4.0
|
|||||||
* dig: report the number of extra bytes still left in the packet after
|
* dig: report the number of extra bytes still left in the packet after
|
||||||
processing all the records.
|
processing all the records.
|
||||||
* Support for IPSECKEY rdata type.
|
* Support for IPSECKEY rdata type.
|
||||||
* Raise the UDP recieve buffer size to 32k if it is less than 32k.
|
* Raise the UDP receive buffer size to 32k if it is less than 32k.
|
||||||
* x86 and x86_64 now have seperate atomic locking implementations.
|
* x86 and x86_64 now have separate atomic locking implementations.
|
||||||
* named-checkconf now validates update-policy entries.
|
* named-checkconf now validates update-policy entries.
|
||||||
* Attempt to make the amount of work performed in a iteration self
|
* Attempt to make the amount of work performed in a iteration self
|
||||||
tuning. The covers nodes clean from the cache per iteration, nodes
|
tuning. The covers nodes clean from the cache per iteration, nodes
|
||||||
@ -533,8 +533,8 @@ BIND 9.4.0
|
|||||||
* dig now warns if 'RA' is not set in the answer when 'RD' was set in
|
* dig now warns if 'RA' is not set in the answer when 'RD' was set in
|
||||||
the query. host/nslookup skip servers that fail to set 'RA' when 'RD'
|
the query. host/nslookup skip servers that fail to set 'RA' when 'RD'
|
||||||
is set unless a server is explicitly set.
|
is set unless a server is explicitly set.
|
||||||
* Integrate contibuted DLZ code into named.
|
* Integrate contributed DLZ code into named.
|
||||||
* Integrate contibuted IDN code from JPNIC.
|
* Integrate contributed IDN code from JPNIC.
|
||||||
* libbind: corresponds to that from BIND 8.4.7.
|
* libbind: corresponds to that from BIND 8.4.7.
|
||||||
|
|
||||||
BIND 9.3.0
|
BIND 9.3.0
|
||||||
|
@ -533,8 +533,8 @@ BIND 9.4.0
|
|||||||
- dig: report the number of extra bytes still left in the packet after
|
- dig: report the number of extra bytes still left in the packet after
|
||||||
processing all the records.
|
processing all the records.
|
||||||
- Support for IPSECKEY rdata type.
|
- Support for IPSECKEY rdata type.
|
||||||
- Raise the UDP recieve buffer size to 32k if it is less than 32k.
|
- Raise the UDP receive buffer size to 32k if it is less than 32k.
|
||||||
- x86 and x86_64 now have seperate atomic locking implementations.
|
- x86 and x86_64 now have separate atomic locking implementations.
|
||||||
- named-checkconf now validates update-policy entries.
|
- named-checkconf now validates update-policy entries.
|
||||||
- Attempt to make the amount of work performed in a iteration self tuning.
|
- Attempt to make the amount of work performed in a iteration self tuning.
|
||||||
The covers nodes clean from the cache per iteration, nodes written to
|
The covers nodes clean from the cache per iteration, nodes written to
|
||||||
@ -551,8 +551,8 @@ BIND 9.4.0
|
|||||||
- dig now warns if 'RA' is not set in the answer when 'RD' was set in the
|
- dig now warns if 'RA' is not set in the answer when 'RD' was set in the
|
||||||
query. host/nslookup skip servers that fail to set 'RA' when 'RD' is set
|
query. host/nslookup skip servers that fail to set 'RA' when 'RD' is set
|
||||||
unless a server is explicitly set.
|
unless a server is explicitly set.
|
||||||
- Integrate contibuted DLZ code into named.
|
- Integrate contributed DLZ code into named.
|
||||||
- Integrate contibuted IDN code from JPNIC.
|
- Integrate contributed IDN code from JPNIC.
|
||||||
- libbind: corresponds to that from BIND 8.4.7.
|
- libbind: corresponds to that from BIND 8.4.7.
|
||||||
|
|
||||||
#### BIND 9.3.0
|
#### BIND 9.3.0
|
||||||
|
2
aclocal.m4
vendored
2
aclocal.m4
vendored
@ -100,7 +100,7 @@ dnl Check to see whether a particular set of modules exists. Similar to
|
|||||||
dnl PKG_CHECK_MODULES(), but does not set variables or print errors.
|
dnl PKG_CHECK_MODULES(), but does not set variables or print errors.
|
||||||
dnl
|
dnl
|
||||||
dnl Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG])
|
dnl Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG])
|
||||||
dnl only at the first occurence in configure.ac, so if the first place
|
dnl only at the first occurrence in configure.ac, so if the first place
|
||||||
dnl it's called might be skipped (such as if it is within an "if", you
|
dnl it's called might be skipped (such as if it is within an "if", you
|
||||||
dnl have to call PKG_CHECK_EXISTS manually
|
dnl have to call PKG_CHECK_EXISTS manually
|
||||||
AC_DEFUN([PKG_CHECK_EXISTS],
|
AC_DEFUN([PKG_CHECK_EXISTS],
|
||||||
|
@ -501,7 +501,7 @@ main(int argc, char **argv) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* If we are outputing to stdout then send the informational
|
* If we are printing to stdout then send the informational
|
||||||
* output to stderr.
|
* output to stderr.
|
||||||
*/
|
*/
|
||||||
if (dumpzone &&
|
if (dumpzone &&
|
||||||
|
@ -60,7 +60,7 @@ file generated by
|
|||||||
.PP
|
.PP
|
||||||
The
|
The
|
||||||
\fBdnssec\-cds\fR
|
\fBdnssec\-cds\fR
|
||||||
command uses special DNSSEC validation logic specified by RFC 7344\&. It requires that the CDS and/or CDNSKEY records are validly signed by a key represented in the existing DS records\&. This will typicially be the pre\-existing key\-signing key (KSK)\&.
|
command uses special DNSSEC validation logic specified by RFC 7344\&. It requires that the CDS and/or CDNSKEY records are validly signed by a key represented in the existing DS records\&. This will typically be the pre\-existing key\-signing key (KSK)\&.
|
||||||
.PP
|
.PP
|
||||||
For protection against replay attacks, the signatures on the child records must not be older than they were on a previous run of
|
For protection against replay attacks, the signatures on the child records must not be older than they were on a previous run of
|
||||||
\fBdnssec\-cds\fR\&. This time is obtained from the modification time of the
|
\fBdnssec\-cds\fR\&. This time is obtained from the modification time of the
|
||||||
|
@ -1234,7 +1234,7 @@ main(int argc, char *argv[]) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Sucessfully do nothing if there's neither CDNSKEY nor CDS
|
* Successfully do nothing if there's neither CDNSKEY nor CDS
|
||||||
* RFC 7344 section 4.1 first paragraph
|
* RFC 7344 section 4.1 first paragraph
|
||||||
*/
|
*/
|
||||||
if (!dns_rdataset_isassociated(&cdnskey_set) &&
|
if (!dns_rdataset_isassociated(&cdnskey_set) &&
|
||||||
|
@ -93,7 +93,7 @@
|
|||||||
The <command>dnssec-cds</command> command uses special DNSSEC
|
The <command>dnssec-cds</command> command uses special DNSSEC
|
||||||
validation logic specified by RFC 7344. It requires that the CDS
|
validation logic specified by RFC 7344. It requires that the CDS
|
||||||
and/or CDNSKEY records are validly signed by a key represented in the
|
and/or CDNSKEY records are validly signed by a key represented in the
|
||||||
existing DS records. This will typicially be the pre-existing
|
existing DS records. This will typically be the pre-existing
|
||||||
key-signing key (KSK).
|
key-signing key (KSK).
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
|
@ -78,7 +78,7 @@
|
|||||||
The <span class="command"><strong>dnssec-cds</strong></span> command uses special DNSSEC
|
The <span class="command"><strong>dnssec-cds</strong></span> command uses special DNSSEC
|
||||||
validation logic specified by RFC 7344. It requires that the CDS
|
validation logic specified by RFC 7344. It requires that the CDS
|
||||||
and/or CDNSKEY records are validly signed by a key represented in the
|
and/or CDNSKEY records are validly signed by a key represented in the
|
||||||
existing DS records. This will typicially be the pre-existing
|
existing DS records. This will typically be the pre-existing
|
||||||
key-signing key (KSK).
|
key-signing key (KSK).
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
|
@ -239,7 +239,7 @@ Do not modify the SOA serial number\&.
|
|||||||
.PP
|
.PP
|
||||||
\fB"increment"\fR
|
\fB"increment"\fR
|
||||||
.RS 4
|
.RS 4
|
||||||
Increment the SOA serial number using RFC 1982 arithmetics\&.
|
Increment the SOA serial number using RFC 1982 arithmetic\&.
|
||||||
.RE
|
.RE
|
||||||
.PP
|
.PP
|
||||||
\fB"unixtime"\fR
|
\fB"unixtime"\fR
|
||||||
|
@ -816,7 +816,7 @@ hashlist_hasdup(hashlist_t *l) {
|
|||||||
size_t entries = l->entries;
|
size_t entries = l->entries;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Skip initial speculative wild card hashs.
|
* Skip initial speculative wild card hashes.
|
||||||
*/
|
*/
|
||||||
while (entries > 0U && next[l->length - 1] != 0U) {
|
while (entries > 0U && next[l->length - 1] != 0U) {
|
||||||
next += l->length;
|
next += l->length;
|
||||||
@ -1186,7 +1186,7 @@ signname(dns_dbnode_t *node, dns_name_t *name) {
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* See if the node contains any non RRSIG/NSEC records and report to
|
* See if the node contains any non RRSIG/NSEC records and report to
|
||||||
* caller. Clean out extranous RRSIG records for node.
|
* caller. Clean out extraneous RRSIG records for node.
|
||||||
*/
|
*/
|
||||||
static inline bool
|
static inline bool
|
||||||
active_node(dns_dbnode_t *node) {
|
active_node(dns_dbnode_t *node) {
|
||||||
@ -1380,7 +1380,7 @@ setsoaserial(uint32_t serial, dns_updatemethod_t method) {
|
|||||||
/* Set SOA serial to the value provided. */
|
/* Set SOA serial to the value provided. */
|
||||||
new_serial = serial;
|
new_serial = serial;
|
||||||
} else {
|
} else {
|
||||||
/* Increment SOA serial using RFC 1982 arithmetics */
|
/* Increment SOA serial using RFC 1982 arithmetic */
|
||||||
new_serial = (old_serial + 1) & 0xFFFFFFFF;
|
new_serial = (old_serial + 1) & 0xFFFFFFFF;
|
||||||
if (new_serial == 0) {
|
if (new_serial == 0) {
|
||||||
new_serial = 1;
|
new_serial = 1;
|
||||||
@ -2399,7 +2399,7 @@ nsec3ify(unsigned int hashalg, dns_iterations_t iterations,
|
|||||||
salt_len, false);
|
salt_len, false);
|
||||||
dns_db_detachnode(gdb, &node);
|
dns_db_detachnode(gdb, &node);
|
||||||
/*
|
/*
|
||||||
* Add hashs for empty nodes. Use closest encloser logic.
|
* Add hashes for empty nodes. Use closest encloser logic.
|
||||||
* The closest encloser either has data or is a empty
|
* The closest encloser either has data or is a empty
|
||||||
* node for another <name,nextname> span so we don't add
|
* node for another <name,nextname> span so we don't add
|
||||||
* it here. Empty labels on nextname are within the span.
|
* it here. Empty labels on nextname are within the span.
|
||||||
|
@ -445,7 +445,7 @@
|
|||||||
<term><command>"increment"</command></term>
|
<term><command>"increment"</command></term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>Increment the SOA serial number using RFC 1982
|
<para>Increment the SOA serial number using RFC 1982
|
||||||
arithmetics.</para>
|
arithmetic.</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
|
||||||
|
@ -353,7 +353,7 @@
|
|||||||
<dt><span class="term"><span class="command"><strong>"increment"</strong></span></span></dt>
|
<dt><span class="term"><span class="command"><strong>"increment"</strong></span></span></dt>
|
||||||
<dd>
|
<dd>
|
||||||
<p>Increment the SOA serial number using RFC 1982
|
<p>Increment the SOA serial number using RFC 1982
|
||||||
arithmetics.</p>
|
arithmetic.</p>
|
||||||
</dd>
|
</dd>
|
||||||
<dt><span class="term"><span class="command"><strong>"unixtime"</strong></span></span></dt>
|
<dt><span class="term"><span class="command"><strong>"unixtime"</strong></span></span></dt>
|
||||||
<dd>
|
<dd>
|
||||||
|
@ -564,7 +564,7 @@ isoptarg(const char *arg, char **argv, void (*usage)(void)) {
|
|||||||
usage();
|
usage();
|
||||||
}
|
}
|
||||||
isc_commandline_argument = argv[isc_commandline_index];
|
isc_commandline_argument = argv[isc_commandline_index];
|
||||||
/* skip to next arguement */
|
/* skip to next argument */
|
||||||
isc_commandline_index++;
|
isc_commandline_index++;
|
||||||
return (true);
|
return (true);
|
||||||
}
|
}
|
||||||
|
@ -904,7 +904,7 @@ create_managers(void) {
|
|||||||
/*
|
/*
|
||||||
* We have ncpus network threads, ncpus worker threads, ncpus
|
* We have ncpus network threads, ncpus worker threads, ncpus
|
||||||
* old network threads - make it 4x just to be safe. The memory
|
* old network threads - make it 4x just to be safe. The memory
|
||||||
* impact is neglible.
|
* impact is negligible.
|
||||||
*/
|
*/
|
||||||
isc_hp_init(4 * named_g_cpus);
|
isc_hp_init(4 * named_g_cpus);
|
||||||
named_g_nm = isc_nm_start(named_g_mctx, named_g_cpus);
|
named_g_nm = isc_nm_start(named_g_mctx, named_g_cpus);
|
||||||
|
@ -4382,7 +4382,7 @@ configure_view(dns_view_t *view, dns_viewlist_t *viewlist, cfg_obj_t *config,
|
|||||||
* When the view's configuration changes, the cached data may become
|
* When the view's configuration changes, the cached data may become
|
||||||
* invalid because it reflects our old view of the world. We check
|
* invalid because it reflects our old view of the world. We check
|
||||||
* some of the configuration parameters that could invalidate the cache
|
* some of the configuration parameters that could invalidate the cache
|
||||||
* or otherwise make it unsharable, but there are other configuration
|
* or otherwise make it unshareable, but there are other configuration
|
||||||
* options that should be checked. For example, if a view uses a
|
* options that should be checked. For example, if a view uses a
|
||||||
* forwarder, changes in the forwarder configuration may invalidate
|
* forwarder, changes in the forwarder configuration may invalidate
|
||||||
* the cache. At the moment, it's the administrator's responsibility to
|
* the cache. At the moment, it's the administrator's responsibility to
|
||||||
@ -8640,7 +8640,7 @@ load_configuration(const char *filename, named_server_t *server,
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Determing the default DSCP code point.
|
* Determining the default DSCP code point.
|
||||||
*/
|
*/
|
||||||
CHECKM(named_config_getdscp(config, &named_g_dscp), "dscp");
|
CHECKM(named_config_getdscp(config, &named_g_dscp), "dscp");
|
||||||
|
|
||||||
|
@ -660,7 +660,7 @@ init_desc(void) {
|
|||||||
dnstapstats_index[i++] = dns_dnstapcounter_##counterid; \
|
dnstapstats_index[i++] = dns_dnstapcounter_##counterid; \
|
||||||
} while (0)
|
} while (0)
|
||||||
i = 0;
|
i = 0;
|
||||||
SET_DNSTAPSTATDESC(success, "dnstap messges written", "DNSTAPsuccess");
|
SET_DNSTAPSTATDESC(success, "dnstap messages written", "DNSTAPsuccess");
|
||||||
SET_DNSTAPSTATDESC(drop, "dnstap messages dropped", "DNSTAPdropped");
|
SET_DNSTAPSTATDESC(drop, "dnstap messages dropped", "DNSTAPdropped");
|
||||||
INSIST(i == dns_dnstapcounter_max);
|
INSIST(i == dns_dnstapcounter_max);
|
||||||
|
|
||||||
|
@ -45,7 +45,7 @@ class eventlist:
|
|||||||
key=lambda event: event.when)
|
key=lambda event: event.when)
|
||||||
|
|
||||||
# scan events per zone, algorithm, and key type, in order of
|
# scan events per zone, algorithm, and key type, in order of
|
||||||
# occurrance, noting inconsistent states when found
|
# occurrence, noting inconsistent states when found
|
||||||
def coverage(self, zone, keytype, until, output = None):
|
def coverage(self, zone, keytype, until, output = None):
|
||||||
def noop(*args, **kwargs): pass
|
def noop(*args, **kwargs): pass
|
||||||
if not output:
|
if not output:
|
||||||
|
@ -351,7 +351,7 @@ main(int argc, char **argv) {
|
|||||||
lookup("moghedien.flame.org."); /* should fetch */
|
lookup("moghedien.flame.org."); /* should fetch */
|
||||||
lookup("mailrelay.flame.org."); /* should fetch */
|
lookup("mailrelay.flame.org."); /* should fetch */
|
||||||
lookup("ipv4v6.flame.org."); /* should fetch */
|
lookup("ipv4v6.flame.org."); /* should fetch */
|
||||||
lookup("nonexistant.flame.org."); /* should fail to be found */
|
lookup("nonexistent.flame.org."); /* should fail to be found */
|
||||||
lookup("foobar.badns.flame.org."); /* should fail utterly (NS) */
|
lookup("foobar.badns.flame.org."); /* should fail utterly (NS) */
|
||||||
lookup("i.root-servers.net."); /* Should be in hints */
|
lookup("i.root-servers.net."); /* Should be in hints */
|
||||||
lookup("www.firstcard.com.");
|
lookup("www.firstcard.com.");
|
||||||
@ -373,7 +373,7 @@ main(int argc, char **argv) {
|
|||||||
lookup("moghedien.flame.org."); /* should fetch */
|
lookup("moghedien.flame.org."); /* should fetch */
|
||||||
lookup("mailrelay.flame.org."); /* should fetch */
|
lookup("mailrelay.flame.org."); /* should fetch */
|
||||||
lookup("ipv4v6.flame.org."); /* should fetch */
|
lookup("ipv4v6.flame.org."); /* should fetch */
|
||||||
lookup("nonexistant.flame.org."); /* should fail to be found */
|
lookup("nonexistent.flame.org."); /* should fail to be found */
|
||||||
lookup("foobar.badns.flame.org."); /* should fail utterly (NS) */
|
lookup("foobar.badns.flame.org."); /* should fail utterly (NS) */
|
||||||
lookup("i.root-servers.net."); /* Should be in hints */
|
lookup("i.root-servers.net."); /* Should be in hints */
|
||||||
CUNLOCK();
|
CUNLOCK();
|
||||||
|
@ -30,7 +30,7 @@ main(int argc, char **argv) {
|
|||||||
UNUSED(argv);
|
UNUSED(argv);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Verify that returned values are reproducable.
|
* Verify that returned values are reproducible.
|
||||||
*/
|
*/
|
||||||
isc_lfsr_init(&lfsr1, 0, 32, 0x80000057U, 0, NULL, NULL);
|
isc_lfsr_init(&lfsr1, 0, 32, 0x80000057U, 0, NULL, NULL);
|
||||||
for (i = 0; i < 32; i++) {
|
for (i = 0; i < 32; i++) {
|
||||||
|
@ -219,7 +219,7 @@ iterate(dns_rbt_t *rbt, bool forward) {
|
|||||||
printf("\n");
|
printf("\n");
|
||||||
} else {
|
} else {
|
||||||
if (result != ISC_R_NOMORE) {
|
if (result != ISC_R_NOMORE) {
|
||||||
printf("UNEXEPCTED ITERATION ERROR: %s",
|
printf("UNEXPECTED ITERATION ERROR: %s",
|
||||||
dns_result_totext(result));
|
dns_result_totext(result));
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
@ -204,7 +204,7 @@ query(void) {
|
|||||||
ERRCONT(result, "dns_name_fromtext");
|
ERRCONT(result, "dns_name_fromtext");
|
||||||
|
|
||||||
result = dns_db_find(db, dns_fixedname_name(&name),
|
result = dns_db_find(db, dns_fixedname_name(&name),
|
||||||
NULL /*vesion*/, dns_rdatatype_a,
|
NULL /*version*/, dns_rdatatype_a,
|
||||||
0 /*options*/, 0 /*time*/, NULL /*nodep*/,
|
0 /*options*/, 0 /*time*/, NULL /*nodep*/,
|
||||||
dns_fixedname_name(&found), &rdataset,
|
dns_fixedname_name(&found), &rdataset,
|
||||||
&sigset);
|
&sigset);
|
||||||
|
@ -152,7 +152,7 @@ main(int argc, char *argv[]) {
|
|||||||
|
|
||||||
pk11_result_register();
|
pk11_result_register();
|
||||||
|
|
||||||
/* Allocate hanles */
|
/* Allocate handles */
|
||||||
hKey = (CK_SESSION_HANDLE *)malloc(count * sizeof(CK_SESSION_HANDLE));
|
hKey = (CK_SESSION_HANDLE *)malloc(count * sizeof(CK_SESSION_HANDLE));
|
||||||
if (hKey == NULL) {
|
if (hKey == NULL) {
|
||||||
perror("malloc");
|
perror("malloc");
|
||||||
|
@ -168,7 +168,7 @@ main(int argc, char *argv[]) {
|
|||||||
|
|
||||||
pk11_result_register();
|
pk11_result_register();
|
||||||
|
|
||||||
/* Allocate hanles */
|
/* Allocate handles */
|
||||||
pubKey = (CK_SESSION_HANDLE *)malloc(count * sizeof(CK_SESSION_HANDLE));
|
pubKey = (CK_SESSION_HANDLE *)malloc(count * sizeof(CK_SESSION_HANDLE));
|
||||||
if (pubKey == NULL) {
|
if (pubKey == NULL) {
|
||||||
perror("malloc");
|
perror("malloc");
|
||||||
|
@ -225,7 +225,7 @@ main(int argc, char *argv[]) {
|
|||||||
|
|
||||||
pk11_result_register();
|
pk11_result_register();
|
||||||
|
|
||||||
/* Allocate hanles */
|
/* Allocate handles */
|
||||||
hKey = (CK_SESSION_HANDLE *)malloc(count * sizeof(CK_SESSION_HANDLE));
|
hKey = (CK_SESSION_HANDLE *)malloc(count * sizeof(CK_SESSION_HANDLE));
|
||||||
if (hKey == NULL) {
|
if (hKey == NULL) {
|
||||||
perror("malloc");
|
perror("malloc");
|
||||||
|
@ -171,7 +171,7 @@ main(int argc, char *argv[]) {
|
|||||||
|
|
||||||
pk11_result_register();
|
pk11_result_register();
|
||||||
|
|
||||||
/* Allocate hanles */
|
/* Allocate handles */
|
||||||
hKey = (CK_SESSION_HANDLE *)malloc(count * sizeof(CK_SESSION_HANDLE));
|
hKey = (CK_SESSION_HANDLE *)malloc(count * sizeof(CK_SESSION_HANDLE));
|
||||||
if (hKey == NULL) {
|
if (hKey == NULL) {
|
||||||
perror("malloc");
|
perror("malloc");
|
||||||
|
@ -18,7 +18,7 @@ status=0
|
|||||||
n=0
|
n=0
|
||||||
|
|
||||||
n=`expr $n + 1`
|
n=`expr $n + 1`
|
||||||
echo_i "wait for zones to finish transfering to ns2 ($n)"
|
echo_i "wait for zones to finish transferring to ns2 ($n)"
|
||||||
for i in 1 2 3 4 5 6 7 8 9 10
|
for i in 1 2 3 4 5 6 7 8 9 10
|
||||||
do
|
do
|
||||||
ret=0
|
ret=0
|
||||||
|
@ -83,7 +83,7 @@ checkjitter () {
|
|||||||
# This number has been tuned for `sig-validity-interval 10 2`, as
|
# This number has been tuned for `sig-validity-interval 10 2`, as
|
||||||
# 1. 1. signature expiration dates should be spread out across at most 8 (10-2) days
|
# 1. 1. signature expiration dates should be spread out across at most 8 (10-2) days
|
||||||
# 2. we remove first and last day to remove frequency outlier, we are left with 6 (8-2) days
|
# 2. we remove first and last day to remove frequency outlier, we are left with 6 (8-2) days
|
||||||
# 3. we substract one more day to allow test pass on day boundaries, etc. leaving us with 5 (6-1) days
|
# 3. we subtract one more day to allow test pass on day boundaries, etc. leaving us with 5 (6-1) days
|
||||||
for _num in $_expiretimes
|
for _num in $_expiretimes
|
||||||
do
|
do
|
||||||
_count=$((_count+1))
|
_count=$((_count+1))
|
||||||
|
@ -106,7 +106,7 @@ test $ret -eq 0 || echo_i "failed"
|
|||||||
status=`expr $status + $ret`
|
status=`expr $status + $ret`
|
||||||
|
|
||||||
n=`expr $n + 1`
|
n=`expr $n + 1`
|
||||||
echo_i "check SOA owner case is transfered to slave ($n)"
|
echo_i "check SOA owner case is transferred to slave ($n)"
|
||||||
ret=0
|
ret=0
|
||||||
$DIG $DIGOPTS axfr dynamic @10.53.0.2 > dig.ns2.test$n
|
$DIG $DIGOPTS axfr dynamic @10.53.0.2 > dig.ns2.test$n
|
||||||
digcomp dig.ns2.test$n postupdate.good || ret=1
|
digcomp dig.ns2.test$n postupdate.good || ret=1
|
||||||
@ -138,7 +138,7 @@ test $ret -eq 0 || echo_i "failed"
|
|||||||
status=`expr $status + $ret`
|
status=`expr $status + $ret`
|
||||||
|
|
||||||
n=`expr $n + 1`
|
n=`expr $n + 1`
|
||||||
echo_i "check A owner case is transfered to slave ($n)"
|
echo_i "check A owner case is transferred to slave ($n)"
|
||||||
ret=0
|
ret=0
|
||||||
$DIG $DIGOPTS axfr dynamic @10.53.0.2 > dig.ns2.test$n
|
$DIG $DIGOPTS axfr dynamic @10.53.0.2 > dig.ns2.test$n
|
||||||
digcomp dig.ns2.test$n postns1.good || ret=1
|
digcomp dig.ns2.test$n postns1.good || ret=1
|
||||||
|
@ -56,7 +56,7 @@ from dns.name import *
|
|||||||
#
|
#
|
||||||
# examples: for the answer set "cname, cname, cname", an rr set
|
# examples: for the answer set "cname, cname, cname", an rr set
|
||||||
# '1, s1, 2, s2, 3, s3, 4, s4' indicates that all four RRs should
|
# '1, s1, 2, s2, 3, s3, 4, s4' indicates that all four RRs should
|
||||||
# be included in the answer, with siagntures, in the origninal
|
# be included in the answer, with siagntures, in the original
|
||||||
# order, while 4, s4, 3, s3, 2, s2, 1, s1' indicates the order
|
# order, while 4, s4, 3, s3, 2, s2, 1, s1' indicates the order
|
||||||
# should be reversed, 's3, s3, s3, s3' indicates that the third
|
# should be reversed, 's3, s3, s3, s3' indicates that the third
|
||||||
# RRSIG should be repeated four times and everything else should
|
# RRSIG should be repeated four times and everything else should
|
||||||
|
@ -153,7 +153,7 @@ if [ $ret != 0 ]; then echo_i "failed"; fi
|
|||||||
status=`expr $status + $ret`
|
status=`expr $status + $ret`
|
||||||
|
|
||||||
n=`expr $n + 1`
|
n=`expr $n + 1`
|
||||||
echo_i "checking CNAME to signed external delgation is handled ($n)"
|
echo_i "checking CNAME to signed external delegation is handled ($n)"
|
||||||
ret=0
|
ret=0
|
||||||
$RNDCCMD 10.53.0.7 null --- start test$n --- 2>&1 | sed 's/^/ns7 /' | cat_i
|
$RNDCCMD 10.53.0.7 null --- start test$n --- 2>&1 | sed 's/^/ns7 /' | cat_i
|
||||||
$DIG $DIGOPTS @10.53.0.7 c.example > dig.out.$n
|
$DIG $DIGOPTS @10.53.0.7 c.example > dig.out.$n
|
||||||
@ -162,7 +162,7 @@ if [ $ret != 0 ]; then echo_i "failed"; fi
|
|||||||
status=`expr $status + $ret`
|
status=`expr $status + $ret`
|
||||||
|
|
||||||
n=`expr $n + 1`
|
n=`expr $n + 1`
|
||||||
echo_i "checking CNAME to signed internal delgation is handled ($n)"
|
echo_i "checking CNAME to signed internal delegation is handled ($n)"
|
||||||
ret=0
|
ret=0
|
||||||
$RNDCCMD 10.53.0.7 null --- start test$n --- 2>&1 | sed 's/^/ns7 /' | cat_i
|
$RNDCCMD 10.53.0.7 null --- start test$n --- 2>&1 | sed 's/^/ns7 /' | cat_i
|
||||||
$DIG $DIGOPTS @10.53.0.7 d.example > dig.out.$n
|
$DIG $DIGOPTS @10.53.0.7 d.example > dig.out.$n
|
||||||
|
@ -472,7 +472,7 @@ $CHECKZONE -D -s full "$zone" $signedfile 2> /dev/null | \
|
|||||||
awk '{$2 = "3600"; print}' > $patchedfile
|
awk '{$2 = "3600"; print}' > $patchedfile
|
||||||
|
|
||||||
#
|
#
|
||||||
# Seperate DNSSEC records.
|
# Separate DNSSEC records.
|
||||||
#
|
#
|
||||||
zone=split-dnssec.example.
|
zone=split-dnssec.example.
|
||||||
infile=split-dnssec.example.db.in
|
infile=split-dnssec.example.db.in
|
||||||
@ -486,7 +486,7 @@ echo "\$INCLUDE \"$signedfile\"" >> "$zonefile"
|
|||||||
"$SIGNER" -P -D -o "$zone" "$zonefile" > /dev/null
|
"$SIGNER" -P -D -o "$zone" "$zonefile" > /dev/null
|
||||||
|
|
||||||
#
|
#
|
||||||
# Seperate DNSSEC records smart signing.
|
# Separate DNSSEC records smart signing.
|
||||||
#
|
#
|
||||||
zone=split-smart.example.
|
zone=split-smart.example.
|
||||||
infile=split-smart.example.db.in
|
infile=split-smart.example.db.in
|
||||||
|
@ -9,7 +9,7 @@
|
|||||||
|
|
||||||
; This is a zone which has two DNSKEY records, none of which have
|
; This is a zone which has two DNSKEY records, none of which have
|
||||||
; existing private key files available. The resulting zone should fail
|
; existing private key files available. The resulting zone should fail
|
||||||
; the consistancy tests.
|
; the consistency tests.
|
||||||
;
|
;
|
||||||
$TTL 3600
|
$TTL 3600
|
||||||
example.com. IN SOA ns hostmaster 00090000 1200 3600 604800 300
|
example.com. IN SOA ns hostmaster 00090000 1200 3600 604800 300
|
||||||
|
@ -139,7 +139,7 @@ dyndb_destroy(void **instp) {
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* Driver version is called when loading the driver to ensure there
|
* Driver version is called when loading the driver to ensure there
|
||||||
* is no API mismatch betwen the driver and the caller.
|
* is no API mismatch between the driver and the caller.
|
||||||
*/
|
*/
|
||||||
int
|
int
|
||||||
dyndb_version(unsigned int *flags) {
|
dyndb_version(unsigned int *flags) {
|
||||||
|
@ -220,7 +220,7 @@ syncptr(sample_instance_t *inst, dns_name_t *name, dns_rdata_t *addr_rdata,
|
|||||||
result = syncptr_find_zone(inst, addr_rdata,
|
result = syncptr_find_zone(inst, addr_rdata,
|
||||||
dns_fixedname_name(&ptr_name), &ptr_zone);
|
dns_fixedname_name(&ptr_name), &ptr_zone);
|
||||||
if (result != ISC_R_SUCCESS) {
|
if (result != ISC_R_SUCCESS) {
|
||||||
log_error_r("PTR record synchonization skipped: reverse zone "
|
log_error_r("PTR record synchronization skipped: reverse zone "
|
||||||
"is not managed by driver instance '%s'",
|
"is not managed by driver instance '%s'",
|
||||||
inst->db_name);
|
inst->db_name);
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
@ -48,7 +48,7 @@ ret=0 reason=
|
|||||||
$DIG $DIGOPTS @10.53.0.1 +edns=100 +noednsnegotiation soa $zone > dig.out$n
|
$DIG $DIGOPTS @10.53.0.1 +edns=100 +noednsnegotiation soa $zone > dig.out$n
|
||||||
grep "status: BADVERS," dig.out$n > /dev/null || { ret=1; reason="status"; }
|
grep "status: BADVERS," dig.out$n > /dev/null || { ret=1; reason="status"; }
|
||||||
grep "EDNS: version: 0," dig.out$n > /dev/null || { ret=1; reason="version"; }
|
grep "EDNS: version: 0," dig.out$n > /dev/null || { ret=1; reason="version"; }
|
||||||
grep "IN.SOA." dig.out$n > /dev/null && { ret=1; reaons="soa"; }
|
grep "IN.SOA." dig.out$n > /dev/null && { ret=1; reasons="soa"; }
|
||||||
if [ $ret != 0 ]; then echo_i "failed $reason"; fi
|
if [ $ret != 0 ]; then echo_i "failed $reason"; fi
|
||||||
status=`expr $status + $ret`
|
status=`expr $status + $ret`
|
||||||
|
|
||||||
|
@ -11,7 +11,7 @@
|
|||||||
|
|
||||||
# This is a tool for sending an arbitrary packet via UDP or TCP to an
|
# This is a tool for sending an arbitrary packet via UDP or TCP to an
|
||||||
# arbitrary address and port. The packet is specified in a file or on
|
# arbitrary address and port. The packet is specified in a file or on
|
||||||
# the standard input, in the form of a series of bytes in hexidecimal.
|
# the standard input, in the form of a series of bytes in hexadecimal.
|
||||||
# Whitespace is ignored, as is anything following a '#' symbol.
|
# Whitespace is ignored, as is anything following a '#' symbol.
|
||||||
#
|
#
|
||||||
# For example, the following input would generate normal query for
|
# For example, the following input would generate normal query for
|
||||||
|
@ -152,7 +152,7 @@ if [ $ret != 0 ]; then echo_i "failed"; fi
|
|||||||
status=`expr $status + $ret`
|
status=`expr $status + $ret`
|
||||||
|
|
||||||
n=`expr $n + 1`
|
n=`expr $n + 1`
|
||||||
echo_i "checking that update has been transfered and has been signed ($n)"
|
echo_i "checking that update has been transferred and has been signed ($n)"
|
||||||
ret=0
|
ret=0
|
||||||
for i in 1 2 3 4 5 6 7 8 9 10
|
for i in 1 2 3 4 5 6 7 8 9 10
|
||||||
do
|
do
|
||||||
@ -230,7 +230,7 @@ if [ $ret != 0 ]; then echo_i "failed"; fi
|
|||||||
status=`expr $status + $ret`
|
status=`expr $status + $ret`
|
||||||
|
|
||||||
n=`expr $n + 1`
|
n=`expr $n + 1`
|
||||||
echo_i "checking that update has been transfered and has been signed, noixfr ($n)"
|
echo_i "checking that update has been transferred and has been signed, noixfr ($n)"
|
||||||
ret=0
|
ret=0
|
||||||
for i in 1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10
|
for i in 1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10
|
||||||
do
|
do
|
||||||
@ -737,7 +737,7 @@ if [ $ret != 0 ]; then echo_i "failed"; fi
|
|||||||
status=`expr $status + $ret`
|
status=`expr $status + $ret`
|
||||||
|
|
||||||
n=`expr $n + 1`
|
n=`expr $n + 1`
|
||||||
echo_i "checking that the change has not been transfered due to notify ($n)"
|
echo_i "checking that the change has not been transferred due to notify ($n)"
|
||||||
ret=0
|
ret=0
|
||||||
for i in 0 1 2 3 4 5 6 7 8 9
|
for i in 0 1 2 3 4 5 6 7 8 9
|
||||||
do
|
do
|
||||||
|
@ -245,7 +245,7 @@ setup step5.zsk-prepub.autosign
|
|||||||
KSK=$($KEYGEN -a ECDSAP256SHA256 -f KSK -L 3600 $zone 2> keygen.out.$zone.1)
|
KSK=$($KEYGEN -a ECDSAP256SHA256 -f KSK -L 3600 $zone 2> keygen.out.$zone.1)
|
||||||
ZSK1=$($KEYGEN -a ECDSAP256SHA256 -L 3600 $zone 2> keygen.out.$zone.2)
|
ZSK1=$($KEYGEN -a ECDSAP256SHA256 -L 3600 $zone 2> keygen.out.$zone.2)
|
||||||
ZSK2=$($KEYGEN -a ECDSAP256SHA256 -L 3600 $zone 2> keygen.out.$zone.3)
|
ZSK2=$($KEYGEN -a ECDSAP256SHA256 -L 3600 $zone 2> keygen.out.$zone.3)
|
||||||
# Substract DNSKEY TTL from all the times (1h).
|
# Subtract DNSKEY TTL from all the times (1h).
|
||||||
TactN="now-962h"
|
TactN="now-962h"
|
||||||
TretN="now-242h"
|
TretN="now-242h"
|
||||||
TpubN1="now-268h"
|
TpubN1="now-268h"
|
||||||
@ -358,7 +358,7 @@ setup step5.ksk-doubleksk.autosign
|
|||||||
KSK1=$($KEYGEN -a ECDSAP256SHA256 -f KSK -L 7200 $zone 2> keygen.out.$zone.1)
|
KSK1=$($KEYGEN -a ECDSAP256SHA256 -f KSK -L 7200 $zone 2> keygen.out.$zone.1)
|
||||||
KSK2=$($KEYGEN -a ECDSAP256SHA256 -f KSK -L 7200 $zone 2> keygen.out.$zone.2)
|
KSK2=$($KEYGEN -a ECDSAP256SHA256 -f KSK -L 7200 $zone 2> keygen.out.$zone.2)
|
||||||
ZSK=$($KEYGEN -a ECDSAP256SHA256 -L 7200 $zone 2> keygen.out.$zone.3)
|
ZSK=$($KEYGEN -a ECDSAP256SHA256 -L 7200 $zone 2> keygen.out.$zone.3)
|
||||||
# Substract DNSKEY TTL from all the times (2h).
|
# Subtract DNSKEY TTL from all the times (2h).
|
||||||
TactN="now-1492h"
|
TactN="now-1492h"
|
||||||
TretN="now-52h"
|
TretN="now-52h"
|
||||||
TpubN1="now-102h"
|
TpubN1="now-102h"
|
||||||
@ -469,7 +469,7 @@ $SIGNER -S -z -x -s now-1h -e now+30d -o $zone -O full -f $zonefile $infile > si
|
|||||||
setup step5.csk-roll.autosign
|
setup step5.csk-roll.autosign
|
||||||
CSK1=$($KEYGEN -k csk-roll -l policies/autosign.conf $zone 2> keygen.out.$zone.1)
|
CSK1=$($KEYGEN -k csk-roll -l policies/autosign.conf $zone 2> keygen.out.$zone.1)
|
||||||
CSK2=$($KEYGEN -k csk-roll -l policies/autosign.conf $zone 2> keygen.out.$zone.1)
|
CSK2=$($KEYGEN -k csk-roll -l policies/autosign.conf $zone 2> keygen.out.$zone.1)
|
||||||
# Substract DNSKEY TTL plus zone propagation delay from all the times (2h).
|
# Subtract DNSKEY TTL plus zone propagation delay from all the times (2h).
|
||||||
TactN="now-4470h"
|
TactN="now-4470h"
|
||||||
TretN="now-6h"
|
TretN="now-6h"
|
||||||
TdeaN="now-2h"
|
TdeaN="now-2h"
|
||||||
@ -520,7 +520,7 @@ $SIGNER -S -z -x -s now-1h -e now+30d -o $zone -O full -f $zonefile $infile > si
|
|||||||
setup step7.csk-roll.autosign
|
setup step7.csk-roll.autosign
|
||||||
CSK1=$($KEYGEN -k csk-roll -l policies/autosign.conf $zone 2> keygen.out.$zone.1)
|
CSK1=$($KEYGEN -k csk-roll -l policies/autosign.conf $zone 2> keygen.out.$zone.1)
|
||||||
CSK2=$($KEYGEN -k csk-roll -l policies/autosign.conf $zone 2> keygen.out.$zone.1)
|
CSK2=$($KEYGEN -k csk-roll -l policies/autosign.conf $zone 2> keygen.out.$zone.1)
|
||||||
# Substract DNSKEY TTL plus zone propagation delay from all the times (2h).
|
# Subtract DNSKEY TTL plus zone propagation delay from all the times (2h).
|
||||||
TactN="now-5093h"
|
TactN="now-5093h"
|
||||||
TretN="now-629h"
|
TretN="now-629h"
|
||||||
TdeaN="now-625h"
|
TdeaN="now-625h"
|
||||||
@ -630,7 +630,7 @@ $SIGNER -S -z -x -s now-1h -e now+30d -o $zone -O full -f $zonefile $infile > si
|
|||||||
setup step5.csk-roll2.autosign
|
setup step5.csk-roll2.autosign
|
||||||
CSK1=$($KEYGEN -k csk-roll2 -l policies/autosign.conf $zone 2> keygen.out.$zone.1)
|
CSK1=$($KEYGEN -k csk-roll2 -l policies/autosign.conf $zone 2> keygen.out.$zone.1)
|
||||||
CSK2=$($KEYGEN -k csk-roll2 -l policies/autosign.conf $zone 2> keygen.out.$zone.1)
|
CSK2=$($KEYGEN -k csk-roll2 -l policies/autosign.conf $zone 2> keygen.out.$zone.1)
|
||||||
# Substract Dreg + Iret (174h).
|
# Subtract Dreg + Iret (174h).
|
||||||
TactN="now-4676h"
|
TactN="now-4676h"
|
||||||
TretN="now-212h"
|
TretN="now-212h"
|
||||||
TpubN1="now-215h"
|
TpubN1="now-215h"
|
||||||
@ -650,7 +650,7 @@ setup step6.csk-roll2.autosign
|
|||||||
CSK1=$($KEYGEN -k csk-roll2 -l policies/autosign.conf $zone 2> keygen.out.$zone.1)
|
CSK1=$($KEYGEN -k csk-roll2 -l policies/autosign.conf $zone 2> keygen.out.$zone.1)
|
||||||
CSK2=$($KEYGEN -k csk-roll2 -l policies/autosign.conf $zone 2> keygen.out.$zone.1)
|
CSK2=$($KEYGEN -k csk-roll2 -l policies/autosign.conf $zone 2> keygen.out.$zone.1)
|
||||||
|
|
||||||
# Substract DNSKEY TTL plus zone propagation delay (2h).
|
# Subtract DNSKEY TTL plus zone propagation delay (2h).
|
||||||
TactN="now-4678h"
|
TactN="now-4678h"
|
||||||
TretN="now-214h"
|
TretN="now-214h"
|
||||||
TdeaN="now-2h"
|
TdeaN="now-2h"
|
||||||
|
@ -50,7 +50,7 @@ status=`expr $status + $ret`
|
|||||||
|
|
||||||
ret=0
|
ret=0
|
||||||
n=`expr $n + 1`
|
n=`expr $n + 1`
|
||||||
echo_i "test owner inheritence after "'$INCLUDE'" ($n)"
|
echo_i "test owner inheritance after "'$INCLUDE'" ($n)"
|
||||||
$CHECKZONE -Dq example zone/inheritownerafterinclude.db > checkzone.out$n
|
$CHECKZONE -Dq example zone/inheritownerafterinclude.db > checkzone.out$n
|
||||||
$DIFF checkzone.out$n zone/inheritownerafterinclude.good || ret=1
|
$DIFF checkzone.out$n zone/inheritownerafterinclude.good || ret=1
|
||||||
if [ $ret != 0 ]; then echo_i "failed"; fi
|
if [ $ret != 0 ]; then echo_i "failed"; fi
|
||||||
|
@ -174,7 +174,7 @@ grep "10.0.0.4" dig.out.ns2.test$n > /dev/null || ret=1
|
|||||||
status=`expr $ret + $status`
|
status=`expr $ret + $status`
|
||||||
|
|
||||||
n=`expr $n + 1`
|
n=`expr $n + 1`
|
||||||
echo_i "checking example4 contents have been transfered after restart ($n)"
|
echo_i "checking example4 contents have been transferred after restart ($n)"
|
||||||
ret=0
|
ret=0
|
||||||
$DIG $DIGOPTS a.example. @10.53.0.2 a > dig.out.ns2.test$n || ret=1
|
$DIG $DIGOPTS a.example. @10.53.0.2 a > dig.out.ns2.test$n || ret=1
|
||||||
grep "10.0.0.4" dig.out.ns2.test$n > /dev/null || ret=1
|
grep "10.0.0.4" dig.out.ns2.test$n > /dev/null || ret=1
|
||||||
|
@ -534,8 +534,8 @@ done
|
|||||||
|
|
||||||
ret=0
|
ret=0
|
||||||
echo_i "check that 'nsupdate -l' with a missing keyfile reports the missing file"
|
echo_i "check that 'nsupdate -l' with a missing keyfile reports the missing file"
|
||||||
$NSUPDATE -4 -p ${PORT} -l -k ns1/nonexistant.key 2> nsupdate.out < /dev/null
|
$NSUPDATE -4 -p ${PORT} -l -k ns1/nonexistent.key 2> nsupdate.out < /dev/null
|
||||||
grep ns1/nonexistant.key nsupdate.out > /dev/null || ret=1
|
grep ns1/nonexistent.key nsupdate.out > /dev/null || ret=1
|
||||||
if test $ret -ne 0
|
if test $ret -ne 0
|
||||||
then
|
then
|
||||||
echo_i "failed"; status=1
|
echo_i "failed"; status=1
|
||||||
|
@ -11,7 +11,7 @@
|
|||||||
|
|
||||||
# This is a tool for sending an arbitrary packet via UDP or TCP to an
|
# This is a tool for sending an arbitrary packet via UDP or TCP to an
|
||||||
# arbitrary address and port. The packet is specified in a file or on
|
# arbitrary address and port. The packet is specified in a file or on
|
||||||
# the standard input, in the form of a series of bytes in hexidecimal.
|
# the standard input, in the form of a series of bytes in hexadecimal.
|
||||||
# Whitespace is ignored, as is anything following a '#' symbol.
|
# Whitespace is ignored, as is anything following a '#' symbol.
|
||||||
#
|
#
|
||||||
# For example, the following input would generate normal query for
|
# For example, the following input would generate normal query for
|
||||||
|
@ -12,7 +12,7 @@
|
|||||||
############################################################################
|
############################################################################
|
||||||
#
|
#
|
||||||
# This tool acts as a TCP/UDP proxy and delays all incoming packets by 500
|
# This tool acts as a TCP/UDP proxy and delays all incoming packets by 500
|
||||||
# miliseconds.
|
# milliseconds.
|
||||||
#
|
#
|
||||||
# We use it to check pipelining - a client sents 8 questions over a
|
# We use it to check pipelining - a client sents 8 questions over a
|
||||||
# pipelined connection - that require asking a normal (examplea) and a
|
# pipelined connection - that require asking a normal (examplea) and a
|
||||||
@ -108,7 +108,7 @@ class TCPDelayer(threading.Thread):
|
|||||||
class UDPDelayer(threading.Thread):
|
class UDPDelayer(threading.Thread):
|
||||||
""" Every incoming UDP packet is put in a queue for DELAY time, then
|
""" Every incoming UDP packet is put in a queue for DELAY time, then
|
||||||
it's sent to (ip, port). We remember the query id to send the
|
it's sent to (ip, port). We remember the query id to send the
|
||||||
response we get to a proper source, responsed are not delayed.
|
response we get to a proper source, responses are not delayed.
|
||||||
"""
|
"""
|
||||||
def __init__(self, usock, ip, port):
|
def __init__(self, usock, ip, port):
|
||||||
threading.Thread.__init__(self)
|
threading.Thread.__init__(self)
|
||||||
|
@ -40,7 +40,7 @@ def logquery(type, qname):
|
|||||||
# too.many.labels.a.b.c.d.e.f.g.h.i.j.k.l.m.n.o.p.q.r.s.t.u.v.w.x.y.z.good. A 192.0.2.2
|
# too.many.labels.a.b.c.d.e.f.g.h.i.j.k.l.m.n.o.p.q.r.s.t.u.v.w.x.y.z.good. A 192.0.2.2
|
||||||
# it responds properly (with NODATA empty response) to non-empty terminals
|
# it responds properly (with NODATA empty response) to non-empty terminals
|
||||||
#
|
#
|
||||||
# For slow. it works the same as for good., but each response is delayed by 400 miliseconds
|
# For slow. it works the same as for good., but each response is delayed by 400 milliseconds
|
||||||
#
|
#
|
||||||
# For bad. it works the same as for good., but returns NXDOMAIN to non-empty terminals
|
# For bad. it works the same as for good., but returns NXDOMAIN to non-empty terminals
|
||||||
#
|
#
|
||||||
|
@ -38,7 +38,7 @@ def logquery(type, qname):
|
|||||||
# icky.ptang.zoop.boing.good. NS a.bit.longer.ns.name.good.
|
# icky.ptang.zoop.boing.good. NS a.bit.longer.ns.name.good.
|
||||||
# it responds properly (with NODATA empty response) to non-empty terminals
|
# it responds properly (with NODATA empty response) to non-empty terminals
|
||||||
#
|
#
|
||||||
# For slow. it works the same as for good., but each response is delayed by 400 miliseconds
|
# For slow. it works the same as for good., but each response is delayed by 400 milliseconds
|
||||||
#
|
#
|
||||||
# For bad. it works the same as for good., but returns NXDOMAIN to non-empty terminals
|
# For bad. it works the same as for good., but returns NXDOMAIN to non-empty terminals
|
||||||
#
|
#
|
||||||
|
@ -39,7 +39,7 @@ def logquery(type, qname):
|
|||||||
# more.icky.icky.icky.ptang.zoop.boing.good. A 192.0.2.2
|
# more.icky.icky.icky.ptang.zoop.boing.good. A 192.0.2.2
|
||||||
# it responds properly (with NODATA empty response) to non-empty terminals
|
# it responds properly (with NODATA empty response) to non-empty terminals
|
||||||
#
|
#
|
||||||
# For slow. it works the same as for good., but each response is delayed by 400 miliseconds
|
# For slow. it works the same as for good., but each response is delayed by 400 milliseconds
|
||||||
#
|
#
|
||||||
# For bad. it works the same as for good., but returns NXDOMAIN to non-empty terminals
|
# For bad. it works the same as for good., but returns NXDOMAIN to non-empty terminals
|
||||||
#
|
#
|
||||||
|
@ -192,7 +192,7 @@ if [ $ret != 0 ]; then echo_i "failed"; fi
|
|||||||
status=`expr $status + $ret`
|
status=`expr $status + $ret`
|
||||||
|
|
||||||
n=`expr $n + 1`
|
n=`expr $n + 1`
|
||||||
echo_i "query for .bad succeds when qname-minimization is in relaxed mode ($n)"
|
echo_i "query for .bad succeeds when qname-minimization is in relaxed mode ($n)"
|
||||||
ret=0
|
ret=0
|
||||||
$CLEANQL
|
$CLEANQL
|
||||||
$RNDCCMD 10.53.0.7 flush
|
$RNDCCMD 10.53.0.7 flush
|
||||||
@ -243,7 +243,7 @@ status=`expr $status + $ret`
|
|||||||
$RNDCCMD 10.53.0.6 flush
|
$RNDCCMD 10.53.0.6 flush
|
||||||
|
|
||||||
n=`expr $n + 1`
|
n=`expr $n + 1`
|
||||||
echo_i "query for .ugly succeds when qname-minimization is in relaxed mode ($n)"
|
echo_i "query for .ugly succeeds when qname-minimization is in relaxed mode ($n)"
|
||||||
ret=0
|
ret=0
|
||||||
$CLEANQL
|
$CLEANQL
|
||||||
$RNDCCMD 10.53.0.7 flush
|
$RNDCCMD 10.53.0.7 flush
|
||||||
@ -312,7 +312,7 @@ if [ $ret != 0 ]; then echo_i "failed"; fi
|
|||||||
status=`expr $status + $ret`
|
status=`expr $status + $ret`
|
||||||
|
|
||||||
n=`expr $n + 1`
|
n=`expr $n + 1`
|
||||||
echo_i "query for .ip6.arpa succeds and skips on proper boundaries when qname-minimization is on ($n)"
|
echo_i "query for .ip6.arpa succeeds and skips on proper boundaries when qname-minimization is on ($n)"
|
||||||
ret=0
|
ret=0
|
||||||
$CLEANQL
|
$CLEANQL
|
||||||
$RNDCCMD 10.53.0.6 flush
|
$RNDCCMD 10.53.0.6 flush
|
||||||
|
@ -55,7 +55,7 @@ sub reply_handler {
|
|||||||
$rcode = "REFUSED";
|
$rcode = "REFUSED";
|
||||||
}
|
}
|
||||||
|
|
||||||
# mark the answer as authoritive (by setting the 'aa' flag
|
# mark the answer as authoritative (by setting the 'aa' flag
|
||||||
return ($rcode, \@ans, \@auth, \@add, { aa => 1 });
|
return ($rcode, \@ans, \@auth, \@add, { aa => 1 });
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -22,7 +22,7 @@ server. NS ns7.server.
|
|||||||
ns7.server. A 10.53.0.7
|
ns7.server. A 10.53.0.7
|
||||||
;
|
;
|
||||||
; These two delegations are strictly not necessary as the test resolver (ns5)
|
; These two delegations are strictly not necessary as the test resolver (ns5)
|
||||||
; doesn't have this zone as its root. They are just done for consistancy with
|
; doesn't have this zone as its root. They are just done for consistency with
|
||||||
; the delegations in ns4/tld.
|
; the delegations in ns4/tld.
|
||||||
;
|
;
|
||||||
no-edns-version.tld. NS ns.no-edns-version.tld.
|
no-edns-version.tld. NS ns.no-edns-version.tld.
|
||||||
|
@ -287,7 +287,7 @@ n=`expr $n + 1`
|
|||||||
echo_i "RT21594 regression test NXDOMAIN answers ($n)"
|
echo_i "RT21594 regression test NXDOMAIN answers ($n)"
|
||||||
ret=0
|
ret=0
|
||||||
# Check that resolver accepts the non-authoritative positive answers.
|
# Check that resolver accepts the non-authoritative positive answers.
|
||||||
$DIG $DIGOPTS +tcp noexistant @10.53.0.5 txt > dig.ns5.out.${n} || ret=1
|
$DIG $DIGOPTS +tcp noexistent @10.53.0.5 txt > dig.ns5.out.${n} || ret=1
|
||||||
grep "status: NXDOMAIN" dig.ns5.out.${n} > /dev/null || ret=1
|
grep "status: NXDOMAIN" dig.ns5.out.${n} > /dev/null || ret=1
|
||||||
if [ $ret != 0 ]; then echo_i "failed"; fi
|
if [ $ret != 0 ]; then echo_i "failed"; fi
|
||||||
status=`expr $status + $ret`
|
status=`expr $status + $ret`
|
||||||
@ -462,7 +462,7 @@ sleep ${interval:-0}
|
|||||||
$DIG $DIGOPTS @10.53.0.5 fetch.tld txt > dig.out.2.${n} || ret=1
|
$DIG $DIGOPTS @10.53.0.5 fetch.tld txt > dig.out.2.${n} || ret=1
|
||||||
ttl2=`awk '/"A" "short" "ttl"/ { print $2 }' dig.out.2.${n}`
|
ttl2=`awk '/"A" "short" "ttl"/ { print $2 }' dig.out.2.${n}`
|
||||||
sleep 1
|
sleep 1
|
||||||
# check that prefetch occured
|
# check that prefetch occurred
|
||||||
$DIG $DIGOPTS @10.53.0.5 fetch.tld txt > dig.out.3.${n} || ret=1
|
$DIG $DIGOPTS @10.53.0.5 fetch.tld txt > dig.out.3.${n} || ret=1
|
||||||
ttl=`awk '/"A" "short" "ttl"/ { print $2 }' dig.out.3.${n}`
|
ttl=`awk '/"A" "short" "ttl"/ { print $2 }' dig.out.3.${n}`
|
||||||
test ${ttl:-0} -gt ${ttl2:-1} || ret=1
|
test ${ttl:-0} -gt ${ttl2:-1} || ret=1
|
||||||
@ -481,7 +481,7 @@ sleep ${interval:-0}
|
|||||||
$DIG $DIGOPTS @10.53.0.5 ds.example.net ds > dig.out.2.${n} || ret=1
|
$DIG $DIGOPTS @10.53.0.5 ds.example.net ds > dig.out.2.${n} || ret=1
|
||||||
dsttl2=`awk '$4 == "DS" && $7 == "2" { print $2 }' dig.out.2.${n}`
|
dsttl2=`awk '$4 == "DS" && $7 == "2" { print $2 }' dig.out.2.${n}`
|
||||||
sleep 1
|
sleep 1
|
||||||
# check that prefetch occured
|
# check that prefetch occurred
|
||||||
$DIG $DIGOPTS @10.53.0.5 ds.example.net ds +dnssec > dig.out.3.${n} || ret=1
|
$DIG $DIGOPTS @10.53.0.5 ds.example.net ds +dnssec > dig.out.3.${n} || ret=1
|
||||||
dsttl=`awk '$4 == "DS" && $7 == "2" { print $2 }' dig.out.3.${n}`
|
dsttl=`awk '$4 == "DS" && $7 == "2" { print $2 }' dig.out.3.${n}`
|
||||||
sigttl=`awk '$4 == "RRSIG" && $5 == "DS" { print $2 }' dig.out.3.${n}`
|
sigttl=`awk '$4 == "RRSIG" && $5 == "DS" { print $2 }' dig.out.3.${n}`
|
||||||
@ -506,7 +506,7 @@ no_prefetch() {
|
|||||||
# the previous one.
|
# the previous one.
|
||||||
$DIG $DIGOPTS @10.53.0.7 fetch.example.net txt > dig.out.2.${n} || return 1
|
$DIG $DIGOPTS @10.53.0.7 fetch.example.net txt > dig.out.2.${n} || return 1
|
||||||
ttl2=`awk '/"A" "short" "ttl"/ { print $2 }' dig.out.2.${n}`
|
ttl2=`awk '/"A" "short" "ttl"/ { print $2 }' dig.out.2.${n}`
|
||||||
# check that prefetch has not occured
|
# check that prefetch has not occurred
|
||||||
if [ $ttl2 -ge $tmp_ttl ]; then
|
if [ $ttl2 -ge $tmp_ttl ]; then
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
@ -94,12 +94,12 @@ if [ -n "$AS_NS" ]; then
|
|||||||
ip-as-ns yes"
|
ip-as-ns yes"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# write dnsrps setttings for master resolver
|
# write dnsrps settings for master resolver
|
||||||
cat <<EOF >>$MCONF
|
cat <<EOF >>$MCONF
|
||||||
$MASTER };
|
$MASTER };
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
# write dnsrps setttings for resolvers that should not start dnsrpzd
|
# write dnsrps settings for resolvers that should not start dnsrpzd
|
||||||
cat <<EOF >>$SCONF
|
cat <<EOF >>$SCONF
|
||||||
$CMN
|
$CMN
|
||||||
dnsrpzd '' }; # do not start dnsrpzd
|
dnsrpzd '' }; # do not start dnsrpzd
|
||||||
|
@ -1,2 +1,2 @@
|
|||||||
# run the performace test close to real life
|
# run the performance test close to real life
|
||||||
-c named.conf -D rpz-ns5 -X named.lock -gd3
|
-c named.conf -D rpz-ns5 -X named.lock -gd3
|
||||||
|
@ -9,7 +9,7 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
; RPZ preformance test
|
; RPZ performance test
|
||||||
|
|
||||||
$TTL 120
|
$TTL 120
|
||||||
@ SOA . hostmaster.ns.example.tld5. ( 1 3600 1200 604800 60 )
|
@ SOA . hostmaster.ns.example.tld5. ( 1 3600 1200 604800 60 )
|
||||||
|
@ -176,7 +176,7 @@ ck_soa() {
|
|||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
# (re)load the reponse policy zones with the rules in the file $TEST_FILE
|
# (re)load the response policy zones with the rules in the file $TEST_FILE
|
||||||
load_db () {
|
load_db () {
|
||||||
if test -n "$TEST_FILE"; then
|
if test -n "$TEST_FILE"; then
|
||||||
copy_setports $TEST_FILE tmp
|
copy_setports $TEST_FILE tmp
|
||||||
@ -586,7 +586,7 @@ EOF
|
|||||||
rndc_reload ns2 $ns2 bl.tld2
|
rndc_reload ns2 $ns2 bl.tld2
|
||||||
ck_soa 2 bl.tld2 $ns3
|
ck_soa 2 bl.tld2 $ns3
|
||||||
nochange a7-1.tld2 # 19 PASSTHRU
|
nochange a7-1.tld2 # 19 PASSTHRU
|
||||||
# ensure that a clock tick has occured so that named will do the reload
|
# ensure that a clock tick has occurred so that named will do the reload
|
||||||
sleep 1
|
sleep 1
|
||||||
cp ns2/blv3.tld2.db.in ns2/bl.tld2.db
|
cp ns2/blv3.tld2.db.in ns2/bl.tld2.db
|
||||||
rndc_reload ns2 $ns2 bl.tld2
|
rndc_reload ns2 $ns2 bl.tld2
|
||||||
@ -887,7 +887,7 @@ EOF
|
|||||||
grep "fast-expire/IN: response-policy zone expired" ns3/named.run > /dev/null || setret "failed"
|
grep "fast-expire/IN: response-policy zone expired" ns3/named.run > /dev/null || setret "failed"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# RPZ 'CNAME *.' (NODATA) trumps DNS64. Test against various DNS64 senarios.
|
# RPZ 'CNAME *.' (NODATA) trumps DNS64. Test against various DNS64 scenarios.
|
||||||
for label in a-only no-a-no-aaaa a-plus-aaaa
|
for label in a-only no-a-no-aaaa a-plus-aaaa
|
||||||
do
|
do
|
||||||
for type in AAAA A
|
for type in AAAA A
|
||||||
|
@ -145,7 +145,7 @@ sub reply_handler {
|
|||||||
$rcode = "NXDOMAIN";
|
$rcode = "NXDOMAIN";
|
||||||
}
|
}
|
||||||
|
|
||||||
# mark the answer as authoritive (by setting the 'aa' flag
|
# mark the answer as authoritative (by setting the 'aa' flag
|
||||||
return ($rcode, \@ans, \@auth, \@add, { aa => 1 });
|
return ($rcode, \@ans, \@auth, \@add, { aa => 1 });
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -168,7 +168,7 @@ grep "key id = $czinactive\$" $cfile.signed > /dev/null || {
|
|||||||
# should not be there, hence the &&
|
# should not be there, hence the &&
|
||||||
grep "key id = $ckprerevoke\$" $cfile.signed > /dev/null && {
|
grep "key id = $ckprerevoke\$" $cfile.signed > /dev/null && {
|
||||||
ret=1
|
ret=1
|
||||||
echo_i "found unexpect child pre-revoke ZSK id = $ckprerevoke"
|
echo_i "found unexpected child pre-revoke ZSK id = $ckprerevoke"
|
||||||
}
|
}
|
||||||
grep "key id = $czgenerated\$" $cfile.signed > /dev/null && {
|
grep "key id = $czgenerated\$" $cfile.signed > /dev/null && {
|
||||||
ret=1
|
ret=1
|
||||||
|
@ -190,7 +190,7 @@ grep "3rd sub test data" dig.out.ns2.test$n > /dev/null || ret=1
|
|||||||
if [ $ret != 0 ]; then echo_i "failed"; fi
|
if [ $ret != 0 ]; then echo_i "failed"; fi
|
||||||
status=`expr $status + $ret`
|
status=`expr $status + $ret`
|
||||||
|
|
||||||
# reload with a different name server: exisitng zone shouldn't be reused.
|
# reload with a different name server: existing zone shouldn't be reused.
|
||||||
n=`expr $n + 1`
|
n=`expr $n + 1`
|
||||||
echo_i "checking server reload with a different static-stub config ($n)"
|
echo_i "checking server reload with a different static-stub config ($n)"
|
||||||
ret=0
|
ret=0
|
||||||
|
@ -28,8 +28,8 @@ zone "nsec" { type master; file "nsec.db.signed"; };
|
|||||||
zone "private.nsec" { type master; file "private.nsec.db.signed"; };
|
zone "private.nsec" { type master; file "private.nsec.db.signed"; };
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The contents of nsec3 and private.nsec3 are specially choosen to
|
* The contents of nsec3 and private.nsec3 are specially chosen to
|
||||||
* have seperate NSEC3 records for the "no qname proof" and the
|
* have separate NSEC3 records for the "no qname proof" and the
|
||||||
* "closest encloser proof".
|
* "closest encloser proof".
|
||||||
*/
|
*/
|
||||||
zone "nsec3" { type master; file "nsec3.db.signed"; };
|
zone "nsec3" { type master; file "nsec3.db.signed"; };
|
||||||
|
@ -33,7 +33,7 @@ status=$((status+tmp))
|
|||||||
n=$((n+1))
|
n=$((n+1))
|
||||||
echo_i "testing basic zone transfer functionality (from secondary) ($n)"
|
echo_i "testing basic zone transfer functionality (from secondary) ($n)"
|
||||||
#
|
#
|
||||||
# Spin to allow the zone to tranfer.
|
# Spin to allow the zone to transfer.
|
||||||
#
|
#
|
||||||
for i in 1 2 3 4 5
|
for i in 1 2 3 4 5
|
||||||
do
|
do
|
||||||
@ -55,7 +55,7 @@ $DIG $DIGOPTS tsigzone. @10.53.0.2 axfr -y tsigzone.:1234abcd8765 > dig.out.ns2.
|
|||||||
grep "^;" dig.out.ns2.test$n | cat_i
|
grep "^;" dig.out.ns2.test$n | cat_i
|
||||||
|
|
||||||
#
|
#
|
||||||
# Spin to allow the zone to tranfer.
|
# Spin to allow the zone to transfer.
|
||||||
#
|
#
|
||||||
for i in 1 2 3 4 5
|
for i in 1 2 3 4 5
|
||||||
do
|
do
|
||||||
|
@ -40,7 +40,7 @@ usage(void) {
|
|||||||
fprintf(stderr, "usage: named-rrchecker [-o origin] [-hpCPTu]\n");
|
fprintf(stderr, "usage: named-rrchecker [-o origin] [-hpCPTu]\n");
|
||||||
fprintf(stderr, "\t-h: print this help message\n");
|
fprintf(stderr, "\t-h: print this help message\n");
|
||||||
fprintf(stderr, "\t-o origin: set origin to be used when "
|
fprintf(stderr, "\t-o origin: set origin to be used when "
|
||||||
"interpeting the record\n");
|
"interpreting the record\n");
|
||||||
fprintf(stderr, "\t-p: print the record in canonical format\n");
|
fprintf(stderr, "\t-p: print the record in canonical format\n");
|
||||||
fprintf(stderr, "\t-C: list the supported class names\n");
|
fprintf(stderr, "\t-C: list the supported class names\n");
|
||||||
fprintf(stderr, "\t-P: list the supported private type names\n");
|
fprintf(stderr, "\t-P: list the supported private type names\n");
|
||||||
|
@ -277,12 +277,12 @@ BEGIN
|
|||||||
IDS_BAD_PRIVILEGES "This user cannot acquire the privileges necessary to install BIND. Please ensure you are logged on as a member of the Administrators group."
|
IDS_BAD_PRIVILEGES "This user cannot acquire the privileges necessary to install BIND. Please ensure you are logged on as a member of the Administrators group."
|
||||||
IDS_ERR_CREATE_DIR "An error occurred while creating directory %s\n(%s)"
|
IDS_ERR_CREATE_DIR "An error occurred while creating directory %s\n(%s)"
|
||||||
IDS_VERSION "Version %s"
|
IDS_VERSION "Version %s"
|
||||||
IDS_ERR_CREATE_KEY "An error occured while creating registry keys\n(%s)"
|
IDS_ERR_CREATE_KEY "An error occurred while creating registry keys\n(%s)"
|
||||||
END
|
END
|
||||||
|
|
||||||
STRINGTABLE
|
STRINGTABLE
|
||||||
BEGIN
|
BEGIN
|
||||||
IDS_ERR_SET_VALUE "An error occured while setting registry key values\n(%s)"
|
IDS_ERR_SET_VALUE "An error occurred while setting registry key values\n(%s)"
|
||||||
IDS_NO_VERSION "Version Unknown"
|
IDS_NO_VERSION "Version Unknown"
|
||||||
IDS_EXISTING_NEWER "%s\nThe existing version of this file is newer than the version being installed.\nDo you wish to overwrite the existing file?"
|
IDS_EXISTING_NEWER "%s\nThe existing version of this file is newer than the version being installed.\nDo you wish to overwrite the existing file?"
|
||||||
IDS_FILE_BAD "Could not retrieve version info for file %s. Do you wish to continue?\n(Continuing may overwrite a newer version of the file) "
|
IDS_FILE_BAD "Could not retrieve version info for file %s. Do you wish to continue?\n(Continuing may overwrite a newer version of the file) "
|
||||||
|
@ -644,7 +644,7 @@ void CBINDInstallDlg::OnInstall() {
|
|||||||
}
|
}
|
||||||
catch(DWORD dw) {
|
catch(DWORD dw) {
|
||||||
CString msg;
|
CString msg;
|
||||||
msg.Format("A fatal error occured\n(%s)", GetErrMessage(dw));
|
msg.Format("A fatal error occurred\n(%s)", GetErrMessage(dw));
|
||||||
MessageBox(msg);
|
MessageBox(msg);
|
||||||
SetCurrent(IDS_CLEANUP);
|
SetCurrent(IDS_CLEANUP);
|
||||||
FailedInstall();
|
FailedInstall();
|
||||||
|
2
configure
vendored
2
configure
vendored
@ -23049,7 +23049,7 @@ $as_echo "not found" >&6; }
|
|||||||
$as_echo "" >&6; }
|
$as_echo "" >&6; }
|
||||||
for dd in $bdbdirs
|
for dd in $bdbdirs
|
||||||
do
|
do
|
||||||
# Skip nonexistant directories
|
# Skip nonexistent directories
|
||||||
if test ! -d "$dd"
|
if test ! -d "$dd"
|
||||||
then
|
then
|
||||||
continue
|
continue
|
||||||
|
@ -160,7 +160,7 @@ typedef struct bdb_instance {
|
|||||||
#define bulk 4 /* bulk load data */
|
#define bulk 4 /* bulk load data */
|
||||||
|
|
||||||
/*%
|
/*%
|
||||||
* quit macro is used instead of exit. quit always trys to close the lexer
|
* quit macro is used instead of exit. quit always tries to close the lexer
|
||||||
* and the BDB database before exiting.
|
* and the BDB database before exiting.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@ -199,7 +199,7 @@ typedef struct bdb_instance {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*%
|
/*%
|
||||||
* checkInvalidParam is used to only allow paramters which make sense for
|
* checkInvalidParam is used to only allow parameters which make sense for
|
||||||
* the operation selected. I.E. passing the key parameter makes no sense
|
* the operation selected. I.E. passing the key parameter makes no sense
|
||||||
* for the add operation, and thus it isn't allowed.
|
* for the add operation, and thus it isn't allowed.
|
||||||
*/
|
*/
|
||||||
@ -214,7 +214,7 @@ typedef struct bdb_instance {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*%
|
/*%
|
||||||
* checkInvalidOption is used to only allow paramters which make sense for
|
* checkInvalidOption is used to only allow parameters which make sense for
|
||||||
* the operation selected - but checks boolean options.
|
* the operation selected - but checks boolean options.
|
||||||
* I.E. passing the "b" bare_list parameter makes no sense for the add
|
* I.E. passing the "b" bare_list parameter makes no sense for the add
|
||||||
* operation, and thus it isn't allowed.
|
* operation, and thus it isn't allowed.
|
||||||
@ -772,7 +772,7 @@ operation_add(void) {
|
|||||||
checkInvalidParam(c_ip, "i", "for add operation");
|
checkInvalidParam(c_ip, "i", "for add operation");
|
||||||
checkInvalidOption(list_everything, true, "e", "for add operation");
|
checkInvalidOption(list_everything, true, "e", "for add operation");
|
||||||
|
|
||||||
/* if open lexer fails it alread prints error messages. */
|
/* if open lexer fails it already prints error messages. */
|
||||||
if (open_lexer() != ISC_R_SUCCESS) {
|
if (open_lexer() != ISC_R_SUCCESS) {
|
||||||
quit(4);
|
quit(4);
|
||||||
}
|
}
|
||||||
|
@ -251,7 +251,7 @@ case "$use_dlz_bdb" in
|
|||||||
AC_MSG_RESULT( )
|
AC_MSG_RESULT( )
|
||||||
for dd in $bdbdirs
|
for dd in $bdbdirs
|
||||||
do
|
do
|
||||||
# Skip nonexistant directories
|
# Skip nonexistent directories
|
||||||
if test ! -d "$dd"
|
if test ! -d "$dd"
|
||||||
then
|
then
|
||||||
continue
|
continue
|
||||||
|
@ -113,7 +113,7 @@ bdb_parse_data(char *in, parsed_data_t *pd) {
|
|||||||
char *lastchar = (char *)&tmp[strlen(tmp) + 1];
|
char *lastchar = (char *)&tmp[strlen(tmp) + 1];
|
||||||
|
|
||||||
/*%
|
/*%
|
||||||
* String should be formated as:
|
* String should be formatted as:
|
||||||
* zone(a space)host(a space)ttl(a space)type(a space)remaining data
|
* zone(a space)host(a space)ttl(a space)type(a space)remaining data
|
||||||
* examples:
|
* examples:
|
||||||
* example.com www 10 A 127.0.0.1
|
* example.com www 10 A 127.0.0.1
|
||||||
@ -193,7 +193,7 @@ bdb_parse_data(char *in, parsed_data_t *pd) {
|
|||||||
if (*endp != '\0' || pd->ttl < 0) {
|
if (*endp != '\0' || pd->ttl < 0) {
|
||||||
isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE,
|
isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE,
|
||||||
DNS_LOGMODULE_DLZ, ISC_LOG_ERROR,
|
DNS_LOGMODULE_DLZ, ISC_LOG_ERROR,
|
||||||
"BDB driver ttl must be a postive number");
|
"BDB driver ttl must be a positive number");
|
||||||
return (ISC_R_FAILURE);
|
return (ISC_R_FAILURE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -130,7 +130,7 @@ bdbhpt_parse_data(char *in, bdbhpt_parsed_data_t *pd) {
|
|||||||
char *lastchar = (char *)&tmp[strlen(tmp)];
|
char *lastchar = (char *)&tmp[strlen(tmp)];
|
||||||
|
|
||||||
/*%
|
/*%
|
||||||
* String should be formated as:
|
* String should be formatted as:
|
||||||
* replication_id
|
* replication_id
|
||||||
* (a space)
|
* (a space)
|
||||||
* host_name
|
* host_name
|
||||||
@ -220,7 +220,7 @@ bdbhpt_parse_data(char *in, bdbhpt_parsed_data_t *pd) {
|
|||||||
if (*endp != '\0' || pd->ttl < 0) {
|
if (*endp != '\0' || pd->ttl < 0) {
|
||||||
isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE,
|
isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE,
|
||||||
DNS_LOGMODULE_DLZ, ISC_LOG_ERROR,
|
DNS_LOGMODULE_DLZ, ISC_LOG_ERROR,
|
||||||
"bdbhpt driver ttl must be a postive number");
|
"bdbhpt driver ttl must be a positive number");
|
||||||
return (ISC_R_FAILURE);
|
return (ISC_R_FAILURE);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -506,7 +506,7 @@ bdbhpt_findzone(void *driverarg, void *dbdata, const char *name,
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* reverse string to take advantage of BDB locality of reference
|
* reverse string to take advantage of BDB locality of reference
|
||||||
* if we need futher lookups because the zone doesn't match the
|
* if we need further lookups because the zone doesn't match the
|
||||||
* first time.
|
* first time.
|
||||||
*/
|
*/
|
||||||
key.data = bdbhpt_strrev(key.data);
|
key.data = bdbhpt_strrev(key.data);
|
||||||
@ -704,7 +704,7 @@ bdbhpt_create(const char *dlzname, unsigned int argc, char *argv[],
|
|||||||
break;
|
break;
|
||||||
/*
|
/*
|
||||||
* Private mode. No inter-process communication & no locking.
|
* Private mode. No inter-process communication & no locking.
|
||||||
* Lowest saftey - highest speed.
|
* Lowest safety - highest speed.
|
||||||
*/
|
*/
|
||||||
case 'P':
|
case 'P':
|
||||||
case 'p':
|
case 'p':
|
||||||
|
@ -543,7 +543,7 @@ process_dir(isc_dir_t *dir, void *passback, config_data_t *cd,
|
|||||||
isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE,
|
isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE,
|
||||||
DNS_LOGMODULE_DLZ, ISC_LOG_ERROR,
|
DNS_LOGMODULE_DLZ, ISC_LOG_ERROR,
|
||||||
"Filesystem driver "
|
"Filesystem driver "
|
||||||
"ttl must be a postive number");
|
"ttl must be a positive number");
|
||||||
}
|
}
|
||||||
|
|
||||||
/* pass data back to Bind */
|
/* pass data back to Bind */
|
||||||
@ -904,7 +904,7 @@ fs_create(const char *dlzname, unsigned int argc, char *argv[], void *driverarg,
|
|||||||
isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE,
|
isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE,
|
||||||
DNS_LOGMODULE_DLZ, ISC_LOG_ERROR,
|
DNS_LOGMODULE_DLZ, ISC_LOG_ERROR,
|
||||||
"Directory split count must be zero (0) "
|
"Directory split count must be zero (0) "
|
||||||
"or a postive number");
|
"or a positive number");
|
||||||
}
|
}
|
||||||
|
|
||||||
/* get and store our separator character */
|
/* get and store our separator character */
|
||||||
|
@ -85,7 +85,7 @@ static dns_sdlzimplementation_t *dlz_ldap = NULL;
|
|||||||
#define LOOKUP 5
|
#define LOOKUP 5
|
||||||
|
|
||||||
/*%
|
/*%
|
||||||
* Structure to hold everthing needed by this "instance" of the LDAP
|
* Structure to hold everything needed by this "instance" of the LDAP
|
||||||
* driver remember, the driver code is only loaded once, but may have
|
* driver remember, the driver code is only loaded once, but may have
|
||||||
* many separate instances.
|
* many separate instances.
|
||||||
*/
|
*/
|
||||||
@ -382,7 +382,7 @@ ldap_process_results(LDAP *dbc, LDAPMessage *msg, char **attrs, void *ptr,
|
|||||||
|
|
||||||
/* skip empty attributes. */
|
/* skip empty attributes. */
|
||||||
if (vals == NULL || vals[0] == NULL) {
|
if (vals == NULL || vals[0] == NULL) {
|
||||||
/* increment attibute pointer */
|
/* increment attribute pointer */
|
||||||
attribute = attrs[++i];
|
attribute = attrs[++i];
|
||||||
/* start loop over */
|
/* start loop over */
|
||||||
continue;
|
continue;
|
||||||
@ -407,7 +407,7 @@ ldap_process_results(LDAP *dbc, LDAPMessage *msg, char **attrs, void *ptr,
|
|||||||
DNS_LOGMODULE_DLZ,
|
DNS_LOGMODULE_DLZ,
|
||||||
ISC_LOG_ERROR,
|
ISC_LOG_ERROR,
|
||||||
"LDAP driver ttl must "
|
"LDAP driver ttl must "
|
||||||
"be a postive number");
|
"be a positive number");
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@ -443,7 +443,7 @@ ldap_process_results(LDAP *dbc, LDAPMessage *msg, char **attrs, void *ptr,
|
|||||||
ldap_value_free(vals);
|
ldap_value_free(vals);
|
||||||
vals = NULL;
|
vals = NULL;
|
||||||
|
|
||||||
/* increment attibute pointer */
|
/* increment attribute pointer */
|
||||||
attribute = attrs[++i];
|
attribute = attrs[++i];
|
||||||
} /* end while (attribute != NULL) */
|
} /* end while (attribute != NULL) */
|
||||||
|
|
||||||
@ -701,7 +701,7 @@ ldap_get_results(const char *zone, const char *record, const char *client,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* perform ldap search syncronously */
|
/* perform ldap search synchronously */
|
||||||
ldap_result =
|
ldap_result =
|
||||||
ldap_search_s((LDAP *)dbi->dbconn, ldap_url->lud_dn,
|
ldap_search_s((LDAP *)dbi->dbconn, ldap_url->lud_dn,
|
||||||
ldap_url->lud_scope, ldap_url->lud_filter,
|
ldap_url->lud_scope, ldap_url->lud_filter,
|
||||||
|
@ -398,7 +398,7 @@ mysql_process_rs(dns_sdlzlookup_t *lookup, MYSQL_RES *rs) {
|
|||||||
DNS_LOGCATEGORY_DATABASE,
|
DNS_LOGCATEGORY_DATABASE,
|
||||||
DNS_LOGMODULE_DLZ, ISC_LOG_ERROR,
|
DNS_LOGMODULE_DLZ, ISC_LOG_ERROR,
|
||||||
"mysql driver ttl must be "
|
"mysql driver ttl must be "
|
||||||
"a postive number");
|
"a positive number");
|
||||||
}
|
}
|
||||||
result = dns_sdlz_putrr(lookup, safeGet(row[1]), ttl,
|
result = dns_sdlz_putrr(lookup, safeGet(row[1]), ttl,
|
||||||
safeGet(row[2]));
|
safeGet(row[2]));
|
||||||
@ -435,7 +435,7 @@ mysql_process_rs(dns_sdlzlookup_t *lookup, MYSQL_RES *rs) {
|
|||||||
DNS_LOGCATEGORY_DATABASE,
|
DNS_LOGCATEGORY_DATABASE,
|
||||||
DNS_LOGMODULE_DLZ, ISC_LOG_ERROR,
|
DNS_LOGMODULE_DLZ, ISC_LOG_ERROR,
|
||||||
"mysql driver ttl must be "
|
"mysql driver ttl must be "
|
||||||
"a postive number");
|
"a positive number");
|
||||||
}
|
}
|
||||||
/* ok, now tell Bind about it. */
|
/* ok, now tell Bind about it. */
|
||||||
result = dns_sdlz_putrr(lookup, safeGet(row[1]), ttl,
|
result = dns_sdlz_putrr(lookup, safeGet(row[1]), ttl,
|
||||||
@ -618,7 +618,7 @@ mysql_allnodes(const char *zone, void *driverarg, void *dbdata,
|
|||||||
isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE,
|
isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE,
|
||||||
DNS_LOGMODULE_DLZ, ISC_LOG_ERROR,
|
DNS_LOGMODULE_DLZ, ISC_LOG_ERROR,
|
||||||
"mysql driver ttl must be "
|
"mysql driver ttl must be "
|
||||||
"a postive number");
|
"a positive number");
|
||||||
}
|
}
|
||||||
if (fields == 4) {
|
if (fields == 4) {
|
||||||
/* tell Bind about it. */
|
/* tell Bind about it. */
|
||||||
@ -638,7 +638,7 @@ mysql_allnodes(const char *zone, void *driverarg, void *dbdata,
|
|||||||
tmpString = isc_mem_allocate(named_g_mctx, len + 1);
|
tmpString = isc_mem_allocate(named_g_mctx, len + 1);
|
||||||
/* copy this field to tmpString */
|
/* copy this field to tmpString */
|
||||||
strcpy(tmpString, safeGet(row[3]));
|
strcpy(tmpString, safeGet(row[3]));
|
||||||
/* concatonate the rest, with spaces between */
|
/* concatenate the rest, with spaces between */
|
||||||
for (j = 4; j < fields; j++) {
|
for (j = 4; j < fields; j++) {
|
||||||
strcat(tmpString, " ");
|
strcat(tmpString, " ");
|
||||||
strcat(tmpString, safeGet(row[j]));
|
strcat(tmpString, safeGet(row[j]));
|
||||||
@ -784,7 +784,7 @@ mysql_create(const char *dlzname, unsigned int argc, char *argv[],
|
|||||||
return (ISC_R_FAILURE);
|
return (ISC_R_FAILURE);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* parse connection string and get paramters. */
|
/* parse connection string and get parameters. */
|
||||||
|
|
||||||
/* get db name - required */
|
/* get db name - required */
|
||||||
dbname = getParameterValue(argv[1], "dbname=");
|
dbname = getParameterValue(argv[1], "dbname=");
|
||||||
|
@ -89,7 +89,7 @@ typedef struct {
|
|||||||
} odbc_db_t;
|
} odbc_db_t;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Structure to hold everthing needed by this "instance" of the odbc driver
|
* Structure to hold everything needed by this "instance" of the odbc driver
|
||||||
* remember, the driver code is only loaded once, but may have many separate
|
* remember, the driver code is only loaded once, but may have many separate
|
||||||
* instances
|
* instances
|
||||||
*/
|
*/
|
||||||
@ -119,7 +119,7 @@ safeLen(void *a) {
|
|||||||
return (strlen((char *)a));
|
return (strlen((char *)a));
|
||||||
}
|
}
|
||||||
|
|
||||||
/*% propertly cleans up an odbc_instance_t */
|
/*% properly cleans up an odbc_instance_t */
|
||||||
|
|
||||||
static void
|
static void
|
||||||
destroy_odbc_instance(odbc_instance_t *odbc_inst) {
|
destroy_odbc_instance(odbc_instance_t *odbc_inst) {
|
||||||
@ -402,9 +402,9 @@ odbc_makesafe(char *to, const char *from, size_t length) {
|
|||||||
* database instance (DBI). It will then run the query and hopefully
|
* database instance (DBI). It will then run the query and hopefully
|
||||||
* obtain a result set. The data base instance that is used is returned
|
* obtain a result set. The data base instance that is used is returned
|
||||||
* to the caller so they can get the data from the result set from it.
|
* to the caller so they can get the data from the result set from it.
|
||||||
* If successfull, it will be the responsibility of the caller to close
|
* If successful, it will be the responsibility of the caller to close
|
||||||
* the cursor, and unlock the mutex of the DBI when they are done with it.
|
* the cursor, and unlock the mutex of the DBI when they are done with it.
|
||||||
* If not successfull, this function will perform all the cleanup.
|
* If not successful, this function will perform all the cleanup.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
static isc_result_t
|
static isc_result_t
|
||||||
@ -593,7 +593,7 @@ odbc_get_resultset(const char *zone, const char *record, const char *client,
|
|||||||
if (result != ISC_R_SUCCESS) {
|
if (result != ISC_R_SUCCESS) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
/* incase this is the last time through the loop */
|
/* in case this is the last time through the loop */
|
||||||
result = ISC_R_FAILURE;
|
result = ISC_R_FAILURE;
|
||||||
} else {
|
} else {
|
||||||
result = ISC_R_SUCCESS;
|
result = ISC_R_SUCCESS;
|
||||||
@ -638,7 +638,7 @@ cleanup: /* it's always good to cleanup after yourself */
|
|||||||
/*%
|
/*%
|
||||||
* Gets a single field from the ODBC statement. The memory for the
|
* Gets a single field from the ODBC statement. The memory for the
|
||||||
* returned data is dynamically allocated. If this method is successful
|
* returned data is dynamically allocated. If this method is successful
|
||||||
* it is the reponsibility of the caller to free the memory using
|
* it is the responsibility of the caller to free the memory using
|
||||||
* isc_mem_free(named_g_mctx, *ptr);
|
* isc_mem_free(named_g_mctx, *ptr);
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@ -667,7 +667,7 @@ odbc_getField(SQLHSTMT *stmnt, SQLSMALLINT field, char **data) {
|
|||||||
/*%
|
/*%
|
||||||
* Gets multiple fields from the ODBC statement. The memory for the
|
* Gets multiple fields from the ODBC statement. The memory for the
|
||||||
* returned data is dynamically allocated. If this method is successful
|
* returned data is dynamically allocated. If this method is successful
|
||||||
* it is the reponsibility of the caller to free the memory using
|
* it is the responsibility of the caller to free the memory using
|
||||||
* isc_mem_free(named_g_mctx, *ptr);
|
* isc_mem_free(named_g_mctx, *ptr);
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@ -820,7 +820,7 @@ odbc_process_rs(dns_sdlzlookup_t *lookup, dbinstance_t *dbi) {
|
|||||||
DNS_LOGMODULE_DLZ,
|
DNS_LOGMODULE_DLZ,
|
||||||
ISC_LOG_ERROR,
|
ISC_LOG_ERROR,
|
||||||
"Odbc driver ttl must "
|
"Odbc driver ttl must "
|
||||||
"be a postive number");
|
"be a positive number");
|
||||||
result = ISC_R_FAILURE;
|
result = ISC_R_FAILURE;
|
||||||
} else {
|
} else {
|
||||||
/*
|
/*
|
||||||
@ -1043,7 +1043,7 @@ odbc_allnodes(const char *zone, void *driverarg, void *dbdata,
|
|||||||
DNS_LOGCATEGORY_DATABASE,
|
DNS_LOGCATEGORY_DATABASE,
|
||||||
DNS_LOGMODULE_DLZ, ISC_LOG_ERROR,
|
DNS_LOGMODULE_DLZ, ISC_LOG_ERROR,
|
||||||
"Odbc driver ttl must be "
|
"Odbc driver ttl must be "
|
||||||
"a postive number");
|
"a positive number");
|
||||||
result = ISC_R_FAILURE;
|
result = ISC_R_FAILURE;
|
||||||
} else {
|
} else {
|
||||||
/* successful converting TTL, tell Bind */
|
/* successful converting TTL, tell Bind */
|
||||||
@ -1206,7 +1206,7 @@ odbc_create(const char *dlzname, unsigned int argc, char *argv[],
|
|||||||
odbc_inst = isc_mem_get(named_g_mctx, sizeof(odbc_instance_t));
|
odbc_inst = isc_mem_get(named_g_mctx, sizeof(odbc_instance_t));
|
||||||
memset(odbc_inst, 0, sizeof(odbc_instance_t));
|
memset(odbc_inst, 0, sizeof(odbc_instance_t));
|
||||||
|
|
||||||
/* parse connection string and get paramters. */
|
/* parse connection string and get parameters. */
|
||||||
|
|
||||||
/* get odbc database dsn - required */
|
/* get odbc database dsn - required */
|
||||||
odbc_inst->dsn = (SQLCHAR *)getParameterValue(argv[2], "dsn=");
|
odbc_inst->dsn = (SQLCHAR *)getParameterValue(argv[2], "dsn=");
|
||||||
|
@ -522,7 +522,7 @@ postgres_get_resultset(const char *zone, const char *record, const char *client,
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/* result set ok, break outter loop */
|
/* result set ok, break outer loop */
|
||||||
if (PQresultStatus(*rs) == PGRES_TUPLES_OK) {
|
if (PQresultStatus(*rs) == PGRES_TUPLES_OK) {
|
||||||
#if 0
|
#if 0
|
||||||
/* temporary logging message */
|
/* temporary logging message */
|
||||||
@ -682,7 +682,7 @@ postgres_process_rs(dns_sdlzlookup_t *lookup, PGresult *rs) {
|
|||||||
DNS_LOGCATEGORY_DATABASE,
|
DNS_LOGCATEGORY_DATABASE,
|
||||||
DNS_LOGMODULE_DLZ, ISC_LOG_ERROR,
|
DNS_LOGMODULE_DLZ, ISC_LOG_ERROR,
|
||||||
"Postgres driver ttl must be "
|
"Postgres driver ttl must be "
|
||||||
"a postive number");
|
"a positive number");
|
||||||
}
|
}
|
||||||
/* ok, now tell Bind about it. */
|
/* ok, now tell Bind about it. */
|
||||||
result = dns_sdlz_putrr(lookup, PQgetvalue(rs, i, 1),
|
result = dns_sdlz_putrr(lookup, PQgetvalue(rs, i, 1),
|
||||||
@ -870,7 +870,7 @@ postgres_allnodes(const char *zone, void *driverarg, void *dbdata,
|
|||||||
isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE,
|
isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE,
|
||||||
DNS_LOGMODULE_DLZ, ISC_LOG_ERROR,
|
DNS_LOGMODULE_DLZ, ISC_LOG_ERROR,
|
||||||
"Postgres driver ttl must be "
|
"Postgres driver ttl must be "
|
||||||
"a postive number");
|
"a positive number");
|
||||||
}
|
}
|
||||||
if (fields == 4) {
|
if (fields == 4) {
|
||||||
/* tell Bind about it. */
|
/* tell Bind about it. */
|
||||||
@ -891,7 +891,7 @@ postgres_allnodes(const char *zone, void *driverarg, void *dbdata,
|
|||||||
tmpString = isc_mem_allocate(named_g_mctx, len + 1);
|
tmpString = isc_mem_allocate(named_g_mctx, len + 1);
|
||||||
/* copy this field to tmpString */
|
/* copy this field to tmpString */
|
||||||
strcpy(tmpString, PQgetvalue(rs, i, 3));
|
strcpy(tmpString, PQgetvalue(rs, i, 3));
|
||||||
/* concatonate the rest, with spaces between */
|
/* concatenate the rest, with spaces between */
|
||||||
for (j = 4; j < fields; j++) {
|
for (j = 4; j < fields; j++) {
|
||||||
strcat(tmpString, " ");
|
strcat(tmpString, " ");
|
||||||
strcat(tmpString, PQgetvalue(rs, i, j));
|
strcat(tmpString, PQgetvalue(rs, i, j));
|
||||||
|
@ -108,7 +108,7 @@ sdlzh_destroy_sqldbinstance(dbinstance_t *dbi);
|
|||||||
char *
|
char *
|
||||||
sdlzh_get_parameter_value(isc_mem_t *mctx, const char *input, const char *key);
|
sdlzh_get_parameter_value(isc_mem_t *mctx, const char *input, const char *key);
|
||||||
|
|
||||||
/* Compatability with existing DLZ drivers */
|
/* Compatibility with existing DLZ drivers */
|
||||||
|
|
||||||
#define build_querystring sdlzh_build_querystring
|
#define build_querystring sdlzh_build_querystring
|
||||||
#define build_sqldbinstance sdlzh_build_sqldbinstance
|
#define build_sqldbinstance sdlzh_build_sqldbinstance
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
OVERVIEW:
|
OVERVIEW:
|
||||||
|
|
||||||
DLZ (Dynamically Loadable Zones) is an extention to BIND 9 that
|
DLZ (Dynamically Loadable Zones) is an extension to BIND 9 that
|
||||||
allows zone data to be retrieved directly from an external database.
|
allows zone data to be retrieved directly from an external database.
|
||||||
There is no required format or schema. DLZ drivers exist for several
|
There is no required format or schema. DLZ drivers exist for several
|
||||||
different database backends including PostgreSQL, MySQL, and LDAP and
|
different database backends including PostgreSQL, MySQL, and LDAP and
|
||||||
@ -136,7 +136,7 @@ The DLZ dlopen driver provides a set of callback functions:
|
|||||||
|
|
||||||
- isc_result_t writeable_zone(dns_view_t *view, const char *zone_name);
|
- isc_result_t writeable_zone(dns_view_t *view, const char *zone_name);
|
||||||
|
|
||||||
Allows the DLZ module to inform named that a given zone can recieve
|
Allows the DLZ module to inform named that a given zone can receive
|
||||||
DDNS updates. (Note: This is not currently supported for DLZ
|
DDNS updates. (Note: This is not currently supported for DLZ
|
||||||
databases that are configured as 'search no;')
|
databases that are configured as 'search no;')
|
||||||
|
|
||||||
|
@ -29,7 +29,7 @@
|
|||||||
*
|
*
|
||||||
* Additionally, a query for 'source-addr.example.nil/TXT' is always
|
* Additionally, a query for 'source-addr.example.nil/TXT' is always
|
||||||
* answered with the source address of the query. This is used to
|
* answered with the source address of the query. This is used to
|
||||||
* demonstrate the code that retreives client information from the
|
* demonstrate the code that retrieves client information from the
|
||||||
* caller.
|
* caller.
|
||||||
*
|
*
|
||||||
* To use this driver, "dlz_external.so" must be moved into the working
|
* To use this driver, "dlz_external.so" must be moved into the working
|
||||||
|
@ -510,7 +510,7 @@ dlz_findzonedb(void *dbdata, const char *name, dns_clientinfomethods_t *methods,
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* reverse string to take advantage of BDB locality of reference
|
* reverse string to take advantage of BDB locality of reference
|
||||||
* if we need futher lookups because the zone doesn't match the
|
* if we need further lookups because the zone doesn't match the
|
||||||
* first time.
|
* first time.
|
||||||
*/
|
*/
|
||||||
key.data = bdbhpt_strrev(key.data);
|
key.data = bdbhpt_strrev(key.data);
|
||||||
@ -733,7 +733,7 @@ dlz_create(const char *dlzname, unsigned int argc, char *argv[], void **dbdata,
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* Private mode. No inter-process communication & no locking.
|
* Private mode. No inter-process communication & no locking.
|
||||||
* Lowest saftey - highest speed.
|
* Lowest safety - highest speed.
|
||||||
*/
|
*/
|
||||||
case 'P':
|
case 'P':
|
||||||
case 'p':
|
case 'p':
|
||||||
|
@ -28,7 +28,7 @@ if (!defined $input_file || $input_file eq '') {
|
|||||||
|
|
||||||
my $zone_list = $opt->{zones};
|
my $zone_list = $opt->{zones};
|
||||||
if (!defined $zone_list || $zone_list eq '') {
|
if (!defined $zone_list || $zone_list eq '') {
|
||||||
usage('Please specify a space seperated list of zones');
|
usage('Please specify a space separated list of zones');
|
||||||
exit 1;
|
exit 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -128,7 +128,7 @@ sub usage {
|
|||||||
print STDERR "usage: $0 --bdb=<bdb-file> --input=<input-file> --zones=<zone-list>\n\n";
|
print STDERR "usage: $0 --bdb=<bdb-file> --input=<input-file> --zones=<zone-list>\n\n";
|
||||||
print STDERR "\tbdb-file: The output BerkeleyDB file you wish to create and use with bdbhpt-dynamic\n\n";
|
print STDERR "\tbdb-file: The output BerkeleyDB file you wish to create and use with bdbhpt-dynamic\n\n";
|
||||||
print STDERR "\tinput-file: The input text-file containing records to populate within your zones\n\n";
|
print STDERR "\tinput-file: The input text-file containing records to populate within your zones\n\n";
|
||||||
print STDERR "\tzone-list: The space-seperated list of zones you wish to create\n\n";
|
print STDERR "\tzone-list: The space-separated list of zones you wish to create\n\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
sub populate_records {
|
sub populate_records {
|
||||||
|
@ -553,7 +553,7 @@ process_dir(dir_t *dir, void *passback, config_data_t *cd, dlist_t *dir_list,
|
|||||||
ttl = strtol(ttlStr, &endp, 10);
|
ttl = strtol(ttlStr, &endp, 10);
|
||||||
if (*endp != '\0' || ttl < 0) {
|
if (*endp != '\0' || ttl < 0) {
|
||||||
cd->log(ISC_LOG_ERROR, "Filesystem driver "
|
cd->log(ISC_LOG_ERROR, "Filesystem driver "
|
||||||
"ttl must be a postive number");
|
"ttl must be a positive number");
|
||||||
}
|
}
|
||||||
|
|
||||||
/* pass data back to Bind */
|
/* pass data back to Bind */
|
||||||
@ -931,7 +931,7 @@ dlz_create(const char *dlzname, unsigned int argc, char *argv[], void **dbdata,
|
|||||||
cd->splitcnt = strtol(argv[4], &endp, 10);
|
cd->splitcnt = strtol(argv[4], &endp, 10);
|
||||||
if (*endp != '\0' || cd->splitcnt < 0) {
|
if (*endp != '\0' || cd->splitcnt < 0) {
|
||||||
cd->log(ISC_LOG_ERROR, "Directory split count must be zero (0) "
|
cd->log(ISC_LOG_ERROR, "Directory split count must be zero (0) "
|
||||||
"or a postive number");
|
"or a positive number");
|
||||||
}
|
}
|
||||||
|
|
||||||
/* get and store our separator character */
|
/* get and store our separator character */
|
||||||
|
@ -79,7 +79,7 @@
|
|||||||
#define LOOKUP 5
|
#define LOOKUP 5
|
||||||
|
|
||||||
/*%
|
/*%
|
||||||
* Structure to hold everthing needed by this "instance" of the LDAP
|
* Structure to hold everything needed by this "instance" of the LDAP
|
||||||
* driver remember, the driver code is only loaded once, but may have
|
* driver remember, the driver code is only loaded once, but may have
|
||||||
* many separate instances.
|
* many separate instances.
|
||||||
*/
|
*/
|
||||||
@ -388,7 +388,7 @@ ldap_process_results(ldap_instance_t *db, LDAP *dbc, LDAPMessage *msg,
|
|||||||
|
|
||||||
/* skip empty attributes. */
|
/* skip empty attributes. */
|
||||||
if (vals == NULL || vals[0] == NULL) {
|
if (vals == NULL || vals[0] == NULL) {
|
||||||
/* increment attibute pointer */
|
/* increment attribute pointer */
|
||||||
attribute = attrs[++i];
|
attribute = attrs[++i];
|
||||||
/* start loop over */
|
/* start loop over */
|
||||||
continue;
|
continue;
|
||||||
@ -410,7 +410,7 @@ ldap_process_results(ldap_instance_t *db, LDAP *dbc, LDAPMessage *msg,
|
|||||||
if (*endp != '\0' || ttl < 0) {
|
if (*endp != '\0' || ttl < 0) {
|
||||||
db->log(ISC_LOG_ERROR, "LDAP driver "
|
db->log(ISC_LOG_ERROR, "LDAP driver "
|
||||||
"ttl must "
|
"ttl must "
|
||||||
"be a postive "
|
"be a positive "
|
||||||
"number");
|
"number");
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
@ -446,7 +446,7 @@ ldap_process_results(ldap_instance_t *db, LDAP *dbc, LDAPMessage *msg,
|
|||||||
ldap_value_free(vals);
|
ldap_value_free(vals);
|
||||||
vals = NULL;
|
vals = NULL;
|
||||||
|
|
||||||
/* increment attibute pointer */
|
/* increment attribute pointer */
|
||||||
attribute = attrs[++i];
|
attribute = attrs[++i];
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -707,7 +707,7 @@ ldap_get_results(const char *zone, const char *record, const char *client,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* perform ldap search syncronously */
|
/* perform ldap search synchronously */
|
||||||
ldap_result =
|
ldap_result =
|
||||||
ldap_search_s((LDAP *)dbi->dbconn, ldap_url->lud_dn,
|
ldap_search_s((LDAP *)dbi->dbconn, ldap_url->lud_dn,
|
||||||
ldap_url->lud_scope, ldap_url->lud_filter,
|
ldap_url->lud_scope, ldap_url->lud_filter,
|
||||||
|
@ -69,7 +69,7 @@
|
|||||||
#define safeGet(in) in == NULL ? "" : in
|
#define safeGet(in) in == NULL ? "" : in
|
||||||
|
|
||||||
/*%
|
/*%
|
||||||
* Structure to hold everthing needed by this "instance" of the MySQL
|
* Structure to hold everything needed by this "instance" of the MySQL
|
||||||
* module remember, the module code is only loaded once, but may have
|
* module remember, the module code is only loaded once, but may have
|
||||||
* many separate instances.
|
* many separate instances.
|
||||||
*/
|
*/
|
||||||
@ -479,7 +479,7 @@ mysql_process_rs(mysql_instance_t *db, dns_sdlzlookup_t *lookup,
|
|||||||
if (*endp != '\0' || ttl < 0) {
|
if (*endp != '\0' || ttl < 0) {
|
||||||
db->log(ISC_LOG_ERROR, "MySQL module ttl must "
|
db->log(ISC_LOG_ERROR, "MySQL module ttl must "
|
||||||
"be "
|
"be "
|
||||||
"a postive number");
|
"a positive number");
|
||||||
return (ISC_R_FAILURE);
|
return (ISC_R_FAILURE);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -519,7 +519,7 @@ mysql_process_rs(mysql_instance_t *db, dns_sdlzlookup_t *lookup,
|
|||||||
if (*endp != '\0' || ttl < 0) {
|
if (*endp != '\0' || ttl < 0) {
|
||||||
db->log(ISC_LOG_ERROR, "MySQL module ttl must "
|
db->log(ISC_LOG_ERROR, "MySQL module ttl must "
|
||||||
"be "
|
"be "
|
||||||
"a postive number");
|
"a positive number");
|
||||||
free(tmpString);
|
free(tmpString);
|
||||||
return (ISC_R_FAILURE);
|
return (ISC_R_FAILURE);
|
||||||
}
|
}
|
||||||
@ -676,7 +676,7 @@ dlz_allnodes(const char *zone, void *dbdata, dns_sdlzallnodes_t *allnodes) {
|
|||||||
ttl = strtol(safeGet(row[0]), &endp, 10);
|
ttl = strtol(safeGet(row[0]), &endp, 10);
|
||||||
if (*endp != '\0' || ttl < 0) {
|
if (*endp != '\0' || ttl < 0) {
|
||||||
db->log(ISC_LOG_ERROR, "MySQL module ttl must be "
|
db->log(ISC_LOG_ERROR, "MySQL module ttl must be "
|
||||||
"a postive number");
|
"a positive number");
|
||||||
result = ISC_R_FAILURE;
|
result = ISC_R_FAILURE;
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
|
@ -69,7 +69,7 @@
|
|||||||
#define safeGet(in) in == NULL ? "" : in
|
#define safeGet(in) in == NULL ? "" : in
|
||||||
|
|
||||||
/*%
|
/*%
|
||||||
* Structure to hold everthing needed by this "instance" of the SQLite3
|
* Structure to hold everything needed by this "instance" of the SQLite3
|
||||||
* module remember, the module code is only loaded once, but may have
|
* module remember, the module code is only loaded once, but may have
|
||||||
* many separate instances.
|
* many separate instances.
|
||||||
*/
|
*/
|
||||||
@ -553,7 +553,7 @@ sqlite3_process_rs(sqlite3_instance_t *db, dns_sdlzlookup_t *lookup,
|
|||||||
if (*endp != '\0' || ttl < 0) {
|
if (*endp != '\0' || ttl < 0) {
|
||||||
db->log(ISC_LOG_ERROR, "SQLite3 module: TTL "
|
db->log(ISC_LOG_ERROR, "SQLite3 module: TTL "
|
||||||
"must be "
|
"must be "
|
||||||
"a postive number");
|
"a positive number");
|
||||||
return (ISC_R_FAILURE);
|
return (ISC_R_FAILURE);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -593,7 +593,7 @@ sqlite3_process_rs(sqlite3_instance_t *db, dns_sdlzlookup_t *lookup,
|
|||||||
if (*endp != '\0' || ttl < 0) {
|
if (*endp != '\0' || ttl < 0) {
|
||||||
db->log(ISC_LOG_ERROR, "SQLite3 module: TTL "
|
db->log(ISC_LOG_ERROR, "SQLite3 module: TTL "
|
||||||
"must be "
|
"must be "
|
||||||
"a postive number");
|
"a positive number");
|
||||||
free(tmpString);
|
free(tmpString);
|
||||||
return (ISC_R_FAILURE);
|
return (ISC_R_FAILURE);
|
||||||
}
|
}
|
||||||
@ -752,7 +752,7 @@ dlz_allnodes(const char *zone, void *dbdata, dns_sdlzallnodes_t *allnodes) {
|
|||||||
ttl = strtol(safeGet(row[0]), &endp, 10);
|
ttl = strtol(safeGet(row[0]), &endp, 10);
|
||||||
if (*endp != '\0' || ttl < 0) {
|
if (*endp != '\0' || ttl < 0) {
|
||||||
db->log(ISC_LOG_ERROR, "SQLite3 module: TTL must be "
|
db->log(ISC_LOG_ERROR, "SQLite3 module: TTL must be "
|
||||||
"a postive number");
|
"a positive number");
|
||||||
result = ISC_R_FAILURE;
|
result = ISC_R_FAILURE;
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
|
@ -20,7 +20,7 @@ as "thisexample.com", "exampleofthat.com", or "anexampleoftheotherthing.com".
|
|||||||
* 86400 A 192.0.0.100";
|
* 86400 A 192.0.0.100";
|
||||||
};
|
};
|
||||||
|
|
||||||
For any zone name matchin the wildcard, it would return the data from
|
For any zone name matching the wildcard, it would return the data from
|
||||||
the template. "$zone$" is replaced with zone name: i.e., the shortest
|
the template. "$zone$" is replaced with zone name: i.e., the shortest
|
||||||
possible string of labels in the query name that matches the wildcard.
|
possible string of labels in the query name that matches the wildcard.
|
||||||
"$record$" is replaced with the remainder of the query name. In the
|
"$record$" is replaced with the remainder of the query name. In the
|
||||||
|
@ -415,7 +415,7 @@
|
|||||||
checking whether the SERIAL field has been updated; if so,
|
checking whether the SERIAL field has been updated; if so,
|
||||||
a new transfer request is initiated. The timing of these
|
a new transfer request is initiated. The timing of these
|
||||||
refresh queries is controlled by the SOA REFRESH and RETRY
|
refresh queries is controlled by the SOA REFRESH and RETRY
|
||||||
fields, but can be overrridden with the
|
fields, but can be overridden with the
|
||||||
<command>max-refresh-time</command>,
|
<command>max-refresh-time</command>,
|
||||||
<command>min-refresh-time</command>,
|
<command>min-refresh-time</command>,
|
||||||
<command>max-retry-time</command>, and
|
<command>max-retry-time</command>, and
|
||||||
@ -10957,7 +10957,7 @@ example.com CNAME rpz-tcp-only.
|
|||||||
<para>
|
<para>
|
||||||
If the anchor type is <command>static-ds</command> or
|
If the anchor type is <command>static-ds</command> or
|
||||||
<command>initial-ds</command>, then it is followed with the
|
<command>initial-ds</command>, then it is followed with the
|
||||||
key tag, algorithm, digest type, and the hexidecimal
|
key tag, algorithm, digest type, and the hexadecimal
|
||||||
representation of the key digest. This is identical to the
|
representation of the key digest. This is identical to the
|
||||||
text representation of a DS record. Spaces, tabs, newlines
|
text representation of a DS record. Spaces, tabs, newlines
|
||||||
and carriage returns are ignored.
|
and carriage returns are ignored.
|
||||||
@ -11254,7 +11254,7 @@ example.com CNAME rpz-tcp-only.
|
|||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
A margin that is added to the pre-publication
|
A margin that is added to the pre-publication
|
||||||
interval in rollover timing calcuations to give some
|
interval in rollover timing calculations to give some
|
||||||
extra time to cover unforeseen events. This increases
|
extra time to cover unforeseen events. This increases
|
||||||
the time that keys are published before becoming active.
|
the time that keys are published before becoming active.
|
||||||
The default is <constant>PT1H</constant> (1 hour).
|
The default is <constant>PT1H</constant> (1 hour).
|
||||||
@ -11998,7 +11998,7 @@ view "external" {
|
|||||||
<para>
|
<para>
|
||||||
If a redirect zone is configured with a
|
If a redirect zone is configured with a
|
||||||
<option>masters</option> option, then it is
|
<option>masters</option> option, then it is
|
||||||
transfered in as if it were a slave zone.
|
transferred in as if it were a slave zone.
|
||||||
Otherwise, it is loaded from a file as if it
|
Otherwise, it is loaded from a file as if it
|
||||||
were a master zone.
|
were a master zone.
|
||||||
</para>
|
</para>
|
||||||
|
@ -448,7 +448,7 @@
|
|||||||
checking whether the SERIAL field has been updated; if so,
|
checking whether the SERIAL field has been updated; if so,
|
||||||
a new transfer request is initiated. The timing of these
|
a new transfer request is initiated. The timing of these
|
||||||
refresh queries is controlled by the SOA REFRESH and RETRY
|
refresh queries is controlled by the SOA REFRESH and RETRY
|
||||||
fields, but can be overrridden with the
|
fields, but can be overridden with the
|
||||||
<span class="command"><strong>max-refresh-time</strong></span>,
|
<span class="command"><strong>max-refresh-time</strong></span>,
|
||||||
<span class="command"><strong>min-refresh-time</strong></span>,
|
<span class="command"><strong>min-refresh-time</strong></span>,
|
||||||
<span class="command"><strong>max-retry-time</strong></span>, and
|
<span class="command"><strong>max-retry-time</strong></span>, and
|
||||||
|
@ -8942,7 +8942,7 @@ example.com CNAME rpz-tcp-only.
|
|||||||
<p>
|
<p>
|
||||||
If the anchor type is <span class="command"><strong>static-ds</strong></span> or
|
If the anchor type is <span class="command"><strong>static-ds</strong></span> or
|
||||||
<span class="command"><strong>initial-ds</strong></span>, then it is followed with the
|
<span class="command"><strong>initial-ds</strong></span>, then it is followed with the
|
||||||
key tag, algorithm, digest type, and the hexidecimal
|
key tag, algorithm, digest type, and the hexadecimal
|
||||||
representation of the key digest. This is identical to the
|
representation of the key digest. This is identical to the
|
||||||
text representation of a DS record. Spaces, tabs, newlines
|
text representation of a DS record. Spaces, tabs, newlines
|
||||||
and carriage returns are ignored.
|
and carriage returns are ignored.
|
||||||
@ -10141,7 +10141,7 @@ view "external" {
|
|||||||
<p>
|
<p>
|
||||||
If a redirect zone is configured with a
|
If a redirect zone is configured with a
|
||||||
<code class="option">masters</code> option, then it is
|
<code class="option">masters</code> option, then it is
|
||||||
transfered in as if it were a slave zone.
|
transferred in as if it were a slave zone.
|
||||||
Otherwise, it is loaded from a file as if it
|
Otherwise, it is loaded from a file as if it
|
||||||
were a master zone.
|
were a master zone.
|
||||||
</p>
|
</p>
|
||||||
|
@ -96,7 +96,7 @@
|
|||||||
The <span class="command"><strong>dnssec-cds</strong></span> command uses special DNSSEC
|
The <span class="command"><strong>dnssec-cds</strong></span> command uses special DNSSEC
|
||||||
validation logic specified by RFC 7344. It requires that the CDS
|
validation logic specified by RFC 7344. It requires that the CDS
|
||||||
and/or CDNSKEY records are validly signed by a key represented in the
|
and/or CDNSKEY records are validly signed by a key represented in the
|
||||||
existing DS records. This will typicially be the pre-existing
|
existing DS records. This will typically be the pre-existing
|
||||||
key-signing key (KSK).
|
key-signing key (KSK).
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
|
@ -371,7 +371,7 @@
|
|||||||
<dt><span class="term"><span class="command"><strong>"increment"</strong></span></span></dt>
|
<dt><span class="term"><span class="command"><strong>"increment"</strong></span></span></dt>
|
||||||
<dd>
|
<dd>
|
||||||
<p>Increment the SOA serial number using RFC 1982
|
<p>Increment the SOA serial number using RFC 1982
|
||||||
arithmetics.</p>
|
arithmetic.</p>
|
||||||
</dd>
|
</dd>
|
||||||
<dt><span class="term"><span class="command"><strong>"unixtime"</strong></span></span></dt>
|
<dt><span class="term"><span class="command"><strong>"unixtime"</strong></span></span></dt>
|
||||||
<dd>
|
<dd>
|
||||||
|
@ -14,7 +14,7 @@ Overview.
|
|||||||
send it. This fits with the priciple of being liberal with
|
send it. This fits with the priciple of being liberal with
|
||||||
what you accept and strict with what you send.
|
what you accept and strict with what you send.
|
||||||
|
|
||||||
There are a few cases where it does not make sence to accept
|
There are a few cases where it does not make sense to accept
|
||||||
compression pointers of a given type. i.e. the first domain name
|
compression pointers of a given type. i.e. the first domain name
|
||||||
in a message, local compression pointers in the ownername of a RR
|
in a message, local compression pointers in the ownername of a RR
|
||||||
or in a question.
|
or in a question.
|
||||||
|
@ -34,7 +34,7 @@ UDP restart:
|
|||||||
/*
|
/*
|
||||||
* If too many recv()'s are already running, just return.
|
* If too many recv()'s are already running, just return.
|
||||||
*
|
*
|
||||||
* If noone is attached to us, just return.
|
* If no one is attached to us, just return.
|
||||||
*
|
*
|
||||||
* Allocate a new buffer to receive into.
|
* Allocate a new buffer to receive into.
|
||||||
* If no more buffers:
|
* If no more buffers:
|
||||||
|
@ -14,7 +14,7 @@ When a task is shutdown:
|
|||||||
Any attempts to add shutdown events with isc_task_onshutdown()
|
Any attempts to add shutdown events with isc_task_onshutdown()
|
||||||
will fail, since the task is already shutting down
|
will fail, since the task is already shutting down
|
||||||
|
|
||||||
Task shutdown can be initiated explicity, via a call to isc_task_shutdown(),
|
Task shutdown can be initiated explicitly, via a call to isc_task_shutdown(),
|
||||||
or implicitly, when the following conditions occur:
|
or implicitly, when the following conditions occur:
|
||||||
|
|
||||||
The "shutting down" attribute of the task is not set
|
The "shutting down" attribute of the task is not set
|
||||||
@ -60,7 +60,7 @@ to the task queue.
|
|||||||
|
|
||||||
Event action (callback) rules:
|
Event action (callback) rules:
|
||||||
* no locks held on your behald when entering a callback.
|
* no locks held on your behald when entering a callback.
|
||||||
* not allowed to block, except when aquiring a lock.
|
* not allowed to block, except when acquiring a lock.
|
||||||
* not allowed to hold a lock when exiting the callback.
|
* not allowed to hold a lock when exiting the callback.
|
||||||
|
|
||||||
|
|
||||||
|
@ -100,7 +100,7 @@ Overview
|
|||||||
configurations to be identified earlier providing for a more stable
|
configurations to be identified earlier providing for a more stable
|
||||||
DNS.
|
DNS.
|
||||||
|
|
||||||
Compatability:
|
Compatibility:
|
||||||
|
|
||||||
Zones are required to be configuration file compatable with
|
Zones are required to be configuration file compatable with
|
||||||
BIND 8.x.
|
BIND 8.x.
|
||||||
|
@ -374,7 +374,7 @@ on failure (setting `errno` to indicate what the nature of the problem
|
|||||||
was), BIND style always keeps indication of the function's success or
|
was), BIND style always keeps indication of the function's success or
|
||||||
failure separate from its returned data. Similarly, the C library
|
failure separate from its returned data. Similarly, the C library
|
||||||
function `fread()` returns the number of characters read and then
|
function `fread()` returns the number of characters read and then
|
||||||
depends on `feof()` and `ferror()` to determine whether an error occured
|
depends on `feof()` and `ferror()` to determine whether an error occurred
|
||||||
or the end of file was reached, but BIND's version uses result codes:
|
or the end of file was reached, but BIND's version uses result codes:
|
||||||
|
|
||||||
char buffer[BUFSIZ];
|
char buffer[BUFSIZ];
|
||||||
|
@ -144,7 +144,7 @@ type name.
|
|||||||
|Parameter|Description |
|
|Parameter|Description |
|
||||||
|---------|-----------------------|
|
|---------|-----------------------|
|
||||||
|`class`|This argument should be ignored when used with a class-generic RR type, otherwise `REQUIRE(class == <value>)` should be present at the start of the function.|
|
|`class`|This argument should be ignored when used with a class-generic RR type, otherwise `REQUIRE(class == <value>)` should be present at the start of the function.|
|
||||||
|`type`|This should be tested with a `REQUIRE(type == <value>)` statement at the begining of the function.|
|
|`type`|This should be tested with a `REQUIRE(type == <value>)` statement at the beginning of the function.|
|
||||||
|`lexer`|This is used to read the input text stream.|
|
|`lexer`|This is used to read the input text stream.|
|
||||||
|`origin`|This is a absolute name used to qualify unqualified / partially qualified domain names in the text stream. It is passed to the name parsing routines.|
|
|`origin`|This is a absolute name used to qualify unqualified / partially qualified domain names in the text stream. It is passed to the name parsing routines.|
|
||||||
|`downcase`|This is passed to the name parsing routines to determine whether to downcase the names it generates or leave them in the case they are presented in.|
|
|`downcase`|This is passed to the name parsing routines to determine whether to downcase the names it generates or leave them in the case they are presented in.|
|
||||||
@ -210,7 +210,7 @@ decompression methods if there is a domain name in the rdata.
|
|||||||
|Parameter|Description |
|
|Parameter|Description |
|
||||||
|---------|-----------------------|
|
|---------|-----------------------|
|
||||||
|`class`|This argument should be ignored when used with a class-generic RR type otherwise `REQUIRE(class == <value>)` should be present at the start of the function.|
|
|`class`|This argument should be ignored when used with a class-generic RR type otherwise `REQUIRE(class == <value>)` should be present at the start of the function.|
|
||||||
|`type`|This should be tested with a `REQUIRE(type == <value>)` statement at the begining of the function.|
|
|`type`|This should be tested with a `REQUIRE(type == <value>)` statement at the beginning of the function.|
|
||||||
|`source`|This is a `BINARY` buffer with the `active` region containing a resource record in wire format.|
|
|`source`|This is a `BINARY` buffer with the `active` region containing a resource record in wire format.|
|
||||||
|`dctx`|This is the decompression context and is passed to `dns_name_fromwire()`, along with `downcase`, to enable a compressed domain name to be extracted from the source.|
|
|`dctx`|This is the decompression context and is passed to `dns_name_fromwire()`, along with `downcase`, to enable a compressed domain name to be extracted from the source.|
|
||||||
|`downcase`|This is passed to `dns_name_fromwire()` to say whether the extracted domain name should be downcased during the extraction.|
|
|`downcase`|This is passed to `dns_name_fromwire()` to say whether the extracted domain name should be downcased during the extraction.|
|
||||||
|
@ -77,7 +77,7 @@
|
|||||||
/// critical.
|
/// critical.
|
||||||
///
|
///
|
||||||
/// \li If we ever get really ambitious, we might try processing
|
/// \li If we ever get really ambitious, we might try processing
|
||||||
/// Doxygen's XML output, which is basicly a dump of what Doxygen
|
/// Doxygen's XML output, which is basically a dump of what Doxygen
|
||||||
/// was able to scrape from the sources. This would be a major
|
/// was able to scrape from the sources. This would be a major
|
||||||
/// project, just something to think about if there's something we
|
/// project, just something to think about if there's something we
|
||||||
/// really don't like about the output Doxygen generates. Punt
|
/// really don't like about the output Doxygen generates. Punt
|
||||||
|
@ -46,7 +46,7 @@ ipv6 addresses separately.
|
|||||||
|
|
||||||
In any case, bind9 named binds to specific addresses for ipv4 sockets.
|
In any case, bind9 named binds to specific addresses for ipv4 sockets.
|
||||||
|
|
||||||
The followings are historical notes when we always bound to the ipv6
|
The following are historical notes when we always bound to the ipv6
|
||||||
wildcard port regardless of the availability of the API support.
|
wildcard port regardless of the availability of the API support.
|
||||||
These problems should not happen with the closer checks above.
|
These problems should not happen with the closer checks above.
|
||||||
|
|
||||||
|
@ -154,8 +154,8 @@ everywhere with or without --with-idn.
|
|||||||
used.
|
used.
|
||||||
|
|
||||||
[12] Section 5.5 does not match reality. Named uses the presence
|
[12] Section 5.5 does not match reality. Named uses the presence
|
||||||
of DO=1 to detect if validation may be occuring. CD has no bearing
|
of DO=1 to detect if validation may be occurring. CD has no bearing
|
||||||
on whether validation is occuring or not.
|
on whether validation is occurring or not.
|
||||||
|
|
||||||
[13] Conditional on the OpenSSL library being linked against
|
[13] Conditional on the OpenSSL library being linked against
|
||||||
supporting ECDSA.
|
supporting ECDSA.
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user