Mark Andrews
440906ce59
INSIST that the rdataset is unassociated.
2001-08-27 03:58:44 +00:00
David Lawrence
163e27991b
Revert part of the ISC_MAGIC/ISC_MAGIC_VALID change. Because
...
common.impmagic is not the first four bytes of the struct,
ISC_MAGIC_VALID() cannot be used.
2001-06-04 20:57:25 +00:00
David Lawrence
92ef1a9b9d
use ISC_MAGIC for all magic numbers, for our friends in EBCDIC land
2001-06-04 19:33:39 +00:00
Bob Halley
4e9d4ceadf
Take two of new semantics for ANY queries at zone cut points. Now doing
...
an ANY query at a zone cut point will return a delegation, except if
DNS_DBFIND_GLUEOK is set, in which case DNS_R_ZONECUT will be returned as
before. Someday it would probably be a good idea to get rid of DNS_R_ZONECUT
entirely and just return DNS_R_GLUE in that case, but I was afraid to do
that now since it might break things. These changes pass all system tests.
2001-05-15 05:35:27 +00:00
Andreas Gustafsson
0d205b805a
backed out changes to handling of DNS_DBFIND_VALIDATEGLUE
...
option in previous commit - they broke DNS_DBFIND_GLUEOK lookups,
causing several of the system tests to fail
2001-05-15 03:52:31 +00:00
Bob Halley
751aa24c98
only return DNS_R_ZONECUT from secure zones
2001-05-14 19:25:59 +00:00
Andreas Gustafsson
17ed6b7945
when subtracting a nonempty rdataset from a nonexistent rdataset
...
and the DNS_DBSUB_EXACT flag, dns_db_subtractrdataset() should return
DNS_R_NOTEXACT, not DNS_R_UNCHANGED.
2001-05-10 16:26:07 +00:00
David Lawrence
e40cd7f5c9
preserve a reference to the node lock across a call to no_references() in
...
detachnode
2001-05-05 02:42:38 +00:00
Bob Halley
38d21a360a
only reacquire the lock in no_references() if we actually gave it up
2001-04-24 17:03:54 +00:00
David Lawrence
ed1c40264e
sigh. do not set the lock from node->locknum until being sure node is not null
2001-04-20 21:22:09 +00:00
David Lawrence
a0e1f68e14
Now that no_references() reacquires the node lock after deleting the node,
...
all of its callers need to maintain a reference to the lock that doesn't
involve looking at node->locknum after no_references() was called.
2001-04-20 14:35:04 +00:00
David Lawrence
f6f8d61a77
reacquire the node lock the caller held before returning from no_references()
2001-04-18 08:06:11 +00:00
David Lawrence
0109515495
use ISC_TF() to set an isc_boolean_t
2001-04-12 22:58:34 +00:00
David Lawrence
383b800c62
Fixed up iteration problems related to name cleaning. In a nutshell,
...
the node at the end of a chain always needed to have its reference
count incremented, not only when the iterator was paused. [RT #1007 ]
2001-04-11 22:17:38 +00:00
Brian Wellington
414d289686
oops, cut-and-paste-o
2001-03-30 00:34:52 +00:00
Brian Wellington
e0bab4386b
Treat a zone as secure only if it has a zone key and a signed NXT at the apex.
2001-03-30 00:33:39 +00:00
Andreas Gustafsson
b52a5b0630
790. [bug] Wildcards created using dynamic update or IXFR
...
could fail to match. [RT #1111 ]
2001-03-27 00:06:34 +00:00
David Lawrence
2283923028
a last minute edit added one too many conditions for putting a node on the
...
deletions list
2001-03-08 03:31:29 +00:00
David Lawrence
85e80b5b69
Remove name/node from the rbtdb in no_references().
...
Iterator uses 'cleaning' flag to expire nodes.
2001-03-08 01:35:27 +00:00
Bob Halley
c274e542ad
The fixes to return the SIG of a DNAME RR missed one place where
...
search.zonecut was set, and consequently we were accessing
search.zonecut_sigrdataset without initializing it.
2001-02-23 05:33:36 +00:00
Bob Halley
f4b5a0f434
When a query matched a DNAME in a secure zone, the server did not return the
...
signature of the DNAME. [RT #915 ]
A query should not match a DNAME whose trust level is pending. [RT #916 ]
2001-02-23 02:14:14 +00:00
Brian Wellington
65bc8f2af8
When assigning a bucket lock to an rbt node, use the hash of the full name,
...
rather than the hash of the partial name stored in the node. This more
evenly distributes nodes across locks.
This change only takes effect when DNS_RBT_USEHASH is defined, and also changes
the rbt so that the hashtable is created when the first node is created in the
tree, not after 64 nodes are added.
2001-02-09 01:26:51 +00:00
Brian Wellington
63ca494e7e
Added the isc_refcount_t type, which is a generic locked reference counter,
...
and make the rbtdb, zone, and view objects use it.
This should reduce contention on other locks, since (in the normal)
implementation, the reference count has its own lock. In the future, it
should also be possible to implement an isc_refcount_t with atomic operations
instead of mutexes, which should also help performance.
2001-01-30 02:50:51 +00:00
Bob Halley
40fdf87153
Deal with TTL 0 ANY and SIG queries.
2001-01-24 02:40:19 +00:00
Brian Wellington
18d110413c
Move dns_dnssec_iszonekey to dns_zonekey_iszonekey, to make the rbtdb not
...
require all of dst to be linked in.
2001-01-17 01:22:20 +00:00
Andreas Gustafsson
d94b209b95
added another INSIST() to dns_dbiterator_pause() as suggested by Bob
2001-01-12 20:11:28 +00:00
Andreas Gustafsson
7cdd0b6ade
allow dbiterators to be paused at any time
2001-01-12 18:56:42 +00:00
Brian Wellington
499b34cea0
copyright update
2001-01-09 22:01:04 +00:00
Brian Wellington
6d5032f9a2
Micro-optimizations:
...
- use the DNS_NAME_INIT macro in name.c
- create dns_name_copy() and use it instead of dns_name_concatenate()
when doing a copy.
2001-01-03 00:05:15 +00:00
Mark Andrews
d30c18b17a
set ttl of subtration header
2000-12-07 23:37:52 +00:00
Mark Andrews
6fda157766
ISC_LINK_*UNSAFE -> ISC_LINK_INITAND*
2000-12-07 20:15:58 +00:00
Mark Andrews
168ec3b800
Check ttl when adding/subtracting.
...
New add flag DNS_DBADD_EXACTTTL.
2000-12-07 19:51:58 +00:00
Mark Andrews
f8abaa0fae
Used a unsigned int rather than a boolean to indicate subtrations making
...
the API more consistant between dns_db_{add,subtract}rdataset(),
dns_rdataslab_{merge,subtract}().
Adjust previous CHANGES to reflect above as this is not yet end user visible.
Add missing CHANGES entry for add/merge.
2000-12-01 01:22:45 +00:00
Mark Andrews
012c6d0b91
585. [func] dns_db_addrdataset() and and dns_rdataslab_merge()
...
now support 'exact' additions in a similar manner to
dns_db_subtractrdataset() and dns_rdataslab_subtract().
2000-11-30 13:19:09 +00:00
Bob Halley
d5c1fec74c
do not force replacement mode for singleton types
2000-11-22 01:56:02 +00:00
Bob Halley
383665e42a
Do not allow rdatasets of singleton type to have more than one rdata.
...
Check for CNAME and other data.
[RT #154 ] [RT #279 ]
2000-11-22 00:18:34 +00:00
Brian Wellington
77ac297199
Database and simple database implementations (except rbt and rbt64) are
...
registered dynamically. Simple database drivers no longer use the
keyword "simple" in named.conf - the driver name is sufficient.
2000-11-16 22:33:53 +00:00
David Lawrence
4a590cf385
Following revision 1.124, 'count' was no longer needed by bind_rdataset().
2000-11-15 23:51:13 +00:00
Mark Andrews
c03bb27f06
532. [func] Implement DNS UPDATE pseudo records using
...
DNS_RDATA_UPDATE flag.
531. [func] Rdata really should be initalized before being
assigned to (dns_rdata_fromwire(), dns_rdata_fromtext(),
dns_rdata_clone(), dns_rdata_fromregion()),
check that it is.
2000-10-25 04:26:57 +00:00
Mark Andrews
5e589b5356
Uninitalised link fixes, batch 1.
2000-10-20 02:21:58 +00:00
Mark Andrews
b55c30f2de
525. [func] New arguement 'exact' for dns_db_subtractrdataset(),
...
and dns_rdataslab_subtract() requesting that the RR's
must exist prior to deletion. DNS_R_NOTEXACT is
returned if the condition is not met.
2000-10-18 23:53:31 +00:00
Bob Halley
c40085afa7
Fix problems with DNAME chain processing in the resolver, and with
...
retrievals of DNAMEs from the cache. (Changes 516, 517, and 518).
2000-10-13 18:55:11 +00:00
Bob Halley
ba43c53451
Allow nodes obscured by a DNAME to be accessed if the GLUEOK bit is set.
2000-09-11 16:48:25 +00:00
Bob Halley
3ad16d4c3a
In find_closest_nxt(), do not return DNS_R_BADDB because of glue
2000-09-07 20:10:36 +00:00
Andreas Gustafsson
1ed3e846a2
make the initial iterator state of rdatasets undefined
...
so that we can detect cases where the user fails to call dns_rdataset_first()
before calling dns_rdataset_current()
2000-09-06 23:16:14 +00:00
Michael Graff
7da0286b54
get rid of isc_random_t -- use a wrapper around rand() instead that doesn't do as much work. Also, implement isc_random_jitter(), used to generate a value between a min, max, with a provided jitter value.
2000-09-06 02:40:00 +00:00
Mark Andrews
3a34b87c87
Add cache cleaning support (disabled).
2000-08-31 12:15:17 +00:00
Brian Wellington
5e387b9ce6
and more calls to DESTROYLOCK
2000-08-26 01:37:00 +00:00
Brian Wellington
fe12eb4fc2
Add dns_db_ispersistent. This call determines whether a database is
...
persistent - that is, whether it maintains itself and doesn't require
loading, dumping, and other related things.
2000-08-18 18:25:28 +00:00
Andreas Gustafsson
d56b56dbba
nodecount() returns unsigned int, not isc_boolean_t
2000-08-14 02:49:32 +00:00