-----------------
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 <setting>" instead of
   "unknown setting <value>"

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
