pdnsd Homepage | pdnsd FAQ | Documentation | GNU GPL (pdnsd's License) | Download Section |
2001-05-13 | Version 1.1.4 has been released.
This one has taken longer than I expected. It fixes various smaller bugs, and should also improve the cache write
performance especially for larger caches. There are also two new features: servers can now be given a label (using the label server option) which can be used to identify them for the pdnsd-ctl server command (contributed by Andrew M. Bishop), and local records can be marked to make the domain record authoritative in pdnsd's cache (which means that pdnsd will assume that records that are not present in the cache for that domain are non-existent); this is on by default now, and can be controlled using the new authrec server option). |
2001-04-12 | Version 1.1.3 has been released.
This release addresses a security problem that affects only Linux systems. Due to a bug in glibc, pdnsd
could crash during a port scan. This release contains a workaround for this, as well as a fix for a deadlock under
heavy load conditions. It also fixes a possible problem that could be triggered by malicious servers, and contains
numerous bug fixes. A script, contributed by Marko Stolle, makes pdnsd useful in a DHCP setup. pdnsd also preservers the case of names in the cache, and should work much better on alpha machines (thanks for the contributions by Bjoern Fischer and P.J. Bostley that made this possible). New types were added for rr sections and pdnsd-ctl. Upgrade is recommended. |
2001-02-16 | Version 1.1.2a has been released.
This contains small fixes, the most important of them being spec file fixes contributed by Sourav K. Mandal. If your build is OK, there is no need to upgrade. The SuSE RPM's have therefore not been updated. |
2001-02-07 | Version 1.1.2 has been released. This has a fix for a bug that could cause SERVFAIL to be returned when NXDOMAIN would be appropriate. The bug surfaced only when pdnsd queried name servers with a behaviour different from BIND's in the NXDOMAIN case, e.g. pdnsd querying another pdnsd or e.g. djbdns. |
2001-01-24 | Version 1.1.1 has been released.
This release fixes a possible race condition in status socket creation. This race might be used by a local attacker
to change the access permissions of a certain file in /tmp. The risk of this is probably negligible. The default setup
uses a non-privileged user, default mode 0600, and the status socket is disabled normally, so this should
be relatively safe. There are also some other minor fixes and documentation improvements. Upgrade is recommended. |
2000-11-28 | The SuSE RPM's have been reissued. There were some bugs in the SuSE rpm's and in the spec file in the source archives that have been fixed. Thanks to Bernd Leibing for patches! If you do not use the RPM's, there is no need to upgrade. |
2000-11-21 | Version 1.1.0 has been released.
This release introduces negative cacheing. pdnsd-ctl and the config
file format were extended to give full access to this new feature.
Some bugs were fixed, and the FreeBSD support was improved much. Note: The cache file format has changed in this release. You should delete you old pdnsd.cache before installing this version. Also, the default configuration directory and some other default configure settings were changed; please refer to the documentation. |
2000-10-25 | Version 1.0.15 has been released.
This is mainly a bugfix release. Among others, it fixes a bug
that could cause pdnsd to hang under very high load conditions.
Also, record order randomizing has been introduced, so that the
first record of a record set that is returned is chosen randomly.
This aids round-robin DNS schemes and the like. This behaviour
is controlled by the new randomize_recs option. Upgrade is recommended. |
2000-10-25 | pdnsd HOWTO Sunil Thomas Thonikuzhiyil (sunil_tt@yahoo.com) has released a pdnsd HOWTO. It can be found at http://www.geocities.com/sunil_tt/ |
2000-10-20 | Version 1.0.14 has been released.
This has a small fix that will it make build properly on FreeBSD and
older Linux systems, and also affects the tcp server. If pdnsd 1.0.13 works for you, and you do not have compiled pdnsd with --enable-tcp-server, there is no need to upgrade. |
pdnsd can be used with applications that do dns lookups, eg on startup, and can't be configured to change that behaviour, to prevent the often minute-long hangs (or even crashes) that result from stalled dns queries. Some Netscape Navigator versions for Unix, for example, expose this behaviour.
pdnsd is configurable via a file and supports run-time configuration using the program pdnsd-ctl that comes with pdnsd. This allows you to set the status flags of servers that pdnsd knows (to influence which servers pdnsd will query), and the addition, deletion and invalidation of DNS records in pdnsd's cache.There is also a limited support for local zone records, intended for defining 1.0.0.127.in-addr.arpa. and localhost. , since some clients request that information and it must be served even if the cached servers are not available or do not serve these records. pdnsd may also read your /etc/hosts file (this file is normally used by your local resolver and usually contains information for localhost as well as for your machines FQDN) and serve its contents.
pdnsd was started on Linux, and has since been ported to FreeBSD. 90% of the source code should be easily portable to POSIX- and BSD-compatible systems, provided that those systems support the POSIX threads (pthreads). The rest might need OS-specific rewrites.
Currently, pdnsd is only compileable by gcc. This should be easy to fix, but I just do not have documentation for other compilers. If you are not able or do not want to use gcc, I would recommend you just try to do the minor changes.
pdnsd must be started as root in some cases (raw sockets are needed for icmp
echoes for the option uptest=ping
, and the default port is 53, this must be
>1024 to allow non-root execution). However, pdnsd can be configured to change it's user
and group id to those of a non-privileged user after opening the sockets needed for this.
The server should support the full standard dns queries following the rfcs 1034 and 1035. As of version 1.0.0, the rfc compliance has been improved again, and pdnsd is now believed (or hoped?) to be fully rfc-compatible. It completely follows rfc 2181 (except for one minor issue in the FreeBSD port, see the documentation). It does not support the following features, of which most are marked optional, experimental or obsolete in these rfcs:
If you have questions left, you should take a look into the FAQ.
Bugfixes, patches and compatability fixes for other OSs are very welcome!
This section describes some of pdnsds features in detail. Most of the options are set in the config file. For more information on the configuration file, see the documenation page.
/etc/hosts
file, that means
that pdnsd reads this file, extracts addresses and domain names from it and automatically generates
A records for name to address mapping, PTR records for address to name mapping and NS records (name
server specifiation) for each entry in the file.
pdnsd was written by Thomas Moestl <tmoestl@gmx.net>
Note:Recently, some people have reported problems with that email address. If it does not work
for you, or you suspect that I have not received a mail you have sent me, please try to mail to
t.moestl@tu-bs.de.
Daniel Smolik has contributed RedHat RPM's.
Torben Janssen contributed start scripts for Red Hat Linux.
Soenke J. Peters contributed patches and suggestions for Red Hat compatability.
Wolfgang Ocker has contributed the code and documentation for the server_ip
option.
Markus Mohr contributed a Debian rc script.
Nikita V. Youschenko contributed extensions to the "if" uptest.
Lyonel Vincent extended the serve_aliases option to support an arbitrary number of aliases.
Sourav K. Mandal wrote the autoconf scripts and contributed many fixes and suggestions.
Stephan Boettcher contributed the SCHEME= option.
Ron Yorston contributed the uptest for Linux ppp dial-on-demand devices.
Alexandre Nunes fixed some bugs in the autoconf files.
Sverker Wiberg contributed fixes for IPv6.
Carsten Block contributed configure
-able rc scripts.
Olaf Kirch contributed a security fix for the run_as code.
Paul Wagland contributed various patches for bind9-compatability and other issues.
Roman Shterenzon contributed patches and lots of helpful hints for FreeBSD compatability.
Bernd Leibing has contributed spec file fixes.
Michael Wiedmann has contributed the pdnsd-ctl.8 man page.
Marko Stolle has contributed the contrib/pdnsd_update.pl script that makes pdnsd usable in a DHCP setup.
P.J. Bostley has contributed patches to get pdnsd working on alpha properly.
Christian Engstler contributed patches for SuSE compatability.
Bjoern Fischer contributed code to make pdnsd leave the case of names in the cache unchanged.
Marko Stolle contributed the contrib/pdnsd_update.pl script that makes pdnsd usable in a DHCP setup.
Andrew M. Bishop contributed the support for the label server option and the pdnsd-ctl interface for using it.
Frank Elsner contributed rc script fixes.
Special thanks to Bert Frederiks for letting me do a late-night debugging run on his machine to spot obscure bugs!
Thanks to the following persons for reporting bugs and being helpful:
Kevin A. Burton,
Joachim Dorner,
Mike Hammer,
Jonathan Hudson,
Byrial Jensen,
Patrick Loschmidt,
James MacLean,
Fraser McCrossan,
Michael Müller,
Erich Reitz,
Brian Schroeder,
Milan P. Stanic,
Michael Steiner,
Norbert Steinl,
Markus Storm,
Alan Swanson
$Id: index.html,v 1.62 2001/05/12 22:58:32 tmm Exp $