Changeset 146
- Timestamp:
- 02/03/03 15:51:46 (10 years ago)
- Location:
- trunk/pdns
- Files:
-
- 6 modified
-
ChangeLog (modified) (2 diffs)
-
TODO (modified) (3 diffs)
-
pdns.spec (modified) (1 diff)
-
pdns/backends/bind/bindbackend.cc (modified) (3 diffs)
-
pdns/backends/bind/bindbackend.hh (modified) (1 diff)
-
pdns/docs/pdns.sgml (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/pdns/ChangeLog
r144 r146 9 9 - compression (Mark Bergsma) 10 10 - SRV records (Ueli Heuer) 11 11 12 - updated J root-server IP address in the recursor 12 13 - added USR1 forced log output … … 15 16 - added -lz (James H. Cloos Jr) to MySQL 16 17 - added name to webserver (Daniel Meyer) 17 - fixed zone2sql root-zone issues 18 - fixed zone2sql root-zone issues (Brad Knowles) 18 19 19 20 Changes since 2.9.3a: -
trunk/pdns/TODO
r128 r146 2 2 bugs: 3 3 pdns.conf-dist contains old descriptions 4 5 dynmessenger.cc unused variable warning 6 4 7 5 8 Things we will not do but hope other people will: … … 11 14 12 15 Big things: 13 - Add recursion14 15 16 - new plan 16 17 Like in the old days but with a twist - additional processing is done on a … … 19 20 20 21 TODO: 21 learn syncres not to expire its roots22 put a watch on that23 22 learn syncres to load its roots from disk too or at completime 24 be able to reduce logging25 23 get a way to nuke the cache/parts of the cache 26 learn syncres that it should serve answers from its cache27 immediately on a non-rd query28 29 30 31 32 How will this work. Anything that has an RD bit goes to syncres. We need to33 send 5 things: "qname, qtype, socket on which to send the answer,id,flags".34 PowerDNS then forgets all about it.35 36 The recursor receives these questions and goes prowling for the right37 answers. In this, it uses the main PDNS query cache. So we need either a38 full socket to communicate with or two pipes.39 40 Communications can be a stream, but access must be strictly serialized!41 42 Each query 'upwards' consists of a marker and a tuple, PDNS replies with43 serialized DNSResourceRecords, ending with an empty line.44 45 typical communication might be:46 47 qdomain qt socket id remote48 -> www.powerdns.com 1 10 123 5.4.3.249 <- Q: www.powerdns.com CNAME50 -> .51 <- Q: www.powerdns.com A52 -> .53 <- Q: www.powerdns.com NS54 -> .55 <- Q: powerdns.com NS56 -> .57 <- Q: com NS58 -> COM|NS|A.GTLD-SERVERS.NET..59 -> COM|NS|B.GTLD-SERVERS.NET..60 -> .61 <- Q: A.GTLD-SERVERS.NET A62 -> A.GTLD-SERVERS.NET|A|1.2.3.463 <- A: powerdns.com 564 <- powerdns.com|NS|dns-eu1.powerdns.net65 <- powerdns.com|NS|dns-us1.powerdns.net66 <- .67 68 qdomain qtype socket id remote rcode69 <- P: www.powerdns.com 1 10 123 5.4.3.2 0 <- reply packet70 <- www.powerdns.com|A|1.2.3.471 <- powerdns.com|NS|dns-eu1.powerdns.net72 <- powerdns.com|NS|dns-us1.powerdns.net73 <.74 75 76 77 Answers pushed upwards are inserted in the query cache with a78 'unauth' flag.79 80 so, we need a syncres communicator which is executed with as81 parameter the fd it will find a socket on for its perusal.82 83 84 85 24 86 25 - Add support for TSIG -
trunk/pdns/pdns.spec
r128 r146 1 1 Buildroot: /tmp/pdns 2 2 Name: pdns-static 3 Version: 2.9. 43 Version: 2.9.5 4 4 Release: 1 5 5 Summary: extremely powerful and versatile nameserver -
trunk/pdns/pdns/backends/bind/bindbackend.cc
r115 r146 16 16 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 17 17 */ 18 // $Id: bindbackend.cc,v 1.1 3 2003/01/03 21:29:36 ahu Exp $18 // $Id: bindbackend.cc,v 1.14 2003/02/03 14:51:46 ahu Exp $ 19 19 #include <errno.h> 20 20 #include <string> … … 806 806 } 807 807 808 bool BindBackend::isMaster(const string &name, const string &ip) 809 { 810 for(map<u_int32_t,BBDomainInfo>::iterator j=us->d_bbds.begin();j!=us->d_bbds.end();++j) 811 if(j->second.d_name==name) 812 return j->second.d_master==ip; 813 return false; 814 } 815 808 816 class BindFactory : public BackendFactory 809 817 { … … 826 834 827 835 836 837 828 838 //! Magic class that is activated when the dynamic library is loaded 829 839 class BindLoader -
trunk/pdns/pdns/backends/bind/bindbackend.hh
r92 r146 195 195 void rediscover(string *status=0); 196 196 static HuffmanCodec s_hc; 197 198 bool isMaster(const string &name, const string &ip); 197 199 private: 198 200 class handle -
trunk/pdns/pdns/docs/pdns.sgml
r144 r146 12 12 </author> 13 13 14 <PubDate>v2.1 $Date: 2003/02/03 1 0:35:36 $</PubDate>14 <PubDate>v2.1 $Date: 2003/02/03 14:51:46 $</PubDate> 15 15 16 16 <Abstract> … … 82 82 file. 83 83 </para> 84 <sect2 id="changelog-2-9-5"><title>Version 2.9.5 [not released yet]</title> 84 <sect2 id="changelog-2-9-5"><title>Version 2.9.5</title> 85 <para> 86 Released on 2002-02-03. 87 </para> 85 88 <para> 86 89 This version is almost entirely about recursion with major changes to both the pdns recursor, which is renamed to … … 153 156 <listitem> 154 157 <para> 155 Dropped non-lazy recursion, nobody was using it. 158 Dropped non-lazy recursion, nobody was using it. Lazy recursion became even more lazy after Dan Bernstein pointed out that additional 159 processing is not vital, so PowerDNS does its best to do additional processing on recursive queries, but does not scream murder if it does 160 not succeed. Due to caching, the next identical query will be successfully additionally processed. 156 161 </para> 157 162 </listitem> … … 181 186 <listitem> 182 187 <para> 183 SIGUSR1 now forces the recursor to print out statistics to the log now.188 SIGUSR1 now forces the recursor to print out statistics to the log. 184 189 </para> 185 190 </listitem>