----------------- Posadis ChangeLog ----------------- Posadis 0.60.5 * Fixed bug in hashvector where looking up would be done case-sensitively (e.g. causing other case lookups for large zones to fail) * Fixed bug where setgid and setuid would not work both at the same time * Warn for lines with leading whitespace * Warn if no sockets to listen to * Fixed bug where cache items would not show up in zd_first->zd_last chain, thus not being cleaned up and potentially causing 100% CPU usage * Added support for initial cache files Posadis 0.60.4 * Tightened down some possible mutex problems * Fixed handling of zero-TTL-ed domain names * Allowed negative value for max_tcp_connections from config file * Fork /before/ creating new threads on Unix (would cause Posadis not to respond to KILLs) Posadis 0.60.3 * Fixed bug where overriding forwarding rules wouldn't work in most cases * Fixed crash when defining child before parent due to parent pointer not being set * Be less picky about receiving forwarded answers * Yet some more s/authoritive/authoritative * Make posask/poshost support multiple servers to query * Fixed crash for embedded config settings without a value * Clarified error messages in master file comments * Fixed error in Posadisrc example: zone_update_ttl should have been update_ttl * Plugin dir is now also appended if you have nonstandard dirs * Added ability to handle -1 for max_tcp_conns * Fixed serial number check for secondary code: only /newer/ serials will actually cause an update. * Fixed bug where the cache would _never_ be cleaned up * Added cache statistics * If we run out of patience, we should return SRVFAIL * Fixed bug where cache-ns items would expire from cache * Fixed hashvector bug: inconsistent use of treshold, ultimately able to cause crashes and 100% CPU usage * Removed 'filing for removal' messages if not in debug mode * Make sure we don't get stuck with incomplete unrepairable cache info * Fixed possible problem with domain names getting lost from the cache removal queue * Fixed bug where implicitly created domain names would not be added to the cache removal list Posadis 0.60.2 * Now always print a space between posask query name and type * Use #ifndef __POSADIS_*_H rather than #ifndef __*_H to avoid collision with user modules (just had this problem, tool me a while to find it :) ) * Fixed wrong references to ipv6.int which should be ip6.int * Added support for IPv6 in formap,revmap modules * The default library search path is now _always_ added instead of just when no other one is specified * Moved posadisrc configuration from main to a separate source file to facilitate SIGHUP handling * Fixed obscure C++ referencing bug concerning the takeover of root zones * If the root domain is a built-in primary or secondary zone, it is now no longer nessecary to do "cache-ns .". * Added "lib_" prefix to lib setting functions (to facilitate win32) * Added help message to FAM RPM. * Fixed small problem where the initial loading of master files with serial 0 (or, in very rare cases, with other serials) would cause a "Serial not increased" message. * Added support for initial comments in zonefiles * Added zonefile support from fam in Posadis * Added warning message if a domain name has both CNAME and non-CNAME records * Added documentation to posadisrc, and also include it in doc directory * Renamed "fam" module to "monitor" * Fixed resolver bug where for extra information lookups, Posadis would lookup NS records rather than A records * Added zonefile reloading, and removed PrimaryZone->update_ttl\ * When resolving fails, we choose not to answer rather than SRVFAILing now. * For additional NS queries, limit the patience value to 10. * Finally fixed libltdl autoconf woes (I hope :S) * Added "AllZoneFiles" config statement * Grep s/authoritive/authoritative/ * Fixed problem in init script status if Pos was not running * Posask now uses server resolver as well * Added "togglequerylog"/"tql" command to Posadis init script * For Win32, applications can now read from the log file while the server is running. * Added logfile per day functionality Posadis 0.60.1 * FreeBSD build fixes * Fixed libfam error messages that should have been info's and info's that should have been errors * Made FAM shutdown along with Posadis better (for some reason, it did that automagically on Linux but not on FreeBSD) * Reduced FAM polling interval to one second * Fixed mentions of "Pos6" in the posadis-config script. * Ditched deprecated malloc.h and sys/dir.h headers. * Fixed init script for Mandrake * Fixed bug where posadis-getroots would crash with certain command-line arguments, and added support for "-h" and "--help" * Now display error message on expiration * Fixed bug where TCP timeout values for Posask would not make sense * Now return failure for unknown command-line options * RPM now stops Posadis prior to uninstallation * Posadisrc in RPM now /etc/posadisrc.example instead of /etc/posadisrc (in order to prevent overwriting) * Added chroot() capabilities (still need to test though) * Now check for unexpected data after config lines, and check for unexpected eofs * Added message when master file is loaded * Now also display serial in "secondary loaded" message * Fixed bug in revmap module causing wrong error messages to be displayed for unknown configuration options. Posadis 0.60.0 * Re-branding from Pos6 to Posadis * Fixed build failure when libltdl was not installed * In Posask, default to "ptr" query type if domain is in a reverse-mapping domain such as in-addr.arpa * For "serial not increased" error message, display zone name in addition to master file name. * Added poshost tool * Added sample posadisrc to RPM, distribution * Separate posadis-fam, posadis-devel RPMz * Implemented query logging * Fixed bug where default listen address would be 127.0.0.1 instead of 0.0.0.0 * Fixed bug where absolute mf paths (e.g. from FAM) would still have mfedit appended * Fixed bug where multiple simultaneous secondary zone transfers would fail. * Fixed bug where zone files would not be read binarily, causing problems with BZF's under Windows. Pos6 0.60.0pre4 * No longer add zero TTL items to cache * Bugfix: glue is now added _after_ data to prevent it from showing up twice * Bugfix: fixed crash for notify messages to non-secondaries * Bugfix: removed spurious end_setting for zones * Bugfix: if parent NXDOMAIN was looked up before child NXDOMAIN, the parent NXDOMAIN would never be cached * Pos6 now also allows resolving of subdomains of NXDOMAINS * Posask: make better use of poslib * Posask: number of tries support * Posask: print *** For error messages * Improved init script to make it detect failure to close * Bugfix: default library directory fix * Force data dir for secondary (putting the data in pwd is _not_ good behavior) * Fixed _really_ stupid bug where AuthMemZone::'reset' would clear the Poslib servers list (causing it to stop listning), instead of its own slaves list * Using stl_slist rather than stl_list in SecondaryZone to make it more synchronous to AuthMemZone and friends * Support for adding additional addresses from which to allow notify answers (through allow_notify_from) (if from them, those are not the ones we try a zone transfer from though) * Changed default update_ttl from never to 30m * Master files are only re-loaded if their filesystem mtime changed. Pos6 0.60.0pre2 * Data path limits relaxed (caused AXFR not to work on win32) * Fixed Linux service support, added support for SuSe/Unitedlinux and removed RedHat-specific code * Removed SQL module: should be packaged separately and the monitoring solution is very bad. * Fixed configuration file parser error: no comments allowed in zone constructs. * Zone's end_setting now called _after_ forking (caused crash) * Fixed crash for AXFR queries outside authoritive data Pos6 0.60.0pre1 * Added poslib-config script, and now install headers as well. * Fam module now notifies user if the zone changed and the serial didn't. * Zone transfer support (requires datadir though) * Fixed bug where Posadis crashed when failing to read zone transfer file. * If Posasis handles a referral, NS record addition is now handled by the cache rather than by the authoritive data store. * Now Posadis always adds a SOA record for a NXDOMAIN, not only if it's from a CNAME. * Don't set AA bit for referrals * For NODATA, NXDOMAIN, don't add NS records to authority * If answer already has NS list, don't put it in authority as well. * Fixed bug when taking over zone without subitems * Fixed very subtle bug when defining an authoritive root zone * Support for DNS NOTIFY * Use posthreads rather than pthreads for more graceful close * Implemented primaryzone re-reading * Added functionality for writing PID * Removed "Entering sysquery" and other resolver messages * Fixed floating-point exception with empty RR sets * Fixed bug where ncached NS sets would be preferred above existing NS sets in authority section * Fixed bug with two zones connected to same placeholder node * Fixed bug where CNAMEs pointing to domains out of zone wouldn't work * If we have no cache data, return SRVFAIL instead of crashing * Added Posask tool * Added support for SIGHUP signal * Added zone file functionality * Bugfix in formap zone: "unknown setting " instead of "unknown setting " Version 0.2.0 * [21-01-2003] - Fixed bug where zones from modules would crash for incorrect configuration settings due to destruction after unloading. * [24-01-2003] - Added skeleton for Dbconnect-based DNS. No implementation yet, since the Dbconnect website is down. * [24-01-2003] - Added support for multiple configuration options on one line, e.g. "loadmodule fam, sql" * [25-01-2003] - Fixed bug where answers would not carry the query ID. * [25-01-2003] - Added better quote support for master file reading * [28-01-2003] - Added PException catching in configuration file reading (could make it crash on fake configuration files). * [28-01-2003] - Added support for comments and line numbering in read_line * [28-01-2003] - Fixed bug where cache zones would destroy their name twice * [01-02-2003] - Improved dbconnect autodetection (based on the patch I sent to the creator of dbconnect including a 'dbconnect_config' script. * [01-02-2003] - Use a backslash to span commands over multiple lines * [02-02-2003] - Now correctly sets the AA bit in stdquery.cpp. * [02-02-2003] - sql module now written completely (needs bugfixing though) * [02-02-2003] - autozones now get the right "znroot" passed through * [02-02-2003] - fixed crash due to uninitialized "zones" list * [02-02-2003] - fixed yet another "crash on close" fix (in case of configuration errors) * [03-02-2003] - Added a small tool: "pos6-getroots". * [05-02-2003] - Fixed stupid bug where Pos6 would always listen to "3000" instead of the value you enter :( * [08-02-2002] - Fixed bug where BaseZone::BaseZone(name) would not set parent to NULL. * [28-02-2003] - Fixed bug where referrals wouldn't actually take place * [28-02-2003] - Fixed bug where referrals wouldn't actually take place * [28-02-2003] - Added support for various root nameserver lists to getroots * [06-03-2003] - Initial resolving code * [07-03-2003] - Small resolver fixes * [07-03-2003] - Separate poslib flags for server/client * [07-03-2003] - Fixed resolver mutex problem, and many other problems. * [08-03-2003] - Fixed some resolver TODOs * [11-03-2003] - Fixed forwarding mutex problem * [15-03-2003] - Various Win32 build fixes * [15-03-2003] - Added access control for resolving * [15-03-2003] - For cache/auth queries, NS records are now added for the CNAME end domain name rather than the CNAME domain (in better accordance with BIND behavior) * [17-03-2003] - Standard library path now comes _after_ the custom library path (which is what you'd expect I guess) * [21-03-2003] - Implemented hash-vector! * [22-03-2003] - Fixed to Poslib master file reading * [22-03-2003] - Various primary master fixes * [24-03-2003] - Added fork(), setuid(), setgid() * [24-03-2003] - Added log file capabilities * [04-03-2003] - Win32 build fixes * [05-03-2003] - More Win32 build fixes (apparently, Win32 Mingw's virtual function support doesn't work that well if you don't always override. Version 0.1 * Initial Release