Commit Graph
145 Commits
Author SHA1 Message Date
Mark Andrews 2a2e4dbefb 2722. [bug] Ensure that the memory associated with the name of
a node in a rbt tree is not altered during the life
                        of the node. [RT #20431]
2009-10-20 05:06:04 +00:00
Automatic Updater 99b63ca8e5 update copyright notice 2009-01-18 23:47:41 +00:00
Mark Andrews d7900926bf spelling 2009-01-18 23:25:18 +00:00
Mark Andrews 6098d364b6 2448. [func] Add NSEC3 support. [RT #15452] 2008-09-24 02:46:23 +00:00
Francis Dupont 4a253e12fc commit rt17451 2008-03-31 13:11:32 +00:00
Automatic Updater f731b5d665 update copyright notice 2008-01-22 23:28:04 +00:00
Mark Andrews 5497de6931 2313. [cleanup] Silence Coverity warnings. Handle private stacks.
[RT #17447] [RT #17478]
2008-01-22 01:34:15 +00:00
Michael Graff b239c8294a commit lruttl to the mainline. A tag was set called skan_lruttl-mainline-base, and I will tag this as skan_lruttl-mainline-merge after this commit 2007-10-19 17:15:53 +00:00
Automatic Updater 70e5a7403f update copyright notice 2007-06-19 23:47:24 +00:00
Automatic Updater ec5347e2c7 update copyright notice 2007-06-18 23:47:57 +00:00
Mark Andrews 037b732f88 update
1920.   [bug]           The cache rbtdb lock array was too small to
                        have the desired performance characteristics.
                        [RT #15454]
2005-10-13 01:19:15 +00:00
Mark Andrews 83a56f1e4f 1886. [bug] Fix unreasonably low quantum on call to
dns_rbt_destroy2().  Remove unnecessay unhash_node()
                        call. [RT #14919]
2005-06-17 01:00:08 +00:00
Tatuya JINMEI 神明達哉 5597be9bb8 1813. [func] Restructured the data locking framework using
architecture dependent atomic operations (when
			available), improving response performance on
			multi-processor machines significantly.
			x86, x86_64, alpha, and sparc64 are currently
			supported.

(RT #13505)
2005-06-04 05:32:50 +00:00
Mark Andrews 69fe9aaafd update copyright notice 2005-04-29 00:24:12 +00:00
Rob Austein ab023a6556 1851. [doc] Doxygen comment markup. [RT #11398] 2005-04-27 04:57:32 +00:00
Mark Andrews 40e7c805a8 1740. [bug] Replace rbt's hash algorithm as it performed badly
with certain zones. [RT #12729]
2004-10-25 01:27:54 +00:00
Mark Andrews 073bd4c4bc 1739. [bug] dns_rbt_deletetree() could incorrectly return
ISC_R_QUOTA.  [RT #12695]

1738.   [bug]           Enable overrun checking by default. [RT #12695]
2004-10-11 05:49:29 +00:00
Mark Andrews dafcb997e3 update copyright notice 2004-03-05 05:14:21 +00:00
Mark Andrews a03848252f 1580. [bug] Zone destuction on final detach takes a long time.
[RT #3746]

1579.   [bug]           Multiple task managers could not be created.
2004-03-04 06:56:41 +00:00
Mark Andrews 7554feaef6 1571. [bug] rbt:hash_node() could fail leaving the hash table
in an inconsistant state.  [RT #10208]
2004-03-03 22:40:56 +00:00
Tatuya JINMEI 神明達哉 e407562a75 1528. [cleanup] Simplify some dns_name_ functions based on the
deprecation of bitstring labels.
2003-10-25 00:31:12 +00:00
Mark Andrews fc87397df6 1470. [bug] incorrect length passed to snprintf. [RT #5966] 2003-05-08 04:03:25 +00:00
Mark Andrews b6309ed962 developer: jinmei
reviewer: marka
1368.   [func]          remove support for bitstring labels.
2002-08-27 04:53:43 +00:00
Brian Wellington 41e50ece38 add dns_name_hashbylabel() and make the rbt use it. 2001-12-04 01:32:44 +00:00
Andreas Gustafsson 5d727330e4 brace style 2001-12-03 19:44:08 +00:00
Andreas Gustafsson 1f1d36a87b Check return values or cast them to (void), as required by the coding
standards; add exceptions to the coding standards for cases where this is
not desirable
2001-11-30 01:59:49 +00:00
Andreas Gustafsson f1b6872550 Do not put a space before ';' when terminating a statement or in a 'for' statement. 2001-11-27 00:56:32 +00:00
Mark Andrews 0316cd0c04 NODE_VALID -> DNS_RBTNODE_VALID 2001-11-13 06:19:55 +00:00
Andreas Gustafsson c0bf2b179a When DNS_RBT_USEMAGIC is defined as true, do magic number
checking of RBT nodes
2001-11-10 01:37:44 +00:00
Andreas Gustafsson a571ebca8b style 2001-11-09 01:53:20 +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
David Lawrence 7fe56f41ec slight optimization for dns_rbt_findnode() when bitstrings are involved:
skip the hashing attempts entirely when not at the root of a level
2001-05-31 22:32:46 +00:00
David Lawrence 68f4a1696f In dns_rbt_findnode() when using hashing, check for a bitstring after
each failure to find the hash_name, not just when the name has multiple labels.
2001-05-31 21:52:22 +00:00
David Lawrence b79e66b06d While searching in dns_rbt_findnode(), cope with the possibility that
a bitstring label might be founding things from any label of a
multilabel search_name.
2001-05-31 11:03:33 +00:00
David Lawrence ceda09e07a removed stale #define DEBUG that my own comment said I was supposed to remove. 2001-04-12 21:18:14 +00:00
David Lawrence cace8ff3bd use ISC_MAGIC to define the magic number 2001-04-12 00:37:55 +00:00
Andreas Gustafsson dd57718608 #include <isc/print.h> 2001-03-09 23:38:00 +00:00
David Lawrence a09c545af1 join_nodes is removed; node joining is no longer done at any time, because
it corrupts active chains and can change the data at a node which
someone might be using.  (In the latter case, though the full name from
the root was still intact, and the ->data member was not altered, other
values like the partial name ndata and offsets could change.)

New functions dns_rbt_fullnamefromnode() and dns_rbt_formatnodename(),
for getting a dns_name_t and filling a char buffer, respectively, with
the complete name of a node from the root.

rbtnode.is_root was being treated as isc_boolean_t even though it was bitfield
of width 1.  This worked fine, but wasn't consistent with ISC style, and
would have puked if someone decided to change isc_true from 1 (unlikely
as that is).  Yeah, anal, I know.
2001-03-08 01:08:39 +00:00
Brian Wellington d752e5c19e removed pointless code (an if statement checking something that had been
INSISTed on the previous line).
2001-02-28 20:20:18 +00:00
Brian Wellington 9a41936e3d current_root was uninitialized at the start of dns_rbt_findnode(). This
has no real effect, but it's still good to fix it.
2001-02-21 23:21:28 +00:00
Brian Wellington c5945fe694 Fix a potential bitstring bug. 2001-02-21 02:27:56 +00:00
Brian Wellington 4e8eba14a0 reinstate an INSIST() referenced in [RT #421] 2001-02-21 02:01:15 +00:00
Brian Wellington 7222f9f321 The optimization to avoid compares after hashtable matches didn't work when
the matched node contained multiple labels.
2001-02-10 22:46:24 +00:00
Brian Wellington 1c1f5e1911 The root node was added to the hashtable twice, which could lead to an
infinite loop. [RT #840]
2001-02-09 18:48:57 +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 15bc0af6a1 chain_name() built the fully qualified name in a very inefficient way.
Reversing the order of the concatenations makes it significantly faster.
2001-02-05 20:07:20 +00:00
Brian Wellington 70b4889c85 A minor optimation to the rbt hash code that should reduce the number
of calls to dns_name_fullcompare().
2001-01-22 20:41:43 +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
Brian Wellington 78838d3e0c 8 space -> tab conversion 2000-12-11 19:24:30 +00:00