]> granicus.if.org Git - pdns/commitdiff
hmf
authorBert Hubert <bert.hubert@netherlabs.nl>
Mon, 3 Feb 2003 14:51:46 +0000 (14:51 +0000)
committerBert Hubert <bert.hubert@netherlabs.nl>
Mon, 3 Feb 2003 14:51:46 +0000 (14:51 +0000)
git-svn-id: svn://svn.powerdns.com/pdns/trunk/pdns@146 d19b8d6e-7fed-0310-83ef-9ca221ded41b

ChangeLog
TODO
pdns.spec
pdns/backends/bind/bindbackend.cc
pdns/backends/bind/bindbackend.hh
pdns/docs/pdns.sgml

index c4f46ebe38ae30d72122493e2eefc744843987f0..7ac1e861ed61c57f146a21ea6ff2cd0a6844cc49 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -8,13 +8,14 @@ Changes since 2.9.4:
        - UltraSparc alignment issues Chris Andrews
        - compression (Mark Bergsma)
        - SRV records (Ueli Heuer)
+
        - updated J root-server IP address in the recursor
        - added USR1 forced log output
        - changed meaning of 'cache hits -> packets which could be answered
                without sending packets out
        - added -lz (James H. Cloos Jr) to MySQL
        - added name to webserver (Daniel Meyer)
-       - fixed zone2sql root-zone issues
+       - fixed zone2sql root-zone issues (Brad Knowles)
        
 Changes since 2.9.3a:
 feat   - make *all* sql in gsqlbackends available for configuration (Martin Klebermass/bert hubert)
diff --git a/TODO b/TODO
index 677b25907616b45e557cb77d86ce9f74772ff22b..44f08d7ce7ed4fbcba218134da13a88c3358ab0c 100644 (file)
--- a/TODO
+++ b/TODO
@@ -2,6 +2,9 @@
 bugs:
        pdns.conf-dist contains old descriptions
 
+       dynmessenger.cc unused variable warning
+
+
 Things we will not do but hope other people will:
        - Ports to NetBSD, OpenBSD, AIX
 
@@ -10,78 +13,14 @@ Things we will not do but hope other people will:
 Projects we will be working on, but would like help for:
 
 Big things:
-       - Add recursion
-
        - new plan
 Like in the old days but with a twist - additional processing is done on a
 best-effort basis by a non-rd packet sent to syncres. This means we can stay
 lazy for far longer!
 
 TODO:
-       learn syncres not to expire its roots
-               put a watch on that
        learn syncres to load its roots from disk too or at completime
-       be able to reduce logging
        get a way to nuke the cache/parts of the cache
-       learn syncres that it should serve answers from its cache
-          immediately on a non-rd query
-
-
-       
-               
-How will this work. Anything that has an RD bit goes to syncres. We need to
-send 5 things: "qname, qtype, socket on which to send the answer,id,flags".
-PowerDNS then forgets all about it.
-
-The recursor receives these questions and goes prowling for the right
-answers. In this, it uses the main PDNS query cache. So we need either a
-full socket to communicate with or two pipes.
-
-Communications can be a stream, but access must be strictly serialized!
-
-Each query 'upwards' consists of a marker and a tuple, PDNS replies with
-serialized DNSResourceRecords, ending with an empty line.
-
-typical communication might be:
-
-        qdomain    qt  socket    id   remote
--> www.powerdns.com 1   10       123 5.4.3.2
-<- Q: www.powerdns.com CNAME
--> .
-<- Q: www.powerdns.com A
--> .
-<- Q: www.powerdns.com NS
--> .
-<- Q: powerdns.com NS
--> .
-<- Q: com NS
--> COM|NS|A.GTLD-SERVERS.NET..
--> COM|NS|B.GTLD-SERVERS.NET..
--> .
-<- Q: A.GTLD-SERVERS.NET A
--> A.GTLD-SERVERS.NET|A|1.2.3.4
-<- A: powerdns.com 5
-<- powerdns.com|NS|dns-eu1.powerdns.net
-<- powerdns.com|NS|dns-us1.powerdns.net
-<- .
-
-           qdomain   qtype socket    id remote   rcode
-<- P: www.powerdns.com 1   10       123 5.4.3.2    0     <- reply packet
-<- www.powerdns.com|A|1.2.3.4
-<- powerdns.com|NS|dns-eu1.powerdns.net
-<- powerdns.com|NS|dns-us1.powerdns.net
-<.
-
-
-       Answers pushed upwards are inserted in the query cache with a
-'unauth' flag.
-
-       so, we need a syncres communicator which is executed with as
-parameter the fd it will find a socket on for its perusal.
-
-
-
 
        - Add support for TSIG
 
index c19d713c86addbfe0bfe2b74c2024374adf33f83..b4959d645fcd69f7c17f5949d67a2e96a5d18455 100644 (file)
--- a/pdns.spec
+++ b/pdns.spec
@@ -1,6 +1,6 @@
 Buildroot: /tmp/pdns
 Name: pdns-static
-Version: 2.9.4
+Version: 2.9.5
 Release: 1
 Summary: extremely powerful and versatile nameserver
 Copyright: see /usr/doc/pdns/copyright
index 8c7d82a7881c51e7acaa7f843c6a89a9f991e2ed..f65623eab522aabd63931ebe2678174234c92ee5 100644 (file)
@@ -15,7 +15,7 @@
     along with this program; if not, write to the Free Software
     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 */
-// $Id: bindbackend.cc,v 1.13 2003/01/03 21:29:36 ahu Exp $ 
+// $Id: bindbackend.cc,v 1.14 2003/02/03 14:51:46 ahu Exp $ 
 #include <errno.h>
 #include <string>
 #include <map>
@@ -805,6 +805,14 @@ bool BindBackend::handle::get_list(DNSResourceRecord &r)
   return true;
 }
 
+bool BindBackend::isMaster(const string &name, const string &ip)
+{
+  for(map<u_int32_t,BBDomainInfo>::iterator j=us->d_bbds.begin();j!=us->d_bbds.end();++j) 
+    if(j->second.d_name==name)
+      return j->second.d_master==ip;
+  return false;
+}
+
 class BindFactory : public BackendFactory
 {
    public:
@@ -825,6 +833,8 @@ class BindFactory : public BackendFactory
 };
 
 
+
+
 //! Magic class that is activated when the dynamic library is loaded
 class BindLoader
 {
index dfaf6e70642ed4299d53620013df53259cef3b1b..1ba864dcf7b9fa2cab40728ec0c1a26536e7cdb6 100644 (file)
@@ -194,6 +194,8 @@ public:
   void insert(int id, const string &qname, const string &qtype, const string &content, int ttl, int prio);  
   void rediscover(string *status=0);
   static HuffmanCodec s_hc;
+
+  bool isMaster(const string &name, const string &ip);
 private:
   class handle
   {
index 393db984ff42b5a12f791492a6de39f8e1cf1700..9a3d9cea29858fbc187de6ae63ea2c43445ecd6e 100644 (file)
@@ -11,7 +11,7 @@
       </affiliation>
     </author>
     
-    <PubDate>v2.1 $Date: 2003/02/03 10:35:36 $</PubDate>
+    <PubDate>v2.1 $Date: 2003/02/03 14:51:46 $</PubDate>
     
     <Abstract>
        <para>  
        Before proceeding, it is advised to check the release notes for your PDNS version, as specified in the name of the distribution
        file.
       </para>
-      <sect2 id="changelog-2-9-5"><title>Version 2.9.5 [not released yet]</title>      
+      <sect2 id="changelog-2-9-5"><title>Version 2.9.5</title> 
+       <para>
+         Released on 2002-02-03.
+       </para>
        <para>
          This version is almost entirely about recursion with major changes to both the pdns recursor, which is renamed to 
          '<filename>pdns_recursor</filename>' and to the main PowerDNS binary to make it interact better with the recursing component.
            </listitem>
            <listitem>
              <para>
-               Dropped non-lazy recursion, nobody was using it.
+               Dropped non-lazy recursion, nobody was using it. Lazy recursion became even more lazy after Dan Bernstein pointed out that additional
+               processing is not vital, so PowerDNS does its best to do additional processing on recursive queries, but does not scream murder if it does
+               not succeed. Due to caching, the next identical query will be successfully additionally processed.
              </para>
            </listitem>
            <listitem>
            </listitem>
            <listitem>
              <para>
-               SIGUSR1 now forces the recursor to print out statistics to the log now.
+               SIGUSR1 now forces the recursor to print out statistics to the log.
              </para>
            </listitem>
            <listitem>