1 Here are the things that I have left to complete (roughly in order of |
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 |
2 personal preference). I have seperated it into a series of release |
3 of development that I hope to reach before I make another release. Some |
3 targets in order to have short quantitative goals for making new |
4 of the other items after the last "RELEASE TARGET" may make it into a |
4 releases. |
5 release if I feel like it. I want short and easy to define goals so I |
5 ------------------------------------------------------------------------------- |
6 can keep the development periods shorter. |
6 FOR VERSION 0.97: |
|
7 |
|
8 - Revert vdomain::lookup back to the single-argument case, and yank the |
|
9 dead code. |
|
10 |
|
11 - Add tests for: |
|
12 - proper handling of creating paths with a trailing '/' |
|
13 - authvmailmgr |
|
14 - execution of presetuid and postsetuid hooks in authvmailmgr |
|
15 - daemon "stat" command |
|
16 - daemon adduser3 command |
|
17 - vupgrade command |
|
18 - exit 99 from vdeliver-predeliver causes delivery to be skipped |
|
19 |
|
20 - Add note to FAQ or HOWTO regarding the two web interfaces |
|
21 |
|
22 - Add more complete tests to verify correct operation of "vaddusers" |
|
23 command. |
|
24 ------------------------------------------------------------------------------- |
|
25 FOR VERSION 0.97.1: |
|
26 |
|
27 - Add a "vrenuser" tool. |
|
28 |
|
29 - Make vcheckquota and daemon stat handle folders. |
|
30 |
|
31 - Always "touch" $VUSER/cur on successful authentication, to provide for |
|
32 a "last login time". |
|
33 |
|
34 - Expand the record format to include a "last modified" field, and to |
|
35 change the flag values from binary 0/1 to ASCII. |
7 |
36 |
8 - Add note to FAQ regarding PHP error code 255 meaning the daemon is not |
37 - Add note to FAQ regarding PHP error code 255 meaning the daemon is not |
9 running properly (once it's been confirmed). |
38 running properly (once it's been confirmed). |
10 |
39 |
11 - Add tests for: |
40 - Fix checkvpw to set MAILDIR before executing postsetuid somehow |
12 - authvmailmgr |
|
13 - execution of presetuid and postsetuid hooks in authvmailmgr |
|
14 |
41 |
15 - Add note to FAQ or HOWTO regarding the two interfaces |
42 - Make quota check program check all directories. |
16 |
43 |
17 - Fix checkvpw to set MAILDIR before executing postsetuid somehow |
44 - Add Courier IMAP support to the bulletin facility |
18 |
45 |
19 - Convert existing TeXinfo documentation to SGML |
46 - Convert existing TeXinfo documentation to SGML |
20 |
47 |
21 - Add a mailbox size daemon command |
48 - Make vrehash take the bits and slices values as command-line |
|
49 parameters. |
|
50 ------------------------------------------------------------------------------- |
|
51 FOR VERSION 0.98: |
22 |
52 |
23 - Expand the record format to include a "last modified" field, and to |
53 - Make the TCP daemon the default usage, and drop the unixserver |
24 change the flag values from binary 0/1 to ASCII. |
54 requirement. |
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 |
55 |
48 - Make the daemon commands stand-alone modules, using the revised daemon |
56 - Make the daemon commands stand-alone modules, using the revised daemon |
49 communication protocol. The daemon then just forks, reads in the |
57 communication protocol. The daemon then just forks, reads in the |
50 command name, validates it, and hands off to an authentication module. |
58 command name, validates it, and hands off to an authentication module. |
51 |
59 |
52 - The authentication module checks for a custom authentication type |
60 - The authentication module checks for a custom authentication type |
53 based on the command name, does authentication, does setuid,chdir, |
61 based on the command name, does authentication, does setuid, chdir, |
54 and executes the actual command. |
62 and executes the actual command. |
|
63 ------------------------------------------------------------------------------- |
|
64 FOR VERSION 1.00: |
55 |
65 |
56 RELEASE TARGET 1.00 |
66 - Make vdeliver write to both the output file and the queue |
57 |
67 simultaneously, to avoid needing to do rewinds: |
58 - Set up the necessary structures to completely seperate the virtual |
68 - make pipe |
59 domain information and the real user information, such that each user |
69 - open tmp maildir file |
60 can have a list of virtual domains assigned to it. This structure |
70 - fork (child exec's qmail-queue) |
61 will specify: |
71 - read data from stdin |
62 - a domain prefix |
72 - write data to file and pipe |
63 - a directory |
73 - if write to pipe fails, delete maildir tmp file and fail |
64 In this way, the virtualdomains will contain: |
74 - if write to file fails, close pipe and fail |
65 domain.org:username-prefix |
75 - write envelope to qmail-queue |
66 And the domain listing with list |
76 - catch exit from qmail-queue |
67 prefix:subdirectory |
77 - close & sync maildir tmp file |
68 Each domain will have a completely independant user directory and |
78 ------------------------------------------------------------------------------- |
69 password table. |
79 AFTER VERSION 1.00: |
70 |
|
71 RELEASE TARGET 1.XX |
|
72 |
80 |
73 - Bug fixes and clean-ups, and documentation improvements |
81 - Bug fixes and clean-ups, and documentation improvements |
74 |
82 |
75 RELEASE TARGET 2.00 |
83 - Add the necessary code for *DBM, MySQL, and PostgreSQL password tables. |
76 |
|
77 - Investigate making all virtual users have a directory |
|
78 |
84 |
79 - add a "vadddomain" command that: |
85 - add a "vadddomain" command that: |
80 - adds a new user to /etc/passwd |
86 - adds a new user to /etc/passwd |
81 - creates the new user directory |
87 - creates the new user directory |
82 - su's to that user and runs vsetup |
88 - su's to that user and runs vsetup |