Commit Graph

3969 Commits

Author SHA1 Message Date
David Lawrence
194dda8c56 new possible return code for dns_rbt_addnode, DNS_R_NOSPACE. It means
that adding the name would create too many logical levels in the
tree of trees.
1999-03-30 01:57:12 +00:00
David Lawrence
84f8cc7e22 Initialize the node's attributes with the name's attributes. This
is currently fine, because there are only two attribute flags a name
can have, one of which the node definitely needs to have set, and the
other of which is functionally irrelevant (because it happens to be set
by the NODENAME macro, namely the read-only flag).  This might not
be the right thing to do in the future when more name attributes get
added, but we'll cross that bridge if we get to it.  (_Some_ change was
necessary because the node's attributes was not properly initialized when
created, and under certain circumstances this ended up triggering an
exception in the dns_name_* functions.

Watch for level overflow during dns_rbt_addnode().  Returns DNS_R_NOSPACE,
which is probably not the right thing.

Comment cleanups.
1999-03-30 01:56:01 +00:00
Michael Graff
cc60c973f4 comment for bob :) 1999-03-29 23:56:48 +00:00
Bob Halley
f4f2ef7d80 fix minor textual nits 1999-03-24 00:29:54 +00:00
Mark Andrews
0d46301a6e NBUF was one to small.
GETTOKEN is now a simple macro that calls gettoken (static inline).
1999-03-23 00:04:01 +00:00
Mark Andrews
dd082cc554 Added BIND 8.x ttl processing.
Allow ttl / class to be specified in any order.
	Suppress duplicate rdata.
	Additional commentry.
1999-03-22 06:21:29 +00:00
Mark Andrews
5f78628b28 Add DNS_R_BADTTL. 1999-03-22 06:18:34 +00:00
David Lawrence
d737609b91 Allow space for 255 levels in rbtnodechain because of bitlabels. 1999-03-18 21:32:51 +00:00
David Lawrence
d09197467b Principle Authors: DCL 1999-03-18 21:21:31 +00:00
David Lawrence
7ab725ec13 Converted @@@ to XXX per ISC convention for unresolved issues. 1999-03-18 20:32:32 +00:00
David Lawrence
9f1a1007e0 Converted @@@ to XXX in comments about unresolved issues. 1999-03-18 20:30:28 +00:00
David Lawrence
c77dc869b3 Added comments about locking in dns_dbtable struct. 1999-03-18 20:06:26 +00:00
David Lawrence
a685d9c3b6 Preliminary implementation of db mounting. 1999-03-18 19:37:30 +00:00
David Lawrence
f39a760ab0 formatting fixups (a few lines were over 79 char). 1999-03-16 22:57:32 +00:00
David Lawrence
eca5913a47 Made calls to dns_rbt_find{name,node} compatible with the just-committed
changes to rbt.c by passing a NULL pointer for the dns_name_t that
receives the full name of the node that is found.  There is probably something
better to do, but this just keeps things compiling.
1999-03-16 16:15:44 +00:00
David Lawrence
194f54f4da New parameter to dns_rbt_find{name,node} will return the full dns_name_t
of the node that is found.

Avoids doing any memory allocation when building ancestor chain in 99%
of the cases.
1999-03-16 16:10:36 +00:00
David Lawrence
cdd824cc88 documentation updates.
removed some print support function declarations; made static to rbt.c.
1999-03-12 05:01:42 +00:00
David Lawrence
bd1190c84b no more need for mem_failure in rbt_nodechain_t, since findnode now
returns a dns_result_t.

dns_rbt_created requires deleter_arg NULL if deleter is NULL.

dns_rbt_addnode always returns DNS_R_EXISTS if the node is found, regardless
of if it has data.

dns_rbt_addname will add the data and return SUCCESS if addnode says
EXISTS but there is no data at the node.

make sure memory is freed even when get_ancestor_mem to reallocate fails.

partialmatch returned by findnode must have data associated with it.

fixed up deletename; prematurely exited without freeing chain memory if
the node was not found.  made deletename responsible for identifying whether
a node could be removed rather than zapnode.

turned a few of the print support functions static.
1999-03-12 05:00:32 +00:00
David Lawrence
62f178f499 Preserve the storage location of the down node of a pair of joined nodes
when deleting, where possible.
1999-03-11 22:04:24 +00:00
David Lawrence
7f9a18ab45 Move the data pointer further down in the struct, near the second set of
bitfields that are used by RBT DB.
1999-03-11 21:15:12 +00:00
David Lawrence
6a0cb547d4 When splitting a node, increment PADBYTES by the amount that is truncated,
instead of just setting PADBYTES to that amount (this affects when a node
is split twice.)
1999-03-11 20:07:49 +00:00
Bob Halley
0cc67b5a2a add DNS_R_UNCHANGED 1999-03-11 20:06:56 +00:00
David Lawrence
f036af2c71 rbtnode struct adapted with more bitfields to represent color,
name attributes, name length, offset length, and number of bytes
of "padding" that are left over when a node is split.

adjusted node splitting algorithm to preserve the original location
of the lower portion of the split node (eg, when a node has "a.b" as
its name and is split into "a" and "b", "a" retains the same address
space as "a.b".)
1999-03-11 18:54:31 +00:00
Bob Halley
b7ff8128f0 implement rdataset iteration 1999-03-11 06:02:28 +00:00
Bob Halley
bc5c129744 fix typo 1999-03-11 06:02:00 +00:00
Bob Halley
5245f4c5f9 have next method return DNS_R_NOMORE if cursor is already invalid 1999-03-11 06:01:31 +00:00
Bob Halley
efe6d8f066 add dns_db_allrdatasets 1999-03-11 06:00:22 +00:00
Bob Halley
b70e90d44f make current return void 1999-03-11 05:59:40 +00:00
Bob Halley
184aadebb8 rdataset.h is not required 1999-03-11 05:58:56 +00:00
Bob Halley
4054230359 remove old rdataiterator; add rdatasetiter 1999-03-11 05:58:32 +00:00
Bob Halley
84c3294183 improved concatenation 1999-03-11 00:44:17 +00:00
Bob Halley
d7eef25fbe rdataset iterator support 1999-03-11 00:43:43 +00:00
Bob Halley
7a9ded7b5f minor cleanups 1999-03-11 00:43:04 +00:00
Mark Andrews
285b63e90f Added {} to prevent 'ambigious else' warnings. 1999-03-11 00:29:10 +00:00
Mark Andrews
de10b83a23 * local label offset 255 is reserved.
* don't add domainnames with local compression pointers as
	  valid global compression targets unless edns is high enough.
1999-03-11 00:26:21 +00:00
Bob Halley
4a8b521fd7 remove typedef; add dns_fixedname_name() 1999-03-08 19:31:48 +00:00
Bob Halley
84d3cd8fed add dns_fixedname_t 1999-03-08 19:31:30 +00:00
Bob Halley
a301df6a92 add dbiterator 1999-03-08 19:01:49 +00:00
Bob Halley
bb8263521b unimplemented db iterator support 1999-03-08 19:01:18 +00:00
Bob Halley
8c65ae482a db iterator support 1999-03-08 19:00:55 +00:00
Bob Halley
dbef4f7fb7 add 1999-03-08 19:00:11 +00:00
Bob Halley
544021d7e1 add dbiterator.h and fixedname.h 1999-03-08 18:59:27 +00:00
Bob Halley
ce3761f64d add dedicated buffer support; cleanups to dns_name_concatenate() 1999-03-08 18:55:28 +00:00
Bob Halley
4c154a9f38 add 1999-03-08 18:53:44 +00:00
Bob Halley
ddbbc5a1c9 add dns_dbiterator_t 1999-03-08 18:51:51 +00:00
Bob Halley
0b7c2a096d add DNS_R_NEWORIGIN 1999-03-08 18:51:14 +00:00
Bob Halley
8eea0575a0 update 1999-03-06 18:38:24 +00:00
Bob Halley
4c1132f344 update copyright 1999-03-06 04:12:06 +00:00
Bob Halley
ff9104607c add deletion 1999-03-06 00:51:12 +00:00
Bob Halley
12c0aff12a printnode support; versioning fixes 1999-03-05 23:26:24 +00:00