TODO
changeset 0 6f7a81934006
child 2 b3afb9f1e801
equal deleted inserted replaced
-1:000000000000 0:6f7a81934006
       
     1 Here are the things that I have left to complete (roughly in order of
       
     2 personal preference).  The lines marked "RELEASE TARGET" are the point
       
     3 of development that I hope to reach before I make another release.  Some
       
     4 of the other items after the last "RELEASE TARGET" may make it into a
       
     5 release if I feel like it.  I want short and easy to define goals so I
       
     6 can keep the development periods shorter.
       
     7 
       
     8 - Add note to FAQ regarding PHP error code 255 meaning the daemon is not
       
     9   running properly (once it's been confirmed).
       
    10 
       
    11 - Add tests for:
       
    12   - authvmailmgr
       
    13   - execution of presetuid and postsetuid hooks in authvmailmgr
       
    14 
       
    15 - Add note to FAQ or HOWTO regarding the two interfaces
       
    16 
       
    17 - Fix checkvpw to set MAILDIR before executing postsetuid somehow
       
    18 
       
    19 - Convert existing TeXinfo documentation to SGML
       
    20 
       
    21 - Add a mailbox size daemon command
       
    22 
       
    23 - Expand the record format to include a "last modified" field, and to
       
    24   change the flag values from binary 0/1 to ASCII.
       
    25 
       
    26 - Add the necessary code for NDBM, MySQL, and PostgreSQL password tables.
       
    27 
       
    28 - Add more complete tests to verify correct operation of "vaddusers"
       
    29   command.
       
    30 
       
    31 - Add Courier IMAP support to the bulletin facility
       
    32 
       
    33 - Add support to the vpwtable template that allows writing a batch of
       
    34   users in a more efficient manner
       
    35   - start writing (locks the table for other writes, enter nosync mode)
       
    36   - append record (check for prior existance of record, add it)
       
    37   - stop writing (sync data and unlock the table)
       
    38 
       
    39 - Use the above to support a more efficient version of:
       
    40   - vpasswd2db
       
    41   - vrehash
       
    42 
       
    43 - Figure out how to make vdeliver write to both the output file and the
       
    44   queue simultaneously, to avoid needing to do rewinds.
       
    45 
       
    46 RELEASE TARGET 0.97
       
    47 
       
    48 - Make the daemon commands stand-alone modules, using the revised daemon
       
    49   communication protocol.  The daemon then just forks, reads in the
       
    50   command name, validates it, and hands off to an authentication module.
       
    51 
       
    52 - The authentication module checks for a custom authentication type
       
    53   based on the command name, does authentication, does setuid,chdir,
       
    54   and executes the actual command.
       
    55 
       
    56 RELEASE TARGET 1.00
       
    57 
       
    58 - Set up the necessary structures to completely seperate the virtual
       
    59   domain information and the real user information, such that each user
       
    60   can have a list of virtual domains assigned to it.  This structure
       
    61   will specify:
       
    62   - a domain prefix
       
    63   - a directory
       
    64   In this way, the virtualdomains will contain:
       
    65     domain.org:username-prefix
       
    66   And the domain listing with list
       
    67     prefix:subdirectory
       
    68   Each domain will have a completely independant user directory and
       
    69   password table.
       
    70 
       
    71 RELEASE TARGET 1.XX
       
    72 
       
    73 - Bug fixes and clean-ups, and documentation improvements
       
    74 
       
    75 RELEASE TARGET 2.00
       
    76 
       
    77 - Investigate making all virtual users have a directory
       
    78 
       
    79 - add a "vadddomain" command that:
       
    80   - adds a new user to /etc/passwd
       
    81   - creates the new user directory
       
    82   - su's to that user and runs vsetup
       
    83   - fixes the user's home directory permissions
       
    84   - adds entries to control/virtualdomains
       
    85   - adds entries to control/rcpthosts
       
    86 
       
    87 - dynamic information per mailbox:
       
    88   - total number of emails and bytes received
       
    89   - number of emails and bytes currently
       
    90   - time of first and last messages
       
    91   - last access time via POP3
       
    92   - text file named "data"
       
    93   - one line per datum, using "key=value" format
       
    94 
       
    95 - Write library routines, interfaced through vpwentry, that can
       
    96   get/set the dynamic data.
       
    97 
       
    98 - Modifiy the pop bulletin command to take the bulletin directory on the
       
    99   command line?
       
   100 
       
   101 - Continue to seperate the "misc" library directory into modules.
       
   102 
       
   103 - Add a daemon command to list all the configuration for a virtual
       
   104   domain.
       
   105 
       
   106 - document vchattr, vchforwards
       
   107 
       
   108 - limit the number of accounts created per virtual domain
       
   109 
       
   110 - look into interoperating with sqwebmail http://www.inter7.com/sqwebmail/
       
   111 
       
   112 - look into interoperating with qmailadmin http://www.inter7.com/qmailadmin/
       
   113 
       
   114 - add support for a streaming protocol, such that multiple commands
       
   115   could be issued per daemon session
       
   116 
       
   117 - in all the command-line programs:
       
   118   - if the environment variable VDOMAIN is set, read the virtual domain
       
   119     from that variable, prompt for a password, and do a server call
       
   120 
       
   121 - In vmailmgrd:
       
   122   ? add support for PAM for non-virtual users (this may be difficult,
       
   123     requiring a change in the authentication model)
       
   124 
       
   125 - documentation
       
   126   - write a "getting started" guide
       
   127 
       
   128 - miscelaneous
       
   129   - code clean-ups, including internal documentation
       
   130