- 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)
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
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
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
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>
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:
};
+
+
//! Magic class that is activated when the dynamic library is loaded
class BindLoader
{
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
{
</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>