2
0
mirror of https://gitlab.isc.org/isc-projects/bind9 synced 2025-08-29 21:47:59 +00:00

618 Commits

Author SHA1 Message Date
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