--- 9.11.13 released ---
-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
including NSEC3. Also fix the signature clusters
when the server has been offline for prolonged
4965. [func] Add support for marking options as deprecated.
[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
by the algorithm of the key to be deleted. [GL #240]
[RT #46725]
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
an error in top-level configure script. [RT #46655]
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
- of whether it is teated as signed or unsigned by
+ of whether it is treated as signed or unsigned by
the compiler. [RT #32792]
3517. [bug] Reorder destruction to avoid shutdown race. [RT #32777]
--- 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:
- 'rndc signing -list' displays the current
2998. [func] Add isc_task_beginexclusive and isc_task_endexclusive
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]
2996. [security] Temporarily disable SO_ACCEPTFILTER support.
2096. [bug] libbind: handle applications that fail to detect
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]
2094. [contrib] Update named-bootconf. [RT #16404]
2076. [bug] Several files were missing #include <config.h>
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]
2074. [bug] dns_request_createvia2(), dns_request_createvia3(),
1796. [func] "rndc freeze/thaw" now freezes/thaws all zones.
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
non-terminal wildcard records.
acl.
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.
1392. [bug] named-checkzone: update usage.
839. [func] Dump packets for which there was no view or that the
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.
837. [cleanup] Multi-threading is now enabled by default only on
security issues so please encrypt your communications to us if possible,
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
and effectively and we respect and acknowledge responsible reporters.
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/).
-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
effectively and we respect and acknowledge responsible reporters.
* dig: report the number of extra bytes still left in the packet after
processing all the records.
* Support for IPSECKEY rdata type.
- * Raise the UDP recieve buffer size to 32k if it is less than 32k.
- * x86 and x86_64 now have seperate atomic locking implementations.
+ * Raise the UDP receive buffer size to 32k if it is less than 32k.
+ * x86 and x86_64 now have separate atomic locking implementations.
* named-checkconf now validates update-policy entries.
* Attempt to make the amount of work performed in a iteration self
tuning. The covers nodes clean from the cache per iteration, nodes
* 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 unless a server is explicitly set.
- * Integrate contibuted DLZ code into named.
- * Integrate contibuted IDN code from JPNIC.
+ * Integrate contributed DLZ code into named.
+ * Integrate contributed IDN code from JPNIC.
* libbind: corresponds to that from BIND 8.4.7.
BIND 9.3.0
- dig: report the number of extra bytes still left in the packet after
processing all the records.
- Support for IPSECKEY rdata type.
-- Raise the UDP recieve buffer size to 32k if it is less than 32k.
-- x86 and x86_64 now have seperate atomic locking implementations.
+- Raise the UDP receive buffer size to 32k if it is less than 32k.
+- x86 and x86_64 now have separate atomic locking implementations.
- named-checkconf now validates update-policy entries.
- 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
- 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
unless a server is explicitly set.
-- Integrate contibuted DLZ code into named.
-- Integrate contibuted IDN code from JPNIC.
+- Integrate contributed DLZ code into named.
+- Integrate contributed IDN code from JPNIC.
- libbind: corresponds to that from BIND 8.4.7.
#### BIND 9.3.0
dnl PKG_CHECK_MODULES(), but does not set variables or print errors.
dnl
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 have to call PKG_CHECK_EXISTS manually
AC_DEFUN([PKG_CHECK_EXISTS],
dumpzone = 1;
/*
- * If we are outputing to stdout then send the informational
+ * If we are printing to stdout then send the informational
* output to stderr.
*/
if (dumpzone &&
/*
* 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
active_node(dns_dbnode_t *node) {
* If we are not at a delegation then everything should be
* signed. If we are at a delegation then only the DS set
* is signed. The NS set is not signed at a delegation but
- * its existance is recorded in the bit map. Anything else
+ * its existence is recorded in the bit map. Anything else
* other than NSEC and DS is not signed at a delegation.
*/
if (rdataset.type != dns_rdatatype_rrsig &&
usage();
}
isc_commandline_argument = argv[isc_commandline_index];
- /* skip to next arguement */
+ /* skip to next argument */
isc_commandline_index++;
return (true);
}
*/
if (labels-first < 2) {
rpz_log_fail(client, DNS_RPZ_ERROR_LEVEL, suffix,
- rpz_type, " concatentate()", result);
+ rpz_type, " concatenate()", result);
return (ISC_R_FAILURE);
}
/*
*/
if (first == 0) {
rpz_log_fail(client, DNS_RPZ_DEBUG_LEVEL1, suffix,
- rpz_type, " concatentate()", result);
+ rpz_type, " concatenate()", result);
}
++first;
}
* 2nd zone matters until after recursing to get the A RRs and
* testing them in the first zone.
* Do not bother saving the work from this attempt,
- * because recusion is so slow.
+ * because recursion is so slow.
*/
if (qresult_type == RPZ_QRESULT_TYPE_RECURSE)
goto cleanup;
goto cleanup;
case DNS_RPZ_POLICY_CNAME:
/*
- * Add overridding CNAME from a named.conf
+ * Add overriding CNAME from a named.conf
* response-policy statement
*/
result = rpz_add_cname(client, rpz_st,
* When the view's configuration changes, the cached data may become
* invalid because it reflects our old view of the world. We check
* 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
* forwarder, changes in the forwarder configuration may invalidate
* the cache. At the moment, it's the administrator's responsibility to
}
/*
- * Determing the default DSCP code point.
+ * Determining the default DSCP code point.
*/
CHECKM(ns_config_getdscp(config, &ns_g_dscp), "dscp");
dnstapstats_index[i++] = dns_dnstapcounter_ ## counterid; \
} while (0)
i = 0;
- SET_DNSTAPSTATDESC(success, "dnstap messges written", "DNSTAPsuccess");
+ SET_DNSTAPSTATDESC(success, "dnstap messages written", "DNSTAPsuccess");
SET_DNSTAPSTATDESC(drop, "dnstap messages dropped", "DNSTAPdropped");
INSIST(i == dns_dnstapcounter_max);
next = ISC_LIST_NEXT(tuple, link);
if ((tuple->rdata.data[1] & ~DNS_NSEC3FLAG_OPTOUT) != 0) {
/*
- * If we havn't had any adds then the tuple->ttl must
+ * If we haven't had any adds then the tuple->ttl must
* be the original ttl and should be used for any
* future changes.
*/
for (tuple = ISC_LIST_HEAD(temp_diff.tuples);
tuple != NULL; tuple = next) {
/*
- * If we havn't had any adds then the tuple->ttl must be the
+ * If we haven't had any adds then the tuple->ttl must be the
* original ttl and should be used for any future changes.
*/
if (!ttl_good) {
/*
* Look for any deletes which match this ADD ignoring
- * flags. We don't need to explictly remove them as
+ * flags. We don't need to explicitly remove them as
* they will be removed a side effect of processing
* the add.
*/
/*
* Remove any existing CREATE request to add an
- * otherwise indentical chain with a reversed
+ * otherwise identical chain with a reversed
* OPTOUT state.
*/
buf[2] ^= DNS_NSEC3FLAG_OPTOUT;
dns_zone_getssutable(zone, &ssutable);
/*
- * Update message processing can leak record existance information
+ * Update message processing can leak record existence information
* so check that we are allowed to query this zone. Additionally
* if we would refuse all updates for this zone we bail out here.
*/
key=lambda event: event.when)
# 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 noop(*args, **kwargs): pass
if not output:
UNUSED(argv);
/*
- * Verify that returned values are reproducable.
+ * Verify that returned values are reproducible.
*/
isc_lfsr_init(&lfsr1, 0, 32, 0x80000057U, 0, NULL, NULL);
for (i = 0; i < 32; i++) {
} else {
if (result != ISC_R_NOMORE)
- printf("UNEXEPCTED ITERATION ERROR: %s",
+ printf("UNEXPECTED ITERATION ERROR: %s",
dns_result_totext(result));
break;
}
ERRCONT(result, "dns_name_fromtext");
result = dns_db_find(db, dns_fixedname_name(&name),
- NULL /*vesion*/,
+ NULL /*version*/,
dns_rdatatype_a,
0 /*options*/,
0 /*time*/,
pk11_result_register();
- /* Allocate hanles */
+ /* Allocate handles */
hKey = (CK_SESSION_HANDLE *)
malloc(count * sizeof(CK_SESSION_HANDLE));
if (hKey == NULL) {
pk11_result_register();
- /* Allocate hanles */
+ /* Allocate handles */
pubKey = (CK_SESSION_HANDLE *)
malloc(count * sizeof(CK_SESSION_HANDLE));
if (pubKey == NULL) {
pk11_result_register();
- /* Allocate hanles */
+ /* Allocate handles */
hKey = (CK_SESSION_HANDLE *)
malloc(count * sizeof(CK_SESSION_HANDLE));
if (hKey == NULL) {
pk11_result_register();
- /* Allocate hanles */
+ /* Allocate handles */
hKey = (CK_SESSION_HANDLE *)
malloc(count * sizeof(CK_SESSION_HANDLE));
if (hKey == NULL) {
# 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
# 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
do
_count=$((_count+1))
status=`expr $status + $ret`
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
$DIG $DIGOPTS axfr dynamic @10.53.0.2 > dig.ns2.test$n
digcomp dig.ns2.test$n postupdate.good || ret=1
status=`expr $status + $ret`
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
$DIG $DIGOPTS axfr dynamic @10.53.0.2 > dig.ns2.test$n
digcomp dig.ns2.test$n postns1.good || ret=1
#
# 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
-# 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
# should be reversed, 's3, s3, s3, s3' indicates that the third
# RRSIG should be repeated four times and everything else should
status=`expr $status + $ret`
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
$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
status=`expr $status + $ret`
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
$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
awk '{$2 = "3600"; print}' > $patchedfile
#
-# Seperate DNSSEC records.
+# Separate DNSSEC records.
#
zone=split-dnssec.example.
infile=split-dnssec.example.db.in
$SIGNER -P -r $RANDFILE -D -o $zone $zonefile > /dev/null 2>&1
#
-# Seperate DNSSEC records smart signing.
+# Separate DNSSEC records smart signing.
#
zone=split-smart.example.
infile=split-smart.example.db.in
; This is a zone which has two DNSKEY records, none of which have
; existing private key files available. The resulting zone should fail
-; the consistancy tests.
+; the consistency tests.
;
$TTL 3600
example.com. IN SOA ns hostmaster 00090000 1200 3600 604800 300
/*
* 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
dyndb_version(unsigned int *flags) {
result = syncptr_find_zone(inst, addr_rdata,
dns_fixedname_name(&ptr_name), &ptr_zone);
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'",
inst->db_name);
goto cleanup;
$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 "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
status=`expr $status + $ret`
# 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
-# 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.
#
# For example, the following input would generate normal query for
status=`expr $status + $ret`
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
for i in 1 2 3 4 5 6 7 8 9 10
do
status=`expr $status + $ret`
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
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
status=`expr $status + $ret`
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
for i in 0 1 2 3 4 5 6 7 8 9
do
ret=0
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
$DIFF checkzone.out$n zone/inheritownerafterinclude.good || ret=1
if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $ret + $status`
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
$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
# 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
-# 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.
#
# For example, the following input would generate normal query for
$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 });
}
ns7.server. A 10.53.0.7
;
; 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.
;
no-edns-version.tld. NS ns.no-edns-version.tld.
-# 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
-; RPZ preformance test
+; RPZ performance test
$TTL 120
@ SOA . hostmaster.ns.example.tld5. ( 1 3600 1200 604800 60 )
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 () {
if test -n "$TEST_FILE"; then
copy_setports $TEST_FILE tmp
$DIG -p ${PORT} @$ns3 ns example.com > dig.out.delegation
grep "status: SERVFAIL" dig.out.delegation > /dev/null || setret "I:failed"
- # 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
do
for type in AAAA A
# should not be there, hence the &&
grep "key id = $ckprerevoke\$" $cfile.signed > /dev/null && {
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 && {
ret=1
if [ $ret != 0 ]; then echo_i "failed"; fi
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`
echo_i "checking server reload with a different static-stub config ($n)"
ret=0
/*
* The contents of nsec3 and private.nsec3 are specially choosen 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".
*/
zone "nsec3" { type master; file "nsec3.db.signed"; };
DIGOPTS="+tcp +noadd +nosea +nostat +nocmd +dnssec -p ${PORT}"
n=`expr $n + 1`
-echo_i "checking that NSEC wildcard non-existance proof is returned auth ($n)"
+echo_i "checking that NSEC wildcard non-existence proof is returned auth ($n)"
ret=0
$DIG $DIGOPTS a b.wild.nsec +norec @10.53.0.1 > dig.out.ns1.test$n || ret=1
grep -i 'a\.wild\.nsec\..*NSEC.*nsec\..*NSEC' dig.out.ns1.test$n > /dev/null || ret=1
status=`expr $status + $ret`
n=`expr $n + 1`
-echo_i "checking that NSEC wildcard non-existance proof is returned non-validating ($n)"
+echo_i "checking that NSEC wildcard non-existence proof is returned non-validating ($n)"
ret=0
$DIG $DIGOPTS a b.wild.nsec @10.53.0.2 > dig.out.ns2.test$n || ret=1
grep -i 'a\.wild\.nsec\..*NSEC.*nsec\..*NSEC' dig.out.ns2.test$n > /dev/null || ret=1
status=`expr $status + $ret`
n=`expr $n + 1`
-echo_i "checking that NSEC wildcard non-existance proof is returned validating ($n)"
+echo_i "checking that NSEC wildcard non-existence proof is returned validating ($n)"
ret=0
$DIG $DIGOPTS a b.wild.nsec @10.53.0.3 > dig.out.ns3.test$n || ret=1
grep -i 'a\.wild\.nsec\..*NSEC.*nsec\..*NSEC' dig.out.ns3.test$n > /dev/null || ret=1
status=`expr $status + $ret`
n=`expr $n + 1`
-echo_i "checking that NSEC wildcard non-existance proof is returned validating + CD ($n)"
+echo_i "checking that NSEC wildcard non-existence proof is returned validating + CD ($n)"
ret=0
$DIG $DIGOPTS +cd a b.wild.nsec @10.53.0.5 > dig.out.ns5.test$n || ret=1
grep -i 'a\.wild\.nsec\..*NSEC.*nsec\..*NSEC' dig.out.ns5.test$n > /dev/null || ret=1
status=`expr $status + $ret`
n=`expr $n + 1`
-echo_i "checking that returned NSEC wildcard non-existance proof validates ($n)"
+echo_i "checking that returned NSEC wildcard non-existence proof validates ($n)"
ret=0
$DIG $DIGOPTS a b.wild.nsec @10.53.0.4 > dig.out.ns4.test$n || ret=1
grep -i 'a\.wild\.nsec\..*NSEC.*nsec\..*NSEC' dig.out.ns4.test$n > /dev/null || ret=1
status=`expr $status + $ret`
n=`expr $n + 1`
-echo_i "checking that NSEC wildcard non-existance proof is returned private, validating ($n)"
+echo_i "checking that NSEC wildcard non-existence proof is returned private, validating ($n)"
ret=0
$DIG $DIGOPTS a b.wild.private.nsec @10.53.0.3 > dig.out.ns3.test$n || ret=1
grep -i 'a\.wild\.private\.nsec\..*NSEC.*private\.nsec\..*NSEC' dig.out.ns3.test$n > /dev/null || ret=1
status=`expr $status + $ret`
n=`expr $n + 1`
-echo_i "checking that returned NSEC wildcard non-existance proof for private zone validates ($n)"
+echo_i "checking that returned NSEC wildcard non-existence proof for private zone validates ($n)"
ret=0
$DIG $DIGOPTS a b.wild.private.nsec @10.53.0.4 > dig.out.ns4.test$n || ret=1
grep -i 'a\.wild\.private\.nsec\..*NSEC.*private\.nsec\..*NSEC' dig.out.ns4.test$n > /dev/null || ret=1
status=`expr $status + $ret`
n=`expr $n + 1`
-echo_i "checking that NSEC3 wildcard non-existance proof is returned auth ($n)"
+echo_i "checking that NSEC3 wildcard non-existence proof is returned auth ($n)"
ret=0
$DIG $DIGOPTS a b.wild.nsec3 +norec @10.53.0.1 > dig.out.ns1.test$n || ret=1
grep -i 'O3TJ8D9AJ54CBTFCQCJ3QK49CH7SF6H9\.nsec3\..*V5DLFB6UJNHR94LQ61FO607KGK12H88A' dig.out.ns1.test$n > /dev/null || ret=1
status=`expr $status + $ret`
n=`expr $n + 1`
-echo_i "checking that NSEC3 wildcard non-existance proof is returned non-validating ($n)"
+echo_i "checking that NSEC3 wildcard non-existence proof is returned non-validating ($n)"
ret=0
$DIG $DIGOPTS a b.wild.nsec3 @10.53.0.2 > dig.out.ns2.test$n || ret=1
grep -i 'O3TJ8D9AJ54CBTFCQCJ3QK49CH7SF6H9\.nsec3\..*V5DLFB6UJNHR94LQ61FO607KGK12H88A' dig.out.ns2.test$n > /dev/null || ret=1
status=`expr $status + $ret`
n=`expr $n + 1`
-echo_i "checking that NSEC3 wildcard non-existance proof is returned validating ($n)"
+echo_i "checking that NSEC3 wildcard non-existence proof is returned validating ($n)"
ret=0
$DIG $DIGOPTS a b.wild.nsec3 @10.53.0.3 > dig.out.ns3.test$n || ret=1
grep -i 'O3TJ8D9AJ54CBTFCQCJ3QK49CH7SF6H9\.nsec3\..*V5DLFB6UJNHR94LQ61FO607KGK12H88A' dig.out.ns3.test$n > /dev/null || ret=1
status=`expr $status + $ret`
n=`expr $n + 1`
-echo_i "checking that NSEC3 wildcard non-existance proof is returned validating + CD ($n)"
+echo_i "checking that NSEC3 wildcard non-existence proof is returned validating + CD ($n)"
ret=0
$DIG $DIGOPTS +cd a b.wild.nsec3 @10.53.0.5 > dig.out.ns5.test$n || ret=1
grep -i 'O3TJ8D9AJ54CBTFCQCJ3QK49CH7SF6H9\.nsec3\..*V5DLFB6UJNHR94LQ61FO607KGK12H88A' dig.out.ns5.test$n > /dev/null || ret=1
status=`expr $status + $ret`
n=`expr $n + 1`
-echo_i "checking that returned NSEC3 wildcard non-existance proof validates ($n)"
+echo_i "checking that returned NSEC3 wildcard non-existence proof validates ($n)"
ret=0
$DIG $DIGOPTS a b.wild.nsec3 @10.53.0.4 > dig.out.ns4.test$n || ret=1
grep -i 'O3TJ8D9AJ54CBTFCQCJ3QK49CH7SF6H9\.nsec3\..*V5DLFB6UJNHR94LQ61FO607KGK12H88A' dig.out.ns4.test$n > /dev/null || ret=1
status=`expr $status + $ret`
n=`expr $n + 1`
-echo_i "checking that NSEC3 wildcard non-existance proof is returned private, validating ($n)"
+echo_i "checking that NSEC3 wildcard non-existence proof is returned private, validating ($n)"
ret=0
$DIG $DIGOPTS a b.wild.private.nsec3 @10.53.0.3 > dig.out.ns3.test$n || ret=1
grep -i 'UDBSP4R8OUOT6HSO39VD8B5LMOSHRD5N\.private\.nsec3\..*NSEC3.*ASDRUIB7GO00OR92S5OUGI404LT27RNU' dig.out.ns3.test$n > /dev/null || ret=1
status=`expr $status + $ret`
n=`expr $n + 1`
-echo_i "checking that returned NSEC3 wildcard non-existance proof for private zone validates ($n)"
+echo_i "checking that returned NSEC3 wildcard non-existence proof for private zone validates ($n)"
ret=0
$DIG $DIGOPTS a b.wild.private.nsec3 @10.53.0.4 > dig.out.ns4.test$n || ret=1
grep -i 'UDBSP4R8OUOT6HSO39VD8B5LMOSHRD5N\.private\.nsec3\..*NSEC3.*ASDRUIB7GO00OR92S5OUGI404LT27RNU' dig.out.ns4.test$n > /dev/null || ret=1
n=`expr $n + 1`
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
do
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
do
fprintf(stderr, "usage: named-rrchecker [-o origin] [-hpCPTu]\n");
fprintf(stderr, "\t-h: print this help message\n");
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-C: list the supported class names\n");
fprintf(stderr, "\t-P: list the supported private type names\n");
/*%
- * 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.
*/
"be specified once\n", y); quit(2);}
/*%
- * 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
* for the add operation, and thus it isn't allowed.
*/
"may not be specified %s\n", y, z); quit(2);}
/*%
- * 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.
* I.E. passing the "b" bare_list parameter makes no sense for the add
* operation, and thus it isn't allowed.
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) {
quit(4);
}
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
* examples:
* example.com www 10 A 127.0.0.1
char *lastchar = (char *) &tmp[strlen(tmp)];
/*%
- * String should be formated as:
+ * String should be formatted as:
* replication_id
* (a space)
* host_name
/*
* 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.
*/
key.data = bdbhpt_strrev(key.data);
break;
/*
* Private mode. No inter-process communication & no locking.
- * Lowest saftey - highest speed.
+ * Lowest safety - highest speed.
*/
case 'P':
case 'p':
#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
* many separate instances.
*/
/* skip empty attributes. */
if (vals == NULL || vals[0] == NULL) {
- /* increment attibute pointer */
+ /* increment attribute pointer */
attribute = attrs[++i];
/* start loop over */
continue;
ldap_value_free(vals);
vals = NULL;
- /* increment attibute pointer */
+ /* increment attribute pointer */
attribute = attrs[++i];
} /* end while (attribute != NULL) */
}
}
- /* perform ldap search syncronously */
+ /* perform ldap search synchronously */
ldap_result = ldap_search_s((LDAP *) dbi->dbconn,
ldap_url->lud_dn,
ldap_url->lud_scope,
}
/* copy this field to tmpString */
strcpy(tmpString, safeGet(row[3]));
- /* concatonate the rest, with spaces between */
+ /* concatenate the rest, with spaces between */
for (j=4; j < fields; j++) {
strcat(tmpString, " ");
strcat(tmpString, safeGet(row[j]));
return (ISC_R_FAILURE);
}
- /* parse connection string and get paramters. */
+ /* parse connection string and get parameters. */
/* get db name - required */
dbname = getParameterValue(argv[1], "dbname=");
} 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
* instances
*/
return strlen((char *) a);
}
-/*% propertly cleans up an odbc_instance_t */
+/*% properly cleans up an odbc_instance_t */
static void
destroy_odbc_instance(odbc_instance_t *odbc_inst) {
* database instance (DBI). It will then run the query and hopefully
* 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.
- * 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.
- * If not successfull, this function will perform all the cleanup.
+ * If not successful, this function will perform all the cleanup.
*/
/*%
* Gets a single field from the ODBC statement. The memory for the
* 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(ns_g_mctx, *ptr);
*/
/*%
* Gets multiple fields from the ODBC statement. The memory for the
* 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(ns_g_mctx, *ptr);
*/
return (ISC_R_NOMEMORY);
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 */
odbc_inst->dsn = (SQLCHAR *) getParameterValue(argv[2],
if (PQstatus((PGconn *) dbi->dbconn) == CONNECTION_OK)
break;
}
- /* result set ok, break outter loop */
+ /* result set ok, break outer loop */
if (PQresultStatus(*rs) == PGRES_TUPLES_OK) {
#if 0
/* temporary logging message */
}
/* copy this field to tmpString */
strcpy(tmpString, PQgetvalue(rs, i, 3));
- /* concatonate the rest, with spaces between */
+ /* concatenate the rest, with spaces between */
for (j=4; j < fields; j++) {
strcat(tmpString, " ");
strcat(tmpString, PQgetvalue(rs, i, j));
char *
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_sqldbinstance sdlzh_build_sqldbinstance
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.
There is no required format or schema. DLZ drivers exist for several
different database backends including PostgreSQL, MySQL, and LDAP and
- 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
databases that are configured as 'search no;')
*
* Additionally, a query for 'source-addr.example.nil/TXT' is always
* 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.
*
* To use this driver, "dlz_external.so" must be moved into the working
/*
* 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.
*/
key.data = bdbhpt_strrev(key.data);
/*
* Private mode. No inter-process communication & no locking.
- * Lowest saftey - highest speed.
+ * Lowest safety - highest speed.
*/
case 'P':
case 'p':
my $zone_list = $opt->{zones};
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;
}
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 "\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 {
#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
* many separate instances.
*/
/* skip empty attributes. */
if (vals == NULL || vals[0] == NULL) {
- /* increment attibute pointer */
+ /* increment attribute pointer */
attribute = attrs[++i];
/* start loop over */
continue;
ldap_value_free(vals);
vals = NULL;
- /* increment attibute pointer */
+ /* increment attribute pointer */
attribute = attrs[++i];
}
}
}
- /* perform ldap search syncronously */
+ /* perform ldap search synchronously */
ldap_result = ldap_search_s((LDAP *) dbi->dbconn,
ldap_url->lud_dn,
ldap_url->lud_scope,
#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
* many separate instances.
*/
#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
* many separate instances.
*/
* 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
possible string of labels in the query name that matches the wildcard.
"$record$" is replaced with the remainder of the query name. In the
include/idn/utf8.h, include/idn/version.h: include export.h. mark
exportable functions with IDN_EXPORT macro.
* lib/make.wnt: modify to create DLLs.
- * configure.in: add existance check for pwd.h.
+ * configure.in: add existence check for pwd.h.
* configure, include/config.h.in: rebuilt.
* lib/resconf.c, lib/localencoding.c: port to Win32.
* include/mdn/version.h: include <idn/version.h> for the declaration
*
* Check if there is any characters pecified by the context 'ctx' in
* the UCS4 string 'str'. If there are none, NULL is stored in '*found'.
- * Otherwise, the pointer to the first occurence of such character is
+ * Otherwise, the pointer to the first occurrence of such character is
* stored in '*found'.
*
* Returns:
roundtrip_check(idn_converter_t ctx, const unsigned long *from, const char *to)
{
/*
- * One problem with iconv() convertion is that
+ * One problem with iconv() conversion is that
* iconv() doesn't signal an error if the input
* string contains characters which are valid but
* do not have mapping to the output codeset.
/*
* Find the smallest code point equal to or greater
* than 'cur_code'. Also remember the index of the
- * last occurence of the code point.
+ * last occurrence of the code point.
*/
for (next_code = MAX_UCS, uidx = fromlen - 1;
uidx >= 0; uidx--) {
done
else
# Error occured in the first compile. Let's try to salvage the situation:
- # Compile a seperate program for each library.
+ # Compile a separate program for each library.
for i in $deplibs; do
name="`expr $i : '-l\(.*\)'`"
# If $name is empty we are operating on a -L argument.
static obj_lock_t *obj_lock_hash[OBJLOCKHASH_SIZE];
/*
- * This variable is to prevent IDN processing occuring more than once for
+ * This variable is to prevent IDN processing occurring more than once for
* a single name resolution. This will happen if some resolver function
* is implemented using another function (e.g. gethostbyname() implemented
* using gethostbyname2()).
To build idnkit for Windows, follow the instruction below.
To build Windows version, you need `iconv' library. A LGPL
-implemenation is available from the following place.
+implementation is available from the following place.
http://www.gnu.org/software/libiconv/
Follow the instructions described in README.woe32 file which can be
-found in the distribution, and you'll get a DLL vesion of `libiconv'.
+found in the distribution, and you'll get a DLL version of `libiconv'.
Copy the DLL (iconv.dll), the header (iconv.h) and the import library
(iconv.lib) here.
| +--------+ +--------+ |
+-----------------------------------------------------------------+
- Logging level can be selected from the followings.
+ Logging level can be selected from the following.
None no logging at all
Fatal only records fatal errors
Error also records non-fatal errors
checking whether the SERIAL field has been updated; if so,
a new transfer request is initiated. The timing of these
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>min-refresh-time</command>,
<command>max-retry-time</command>, and
checking whether the SERIAL field has been updated; if so,
a new transfer request is initiated. The timing of these
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>min-refresh-time</strong></span>,
<span class="command"><strong>max-retry-time</strong></span>, and
* dnssec-signzone should add cds and/or cdnskey to zone apex iff the
DNSKEY is published and is signing the DNSKEY RRset. CDS and CDNSKEY
records are only removed if there is a deletion date set (implicit on
- matching DNSKEY going inactive / unpublished or explict).
+ matching DNSKEY going inactive / unpublished or explicit).
Non-matching CDS and CDNSKEY are removed.
* auto-dnssec maintain should cds and/or cdnskey to zone apex iff the
DNSKEY is published and is signing the DNSKEY RRset. CDS and CDNSKEY
records are only removed if there is a deletion date set (implicit on
- matching DNSKEY going inactive / unpublished or explict).
+ matching DNSKEY going inactive / unpublished or explicit).
* UPDATE should check that CDS and CDNSKEY match a active DNSKEY that
is signing the DNSKEY RRset and ignore otherwise. This should be
the valid compression methods of the RBT. All nodes of the RBT
will have an offset excluding the root node.
- The local compression RBT will be initalised with the owner name
+ The local compression RBT will be initialised with the owner name
and the start of the rdata will be recorded.
We will use deepest partial match to find the potential
dns_result_t
dns_compress_init(dns_compress_t *cctx, int edns, isc_mem_t *mctx);
- Initalises cctx to empty and sets whether 16 bit global
+ Initialises cctx to empty and sets whether 16 bit global
compression targets are to be added to the global RBT based on the
edns value.
dns_compress_localinit(dns_compress_t *cctx, dns_name_t *owner,
isc_buffer_t *target);
- Initalise a RBT for local compression, freeing and existing RBT.
+ Initialise a RBT for local compression, freeing and existing RBT.
Record current offset.
dns_compress_invalidate(dns_compress_t *cctx);
Find the best best match in the global / local RBT. Returns prefix,
suffix and offset of the bestmatch. Findglobal(), findlocal()
- requires as workspace as it may be neccessary to spit a bit stream
+ requires as workspace as it may be necessary to spit a bit stream
label. The result prefix will be such that it can be added to the
wire format followed by a compression pointer pointing to offset.
Suffix is returned so that it is possible to add the compression
Add compression pointers pointing to lebels (if any) in prefix.
The offset to the first label is passed in offset.
-Dependancy:
+Dependency:
Requires RBT deepest match.
Requires the ability to walk the RBT and remove any node which
In general the resolver / nameserver should accept any compression
method at any time regardless of whether it was legal to
- send it. This fits with the priciple of being liberal with
+ send it. This fits with the principle of being liberal with
what you accept and strict with what you send.
There are a few cases where it does not make sence to accept
or in a question.
When performing regression testing however we should be as strict
- as possible. Hence we need to be able modifiy the behaviour of the
+ as possible. Hence we need to be able modify the behaviour of the
decompression routines.
To be able to decompress a domain name we need some or all of the
void
dns_decompress_init(dns_decompress_t *dctx, int edns,
bool strict);
- initalise dctx
+ initialise dctx
dctx->ownername is invalidated
void
dns_decompress_localinit(dns_decompress_t *dctx, dns_name_t *name,
isc_buffer_t *source);
- initalise dctx->ownername
+ initialise dctx->ownername
record source->current to dctx->rdata
void
unsigned int dscp; /*%< UDP dscp value */
};
-A convience function will be provided to allocate and intialize the structure.
+A convenience function will be provided to allocate and initialize the structure.
isc_socketevent_t *
isc_socket_socketevent(isc_socket_t *sock0, isc_eventtype_t eventtype,
FUNDAMENTALS
This section describes the basics of how the system works, introduces
-terms and defines C preprocessor symbols used in conjuction with
+terms and defines C preprocessor symbols used in conjunction with
logging functions. Actual uses of functions are demonstrated in the
following two sections.
Since null channels go nowhere, no additional destination
specification is necessary.
-The words "destination" and "channel" can be used interchangably in
+The words "destination" and "channel" can be used interchangeably in
some contexts. Referring to a file channel, for example, means a
channel that has a file destination.
You can set all four of those options with ISC_LOG_PRINTALL.
-Syslog channels do not need ISC_LOG_PRINTTIME, but it is usally a good
+Syslog channels do not need ISC_LOG_PRINTTIME, but it is usually a good
idea for file and file descriptor feeds.
The additional option does not affect formatting. It is
isc_log_create(mctx, &lctx, &lcfg) != ISC_R_SUCCESS))
oops_it_didnt_work();
-3) Initalize any additional libraries. The convention for the name of
+3) Initialize any additional libraries. The convention for the name of
the initialization function is {library}_log_init, with just a pointer
to the logging context as an argument. The function can only be
called once in a program or it will generate an assertion error.
result = isc_logconfig_use(lctx, newlcfg);
-If the new configration is successfully installed, then the old one
+If the new configuration is successfully installed, then the old one
will be destroyed, freeing all memory it used.
There are three additional functions you might find useful in your
differentiate very similar messages in the same module.
When available, include standard library return codes via %s in the
-format string, with strerrr(errno) from the system libary or functions
+format string, with strerrr(errno) from the system library or functions
like isc_result_totext(result) and dns_result_totext(result).
THINGS I AM NOT KEEN ABOUT
In BIND9, the red-black tree implementation uses DNS names as keys,
and can store arbitrary data with each key value. "name" and "key"
-are used interchangably in this document.
+are used interchangeably in this document.
The basic red-black tree algorithm is further adapted for use in BIND9
to incorporate the notion of hierarchy, creating a tree of red-black
/*
* The following bitfields add up to a total bitwidth of 32.
* The range of values necessary for each item is indicated,
- * but in the case of "attributes" the field is wider to accomodate
+ * but in the case of "attributes" the field is wider to accommodate
* possible future expansion. "offsetlen" could be one bit
* narrower by always adjusting its value by 1 to find the real
* offsetlen, but doing so does not gain anything (except perhaps
Any attempts to add shutdown events with isc_task_onshutdown()
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:
The "shutting down" attribute of the task is not set
Event action (callback) rules:
* 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.
* check that each RRSIG set has a valid RRSIG and that all DNSKEY algorithms
in use are checked.
* provide a mechanism to mark DNSKEY algorithms to be ignored to support
- verification of zones that are in the processs of adding/removing
+ verification of zones that are in the process of adding/removing
support for a algorithm.
* provide a mechanism to check the zone as of a specified date and time.
* check that RRSIG won't expire within the TTL interval.
Overview
Zones are the unit of delegation in the DNS and may go from holding
- RR's only at the zone top to holding the complete hierachy (private
+ RR's only at the zone top to holding the complete hierarchy (private
roots zones). Zones have an associated database which is the
container for the RR sets that make up the zone.
support IXFR requests. While the entire contents of the old
version does not need to be kept, a change log needs to be
kept. An index into this log would be useful in speeding
- up replies. These versions have an explict expiry date.
+ up replies. These versions have an explicit expiry date.
"How long are we going to keep them operationally?"
While there are expriry dates based on last update /
configurations to be identified earlier providing for a more stable
DNS.
-Compatability:
+Compatibility:
- Zones are required to be configuration file compatable with
+ Zones are required to be configuration file compatible with
BIND 8.x.
Types:
subscripts). Other than for generic variables, if a negative value isn't
meaningful, the variable should be unsigned. Assignments and
comparisons between signed and unsigned integers should be avoided;
-suppressing the warnings with casts is not desireable.<P>
+suppressing the warnings with casts is not desirable.<P>
<H4>Casting</H4>
Casting should be avoided when possible. When it is necessary, there
-Renaming files by respository copy
+Renaming files by repository copy
When you need to rename or move a file that is under CVS control, use
### <a name="reviews"></a>The code review process
-Every line of code comitted to BIND has been reviewed by ISC engineers
+Every line of code committed to BIND has been reviewed by ISC engineers
first.
The code review process is a dialog between the original author and the
to a tiny niche). Second, whether the approach taken is consistent
with ISC's open-internet goals, BIND architecture, and DNS best
practices. Third, the contribution is checked for correctness and
-completness.
+completeness.
Obvious bottlenecks and places where performance or reliability may suffer
are noted as part of the review.
#### <a name="layout"></a> Source tree layout
* `bind9/bin`: binaries
- * `bind9/bin/named`: source code for `named` and `lwresd` binaries; includes server configuration, interface manager, client manger, and high-level processing logic for query, update, and xfer.
+ * `bind9/bin/named`: source code for `named` and `lwresd` binaries; includes server configuration, interface manager, client manager, and high-level processing logic for query, update, and xfer.
* `bind9/bin/dnssec`: DNSSEC-related tools written in C:
`dnssec-keygen`, `dnssec-signzone`, `dnssec-settime`,
`dnssec-revoke`, `dnssec-keyfromlabel`, `dnssec-dsfromkey`,
char buffer[BUFSIZ];
size_t n;
- result = isc_stdio_read(buffer, 1, sizeof(bufer), fp, &n);
+ result = isc_stdio_read(buffer, 1, sizeof(buffer), fp, &n);
if (result == ISC_R_SUCCESS) {
/* Do something with 'buffer'. */
} else if (result == ISC_R_EOF) {
for the ISC library are in `lib/isc/include/isc/result.h`.
ISC library result codes (many of which are generically useful elsewhere)
-begin with `ISC_R`: examples inclue `ISC_R_SUCCESS`, `ISC_R_FAILURE`,
+begin with `ISC_R`: examples include `ISC_R_SUCCESS`, `ISC_R_FAILURE`,
`ISC_R_NOMEMORY`, etc.
DNS library result codes begin with `DNS_R`: `DNS_R_SERVFAIL`, `DNS_R_NXRRSET`,
}
In some cases, calling an iterator function causes the acquisition of
-database and/or node locks. Rather than reaquire these locks every time
+database and/or node locks. Rather than reacquire these locks every time
one of these functions is called, they are often simply held until the
iterator is destroyed. If a caller wishes to hold an iterator open but not
use it for a while, it should call the iterator's `pause()` function (such
`ISC_LOG_DYNAMIC` indicates to the logging system that
debugging messages are desired, but only at the current debugging level
-of the program. The debugging level can be modifid dynamically at
+of the program. The debugging level can be modified dynamically at
runtime; in `named` this can be done by the `"rndc trace"` command.
When the debugging level is 0 (turned off), then no debugging messages are
written to the channel. If the debugging level is raised, only debugging
isc_log_create(mctx, &lctx, &lcfg) != ISC_R_SUCCESS))
oops_it_didnt_work();
-1. Initalize any additional libraries. The convention for the name of
+1. Initialize any additional libraries. The convention for the name of
the initialization function is `{library}_log_init()`, with a pointer to
the logging context as an argument. The function can only be called
once in a program or it will generate an assertion.
"checknames" checks the contents of the rdata with the given
owner name to ensure that it meets externally defined syntax rules.
If `false` is returned, then `bad` will point to the name that
-caused the probelm.
+caused the problem.
static int
casecompare[_<class>]_<type>(const dns_rdata_t *rdata1,
*/
isc_socket_recv(sock, ®ion, 1, recvdone, NULL);
-A timer is set for a specifed time in the future, and the event will
+A timer is set for a specified time in the future, and the event will
be triggered at that time.
/*
occurred in BIND 8.x and earlier, in which there were multiple places in the
code base that decoded wire format to internal format or compared rdata,
sometimes with subtly different behaviour (bugs), and sometimes failing to
-support a particular type, leading to internal inconsistancy.
+support a particular type, leading to internal inconsistency.
Each of these generic routines calls type-specific routines that provide
the type-specific details.
Adding a new rdata type requires determining whether the new rdata type is
class-specific or generic, writing code to perform the rdata operations for the
type, then integrating it into the build by placing the code into the rdata
-hierachy at the correct location under `lib/dns/rdata`. Running `make clean`
+hierarchy at the correct location under `lib/dns/rdata`. Running `make clean`
followed by `make` in `lib/dns` will cause the new rdata type to be picked up
and compiled.
|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.|
-|`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.|
|`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.|
|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.|
-|`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.|
|`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.|
sh util/altbuild.sh v9_1
Alteratively, you can do this after building the kit, by giving
- the kit .tar.gz file as an argument to altbuild.sh instad of
+ the kit .tar.gz file as an argument to altbuild.sh instead of
the CVS tag.
- If you can (= your system is similar enough to the one Tale is using),
only a single action associated with it, then BIND style specified that
no bracing was to used around that action. This has been revised: in
newly added code, braces are now preferred around all control statement
-code blocks. Note that legacy code has not yet been udpated to adhere to
+code blocks. Note that legacy code has not yet been updated to adhere to
this.
Good:
subscripts). Other than for generic variables, if a negative value isn't
meaningful, the variable should be unsigned. Assignments and comparisons
between signed and unsigned integers should be avoided; suppressing the
-warnings with casts is not desireable.
+warnings with casts is not desirable.
C99 standard integer types must be used when `unsigned long` or
`short` could be ambiguous.
assignment or as part of a calculation.
If a statement containing a ternary operator spills over more than one
-line, put the `?` and `:` at the begginning of the following lines with two
+line, put the `?` and `:` at the beginning of the following lines with two
additional spaces of indent.
Using the ternary operator to specify a return value is very rarely
opaque outside that file. In these cases, the `typedef` occurs in the
associated header file, but the structure definition in the C file
itself. Examples of this include the zone object `dns_zone_t`;
-the structure is only acessable via get/set functions in
+the structure is only accessible via get/set functions in
`lib/dns/zone.c`. Other times, structure members can be accessed
from outside the C file where they are implemented; examples include
`dns_view_t`. Which way to implement a particular object is up to
If there is a chance the library call may not be completely portable,
edit `configure.in` to check for it on the local system and only call
it from within a suitable `#ifdef`. If the function is nonoptional,
-it may be necessary to add your own implentation of it (or copy one
+it may be necessary to add your own implementation of it (or copy one
from a source with a BSD-compatible license).
BIND provides portable internal versions of many common library calls.
/// critical.
///
/// \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
/// project, just something to think about if there's something we
/// really don't like about the output Doxygen generates. Punt
KEY RRs can be associated with users, zones, and hosts or other end\r
entities named in the DNS.\r
\r
- For reasons given below, it will sometimes be desireable to store a\r
+ For reasons given below, it will sometimes be desirable to store a\r
key or keys elsewhere and merely point to it from the KEY RR.\r
Indirect key storage makes it possible to point to a key service via\r
a URL, to have a compact pointer to a larger key or set of keys, to\r
DNS.\r
\r
When the algorithm byte of a KEY RR has the value 252, the "public\r
- key" portion of the RR is formated as follows:\r
+ key" portion of the RR is formatted as follows:\r
\r
1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3\r
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1\r
\r
\r
D. Eastlake 3rd [Page 8]\r
-\f\r
If a zone is being attacked by a masquerader, and parents do not
make any statements about the security of child zones, then an
- easy and successfull attack may occur. An attacker only needs
+ easy and successful attack may occur. An attacker only needs
to supply either fake name server records or glue records to
redirect queries.
the size limitations of DNS RRs may be overcome in the MIME case
by using the "Content-Type: message/external-body" mechanism.
- 3 - Text tagged data. The data potion consists of text formated
+ 3 - Text tagged data. The data potion consists of text formatted
as specified in the TXT RR except that the first and every
subsequent odd numbered text item is considered to be a tag
labeling the immediately following text item. If there are an
the data portion is indicated by an initial BER encoded OID
which is prefixed by a one octet unsigned length count for the
OID. The subcoding octet is available for whatever use the
- private formating wishes to make of it.
+ private formatting wishes to make of it.
253 - Private coding format indicated by a domain name. The
format of the data portion is indicated by an initial wire
INTERNET-DRAFT The Kitchen Sink Resource Record
- use the private formating wishes to make of it.
+ use the private formatting wishes to make of it.
254 - Private coding format indicated by a URI. The format of
the data portion is indicated by an initial URI [RFC 2396] which
is terminated by a zero (null) valued octet followed by the data
with that format. The subcoding octet is available for whatever
- use the private formating wishes to make of it. The manner in
+ use the private formatting wishes to make of it. The manner in
which the URI specifies the format is not defined but presumably
the retriever will recognize the URI by some pattern match.
4. Local Compression
We often observe a certain locality in the domain names used as owner
- and occuring in the RDATA section, e.g. in MX or NS RRs but also in
+ and occurring in the RDATA section, e.g. in MX or NS RRs but also in
newer RR types [RFC1183]:
host.foo.bar.example RP adm.foo.bar.example adm.persons.bar.example
relative to the start of RDATA is determined by subtracting 256
from the value of the pointer.
- Local pointers MUST point to a previous occurence of the same name in
+ Local pointers MUST point to a previous occurrence of the same name in
the same RR. Even domain names in another RR of the same type cannot
serve as compression targets since the order of RRs in an RRSet is
not necessarily stable. The length of the compressed name(s) MUST be
2.1 Negative Answer Bitmap
The Negative Answer Bitmap indicates the mechanism for use in denying
-the existance of data. The bitmap is 16 bits, the most significant
+the existence of data. The bitmap is 16 bits, the most significant
bit called 0, least significant is 15.
Bit 0 = The parent doesn't know what the child uses (1=Yes)
3. Master File Representation
-The SEC RR fields are to be represented as hexidecimal fields, with a
+The SEC RR fields are to be represented as hexadecimal fields, with a
preceeding '0x', or in decimal format. Hexidecimal SHOULD be used.
For example, the SEC RR representing a zone that use signed NXT
KEY RRs can be associated with users, zones, and hosts or other end
entities named in the DNS.
- For reasons given below, in many cases it will be desireable to store
+ For reasons given below, in many cases it will be desirable to store
a key or keys elsewhere and merely point to it from the KEY RR.
Indirect key storage makes it possible to point to a key service via
a URL, to have a compact pointer to a larger key or set of keys, to
DNS.
When the algorithm byte of a KEY RR has thae value 252, the "public
- key" portion of the RR is formated as follows:
+ key" portion of the RR is formatted as follows:
1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
Internet-Draft dnssec-secfail-00.txt August 1998
- verification. The end resolver must be notified of this occurence
+ verification. The end resolver must be notified of this occurrence
in such a way that it will not confuse it with another error.
DNS security also permits the storage of public keys in the DNS via
KEY RRs. These KEY RRs are also, of course, authenticated by SIG
RRs. KEY RRs for zones may be stored in their superzone and/or their
- authoritive subzone servers so that the secure DNS tree of zones can
+ authoritative subzone servers so that the secure DNS tree of zones can
be traversed by a security aware resolver.
specified in draft-ietf-dnssec-secext2-*.txt, a public request
signature is a SIG RR occurring at the end of a request with a type
covered field of zero. As specified in draft-ietf-dnsind-tsig-*.txt,
- a secret key request signature is a TSIG RR occuring at the end of
+ a secret key request signature is a TSIG RR occurring at the end of
the request. Each request SIG or TSIG signs the entire request,
including DNS header, but excluding any other request signatures and
with the ARCOUNT in the DNS header set to what it would be without
the updated "previous" total length computed by advancing past the
option that was returned and past any options that didn't match the
type. This returned "previous" length can then be passed to
- subsequent calls to inet6_opt_find() for finding the next occurance
+ subsequent calls to inet6_opt_find() for finding the next occurrence
of the same option type.
If an option of the specified type is not located, the return value
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.
These problems should not happen with the closer checks above.
supporting GOST.
[13] 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
-on whether validation is occuring or not.
+of DO=1 to detect if validation may be occurring. CD has no bearing
+on whether validation is occurring or not.
[14] Conditional on the OpenSSL library being linked against
supporting ECDSA.
Every resolver implementation uses slightly different algorithms, and
typically spends much more logic dealing with errors of various sorts
-than typical occurances. This section outlines a recommended basic
+than typical occurrences. This section outlines a recommended basic
strategy for resolver operation, but leaves details to [RFC-1035].
5.3.1. Stub resolvers
Facilities," RFC-882, USC/Information Sciences
Institute, November 1983.
- Superceeded by this memo.
+ Superseded by this memo.
[RFC-883] P. Mockapetris, "Domain names - Implementation and
Specification," RFC-883, USC/Information Sciences
Institute, November 1983.
- Superceeded by this memo.
+ Superseded by this memo.
[RFC-920] J. Postel and J. Reynolds, "Domain Requirements",
RFC-920, USC/Information Sciences Institute
A records cause no additional section processing. The RDATA section of
an A line in a master file is an Internet address expressed as four
-decimal numbers separated by dots without any imbedded spaces (e.g.,
+decimal numbers separated by dots without any embedded spaces (e.g.,
"10.2.0.52" or "192.0.5.6").
3.4.2. WKS RDATA format
In order to reduce the size of messages, the domain system utilizes a
compression scheme which eliminates the repetition of domain names in a
message. In this scheme, an entire domain name or a list of labels at
-the end of a domain name is replaced with a pointer to a prior occurance
+the end of a domain name is replaced with a pointer to a prior occurrence
of the same name.
The pointer takes the form of a two octet sequence:
- a sequence of labels ending with a pointer
-Pointers can only be used for occurances of a domain name where the
+Pointers can only be used for occurrences of a domain name where the
format is not class specific. If this were not the case, a name server
or resolver would be required to know the format of all RRs it handled.
As yet, there are no such cases, but they may occur in future RDATA
Facilities," RFC-882, USC/Information Sciences
Institute, November 1983.
- Superceeded by this memo.
+ Superseded by this memo.
[RFC-883] P. Mockapetris, "Domain names - Implementation and
Specification," RFC-883, USC/Information Sciences
Institute, November 1983.
- Superceeded by this memo.
+ Superseded by this memo.
[RFC-920] J. Postel and J. Reynolds, "Domain Requirements",
RFC-920, USC/Information Sciences Institute,
Specification", RFC 883, USC/Information Sciences
Institute, November 1983.
- Superceeded by RFC 1035.
+ Superseded by RFC 1035.
[RFC 920] Postel, J. and J. Reynolds, "Domain Requirements", RFC
920, October 1984.
"IP address of host which was the source of the most
recent successful zone transfer for this zone. If
unknown (e.g., zone has never been successfully
- transfered) or irrelevant (e.g., zone was loaded from
+ transferred) or irrelevant (e.g., zone was loaded from
stable storage), this value should be 0.0.0.0."
::= { dnsServZoneEntry 9 }
47.0005.80.005a00.0000.1000.0020.00800a123456.00.
Other NSAP formats have different lengths and different
- administratively defined field widths to accomodate different
+ administratively defined field widths to accommodate different
requirements. For more information on NSAP formats in use see RFC
1629 [1].
7.10. Deferral of SOA SERIAL autoincrements is made possible so that
serial numbers can be conserved and wraparound at 2**32 can be made
- an infrequent occurance. Visible (to DNS clients) SOA SERIALs need
+ an infrequent occurrence. Visible (to DNS clients) SOA SERIALs need
to differ if the zone differs. Note that the Authority Section SOA
in a QUERY response is a form of visibility, for the purposes of this
prerequisite.
Recall that the regular expression used \2 to extract a domain name
from the CID, and \. for matching the literal '.' characters
seperating the domain name components. Since '\' is the escape
- character, literal occurances of a backslash must be escaped by
+ character, literal occurrences of a backslash must be escaped by
another backslash. For the case of the cid.urn.net record above, the
regular expression entered into the zone file should be
"/urn:cid:.+@([^\\.]+\\.)(.*)$/\\2/i". When the client code actually
subst_expr = delim-char ere delim-char repl delim-char *flags
delim-char = "/" / "!" / ... (Any non-digit or non-flag character other
- than backslash '\'. All occurances of a delim_char in a
+ than backslash '\'. All occurrences of a delim_char in a
subst_expr must be the same character.)
ere = POSIX Extended Regular Expression (see [13], section
2.8.4)
For the edification of implementers, pseudocode for a client routine
using NAPTRs is given below. This code is provided merely as a
- convience, it does not have any weight as a standard way to process
+ convenience, it does not have any weight as a standard way to process
NAPTR records. Also, as is the case with pseudocode, it has never
been executed and may contain logical errors. You have been warned.
and the authority section may have SOA, NXT [RFC2065] and SIG RRsets.
It is possible to distinguish between a referral and a NXDOMAIN
- response by the presense of NXDOMAIN in the RCODE regardless of the
+ response by the presence of NXDOMAIN in the RCODE regardless of the
presence of NS or SOA records in the authority section.
NXDOMAIN responses can be categorised into four types by the contents
considerations.
Section 11 specified IANA considerations for allocation of additional
- values of paramters defined in this document.
+ values of parameters defined in this document.
certificate section (see 2.3 below). (NOTE: X.509 certificates do
not include their X.500 directory type designating OID as a prefix.)
- The SPKI type is reserved to indicate a certificate formated as to be
+ The SPKI type is reserved to indicate a certificate formatted as to be
specified by the IETF SPKI working group.
The PGP type indicates a Pretty Good Privacy certificate as described
subst_expr = delim-char ere delim-char repl delim-char *flags
delim-char = "/" / "!" / ... <Any non-digit or non-flag character
- other than backslash '\'. All occurances of a delim_char
+ other than backslash '\'. All occurrences of a delim_char
in a subst_expr must be the same character.>
ere = POSIX Extended Regular Expression
repl = 1 * ( OCTET / backref )
RFC 2915 NAPTR DNS RR September 2000
- character, literal occurances of a backslash must be escaped by
+ character, literal occurrences of a backslash must be escaped by
another backslash. For the case of the cid.urn.arpa record above,
the regular expression entered into the master file should be
"/urn:cid:.+@([^\\.]+\\.)(.*)$/\\2/i". When the client code actually
- Can be used for inter-site VPNs.
- - If accidently leaked outside of a site via routing or DNS, there
+ - If accidentally leaked outside of a site via routing or DNS, there
is no conflict with any other addresses.
a subtype is reduced to hoping that whatever scheme one has come up
- with will not accidently conflict with somebody else's subtyping
+ with will not accidentally conflict with somebody else's subtyping
scheme, and that it will not be possible to mis-parse one
application's use of TXT Resource Records as data intended for a
different application. Any attempt to impose a standardized format
xmlns:db="http://docbook.org/ns/docbook">
<!-- <optional> and <command> rendered in <programlisting>s.
- For each overriden element, the parameters must be defined.
+ For each overridden element, the parameters must be defined.
They are mandatory, and $probe must be set to 0 by default.
Only dblatex 0.2.12, with the verbatim.boldseq template works
;; take it from there. I've sent this patch off to the port
;; maintainer but have not yet heard anything back.
;;
-;; I don't really know whther this is the "right" fix, but it seems to
+;; I don't really know whether this is the "right" fix, but it seems to
;; work, and I'm pretty sure that the code this patch deletes does not
;; work as it stands, so at worst the result after applying this patch
;; should be no worse than the result without this patch.
-<xsl:template name="question.answer.label">
- <!-- variable: deflabel -->
- <xsl:variable name="deflabel">
-- <!-- chck whether someone has a defaultlabel attribute -->
+- <!-- check whether someone has a defaultlabel attribute -->
- <xsl:choose>
- <xsl:when test="ancestor-or-self::*[@defaultlabel]">
- <xsl:value-of select="(ancestor-or-self::*[@defaultlabel])[last()]/@defaultlabel"/>
/*
* Check that a RFC 1918 / ULA reverse zone is not forward first
- * unless explictly configured to be so.
+ * unless explicitly configured to be so.
*/
if (ztype == CFG_ZONE_FORWARD && (rfc1918 || ula)) {
obj = NULL;
(void)cfg_map_get(zoptions, "forward", &obj);
if (obj == NULL) {
/*
- * Forward mode not explicity configured.
+ * Forward mode not explicitly configured.
*/
if (voptions != NULL)
cfg_map_get(voptions, "forward", &obj);
result = ISC_R_FAILURE;
/*
- * Use case insensitive comparision as not all file systems are
+ * Use case insensitive comparison as not all file systems are
* case sensitive. This will prevent people using FOO.DB and foo.db
* on case sensitive file systems but that shouldn't be a major issue.
*/
/*
* DSCP value has no default, but when it is specified, it is identical
- * for all masters and cannot be overriden for a specific master IP, so
+ * for all masters and cannot be overridden for a specific master IP, so
* use the DSCP value set for the first master
*/
if (entry->opts.masters.count > 0 &&
if (disp->refcount == 0) {
/*
- * This dispatcher is shutting down. Force cancelation.
+ * This dispatcher is shutting down. Force cancellation.
*/
tcpmsg->result = ISC_R_CANCELED;
}
/*
* Search for the first response handler without packets outstanding
- * unless a specific hander is given.
+ * unless a specific handler is given.
*/
LOCK(&qid->lock);
for (resp = linear_first(qid);
enum Type {
// AUTH_QUERY is a DNS query message received from a resolver by an
- // authoritative name server, from the perspective of the authorative
+ // authoritative name server, from the perspective of the authoritative
// name server.
AUTH_QUERY = 1;
dns_adb_getcookie(dns_adb_t *adb, dns_adbaddrinfo_t *addr,
unsigned char *cookie, size_t len);
/*
- * Retieve the saved COOKIE value and store it in 'cookie' which has
+ * Retrieve the saved COOKIE value and store it in 'cookie' which has
* size 'len'.
*
* Requires:
*/
struct dns_catz_entry_options {
/*
- * Options that can be overriden in catalog zone
+ * Options that can be overridden in catalog zone
*/
/* default-masters definition */
dns_ipkeylist_t masters;
dns_clientreqtrans_t **transp);
/*%<
- * Send a DNS request containig a query message 'query' to 'server'.
+ * Send a DNS request containing a query message 'query' to 'server'.
*
* 'parseoptions' will be used when the response packet is parsed, and will be
* passed to dns_message_parse() via dns_request_getresponse(). See
*
* dns_db_findnodeext() (findnode extended) also accepts parameters
* 'methods' and 'clientinfo', which, when provided, enable the database to
- * retreive information about the client from the caller, and modify its
+ * retrieve information about the client from the caller, and modify its
* response on the basis of that information.
*
* Notes:
* Find the best match for 'name' and 'type' in version 'version' of 'db'.
*
* dns_db_findext() (find extended) also accepts parameters 'methods'
- * and 'clientinfo', which when provided enable the database to retreive
+ * and 'clientinfo', which when provided enable the database to retrieve
* information about the client from the caller, and modify its response
* on the basis of this information.
*
* clients apply. 'mapped' defines which A records are candidated for
* mapping. If 'mapped' is NULL then all A records will be mapped.
* 'excluded' defines which AAAA are to be treated as non-existent for the
- * purposed of determining whether to perform syntesis. If 'excluded' is
+ * purposed of determining whether to perform synthesis. If 'excluded' is
* NULL then no AAAA records prevent synthesis.
*
* If DNS_DNS64_RECURSIVE_ONLY is set then the record will only match if
/*
* Determine if there are any non-excluded AAAA records in from the
* matching dns64 records in the list starting at 'dns64'. If there
- * is a non-exluded address return true. If all addresses are
+ * is a non-excluded address return true. If all addresses are
* excluded in the matched records return false. If no records
* match then return true.
*
* \li 'n' >= ipkl->count
*
* Returns:
- * \li #ISC_R_SUCCESS if successs
- * \li #ISC_R_NOMEMORY if there's no memory, ipkeylist is left untoched
+ * \li #ISC_R_SUCCESS if success
+ * \li #ISC_R_NOMEMORY if there's no memory, ipkeylist is left untouched
*/
#endif
* \li Because it only needs to test for equality, dns_name_equal() can be
* significantly faster than dns_name_fullcompare() or dns_name_compare().
*
- * \li Offsets tables are not used in the comparision.
+ * \li Offsets tables are not used in the comparison.
*
* \li It makes no sense for one of the names to be relative and the
* other absolute. If both names are relative, then to be meaningfully
* are exceeded. If 'which' is set to quotatype "zone", then the
* result specified in 'resp' will be used when the fetches-per-zone
* quota is exceeded by a fetch. If 'which' is set to quotatype "server",
- * then the reuslt specified in 'resp' will be used when the
+ * then the result specified in 'resp' will be used when the
* fetches-per-server quota has been exceeded for all the
* authoritative servers for a zone. Valid choices are
* DNS_R_DROP or DNS_R_SERVFAIL.
void
dns_zone_setmaxrecords(dns_zone_t *zone, uint32_t records);
/*%<
- * Sets the maximim number of records permitted in a zone.
+ * Sets the maximum number of records permitted in a zone.
* 0 implies unlimited.
*
* Requires:
uint32_t
dns_zone_getmaxrecords(dns_zone_t *zone);
/*%<
- * Gets the maximim number of records permitted in a zone.
+ * Gets the maximum number of records permitted in a zone.
* 0 implies unlimited.
*
* Requires:
width--;
count++;
/*
- * If width is non zero then we need to add a label seperator.
+ * If width is non zero then we need to add a label separator.
* If value is non zero then we need to add another label and
- * that requires a label seperator.
+ * that requires a label separator.
*/
if (width > 0 || value != 0) {
if (length > 0U) {
*
* <name_data> contains the name of the node when it was created.
* <oldoffsetlen> contains the length of <offsets> when the node was created.
- * <offsets> contains the offets into name for each label when the node was
+ * <offsets> contains the offsets into name for each label when the node was
* created.
*/
* DS records live above the zone cut in ordinary zone so
* we want to ignore any referral.
*
- * Stub zones don't have anything "above" the delgation so
+ * Stub zones don't have anything "above" the delegation so
* we always return a referral.
*/
if (node->find_callback &&
* Note that "%d node of %d in tree" can report things like
* "flush_deletions: 59 nodes of 41 in tree". This means
* That some nodes appear on the deletions list more than
- * once. Only the last occurence will actually be deleted.
+ * once. Only the last occurrence will actually be deleted.
*/
isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE,
DNS_LOGMODULE_CACHE, ISC_LOG_DEBUG(1),
#define NS_LOCATORSZ 8
/*
- * Active Diretory gc._msdcs.<forest> prefix.
+ * Active Directory gc._msdcs.<forest> prefix.
*/
static unsigned char gc_msdcs_data[] = "\002gc\006_msdcs";
static unsigned char gc_msdcs_offset [] = { 0, 3 };
casecompare_cdnskey(ARGS_COMPARE) {
/*
- * Treat ALG 253 (private DNS) subtype name case sensistively.
+ * Treat ALG 253 (private DNS) subtype name case sensitively.
*/
return (compare_cdnskey(rdata1, rdata2));
}
casecompare_dnskey(ARGS_COMPARE) {
/*
- * Treat ALG 253 (private DNS) subtype name case sensistively.
+ * Treat ALG 253 (private DNS) subtype name case sensitively.
*/
return (compare_dnskey(rdata1, rdata2));
}
/*
* Check the wire format of the Regexp field.
- * Don't allow embeded NUL's.
+ * Don't allow embedded NUL's.
*/
static inline isc_result_t
txt_valid_regex(const unsigned char *txt) {
casecompare_rkey(ARGS_COMPARE) {
/*
- * Treat ALG 253 (private DNS) subtype name case sensistively.
+ * Treat ALG 253 (private DNS) subtype name case sensitively.
*/
return (compare_rkey(rdata1, rdata2));
}
UNUSED(rdclass);
/*
- * Handle Active Diretory gc._msdcs.<forest> name.
+ * Handle Active Directory gc._msdcs.<forest> name.
*/
if (dns_name_countlabels(name) > 2U) {
dns_name_init(&prefix, NULL);
UNUSED(rdclass);
/*
- * Handle Active Diretory gc._msdcs.<forest> name.
+ * Handle Active Directory gc._msdcs.<forest> name.
*/
if (dns_name_countlabels(name) > 2U) {
dns_name_init(&prefix, NULL);
isc_region_t *region, unsigned int reservelen)
{
/*
- * Use &removed as a sentinal pointer for duplicate
+ * Use &removed as a sentinel pointer for duplicate
* rdata as rdata.data == NULL is valid.
*/
static unsigned char removed;
#if DNS_EDNS_VERSION > 0
/*
* Some EDNS(0) servers don't ignore unknown options
- * as it was not a explict requirement of RFC 2671.
+ * as it was not a explicit requirement of RFC 2671.
* Only send COOKIE to EDNS(1) servers.
*/
if (version < 1)
}
/*
- * Fetch Creation, Joining, and Cancelation.
+ * Fetch Creation, Joining, and Cancellation.
*/
static inline isc_result_t
inc_stats(res, dns_resstatscounter_valnegsuccess);
/*
- * Cache DS NXDOMAIN seperately to other types.
+ * Cache DS NXDOMAIN separately to other types.
*/
if (fctx->rmessage->rcode == dns_rcode_nxdomain &&
fctx->type != dns_rdatatype_ds)
dns_rdatatype_t covers;
/*
- * Cache DS NXDOMAIN seperately to other types.
+ * Cache DS NXDOMAIN separately to other types.
*/
if (message->rcode == dns_rcode_nxdomain &&
fctx->type != dns_rdatatype_ds)
}
/*
- * Discard prevous hash table when all of its entries are old.
+ * Discard previous hash table when all of its entries are old.
*/
age = delta_rrl_time(rrl->old_hash->check_time, now);
if (age > rrl->window)
}
/*
- * Log occassionally in the rate-limit category.
+ * Log occasionally in the rate-limit category.
*/
if ((!e->logged || e->log_secs >= DNS_RRL_MAX_LOG_SECS) &&
isc_log_wouldlog(dns_lctx, DNS_RRL_LOG_DROP)) {
result = dns_db_newversion(db, &new);
assert_int_equal(result, ISC_R_SUCCESS);
- /* Delete the rdataset from the new verison */
+ /* Delete the rdataset from the new version */
result = dns_db_deleterdataset(db, node, new, dns_rdatatype_a, 0);
assert_int_equal(result, ISC_R_SUCCESS);
* The code below enables us to trap assertion failures for testing
* purposes. local_callback() is set as the callback function for
* isc_assertion_failed(). It calls mock_assert() so that CMOCKA
- * will be able to see it, then returns to the calling functon via
+ * will be able to see it, then returns to the calling function via
* longjmp() so that the abort() call in isc_assertion_failed() will
* never be reached. Use check_assertion() to check for assertions
* instead of expect_assert_failure().
* We are currently only checking that the calls do not trigger
* assertion failures.
*
- * XXXMPA A future extention could be to record the expected
+ * XXXMPA A future extension could be to record the expected
* result and the expected value of 'bad'.
*/
static void
TEXT_INVALID(""),
TEXT_INVALID("0"),
TEXT_INVALID("0 0"),
- /* gatway type 0 */
+ /* gateway type 0 */
TEXT_VALID("0 0 0"),
TEXT_VALID("0 1 0"),
TEXT_INVALID("0 2 0"), /* discovery out of range */
- TEXT_VALID("255 1 0"), /* max precendence */
+ TEXT_VALID("255 1 0"), /* max precedence */
TEXT_INVALID("256 1 0"), /* precedence out of range */
/* IPv4 gateway */
A records cause no additional section processing. The RDATA section of
an A line in a master file is an Internet address expressed as four
-decimal numbers separated by dots without any imbedded spaces (e.g.,
+decimal numbers separated by dots without any embedded spaces (e.g.,
"10.2.0.52" or "192.0.5.6").
3.4.2. WKS RDATA format
In order to reduce the size of messages, the domain system utilizes a
compression scheme which eliminates the repetition of domain names in a
message. In this scheme, an entire domain name or a list of labels at
-the end of a domain name is replaced with a pointer to a prior occurance
+the end of a domain name is replaced with a pointer to a prior occurrence
of the same name.
The pointer takes the form of a two octet sequence:
- a sequence of labels ending with a pointer
-Pointers can only be used for occurances of a domain name where the
+Pointers can only be used for occurrences of a domain name where the
format is not class specific. If this were not the case, a name server
or resolver would be required to know the format of all RRs it handled.
As yet, there are no such cases, but they may occur in future RDATA
Facilities," RFC-882, USC/Information Sciences
Institute, November 1983.
- Superceeded by this memo.
+ Superseded by this memo.
[RFC-883] P. Mockapetris, "Domain names - Implementation and
Specification," RFC-883, USC/Information Sciences
Institute, November 1983.
- Superceeded by this memo.
+ Superseded by this memo.
[RFC-920] J. Postel and J. Reynolds, "Domain Requirements",
RFC-920, USC/Information Sciences Institute,
-0009B55FDB62034326278C9371F32D92
-3D0E1161A32D491BEC38546FC452D903
-A91D806345B2F7F22E
+001BA6238EE0DEE7569819CAD3C0D68D
+634DDBFDB7D3BF1CB37E1E4CCF474593
+D22AEBEE633E0938BF
-A8A20D2F26F792B3CE76DD0E12A85DFE
-FF66AB866EF0BDB0F515001E234E699B
-F5CD6FB41FB15D4213705ABE9B563896
-2196228648E0F8AA7F2F4EED3C19165C
-1B4C70C9D69B93A1F2BE5B2F948CE023
+7287CAF8866F575E8FD4CF544E5101A2
+C9594E1BBD9FF104D147EB298335ED5D
+0D2A64FD9E65D13FB90AB1DCA97ED506
+F1DA5F1FC6159857DDC0A8EFB1EE53FC
+CB390015E5873FF6F3BCF64758485FC2
A records cause no additional section processing. The RDATA section of
an A line in a master file is an Internet address expressed as four
-decimal numbers separated by dots without any imbedded spaces (e.g.,
+decimal numbers separated by dots without any embedded spaces (e.g.,
"10.2.0.52" or "192.0.5.6").
3.4.2. WKS RDATA format
In order to reduce the size of messages, the domain system utilizes a
compression scheme which eliminates the repetition of domain names in a
message. In this scheme, an entire domain name or a list of labels at
-the end of a domain name is replaced with a pointer to a prior occurance
+the end of a domain name is replaced with a pointer to a prior occurrence
of the same name.
The pointer takes the form of a two octet sequence:
- a sequence of labels ending with a pointer
-Pointers can only be used for occurances of a domain name where the
+Pointers can only be used for occurrences of a domain name where the
format is not class specific. If this were not the case, a name server
or resolver would be required to know the format of all RRs it handled.
As yet, there are no such cases, but they may occur in future RDATA
Facilities," RFC-882, USC/Information Sciences
Institute, November 1983.
- Superceeded by this memo.
+ Superseded by this memo.
[RFC-883] P. Mockapetris, "Domain names - Implementation and
Specification," RFC-883, USC/Information Sciences
Institute, November 1983.
- Superceeded by this memo.
+ Superseded by this memo.
[RFC-920] J. Postel and J. Reynolds, "Domain Requirements",
RFC-920, USC/Information Sciences Institute,
RWLOCK(&tkey->ring->lock, isc_rwlocktype_write);
/*
* We may have been removed from the LRU list between
- * removing the read lock and aquiring the write lock.
+ * removing the read lock and acquiring the write lock.
*/
if (ISC_LINK_LINKED(tkey, link) &&
tkey->ring->lru.tail != tkey)
validator_log(val, ISC_LOG_DEBUG(3),
"%s with trust %s",
val->frdataset.type == dns_rdatatype_ds ?
- "dsset" : "ds non-existance",
+ "dsset" : "ds non-existence",
dns_trust_totext(val->frdataset.trust));
have_dsset = (val->frdataset.type == dns_rdatatype_ds);
name = dns_fixedname_name(&val->fname);
/*
* If we are validating a wildcard response
* clabels will not be zero. We then need
- * to check if the generated wilcard from
+ * to check if the generated wildcard from
* dns_nsec_noexistnodata is consistent with
* the wildcard used to generate the response.
*/
isc_sockaddr_setport(&xfr->sourceaddr, 0);
/*
- * Reserve 2 bytes for TCP length at the begining of the buffer.
+ * Reserve 2 bytes for TCP length at the beginning of the buffer.
*/
isc_buffer_init(&xfr->qbuffer, &xfr->qbuffer_data[2],
sizeof(xfr->qbuffer_data) - 2);
#define DNS_ZONEFLG_EXPIRED 0x00000080U /*%< zone has expired */
#define DNS_ZONEFLG_NEEDREFRESH 0x00000100U /*%< refresh check needed */
#define DNS_ZONEFLG_UPTODATE 0x00000200U /*%< zone contents are
- * uptodate */
+ * up-to-date */
#define DNS_ZONEFLG_NEEDNOTIFY 0x00000400U /*%< need to send out notify
* messages */
#define DNS_ZONEFLG_DIFFONRELOAD 0x00000800U /*%< generate a journal diff on
}
/*
- * Co-ordinates the starting of routine jobs.
+ * Coordinates the starting of routine jobs.
*/
void
dns_zone_maintenance(dns_zone_t *zone) {
REQUIRE(DNS_ZONEMGR_VALID(zmgr));
setrl(zmgr->refreshrl, &zmgr->serialqueryrate, value);
- /* XXXMPA seperate out once we have the code to support this. */
+ /* XXXMPA separate out once we have the code to support this. */
setrl(zmgr->startuprefreshrl, &zmgr->startupserialqueryrate, value);
}
/*!
* Allocate an addrinfo structure, and a sockaddr structure
- * of the specificed length. We initialize:
+ * of the specified length. We initialize:
* ai_addrlen
* ai_family
* ai_addr
/*@}*/
/*!
- * Size granularity for dynamically resizeable buffers; when reserving
+ * Size granularity for dynamically resizable buffers; when reserving
* space in a buffer, we round the allocated buffer length up to the
* nearest * multiple of this value.
*/
*\li 'lex' is a valid lexer.
*
* Returns:
- *\li The commenting sytles which are currently allowed.
+ *\li The commenting styles which are currently allowed.
*/
void
isc_result_t
isc_netaddr_prefixok(const isc_netaddr_t *na, unsigned int prefixlen);
/*
- * Test whether the netaddr 'na' and 'prefixlen' are consistant.
+ * Test whether the netaddr 'na' and 'prefixlen' are consistent.
* e.g. prefixlen within range.
* na does not have bits set which are not covered by the prefixlen.
*
*
* \li "task" is NULL or a valid task
*
- * "how" is a bitmask describing the type of cancelation to perform.
+ * "how" is a bitmask describing the type of cancellation to perform.
* The type ISC_SOCKCANCEL_ALL will cancel all pending I/O on this
* socket.
*
isc_stats_set(isc_stats_t *stats, uint64_t val,
isc_statscounter_t counter);
/*%<
- * Set the given counter to the specfied value.
+ * Set the given counter to the specified value.
*
* Requires:
*\li 'stats' is a valid isc_stats_t.
isc_stats_set(isc_stats_t *stats, uint64_t val,
isc_statscounter_t counter);
/*%<
- * Set the given counter to the specfied value.
+ * Set the given counter to the specified value.
*
* Requires:
*\li 'stats' is a valid isc_stats_t.
/*! \file pk11/constants.h */
/*%
- * Static arrays of data used for key template initalization
+ * Static arrays of data used for key template initialization
*/
#ifdef WANT_ECC_CURVES
#if HAVE_PKCS11_ECDSA
--group;
++c;
break;
- case '|': /* alternative seperator */
+ case '|': /* alternative separator */
if (!have_atom)
FAIL("no atom");
have_atom = false;
isc_sha224_final(digest, &sha224);
/*
*API inconsistency BUG HERE
- * in order to be consistant with the other isc_hash_final
+ * in order to be consistent with the other isc_hash_final
* functions the call should be
* isc_sha224_final(&sha224, digest);
*/
isc_sha256_final(digest, &sha256);
/*
*API inconsistency BUG HERE
- * in order to be consistant with the other isc_hash_final
+ * in order to be consistent with the other isc_hash_final
* functions the call should be
* isc_sha224_final(&sha224, digest);
*/
isc_sha384_final(digest, &sha384);
/*
*API inconsistency BUG HERE
- * in order to be consistant with the other isc_hash_final
+ * in order to be consistent with the other isc_hash_final
* functions the call should be
* isc_sha224_final(&sha224, digest);
*/
isc_sha512_final(digest, &sha512);
/*
*API inconsistency BUG HERE
- * in order to be consistant with the other isc_hash_final
+ * in order to be consistent with the other isc_hash_final
* functions the call should be
* isc_sha224_final(&sha224, digest);
*/
/*
* Enable this only for specific OS versions, and only when they have repaired
* their problems with it. Until then, this is is broken and needs to be
- * diabled by default. See RT22589 for details.
+ * disabled by default. See RT22589 for details.
*/
#undef ENABLE_ACCEPTFILTER
*/
/*
- * Values are 32 bit values layed out as follows:
+ * Values are 32 bit values laid out as follows:
*
* 3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1
* 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
if (lib_name == NULL)
return (CKR_LIBRARY_FAILED_TO_LOAD);
- /* Visual Studio convertion issue... */
+ /* Visual Studio conversion issue... */
if (*lib_name == ' ')
lib_name++;
//
// One specific one is when a TCP SYN scan is used. In this situation,
// Windows responds with the SYN-ACK, but the scanner never responds with
-// the 3rd packet, the ACK. Windows consiers this a partially open connection.
+// the 3rd packet, the ACK. Windows considers this a partially open connection.
// Most Unix networking stacks, and Windows without McAfee installed, will
// not return this to the caller. However, with this product installed,
// Windows returns this as a failed status on the Accept() call. Here, we
lpo->acceptbuffer, /* Buffer for initial Recv */
0, /* Length of Buffer */
sizeof(SOCKADDR_STORAGE) + 16, /* Local address length + 16 */
- sizeof(SOCKADDR_STORAGE) + 16, /* Remote address lengh + 16 */
+ sizeof(SOCKADDR_STORAGE) + 16, /* Remote address length + 16 */
(LPDWORD)&lpo->received_bytes, /* Bytes Recved */
(LPOVERLAPPED)lpo /* Overlapped structure */
);
lpo->acceptbuffer, /* Buffer for initial Recv */
0, /* Length of Buffer */
sizeof(SOCKADDR_STORAGE) + 16, /* Local address length + 16 */
- sizeof(SOCKADDR_STORAGE) + 16, /* Remote address lengh + 16 */
+ sizeof(SOCKADDR_STORAGE) + 16, /* Remote address length + 16 */
(LPDWORD)&lpo->received_bytes, /* Bytes Recved */
(LPOVERLAPPED)lpo /* Overlapped structure */
);
#elif defined(ISC_PLATFORM_USESTDASM)
/*
- * The followings are "generic" assembly code which implements the same
+ * The following are "generic" assembly code which implements the same
* functionality in case the gcc extension cannot be used. It should be
* better to avoid inlining below, since we directly refer to specific
* positions of the stack frame, which would not actually point to the
#elif defined(ISC_PLATFORM_USESTDASM)
/*
- * The followings are "generic" assembly code which implements the same
+ * The following are "generic" assembly code which implements the same
* functionality in case the gcc extension cannot be used. It should be
* better to avoid inlining below, since we directly refer to specific
* registers for arguments, which would not actually correspond to the
doc_enum_or_other(pctx, type, &cfg_type_boolean);
}
static cfg_type_t cfg_type_minimal = {
- "mimimal", parse_minimal, cfg_print_ustring, doc_minimal,
+ "minimal", parse_minimal, cfg_print_ustring, doc_minimal,
&cfg_rep_string, minimal_enums,
};
/*%
* The socket address syntax in the "controls" statement is silly.
* It allows both socket address families, but also allows "*",
- * whis is gratuitously interpreted as the IPv4 wildcard address.
+ * which is gratuitously interpreted as the IPv4 wildcard address.
*/
static unsigned int controls_sockaddr_flags =
CFG_ADDR_V4OK | CFG_ADDR_V6OK | CFG_ADDR_WILDOK;
/*!
* Allocate an addrinfo structure, and a sockaddr structure
- * of the specificed length. We initialize:
+ * of the specified length. We initialize:
* ai_addrlen
* ai_family
* ai_addr
s/^(\s{0,3}\d*\.)\s(\[\w{1,5}\])\s+(\S+)/$1\t$2\t\t$3/;
s/^(\s{0,3}\d*\.)\s(\[\w{6,}\])\s+(\S+)/$1\t$2\t$3/;
# Convert 8 spaces into tabs if at start of line
- # or preceeded by tabs.
+ # or preceded by tabs.
s/^(\t*) /$1\t/ while (/^\t* /);
# Remove trailing white space.
s/[ \t]*$//;
# tab if at start of line or proceeded by tabs.
s/^(\t*) {1,7}\t/$1\t/ while (/^\t* {1,7}\t/);
# Convert 8 spaces into tabs if at start of line
- # or preceeded by tabs.
+ # or preceded by tabs.
s/^(\t*) {8}/$1\t/ while (/^\t* {8}/);
# Remove trailing white space.
s/[ \t]*$//;
" clean (command) clean up generated files\n",
" <none> (command) print a summary of the configuration\n",
"\nOptional Features:\n",
-" enable-intrinsics enable instrinsic/atomic functions [default=yes]\n",
+" enable-intrinsics enable intrinsic/atomic functions [default=yes]\n",
" enable-native-pkcs11 use native PKCS#11 for all crypto [default=no]\n",
" enable-openssl-hash use OpenSSL for hash functions [default=yes]\n",
" enable-isc-spnego use SPNEGO from lib/dns [default=yes]\n",