some Fossies-reported spelling errors were accidentally left unfixed
(cherry picked from commit a2aa29ed4f)
This commit is contained in:
8
CHANGES
8
CHANGES
@@ -679,7 +679,7 @@
|
||||
|
||||
5170. [test] Added --with-dlz-filesystem to feature-test. [GL !1587]
|
||||
|
||||
5169. [bug] The presense of certain types in an otherwise
|
||||
5169. [bug] The presence of certain types in an otherwise
|
||||
empty node could cause a crash while processing a
|
||||
type ANY query. [GL #901]
|
||||
|
||||
@@ -11262,7 +11262,7 @@
|
||||
failure while cleaning up a stale rdataset.
|
||||
[RT #16292]
|
||||
|
||||
2058. [bug] Adjust how we calculate rtt estimates in the presense
|
||||
2058. [bug] Adjust how we calculate rtt estimates in the presence
|
||||
of authoritative servers that drop EDNS and/or CD
|
||||
requests. Also fallback to EDNS/512 and plain DNS
|
||||
faster for zones with less than 3 servers. [RT #16187]
|
||||
@@ -15206,7 +15206,7 @@
|
||||
blocking.
|
||||
|
||||
772. [bug] Owner names could be incorrectly omitted from cache
|
||||
dumps in the presense of negative caching entries.
|
||||
dumps in the presence of negative caching entries.
|
||||
[RT #991]
|
||||
|
||||
771. [cleanup] TSIG errors related to unsynchronized clocks
|
||||
@@ -17803,7 +17803,7 @@
|
||||
lock in certain error cases.
|
||||
|
||||
18. [bug] Use AC_TRY_LINK rather than AC_TRY_COMPILE in
|
||||
configure.in to check for presense of in6addr_any.
|
||||
configure.in to check for presence of in6addr_any.
|
||||
|
||||
17. [func] Do configuration file post-load validation of zones.
|
||||
|
||||
|
||||
@@ -20,7 +20,7 @@ rm -f dig.out.*
|
||||
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
|
||||
@@ -28,7 +28,7 @@ if [ $ret != 0 ]; then echo_i "failed"; fi
|
||||
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
|
||||
@@ -37,7 +37,7 @@ if [ $ret != 0 ]; then echo_i "failed"; fi
|
||||
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
|
||||
@@ -46,7 +46,7 @@ if [ $ret != 0 ]; then echo_i "failed"; fi
|
||||
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
|
||||
@@ -55,7 +55,7 @@ if [ $ret != 0 ]; then echo_i "failed"; fi
|
||||
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
|
||||
@@ -64,7 +64,7 @@ if [ $ret != 0 ]; then echo_i "failed"; fi
|
||||
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
|
||||
@@ -73,7 +73,7 @@ if [ $ret != 0 ]; then echo_i "failed"; fi
|
||||
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
|
||||
@@ -82,7 +82,7 @@ if [ $ret != 0 ]; then echo_i "failed"; fi
|
||||
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
|
||||
@@ -90,7 +90,7 @@ if [ $ret != 0 ]; then echo_i "failed"; fi
|
||||
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
|
||||
@@ -99,7 +99,7 @@ if [ $ret != 0 ]; then echo_i "failed"; fi
|
||||
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
|
||||
@@ -108,7 +108,7 @@ if [ $ret != 0 ]; then echo_i "failed"; fi
|
||||
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
|
||||
@@ -117,7 +117,7 @@ if [ $ret != 0 ]; then echo_i "failed"; fi
|
||||
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
|
||||
@@ -126,7 +126,7 @@ if [ $ret != 0 ]; then echo_i "failed"; fi
|
||||
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
|
||||
@@ -135,7 +135,7 @@ if [ $ret != 0 ]; then echo_i "failed"; fi
|
||||
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
|
||||
|
||||
@@ -16,14 +16,14 @@ See COPYRIGHT in the source root or http://isc.org/copyright.html for terms.
|
||||
* 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
|
||||
|
||||
@@ -53,7 +53,7 @@ Implementation:
|
||||
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
|
||||
@@ -70,7 +70,7 @@ Functions:
|
||||
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.
|
||||
|
||||
@@ -78,7 +78,7 @@ Functions:
|
||||
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);
|
||||
@@ -130,7 +130,7 @@ Functions:
|
||||
|
||||
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
|
||||
@@ -143,7 +143,7 @@ Functions:
|
||||
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
|
||||
|
||||
@@ -11,7 +11,7 @@ Overview.
|
||||
|
||||
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 sense to accept
|
||||
@@ -20,7 +20,7 @@ Overview.
|
||||
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
|
||||
@@ -53,13 +53,13 @@ Functions:
|
||||
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
|
||||
|
||||
@@ -91,7 +91,7 @@ is set for a zone.
|
||||
signing process. This likely will go away in favor of a new method.
|
||||
|
||||
1. `sig-validity-interval`: Specifies the number of days a signature is valid.
|
||||
The second optional value is the refresh interval. Thos option will
|
||||
The second optional value is the refresh interval. Those option will
|
||||
be replaced by KASP configuration values "signatures-validity" and
|
||||
"signatures-refresh".
|
||||
|
||||
|
||||
@@ -82,7 +82,7 @@ struct isc_socketevent {
|
||||
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,
|
||||
|
||||
@@ -22,7 +22,7 @@ any, libraries will write log messages.
|
||||
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.
|
||||
|
||||
@@ -115,7 +115,7 @@ no version control.
|
||||
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.
|
||||
|
||||
@@ -154,7 +154,7 @@ corresponding print strings appear in a log message:
|
||||
|
||||
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
|
||||
@@ -286,7 +286,7 @@ rudimentary initialization of both.
|
||||
if (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.
|
||||
@@ -376,7 +376,7 @@ isc_log_usechannel(). When it is all ready:
|
||||
|
||||
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
|
||||
@@ -479,7 +479,7 @@ ISC_LOG_PRINTMODULE. On rare occasion it might be necessary to
|
||||
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
|
||||
|
||||
@@ -72,7 +72,7 @@ UDP listener sockets automatically create an array of 'child' sockets,
|
||||
each associated with one networker, and all listening on the same address
|
||||
via `SO_REUSEADDR`. (The parent's reference counter is used for all the
|
||||
parent and child sockets together; none are destroyed until there are no
|
||||
remaining referenes to any of tem.)
|
||||
remaining references to any of tem.)
|
||||
|
||||
## TCP listening
|
||||
|
||||
|
||||
@@ -34,7 +34,7 @@ Algorithms_, Cormen, Leiserson, and Rivest, MIT Press / McGraw Hill,
|
||||
|
||||
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
|
||||
@@ -227,7 +227,7 @@ Each node in the tree of trees is represented by the following structure:
|
||||
/*
|
||||
* 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
|
||||
|
||||
@@ -9,7 +9,7 @@ See COPYRIGHT in the source root or http://isc.org/copyright.html for terms.
|
||||
* 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.
|
||||
|
||||
@@ -7,7 +7,7 @@ See COPYRIGHT in the source root or http://isc.org/copyright.html for terms.
|
||||
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.
|
||||
|
||||
@@ -56,7 +56,7 @@ Overview
|
||||
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 /
|
||||
@@ -102,7 +102,7 @@ Overview
|
||||
|
||||
Compatibility:
|
||||
|
||||
Zones are required to be configuration file compatable with
|
||||
Zones are required to be configuration file compatible with
|
||||
BIND 8.x.
|
||||
|
||||
Types:
|
||||
|
||||
@@ -325,7 +325,7 @@ should be used for generic variables (e.g. iteration counters, array
|
||||
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
|
||||
|
||||
@@ -24,7 +24,7 @@ Here's how the 9.0 release branch was created:
|
||||
|
||||
|
||||
|
||||
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
|
||||
|
||||
@@ -33,7 +33,7 @@
|
||||
|
||||
### <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
|
||||
@@ -54,7 +54,7 @@ maintenance and support burden for changes that would only be useful
|
||||
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.
|
||||
@@ -243,7 +243,7 @@ libraries.
|
||||
#### <a name="layout"></a> Source tree layout
|
||||
|
||||
* `bind9/bin`: binaries
|
||||
* `bind9/bin/named`: source code for the `named` binary; includes server configuration, interface manager, client manger, and high-level processing logic for query, update, and xfer.
|
||||
* `bind9/bin/named`: source code for the `named` binary; 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`,
|
||||
@@ -380,7 +380,7 @@ or the end of file was reached, but BIND's version uses result codes:
|
||||
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) {
|
||||
@@ -403,7 +403,7 @@ in header files called `result.h` (for example, the result codes defined
|
||||
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`,
|
||||
@@ -884,7 +884,7 @@ success:
|
||||
}
|
||||
|
||||
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
|
||||
@@ -999,7 +999,7 @@ Other channels may be configured by the user via `named.conf`.
|
||||
|
||||
`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
|
||||
@@ -1070,7 +1070,7 @@ the following steps need to be taken to initialize it.
|
||||
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.
|
||||
@@ -1337,7 +1337,7 @@ In most cases this can just be a function that returns `true`.
|
||||
"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,
|
||||
@@ -1398,7 +1398,7 @@ associated event is triggered.
|
||||
*/
|
||||
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.
|
||||
|
||||
/*
|
||||
|
||||
@@ -21,7 +21,7 @@ for encoding, decoding and comparing dns data preventing the problems that
|
||||
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.
|
||||
@@ -35,7 +35,7 @@ on how to do this.
|
||||
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.
|
||||
|
||||
|
||||
@@ -121,7 +121,7 @@ release.
|
||||
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),
|
||||
|
||||
@@ -274,7 +274,7 @@ Historically, when a controlling statement such as `if` or `else` had
|
||||
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:
|
||||
@@ -481,7 +481,7 @@ with printf, and also when a simple (non-compound) value is being used in
|
||||
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
|
||||
@@ -675,7 +675,7 @@ In some cases, structures are specific to a single C file and are
|
||||
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
|
||||
@@ -768,7 +768,7 @@ on failure?
|
||||
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.
|
||||
|
||||
@@ -945,7 +945,7 @@ verifynode(vctx_t *vctx, const dns_name_t *name, 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 &&
|
||||
|
||||
@@ -2577,7 +2577,7 @@ update_action(isc_task_t *task, isc_event_t *event) {
|
||||
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.
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user