GOALS FOR FUTURE RELEASES
=========================
Version 0.5 - support more databases
- introduction of new database abstraction layer and class hierarchy
- introduction of new DNS abstraction layer and class hierarchy
- improved web interface
  - support for addition of additional record types: MX, NS, CNAME

Version 0.6 - new protocol
- introduction of DDTPv2, an improved protocol
  - separation of non-encrypted header from encrypted body (two xdr structs)
  - encryption of ALL packet bodies if encryption is enabled
  - use of Secure Remote Passwords to authenticate clients (password no longer
    transmitted within the packet); requires server-side database modification
  - support for "use apparent IP address" handling (allows DDT clients to be
    behind a firewall); requires server-side database modification
  - support for alternate client ports so that more than one DDT client can
    be used from behind a firewall; requires server-side database modification
- runtime client information list for session data

Version 0.7 - multiple accounts
- support for multiple accounts (one DDT client updates multiple DDT accounts)
- removal of opt and introduction of Remi's config file parsing library

Version X - DNS + DDT integration
- development of a new or modification of an existing DNS server to support
  reading of records from a unified DNS+DDT database

Version Y - redundant server-side
- development of a redundant server-side implementation
  - possible use of erlang's mnesia database or of the Recall C++ library



BUGS/FEATURES THAT NEED TO BE LOOKED AT
=======================================
critical  => needs immediate attention, possibly requiring a bugfix release
important => changes that should make it into the next planned release
normal    => normal requests | bugs (fix as time permits)
wishlist  => implement at our discretion

                                  GENEREAL
                                  --------
critical
========

important
=========

normal
======

wishlist
========

                                 ADMIN-CGI
                                 ---------
critical
========

important
=========


normal
======
- Ban list for 'reserved' words like www should only apply to 3rd level.
- Catch errors thrown from DbPsql such as 'unknow userAccountId'
- Need a clearer validity checking for the web interface
- DdtManager functions should return a value instead of void to have
  feedback in the CGI ...
- need to list dns records in form ... maybe in a dropdown menu.
- must be able to sync the database to the dns or to a zone file.
- need to be able to handle multiple zones gracefully
- add new field to database for "timeout"... handle changes here (discuss that)
- learn about cookies ... might be usefull for authentication (check that! I
  don't know how (in)secure we are with our authentication right now)

wishlist
========


                                   SERVER
                                   ------
critical
========

important
=========

normal
======
- check if host IP is valid before changing status (DDTPv2)
- add new field to database for "timeout"... handle the varied timeout here
- static hostnames used by us should be in the database with static flag set
  (i.e www.dhis.net, etc); these will be used to regenerate database; fqdn
  that are reserved but not used should be in the ban file
- keep a count of the number of updates and do a 'vacuum' on
  the database after x updates. improves performances VeryMuch(tm)
- get rid of "magic" numbers that are scattered everywhere
- need a function in DdtDB that will sync DNS to DB
- clean up logging priorities for the messages
- more error detection needed in Psql
- code stuff for having backup servers

wishlist
========
- DNSSEC         - not started -- bind9 will support DNSSEC, wait till then
- DNS prereqs    - not started  (this will help avoid the last bug with 
                                 a host having two IPs)
- provide a nocrypto server option too. store pass in cleartext and don't
  support blowfish


                                  CLIENT
                                  ------
critical
========

important
=========

normal
======
- the debconf scripts need to be reworked, in general (luca, pls get blocks
  back working).
- get rid of if_nametoindex because it is not portable
- when we handle a signal, we cannot receive messages on the socket anymore,
  this yields lots of 'Connection refused' on the server side; this is no good
- clean up logging priorities for the messages
- ddtcd fails to open the fifo when ddtc uses --batchmode (that's the expected
  behaviour. not a bug.)

wishlist
========
- #69523: The ddtcd daemon should start before the network set up is done
- #75350: ddt-client should work behind a firewall (Fixed in CVS)

