
 Dibbler changelog
-------------------

master (no new released planned)
  - Fix for client requesting incorrect prefix length. Thanks to Matthieu Patou
    for the patch.
  - Notify script is now called on expiration. Thanks to Deepak Krishnan
    for the patch.
  - Fixed invalid clock_gettime() usage. Thanks to Andre McCurdy for the patch.

1.0.2RC1 [2017-07-03]
  - Fix for calling a script when rapid-commit is used
  - Win: Added expansion of relative paths passed to -d to absolute path.
    Thanks to Hernan Martinez for the patch. (github #30)
  - Win: Dibbler now detects Windows 8.1 and 10. It was not tested, though.
    Use with caution and please report on the dibbler mailing lists.
  - Cli: Delegated prefix is now split into /64s, even if larger prefixes
    are possible.
  - Cli: received options are now rejected if the client didn't request them,
    but the server sent them anyway (bug #325).
  - Cli: valid lifetime is now set properly for updated prefix (github #28).
    Thanks to scholz for submitting this patch!
  - BSD: Update paths to better reflect BSD standards (/var/run -> /var/db)
    Thanks to nerzhul (github pull request #29)
  - Linux: file descriptor leak in dibbler-client fixed. Thanks to
    Mircea Ciosan for providing a patch (bug #327)
  - Major Smart pointers update. This is not user-visible change, but it should
    make the code much safer.
  - Linux client no longer configures address and prefix lifetimes.
    There seems to be a bug in the Linux kernel that adds the addresses with
    lifetimes only if they're not duplicated, whereas the expected
    behavior is the kernel to add them always and report them as
    duplicate if needed. This causes the client to get confused if the address
    is duplicate. This can be changed by modifying ADD_ADDRESSES_WITH_LIFETIMES
    in Misc/Portable.h.in and rerunning configure
  - Cli: Fixed several problems in delegated prefix handling. Error messages
    are now printed for failed prefix add, proper prefix length is used
    when deleting prefixes and sent in Release message.
  - Windows NT and 2000 support has been removed, migrated to Visual Studio 2017.
    Memory access issue fix in windows. Thanks to Vitaly Greck for the patch!
  - Fixed vulnerabilities with time checking. Thanks to Balaji Punnuru for
    the patch!
  - Fixed client segfault during rebinding-> expiry -> solicit transition. Thanks
    to Deepak Krishnan for the patch!
  - Fixed compatibility with g++-10.

1.0.1 [2015-08-09]
  - Fixed code for NoAddrsAvailable case (thanks to Etienne Buira for
    reporting the issue and providing excellent patch)
  - Mac OS 10.10 compilation fix
  - Several typos fixed in logs (bug #319, thanks to Jirka Klimes for
    his patch)
  - GPL v2 license corrected (no worries, it's still open software, just
    corrected FSF address) Thanks to Ihar Hrachyshka for spotting this one.
  - Generated radvd.conf is now specifying AdvValidLifetime (bug #314)
  - Server now properly assigns valid-lifetime for reserved out-of-pool
    reservations (bug #300).

1.0.1RC1 [2015-03-07]
  - prefix update is now implemented for Linux (both kernel and radvd.conf)
  - It is now possible to specify the address client will use to communicate
    (bind-to-address) in the client.conf
  - The client's working directory can be overridden with -w on command line.
    This will cause all files (.conf, .pid, etc.) to be created or read from
    that directory).
  - Removed server caching
  - Time calculations workaround (thanks to Baodong Li for the patch!)
  - Improvements in bind-to-address (thanks to Baodong Li fo the patch!)

1.0.0 [2014-11-07]
  - Added missing includes for NetBSD (and probably other BSDs). Thanks to
    Justin Cormack for providing a patch.
  - Fix for client crash if PD was requested, the server returned IA_PD,
    but without any IAPREFIX options inside. Added better checks. Thanks to
    Maciej Fijalkowski for providing a patch.
  - Cli: Received options are now applied in stateless mode (bug #246)
  - Rel: remote-id option is now being inserted correctly (RFC4649)
  - Rel: Relay agent is now able to insert relay-id option (RFC5460)
  - Rel: Relay agent is now able to insert client link-layer address option
    (RFC6939)
  - Srv: drop-unicast added. Server is now able to respond with status code
    set to UseMulticast if a client sent his packets to unicast. According
    to author's knowledge this was the last missing functionality of RFC3315.

1.0.0RC2 [2014-07-12]
  - Cli: segfault when invalid or incomplete auth parameters are specified
    Thanks to George Joseph for a patch (bug #289)
  - Srv: fixed leases are not added to AddrMgr. Thanks to George Joseph for
    a patch (bug #291)
  - Log message fixed. Thanks to George Joseph for a patch (bug #292)
  - Client options are now passed to notify scripts (bug #293)
  - Fedora RPM script contributted by Patrick Pichon, thanks!
  - Srv: Experimental performance-mode added
  - Compliation fix for Mac OS X 10.9/Apple LLVM 5.0 (clang-500)
  - The code compiles again with --disable-auth
  - Cli: does not send or expect AUTH option by default.
  - Win: Service dependency fixed for Vista and above
  - Notify script called only when non-empty script name specified.
    (thanks to Hernan Martinez for contributed patches)
  - Support for ppc64le architecture added (thanks to Snehal for sending patches)
    Dibbler now uses alpha version of libtool 2.4.2.418, which features
    fixes for ppc64le.
  - Cli/Srv: no longer crashes when reconfigure-key is empty (thanks to Hernan
    Martinez for fixing this!)
  - Doc update: vendor-spec options examples are now updated
    (thanks to Michael Rapoport for spotting this)
  - Win: detection whether client is run with administrative privileges
  - gtest tests linking problem on Ubuntu 13.10 fixed. Sort of. The tests are
    not linked statically by default. There is a --enable-gtest-static flag
    that controls that behaviour.
  - Minor Developer's Guide update.
  - Srv: reconfigure-enabled 0,1 directive added to the server. It controls
    whether server sends RECONFIGURE messages at start-up.
  - Srv: received prefix is now being truncated to appropriate length, so
    client sending prefix hints with host part set should no longer confuse
    the server (bug #295)
  - Win: Better shutdown when shutting down from Microsoft Mgmt Console (bug #162)
    (Thanks to Hernan Martinez for the fix!)
  - Added support for IPv6 address in vendor-specific information option, and
    fixed bugs in other vendor-specific options formats (based on a patch
    provided by Herman Martinez, thanks!)
  - Srv: Unicast address of IA_PD stored in the database is no longer lost after
    server restarts. That should make the reconfigure mechanism usable again.
  - Linux: daemon shutdown improvement. There was a possibility that the daemon
    will stall while shutting down. Thanks to Petr Pisar for providing a patch!
    (bug #251)
  - Cli: Dibbler now configures received addresses with /128 prefix, as mandated
    by the RFCs. In versions 0.5.0 to 1.0.0RC1 it used to be /64, which was an
    arbitrarily chosen value that happened to work in most, but not all cases.
    Please see discussion in https://klub.com.pl/bugzilla3/show_bug.cgi?id=222
    for details (bug #222)
  - Srv: Fix in remote-id option support. Thanks to Richard Ouseph for providing
    a patch. (bug #299)
  - Srv: Multiple instances of vendor-options with the same vendor-id are now
    sent as one option with multiple sub-options, as clarified in RFC3315bis
    (bug #304)
  - Win32 Cli: Address lifetimes are now properly renewed. Thanks to Shine for
    the patch!
  - Srv: Fixed calculations for available prefixes if the was a lot of prefixes
    (more than 2^30) (bug #295)
  - Cli: It is possible to disable prefix split by passing "none" to
    downlink-prefix-ifaces (bug #306, github #10)
  - Cli: Ability to define prefix parameter to be sent as hints. Thanks to
    Maciek Fijalkowski for the patch!
  - Cli: Updated syntax for sending address hints. See section 6.8.3 in the
    User's Guide for details.
  - Cli: Sanity checks added: client now refuses to mix stateless with ia,ta,pd
    options. Thanks to Arifumi Matsumoto for reporting this issue!
  - Cli: empty inf-request messages should no longer be sent. Thanks to
    Arifumi Matsumoto for reporting this issue!
  - Cli: information refresh time option can only be used in stateless mode.
  - Cli: invalid prefixes (pref > valid) are now rejected (bug #308)
  - Srv: Support for remote-id fixed. Thanks to Richard Ouseph for the patch
    (bug #299)
  - Win: Migrated to Visual Studio 2013 Express. All files from previous
    VS were removed.

1.0.0RC1 [2013-07-30]
  - Reconfigure support (original patch by Grzegorz Pluto + tons of fixes)
  - Authentication rewritten (now uses RFC3315 option formats)
  - Auth: support for reconfigure-key added
  - Auth: support for delayed authentication
  - Linux: support for M,O bits reading from Router Advertisements (bug #49)
  - Srv: server no longer crashes when options are defined in global scope
    (issue reported by Michael Thorsager, thanks!)
  - Srv: database sanitization now works also for relays (bug #288)
    (issue reported by Michael Thorsager, thanks!)
  - After 10 years of development, all features from RFC3315 are now supported!
    (there are outstanding bugs, though...)

0.8.4 [2013-06-27]
  - Rel: Unknown message types are now relayed (as a forward compatibility
    feature)
  - Cli: DOWNLINK_PREFIX_IFACES and DOWNLINK_PREFIXES variables are now passed
    to the notify script (bug #265)
  - AC_FUNC_MALLOC/AC_FUNC_REALLOC are no longer used
  - OpenBSD bug workaround for invalid link-local addresses reported is now
    extended to all other BSDs as this affects pfSense as well
  - Cli/Srv: interface names are stored in *-AddrMgr.xml
  - Srv: Database is now checked against missing or interface index changes
    (bugs #192, #247, #250)
  - Cli: Database is now checked against missing or interface index changes
    (bugs #192, #247, #250)
  - Srv: Temporary addresses are now stored in the database (bug #284)
  - Cli: Temporary addresses are now expired and removed properly (bug #285)
  - Linux: pthreads is now linked only when --enable-link-state is used
    (bug #249)
  - Srv: Buffer for incoming UDP packets increased to 64k
  - Srv: incoming packet destination address check is disabled by default and
    can be enabled with --enable-dst-addr-check parameter (bug #286)

0.8.4RC1 [2013-04-27]
  - Inteface-ids shorter than 4 bytes are not handled properly
    (patch by Tao Cui)
  - It is now possible to send custom options (hex, string, address or address-list
    is supported for now, but other data formats may be added in the future)
  - Responses to packets sent from global addresses are now sent via sockets
    bound to global addresses
  - Server now properly calculates number of available addresses and prefixes
    after expiration (bug #264)
  - Srv: info about second and following relays are now passed to the
    script properly
  - Cli: fix for a double free in error handing (if file read failed).
    Thanks to Jean-Jacques Sarton for reporting and providing patch (bug #266)
  - client.vendor-class.en and client.vendor-class.data expressions are now
    supported (but not tested yet)
  - Srv: Relay support refactored. Unknown options are now handled better
    and any development related to relays will be easier
  - Srv: logical relay interfaces are no longer present in server-IfaceMgr.xml
  - Classes for USER_CLASS and VENDOR_CLASS options implemented.
  - Linux: stop command fix (bug #268)
  - Win32: dibbler waits for netsh.exe execution completion, because netsh.exe
    does not seem to be reentrant
  - Win32: DNS configuration is now flushed during the first DNS configuration
  - Win32: Client no longer crashes when expired addresses is used with confirm
    support enabled
  - Cli: "option fqdn" now contains hostname by default (bug #267)
  - Win32: Client inactive-mode improvements (patch by Vaclav Michalek)
  - Compilation fix for Mac OS X 10.8.0 (bug #277), patch by Michael Thorsager
  - Linux: cosmetic low-level Linux improvements (bug #276)
  - FQDN option improvements (fully qualified, hostname only and empty options)
    are now supported
  - Daemon mode should now be able to read sockets properly (bug #275)
    (patch by Jean-Jacques Sarton)
  - Linux compilation fixes (bug #282)
  - Srv: Confirm support improved, now also using subnet declaration (bug #240,
    bug #259)

0.8.3 [2013-01-20]
  - Cli: workaround for odd link-local interface detection code on OpenBSD
  - AFTR option on-wire encoding fixed
  - Compilation fix in Port-linux/interface.c on CentOS 5.x
  - DUID is now written properly on 64 bit Windows
  - Resource leak (socket not closed) in iterface detection fixed (bug #255)

0.8.3RC1 [2012-08-17]
  - Srv: address and prefix assignment rewritten
  - Srv: implemented per-client prefix configuration
  - Cli: Reasons for rejecting IA_NA/IA_PD are now logged (i.e. T1>T2)
  - Cli: client no longer crashes when server's reply does not included expected IA_PD
  - gcc4.6 compilation warnings removed
  - added missing header in ClntIfaceIface.h (debian #672003)
  - debian/ directory is moved to debian branch and no longer available on master
  - Many cppcheck/doxygen warnings removed
  - Srv: Refactoring continues another 11 classes removed.
  - Srv: NIS, NIS+, SIP, DNS, Domain, NTP and Lifetime options are now handled through
    unified option handling mechanism. Server code should be smaller now.
  - Cli: support for resolvconf tool added (see --enable-resolvconf parameter)
  - Srv: out-of-pool reservations now use T1,T2,preferred,valid times from the interface
  - Rel: Recent regression (complain about server and client on the same link) fixed
  - Srv: relays parameters (link, peer address) are now passed to the notify script
  - Cli: client no longer crashes, when client-AddrMgr.xml is empty (bug #245)
  - Srv: Secure DNS Update (using TSIG) is now supported
  - Srv: Expired leases are now removed from the DNS (using DNS Update)
  - Srv: Many smaller FQDN related fixes
  - Srv: Support for FQDN-related data in server-AddrMgr.xml improved
  - Srv: Server no longer loads empty IAs or empty clients from server-AddrMgr.xml
  - Experimental port to Solaris 11
  - Srv: Cached entries for reserved address/prefix will no longer cause server to assign
    reserved address/prefix to another client
  - Srv: Fixed problem when reserved address/prefix was assigned to different client when
    nearing addresses/prefixes depletion
  - Cli: Script can now be called in stateless mode (inf-request)
  - Cli: Script for MacOS dns and domain setting added
  - Cli: Silent address expiration (T1>valid lifetime) is now supported properly
  - Cli/Srv: FQDN, Vendor options are now passed to script correctly
  - Cli: IAID is now parsed properly in PD definitions in client-AddrMgr.xml
  - Cli: Silent prefix expiration (T1>valid lifetime) is now supported properly
  - Srv: Skeleton functions for logging MAC address added

0.8.2 [2012-02-29]
  - Cli: code refactoring. Code is now a bit smaller. Removed classes: ClntOpt*Servers,
    ClntOpt*Domain. Client binary is now smaller by 36kb (exact size is architecture dependent)
  - Srv: code refactoring, similar to client. Code is now a bit smaller. Removed classes:
    SrvOpt*Server, SrvOpt*Domain.
  - Cli/Srv: NIS, NIS+ domains are now encoded properly by client and server (bug #223, #227)
  - Example configs are now using 2001:db8:1:: prefix dedicated to testing and example purposes
  - Cli: Fix for prefix delegation segfault (bug #236)
  - Srv: CONFIRM messages are now supported properly (partial fix for bug #240)
  - Cli: Prefix split is now done properly, even for prefix lengths not divisible by 8
  - Cli: It is now possible to specify downlink interfaces for prefix delegation (downlink-prefix-ifaces)
  - Cli: prefixes are now refreshed properly, even when system prefix configuration failed (bug #238)
  - Cli: client no longer segfaults when temporary addresses are requested (bug #241, debian 659476)
  - Cli: client no longer transmits SOLICIT every second if some requested (addresses or prefixes)
    are not available, but rather uses exponential back-off (bug #238)
  - Cli/Srv: syntax for custom options defined using hex notation has changed (bug #235)
  - Doc: Developer's guide now generates properly (bug #215)
  - Cli: When using fqdn, client by default requests server to do DNS Update (S bit = 1)

0.8.1 [2011-12-31]
  - Srv: Prefixes are now expired properly.
  - Cli/Srv: IFINDEX variable is now set properly in notify scripts.
  - Srv: Notify script is now called when lease is expired. (bug #216)
  - Srv: Existing prefix lease is now assigned to returning clients if exists (bug #224)

0.8.1RC1 [2011-11-11]
  - Fixed socket binding problem on server that may affect relay scenarios
  - Fixed segmentation fault when interface-id was not defined on relay interface.
  - Makefiles reworked
  - Srv/Cli: Implemented support for DNS Update over UDP (ddns-protocol directive)
  - Srv/Cli: Implemented support for DNS Update timeout (ddns-timeout directive)
  - Fixed problem with possible PD crash
  - Linux: radvd.conf generation improved in PD
  - Fix: server/client will no longer load DUID empty file (bug #209)
  - Cli: no longer confused when receiving delegated prefix, but there are no suitable interfaces
  - Srv: server now caches assinged prefixes (bug #217)
  - Cli: support for notify script execution reimplemented (bugs #207, #216)
  - Makefile system rewritten (using autotools now for better portability)
  - Srv: server now calls external script when assigning or releasing delegated prefix (bug #205)
  - FreeBSD,NetBSD,OpenBSD compilation successful (not tested yet, consider it experimental)
  - Google test framework added for unittests. There are only handful tests implemented now,
    but the number is expected to grow
  - Fix: alignment memory reads, tested on ARMv5 (bug #221)
  - Changed default number of addresses allowed per client from millions to 10
  - Srv: number of currently allocated prefixes is set correctly after restart and database reload
  - Several server and client fixes for DNS Update
  - Cli: Obsolete "no-ia" statement removed. Corrected spelling of "preferred" in config parser.
  - It is now possible to specify IAID for PD
  - Doc: Rather large User's Guide update
  - Support for RFC6334 (DS-Lite tunnels) added
  - Support for routing configuration added (draft-ietf-mif-dhcpv6-route-option-03)

0.8.0 [2011-05-11]
  - Fixed compilation problems
  - Fix: client, server and relay no longer leave PID file after failed start
  - Fix: error in detecting MAC addresses on Mac
  - Fix: several crashes introduced in 0.8.0RC1 fixed
  - Fix: client no longer gets confused when requesting IA, TA and PD
  - Fix: Server now sends back rapid-commit option
  - Srv: It is now possible to specify how server should handle unknown FQDNs from clients
  - Srv: It is now possible to specify DDNS server address, used during DNS Updates
  - Doc: Fixed bug in example in server man page
  - Srv: answers to RENEW are now constructed properly (single SERVERID is enough)
  - All: Inteface link address is now detected properly on Mac OS X
  - All: Many Mac OS port fixes. It should be operational now.
  - Linux: client now adds addresses with proper preferred/valid lifetimes
  - Linux: client now properly updates addresses during renew/rebind
  - Cli: Client now properly copies prefixes from ADVERTISE to REQUEST (bug #197)
  - Cli: RELEASE is now sent properly if there are only prefixes, and no addresses (bug #196)
  - Cli: It is now possible to define serveral prefixes in one pd
  - Cli: It is now possible to define specific prefix in pd as a hint
  - Cli: T1,T2 are now properly set for PD
  - Cli: Duplicate IA,TA and PD are no longer created in database, when
    restarting client with existing leases.
  - Cli: Client no longer silently quits, if adding/updating prefix failed.
  - Linux/Mac OS: daemonizing should close stdin/stdout/stderr (bug #188)
  - Linux: detecting link state change no longer takes 100% CPU
  - All: Vendor spec support improved (new definition format is simpler) (bug #173)
  - Cli: client now waits for longer periods, rather than 1 s
  - Srv: Server now creates separate socket for transmission and not use multicast socket (bug #200)
  - Rel: TRelOptRemoteID compilation fix
  - Srv/Cli: DS-List draft updated to latest, approved version (ds-lite-tunnel-10) (bugs #203, #204)

0.8.0RC1 [2010-09-17]
  - Linux: CONFIRM support added
  - Support for Windows 7 added
  - Server reloads its database after shutdown/start sequence
  - Client with enabled unicast now uses global source addresses
  - Linux: console logging now has color support
  - Srv/Cli: DUID in format 00:01:02:03 is now supported in config files (0x010203 format is still supported)
  - It is now possible to configure IAID
  - Support for Mac OS X added (experimental, of course)
  - Server: DS-Lite tunnel options added
  - Client: Partial support for DS-Lite tunnel option added
  - Experimental support for Remote Autoconf added
  - Fixed problem with not populating AddrMgr correctly
  - Fix: after restart, server no longer refuses to handle addresses after first RELEASE.
  - Fix: Notify scripts are now executed, even when no IA received (bug #193)
  - Code cleanup: Singleton managers implemented
  - Code cleanup: Server REPLY generation refactored
  - Code cleanup: Many obsolete classes removed
  - Code cleanup: Obsolete tunnel endpoint removed
  - Code cleanup: Obsolete VS2003 and VS2005 files removed

 0.7.3 [2009-03-09]
  - Linux: Fix for compilation with libc6, version 2.8
  - New timezone option support added (by Petr Pisar) (bug #185)
  - Linux: Syslog support added (by Petr Pisar) (bug #184)
  - Double timezone removal fixed (by Petr Pisar) (bug #183)
  - Timezone support implemented in Linux systems (by Petr Pisar) (bug #182)
  - Interface-ids other than 4 bytes long are now supported (bug #179)
  - Cli/Srv: Empty FQDN option problem fixed (bug #186 and #187)
  - Srv: Client classification implemented
  - Linux: Pid is now stored in pid_t type (bug #180)
  - Cli: /etc/resolv.conf support improved
  - Linux: Race condition in stop/start fixed (bug #181)

 0.7.2 [2008-08-31]
  - Cli: external scripts may now be executed
  - Cli: addresses are now added properly in autodetect-mode
  - Cli: DNS server is now configured properly under Windows XP/Vista
  - Srv: client's FQDN hints may now be honored
  - Srv: support for extra options added
  - Experimental CONFIRM support added (+extra fixes)
  - Cli: requested options are now sent in RENEW messages
  - Cli: elapsed option is now sent in all messages
  - Cli: client does not get confused when running in autodetect mode and there are no suitable interfaces

 0.7.1 [2008-06-18]
  - Linux: Prefixes starting with a-f are now supported properly (bug #171)
  - /etc/resolv.conf update bug fixed (bug #161)
  - Srv/Cli: Experimental authentication and authorization added (bugs #79, #80)
  - All: Return codes are now proper under Linux (bug #175)
  - Srv: supports out of addresses scenario properly (bug #177)
  - Cli: ADVERTISE with empty IAs are now discarded properly
  - Cli: supports TA properly
  - Cli: stateless insist-mode implemented
  - Srv/Rel: RemoteID support added
  - Srv/Rel: Echo Request Option support added
  - Srv: Prefixes with lengths not divisible by 8 are now supported properly
  - Srv: Guess-mode implemented (relay's interface-id don't have to be specified anymore)
  - Cli: FQDN S bit is now configurable
  - Srv: reply for CONFIRM now contains server-id (fixed long time ago, probably
    in 0.6.1) (bug #163)
  - Numerous fixes after 3rd bakeoff meeting (Philadelphia)

 0.7.0 [was never properly released]

 0.7.0RC1 [2007-12-31]
  - Leasequery support (new entity: requestor added)
  - Numerous fixes after 2nd bakeoff meeting (Vancouver)
  - CLI: REQUEST is sent to multicast when unicast option is supported
    (because client does not have address with sufficient scope)
  - Fix in all string options (like domain name or nis domain)
  - Fix in DNS Update (memory corruption fixed)
  - Documentation updated.

 0.6.1 [2007-09-09]
  - Srv: Inactive mode implemented (bug #168)
  - Srv: When assigning fewer address than requested, status is now set to success
  - Srv: proper status code is returned when temporary addresses are not supported
  - cross-compilation is now possible (bug #169)
  - Make -j2 now works (bug #130)
  - gcc 4.3.0 conformance
  - Security: Possible segfault in REBIND processing fix
  - Srv: CONFIRM message contents are now validated properly (bug #165)
  - Security: Vendor-specific information Option possible segfault
  - Srv: Option Request Option parsing fixed (bug #166)
  - Security: Option Request Option possible segfault (bug #167)
  - Security: invalid length field parsing fixed (bug #164)
  - Security: world writable files are no longer created (bug #160)

 0.6.0 [2007-05-05]
  - Configuration file examples are now described better
  - Documentation update (Dibbler User's Guide is now 60+ pages long)
  - Clnt: false positive DECLINE fixed (bug #153)
  - Srv: Does not go into infinite loop when there are no more prefixes to assign
  - Clnt: supports REBIND with prefixes (IA_PD) included
  - Srv: supports REBIND with prefixes (IA_PD) included
  - Srv: Sends the same addresses if client still has valid bindings (i.e. REQUEST retransmission) (bug #154)
  - Srv: Prefix delegation now supports more than one client properly
  - Srv: Support for more than 1 relay fixed (bug #156)
  - Srv: interface-id option location in the RELAY-REPL is now configurable
  - Relay: interface-id option parsing improved
  - Relay: interface-id option location in the RELAY-FORW is now configurable
  - Fix for print invalid MAC addresses.
  - Decline procedure is now working as expected
  - NTP is now removed properly (bug #159)
  - Fix for compilation in RedHat Enterprise Linux 4
  - Fixes for gcc 4.3 compilation
  - Clnt: Cause of bind failure is now reported in Linux
  - Clnt: Another fix for not operational interface (bug #133)
  - Clnt: client-CfgMgr.xml is now formed properly (bug #158)

 0.6.0RC4 [2007-03-31]
  - Clnt: Preliminary support for inactive-mode (bug #133)
  - Clnt: Preliminary support for insist-mode (bug #146)
  - Clnt: Support for DUID type 2 (Enterprise number) added (bug #148)
  - Clnt: T1=T2=0 is now handled properly (bug #145)
  - Clnt: REQUEST now contains addresses offered in ADVERTISE (bug #152)
  - Clnt: Received advertise(s) + preference are now printed (sorted).
  - Clnt: No longer gets confused if there is no reply to REQUEST message (bug #147)
  - Clnt: Chooses server properly when there are more then one server (bug #151)
  - Clnt: Prefixes are split properly when forwarding is enabled
  - Clnt: /etc/resolv.conf update improved
  - Clnt/Srv: Time is now used properly during DUID-LLT creation (bug #149)
  - Srv: Does not complain anymore, when receives message addressed to a different server (bug #157)
  - Srv: No longer crashes when is unable to find relay (bug #144)
  - Relay: Global peer-addr field was not set properly in RELAY-FORw (bug #143)

 0.6.0RC3 [2007-03-14]
  - Relay: Global address fix
  - Relay: Guess mode implemented
  - All: Support for anonymous INF-REQUEST added
  - Server: Does not crash during DNS Update, when DNS are not defined (bug #142)
  - Client: Large timeouts does not confuse client anymore (bug #141)
  - Client: Prefix deletation support in REBIND improved

 0.6.0RC2 [2007-02-25]
  - Linux: fixed segfault on interfaces with no link-local addresses, e.g. tun devices (bug #136, #140)
  - Linux: NTP servers are now set up properly (bug #138, #139)

 0.6.0RC1 [2007-02-03]
  - All: Server, client and relay no longer crash, when run on Windows with IPv6 disabled. (Bug #134)
  - All: Prefix-delegation is now supported (still some work is needed, e.g. docs and bugfixes)
  - All: Support for multiple prefixes has been added
  - Vendor-spec information option is now supported
  - Clnt: renewal works ok, if client wakes up "late" (bug #125)
  - Srv: Per-client configuration is now possible (so called exceptions)
  - Clnt: DUID type change (preliminary support)
  - All: DUID bug fixed (resulted in changing duid in each srv/cli execution)
  - All: Elapsed option has now correct length (issue introduced in 0.5.0) (bug #127)
  - Clnt: Elapsed option increases its value, when message is retransmitted.
  - All: Required/not allowed options check improved (now you will know why message is dropped)
  - Linux: iproute2 package update to version 20051007 (latest stable available in Debian and Ubuntu)
  - Lots of memory fixes (found by using Valgrind)
  - Linux: multiple domains are now added and removed properly to /etc/resolv.conf
  - Linux: NTP servers are now set up properly. (bug #138, #139)
  - All: Messages with reconfigure-accept or vendor-class options are now accepted

 0.5.0 [2006-10-05]
  - FQDN fixes
  - Documentation update and cleanup

 0.5.0-RC1 [2006-08-30]
  - FQDN Support (DNS Updates) support added
  - Support for temporary addresses (TA) added
  - Server cache added
  - log-mode PRECISE added
  - log entries are appended (previously log files were overwritten at startup)
  - Modular features (optional compilation of additional features) added
  - Clnt: Addresses are added with /64 prefix by default (use strict-rfc-no-routing to use previous
    behavior, i.e. /128 prefix)

 0.4.2 [2006-02-03] (DSFG cleanup release)
  - No bugfixes or new features
  - Debian Free Software Guidelines (i.e. headers in source files, removed non-free files)
  - Unnecessary files removed

 0.4.1 [2005-08-07]
  - Windows NT/2000 support added.
  - Numerous examples added to User's Guide.
  - Srv: Class/prefix syntax is now supported (bug #121)
  - White list support improved (bug #120)
  - Win32: -d parameter is now optional
  - Greatly improved relay support: 2 relay cascade connection, Cisco interoperability etc. (bug #107)
  - Win32: apps no longer die quietly during interface detection (bug #117)
  - Linux: Stale PID file no longer confuses server,client or relay.

 0.4.0 [2005-03-15]
  - white list (accept-only) works ok (bug #106)

 0.4.0-RC2 [2005-03-08]
  - Domain List option is now properly built and parsed (bug #104)
  - Srv/Clnt/Relay no longer crash when invalid interface is specified (bug #105)
  - Server stateless mode fixed (bug #103)
  - /etc/init.d scripts are provided for Debian,PLD and Gentoo (bug #94, #95)

 0.4.0-RC1 [2005-02-03]
  - Relay implemented
  - Win32: start/stop command are now working (bug #27)
  - Win32: status command now shows if service is running (bug #28)
  - Server now supports relays (bug #70)
  - Working directories are not properly stored in the *-CfgMgr.xml files (bug #100)
  - Linux: Paths to config files fixed (bugs #96, #97)

 0.3.1 [2004-12-27] (bugfix release)
  - Documenatation (PDF files) now should look ok on all systems
  - Linux: URLs in the manual are now visible (bugs #92, #93)
  - Problem with interfaces without link local address (e.g. downed sit0) fixed (bugs #90, #91)
  - Linux: DEB packages are now generated (bugs #65, #66)

 0.3.0 [2004-12-16]
  - Linux: make install was implemented (bugs #86, #87)
  - Linux: man pages were created (buf #61, #62)
  - Linux: RPM package prepared (bugs #63, #64)
  - Windows installer (bugs #59, #60)
  - Client now can handle denied REPLY for RENEW in a sanite way (bug #53)
  - Client now removes expired addresses (bug #15)
  - Server and client no longer supports link local addresses (bug #38, #39)
  - Linux: Fixed issue with running server and client on the same host (bug #56)
  - Server now supports stateless mode (bug #71)
  - Developer's guide (bugs #42, #43)
  - Log files are now created, even when run in the console (bugs #34, #36)
  - DAD timeout was decreased to 1 second
  - NIS options values are changed to meet recently published RFC3898
  - Server now supports domains containing - (bug #73)
  - Linux: /etc/resolv.conf no longer gets corrupted if not ended with CR (bug #74)
  - Multiple instantions are no longer allowed (bug #2)
  - Client requests for Lifetime option only if explicitly told to do so (bug #75)
  - Server now properly retransmits messages.
  - Client no longer sends RapidCommit unless told to do so (bug #55)
  - Client no longer retrasmits indefinetly INF-REQUEST message.

 0.3.0-RC2
  - Fixed bug found by PCSS team regarding improper socket initialization in ClntTransMgr.
  - Server now properly supports clients which send IA without IAADDR included.

 0.3.0-RC1
  - Socket binding has changes (no more REUSE_ADDR). See RELNOTES for details.
  - New options: SIP-SERVERS, SIP-DOMAINS, NIS-SERVERS, NIS-DOMAIN, NIS+-SERVERS, NIS+-DOMAIN, LIFETIME
  - Option renewal mechanism (Lifetime option)
  - Fixed issues with large timeouts (signed/unsigned problem)
  - Assigned options are now stored in files in working directory (besides of setting them up in the system)
  - Parsers are now more robust and more verbose in case of invalid config files.
  - Server granting incorrect valid lifetime values fixed (bug #57)

 0.2.1 was never released

 0.2.1-RC1
  - Windows2003 is now supported.
  - WIN32: netsh.exe is used instead of depreciated ipv6.exe (bug #24, #48)
  - First version of Developer's guide is included (bug #42, #43)
  - WIN32: DNS is now properly added to interface. (Adv.NetworkingPack or SP2 might be necessary)
  - Unicast communication support (bug #30,#31)
  - RAPID-COMMIT support fixed (bug #50, #51, #52)
  - DECLINE infinite loop fixed.
  - DECLINE and RELEASE does no longer contain addrs with non-zero pref/valid lifetimes (bug #32)
  - Invalid address parsing fixed.
  - YES,NO,TRUE and FALSE can now be used in config files instead of 0 or 1.

 0.2.0
  - WinXP: client displays help when command line parameters are incorrect.
  - Windows 2000 is no longer supported.

 0.2.0-RC2
  - Linux server send replies on proper interface.
  - Windows server/client no longer loops when interface is down.

 0.2.0-RC1
  - Console commands are common on WindowsXP and Linux
  - Parsers are now a lot more reliable
  - Full (without ::) addresses are now parsed properly
  - Srv: Address management rewritten (removed that nasty bug)
  - Srv: No longer ingores IA when client didn't include IAADDR option.
  - Srv: Now properly creates DUID (bug #45, #46)
  - Doc: a real documentation included
  - Srv: class-max-lease, iface-max-lease parameters added
  - Client: config file logic changed, no-config is no longer needed.
  - Client: No more stupid "Interface is loopback, down, not multicast-capable or
    not present in the system" message.
  - Linux: Sending through wrong interface problem fixed
  - Linux: build process rewritten

 0.1.1
  - Hmmm... don't remember :)

 0.1.0
  - First release

 For details regarding bugs and requested features, see http://klub.com.pl/bugzilla/
