Commit Graph
1381 Commits
Author SHA1 Message Date
Michael Graff d20401b765 Get the query/response flag in the right place, and make named return
SERVFAIL on all replies again, until I fix up the database stuff again.
1999-05-01 18:07:52 +00:00
Michael Graff 8d6024e7cf Move the flags on dns_rdataset_totext() to be together, and make a
matching change to dns_rdataset_towire()
1999-04-30 21:15:02 +00:00
Michael Graff 1d7987f422 checkpoint 1999-04-30 07:53:07 +00:00
Michael Graff 69be7837c9 teach dns_rdataset_towire() about the no-rdata-or-ttl trick so it will work
for rendering the questions as well as the other sections.
1999-04-30 07:08:55 +00:00
Michael Graff ded7456a4d Implement searching for a name in a section. 1999-04-30 06:13:07 +00:00
Michael Graff e690d225ad Make named compile, and start on using message code. This isn't done yet. 1999-04-30 05:42:06 +00:00
Michael Graff 14bc0e48c9 names link rdatasets, not rdatalists now 1999-04-30 00:18:19 +00:00
Michael Graff d331092fdd Add a flag to dns_rdataset_totext() to turn on/off 'question format' 1999-04-30 00:17:56 +00:00
Michael Graff fccf7905e8 snapshot working message parsing 1999-04-30 00:17:15 +00:00
Michael Graff f92381fe0f Allocate DNS_R_FORMERR 1999-04-29 08:19:33 +00:00
Michael Graff e223094b22 checkpoint 1999-04-29 08:18:57 +00:00
Michael Graff d688386936 checkpoint 1999-04-28 03:19:58 +00:00
Michael Graff f9df80f434 snapshot work 1999-04-27 02:24:11 +00:00
Bob Halley bd53af8229 add dns_name_clone() 1999-04-24 02:03:07 +00:00
David Lawrence 605ae28c5a dns_name_split() 1999-04-23 04:58:43 +00:00
Michael Graff 89a90040d5 message rework 1999-04-22 20:12:44 +00:00
Andreas Gustafsson 2ff9be15ef cut-and-paste bug in dns_rdatasetiter_t documentation 1999-04-21 08:16:07 +00:00
Bob Halley 302d9bebb5 require added rdatasets to be in the same class as the database 1999-04-20 22:31:39 +00:00
Bob Halley 349bc6f0fb add dbtable 1999-04-20 22:27:03 +00:00
Bob Halley d94c5ba48b add class; minor cleanups 1999-04-20 22:26:50 +00:00
Bob Halley 48481c9b6e add dns_db_class() 1999-04-20 22:26:12 +00:00
David Lawrence 9efc87f857 Added level_matches to chains for rbtdb support. 1999-04-20 18:11:07 +00:00
Bob Halley b8862d5130 add dns_db_attachversion() 1999-04-19 22:51:48 +00:00
Bob Halley ca3b094a06 add not-already-paused requirement to pause method 1999-04-17 01:37:12 +00:00
Bob Halley 6bb7b678f5 do not pass the version to dns_db_createiterator() 1999-04-16 21:28:00 +00:00
Bob Halley a8166bf1be versions are no longer part of dbiterators 1999-04-16 21:27:26 +00:00
Bob Halley 828870c41a lint 1999-04-16 21:26:41 +00:00
David Lawrence ec80744ad6 The ADD_ANCESTOR macro now checks for the required memory, since it is used
in a lot of places now.  It _returns_ if it fails to get the necessary memory,
so any function using it should be returning a dns_result_t.

chain_name moved toward start of file, for inlining by findnode.

move_chain_to_last broke out some functionality of dns_rbtnodechain_last
(which now calls it), also for the benefit of findnode.

dns_rbtnodechain_init on the chain used by addnode.

All of the new_foundname concatenation gook was removed from findnode,
which now just sets foundname by using chain_name.

The chain set up by findnode points to the predecessor when the searched
for name is not found.

nodechain_current was changed to take name, origin and node parameters while
returning a dns_result_t.  This allows the chain returned by findnode to
be named.

The nodechain_{first,last,prev} use nodechain_current to set their
names and origins.  nodechain_next does not need it because it will never
have to do the "set the origin to '.' and remove '.' from names in the
root level" bit.  The root level will never be more than one name, and
everything in the megatree is a successor to that node, so 'next' never
reaches the root level.
1999-04-16 16:12:15 +00:00
David Lawrence 6d74580f08 Documentation for chains. 1999-04-14 14:39:15 +00:00
Bob Halley 8259b7b150 API simplification 1999-04-14 02:33:19 +00:00
Bob Halley c9a8413dcb Require that only the last reference of a writable version may be committed. 1999-04-13 01:54:02 +00:00
Bob Halley 46d74dd316 fix typo 1999-04-10 00:34:18 +00:00
David Lawrence 33950f0a02 Preliminary work on iterators. 1999-04-09 15:21:15 +00:00
Bob Halley 0370190a68 REQUIRE that target is a valid name in dns_name_getlabelsequence() 1999-04-09 01:27:54 +00:00
Bob Halley 63e6086ef9 pass time to routines which add or create rdatasets 1999-04-09 01:10:19 +00:00
Bob Halley aa9f70c1e1 add now 1999-04-09 01:09:23 +00:00
Michael Graff a6a0f27083 msg.h -> message.h, and dns_msg* to dns_message* 1999-04-08 21:13:31 +00:00
Bob Halley 3c11c87769 update comments 1999-04-06 04:15:49 +00:00
Michael Graff 68221c823d add msg functions 1999-04-06 02:18:08 +00:00
Bob Halley b4055b9666 preliminary dns_db_find() comments 1999-04-05 20:39:50 +00:00
Bob Halley 6e077ae73c add DNS_R_ZONECUT 1999-04-05 20:11:30 +00:00
David Lawrence da1eb108c6 rbtnode's callback member renamed find_callback. 1999-04-01 15:57:48 +00:00
Bob Halley ced5499494 add dns_db_find 1999-04-01 04:03:22 +00:00
Bob Halley d176cbca5b checkpoint 1999-04-01 04:02:33 +00:00
Bob Halley 5bfea18ff8 add dns_rdataslab_merge 1999-04-01 04:00:39 +00:00
Bob Halley e7b724c23e result types for database searches 1999-04-01 03:59:49 +00:00
David Lawrence 5f50687f61 Changes from Bob, best described in his own barely-edited words:
I added support for the full search algorithm to the RBT database
  code.  The database has some special needs in searching, in particular
  certain nodes need to be examined before the DOWN pointer is followed.

  I solved this problem by adding a 'callback' bit to the node structure.
  When findnode is called, the caller can supply a callback.  Before we go
  DOWN at a node, we call the callback if the callback bit is set at the
  node.  If the callback returns DNS_R_CONTINUE, we proceed.  Otherwise, we
  will stop right there and return what the caller said to return.  I
  added an 'empty_data_ok' flag to findnode as well, so that nodes with
  empty data can be made candidates for partial match status.

  I also wanted to make dns_rbtnodechain_t public, so that a chain could
  be allocated on the stack by the caller.  I added two routines,
  dns_rbtnodechain_init() and dns_rbtnodechain_reset() to work with them.
  The latter routine frees any dynamically allocated memory associated with
  the chain.  The chain structure now contains the memory context.  I also
  moved get_ancestor_mem() and put_ancestor_mem() up in the file, so that
  inlining could be more effective.

  In the nits department, you wrote

                  *node = result == DNS_R_SUCCESS ? current : NULL;

  In the future, please write this instead (the patch has this change in it):

                  if (result == DNS_R_SUCCESS)
                          *node = current;
                  else
                          *node = NULL;
1999-04-01 03:15:54 +00:00
Michael Graff f9df3b7b03 typo 1999-03-30 03:45:46 +00:00
Michael Graff 952c9d12d0 add DNS_R_MOREDATA for msg library 1999-03-30 03:45:11 +00:00
Michael Graff b1ddf33030 add msg.h, will change as needed, but Brian needed this now 1999-03-30 03:43:00 +00:00