forked from vexim/vexim2
-
Notifications
You must be signed in to change notification settings - Fork 0
/
TODO
83 lines (78 loc) · 3.44 KB
/
TODO
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
1. Site Controls
a. Add/Modify/Delete domain [Done]
b. Domain can add admin [Done]
c. Procmail available switch [Done]
d. SpamAssassin available [Done]
e. Virus scanner available [Done]
f. Mailing list availability [For later release]
g. Quota can be set [Done]
-> Need exim config [Done]
h. Blacklists and Whitelists can be set
-> [Blacklisting done]
i. UID/GID [Done]
-> Let siteadmin decide if these are domain admin tunable [Done]
j. Domain tag line can be added for outbound mail [Unsure]
k. Add/Modify/Delete domain admin [Done]
l. Add/Modify/Delete relay_domains [Done]
m. Password complexity requirements [For later release]
o. Add the ability to choose any filesystem directory [Done]
-> Check the permissions to make sure Exim can create it
p. Add limits on how many accounts each domain can have [Done]
q. Add a "junior site admin" with different abilities
2. Domain Controls (depends on site settings)
a. Add/delete/modify users [Done]
b. Add/delete/modify admins [Done]
c. Add/delete/modify aliases [Done]
d. Quota can be set [Done]
e. SpamAssassin settings [Done]
f. Virus Scanner [Done]
g. Blacklists and Whitelists
-> tables are ready, almost code required
h. Mailing lists [For later release]
i. UID/GID [Done]
j. Domain tag line attached to all outgoing mail [Unsure]
k. Allow any user or alias to act as domain admin [Done]
l. Password complexity requirements [For later release]
m. Allow domain admin to tweak any user settings [Done]
n. Multiple levels of 'admin':
-> Some who can one add users, some who can only change
passwords, others who can only create aliases, etc
Eg, when an admin tries to create an alias, assign the
variable '$task=addalias', and query the db to see if the
admin has the privilege to do this. This requires a
'flags' column in the db. [For later release]
3. User Controls (depends on site and domain settings)
a. Change password [Done]
b. SpamAssassin settings [Done]
c. Virus scanner settings [Done]
d. Personal block lists [Done]
e. Add alias (?)
f. Vacation response [Done]
g. Forward incoming mail [Done]
h. See current quota limit [Done]
-> Later, need a way to see current mailbox size
This is dependent on the maildirsize option getting fixed in Exim
i. Code to intergrate whitelists to webpages
4. System Controls
a. Choose from multiple databases: MySQL, PostgreSQL, LDAP [MySQL, PostgreSQL done]
b. Shell scripts to perform all the same work the webpages do.
Possibly in PHP or Perl. Probably PHP for simpler DB
integration/package maintenance.
5. Setup
a. Scripts used to configure vexim the first time.
-> These scripts should be deleted (for security purposes)
after configuration is completed.
The scripts will create the basic database (with site-wide
settings), various tables, and the variables.php file from
the site admin's input. Would it be wise to require a
user/password with enough privileges to create a database
and grant privileges on it? I've seen this done with other
programs. It certainly makes things easier, but some
people might have a problem with entering the mysql god
password.
b. Reduce the overall number of PHP files in the package, by
consolidating common functions.
-> Various 'submit' pages can be consolidated to one or two,
etc.
c. Add Wash's docs on using tpop3d to CVS [Done]
d. Make APOP work!