1. 24 May, 2000 1 commit
  2. 08 May, 2000 1 commit
    • David Lawrence's avatar
      Megacommit of dozens of files. · 1a69a1a7
      David Lawrence authored
      Cleanup of redundant/useless header file inclusion.
      
      ISC style lint, primarily for function declarations and standalone
      comments -- ie, those that appear on a line without any code, which
      should be written as follows:
         /*
          * This is a comment.
          */
      1a69a1a7
  3. 02 May, 2000 1 commit
  4. 29 Apr, 2000 1 commit
  5. 24 Apr, 2000 1 commit
  6. 19 Apr, 2000 2 commits
  7. 12 Apr, 2000 1 commit
  8. 06 Apr, 2000 1 commit
  9. 03 Feb, 2000 1 commit
  10. 23 Dec, 1999 1 commit
  11. 16 Oct, 1999 1 commit
    • David Lawrence's avatar
      Updated documentation for chains, level_matches and level_count. · 92712379
      David Lawrence authored
      Updated documentation for dns_rbt_findnode to describe more what
      happens with various return values, and that the chain points to the
      DNSSEC predecessor for all non-error returns.
      
      New documentation for dns_rbtnodechain_{prev,next}.
      
      Updated documentation for other dns_rbtnodechain_*.
      92712379
  12. 12 Oct, 1999 1 commit
  13. 11 Oct, 1999 1 commit
  14. 12 Aug, 1999 1 commit
  15. 20 Apr, 1999 1 commit
  16. 16 Apr, 1999 2 commits
    • Bob Halley's avatar
      lint · 828870c4
      Bob Halley authored
      828870c4
    • David Lawrence's avatar
      The ADD_ANCESTOR macro now checks for the required memory, since it is used · ec80744a
      David Lawrence authored
      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.
      ec80744a
  17. 14 Apr, 1999 1 commit
  18. 09 Apr, 1999 1 commit
  19. 01 Apr, 1999 2 commits
    • David Lawrence's avatar
      da1eb108
    • David Lawrence's avatar
      Changes from Bob, best described in his own barely-edited words: · 5f50687f
      David Lawrence authored
        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;
      5f50687f
  20. 30 Mar, 1999 1 commit
  21. 16 Mar, 1999 1 commit
  22. 12 Mar, 1999 1 commit
  23. 11 Mar, 1999 2 commits
  24. 04 Mar, 1999 2 commits
  25. 22 Feb, 1999 1 commit
  26. 10 Feb, 1999 1 commit
  27. 06 Feb, 1999 1 commit
  28. 31 Jan, 1999 1 commit
    • David Lawrence's avatar
      name length removed from structure; value is stored in single byte immediately · 8d320be2
      David Lawrence authored
      after the structure.
      
      color stored in single bit
      
      references bitfield width decrease by one
      
      typedef for a node_chain structure, used by dns_rbt_findnode
      
      dns_rbt_create takes a new second argument that is a pointer to a function
      which frees node data when the node is deleted.
      
      dns_rbt_addnode provided to return the node that was added.
      8d320be2
  29. 29 Jan, 1999 1 commit
  30. 28 Jan, 1999 1 commit
  31. 27 Jan, 1999 1 commit
  32. 26 Jan, 1999 1 commit
  33. 25 Jan, 1999 1 commit
    • David Lawrence's avatar
      A variety of changes. · 73d62a89
      David Lawrence authored
        dns_rbt_node_t changed to dns_rbtnode_t to match ISC conventions.
      
        main() test routine and support functions removed, to be put in
          bin/tests/rbt_test.c
      
        adding a node and rotating left/right taught to not use parent pointers.
      
        deletion disabled because it currently does not know how to not use
          parent pointers, and since they are not being maintained by insertion,
          deleting has no prayer of working.
      
        several isc_result_t returns changed to dns_result_t.
      73d62a89
  34. 20 Jan, 1999 1 commit