aboutsummaryrefslogtreecommitdiffstats
path: root/TODO.org
blob: c4acaa8ee9c2abede5766e5406b9b56894c255eb (plain)
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
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
* DONE Email::Valid does not accept UTF-8 emails adresses (e.g., peace@☮.net).
LDAP doesn't allow UTF-8 in the DNs anyway, so maybe convert the
domains/emails to Punycode internally?

* DONE Better check for existing lists (commands).
- When adding a new alias/mailbox 'test', check for existing alias/mailbox 'test', and list 'test'.
- When adding a new alias/mailbox 'test-request', check for existing alias/mailbox 'test-request', list 'test-request' *and* list 'test'. (The same for other list commands.)
- When adding a new list 'test', check for existing alias/mailbox/list 'test', 'test-request',...
- (Lists of the form 'test-request' are forbidden);

* CANCELED Check for cycles when creating new aliases?
CLOSED: [2012-09-29 Thu 16:12]
- CLOSING NOTE [2012-09-29 Thu 16:12] \\
1/ It is impossible to do it properly since the authenticated user may not have full read access on the graph.
2/ Cycles may also be created by catch-alls or mailbox forwarding, or even externally with another server.
3/ Postfix warns the administrator with a
"unreasonable virtual_alias_maps map nesting for test-loop1@fripost.org"
in the logs if there's a loop in the alias resolution.

* DONE Write a script to check every runmode against the W3 validator.
(Cf. cgiapp_postrun);

* DONE Use FastCGI. References
- http://www.cgi-app.org/index.cgi?FastCGI
- http://stackoverflow.com/questions/11771564/nginx-fastcgi-configuration-for-cgiapplication-app

* TODO Use HTML::Template::Pro. Not sure it's really worth it, though.

* DONE Escape reserved characters in URLs:
http://mark.stosberg.com/blog/2010/12/percent-encoding-uris-in-perl.html

* CANCELED How should we encode the URL for internationalized domain names? Punicode vs. unicode vs. HTML entities?
CLOSED: [2012-09-27 Thu 00:03]
- CLOSING NOTE [2012-09-27 Thu 00:03] \\
It's up to the browser (Firefox supports unicode in URLs).

* CANCELED Forbid UTF8 in the domain part of lists? (Test if the list
managers support it at least.)
CLOSED: [2012-09-27 Thu 03:38]
- CLOSING NOTE [2012-09-27 Thu 03:38] \\
Mailman and Schleuder do not support IDNs, but we convert the list name
into punicode first.

* DONE Give the right for domain postmasters to grant the right
to create aliases and lists.

* TODO Give the right to appoint co owners (for list and aliases).

* TODO Make every service use Kerberos, and remove the passphrase on
their GPG private keys.

* DONE Check list names against mailman's and schleuder's regexps?

* DONE What to do when a list creation fails? Set up a new service
to clean out the pending lists and domains if they have not been fixed
within 24h (daemon).
- CLOSING NOTE [2013-01-22 Thu 01:53] \\

* TODO Automatically generated passwords.

* TODO check if amavis{WhiteBlack}listSender supports catchall @example.org

* TODO prefixes should be used diferently (use only before a @)

* TODO Improve the CSS. Examples
    http://www.w3schools.com/tags/att_form_accept_charset.asp
    http://www.qubesys.com/25-css-form-templates-and-input-styles/
    https://github.com/pmcelhaney/semantic-form.css/blob/master/semantic-form.css
    http://designshack.net/articles/10-css-form-examples/

* TODO Maximum pending entries per user (10).

* TODO Limit what a user can create. Examples
  fripostQuota: what limit [group [address]]
  fripostQuota: list 3 normal @fripost.org    -> users with canCreateList can create at most 3 lists under that domain.
  fripostQuota: alias 15 owner owner@fripost.org    -> this owner can create at most 15 aliases under that domain
  fripostQuota: mailbox 30 postmaster -> the postmaster(s) can create at most 30 mailboxes

* TODO Do not display 'add new domain' if the user doesn't have the
right.

* TODO Find a way to grant alias creation to a whole domain except a few
users. (Add new attributes fripostCannotAdd{Domain,Aliases,List}).

* TODO https://en.wikipedia.org/wiki/Tld#Reserved_domains

* TODO '+' shouldn't be allowed in localparts.

* TODO Use captions to explain status and amavis.

* TODO Add a a button to allow domains/aliases deletion.

* TODO Redocument the library.

* TODO The pending lists are currently broken.

* TODO Premissions shouldn't be exported outside the library. Instead, do
        isOwner => 1
        isPostmaster => 0
        canCreateAlias => ...

* TODO MIME::Entity should somehow be replaced by MIME::Lite.

* TODO We need a test-suite for the web application as well. And
  ideally, for the whole library.
  http://search.cpan.org/~hartzell/Test-WWW-Mechanize-CGIApp-0.05/lib/Test/WWW/Mechanize/CGIApp.pm

* TODO Use callbacks when possible.

* TODO Net::LDAP::Constant 'LDAP_NO_SUCH_OBJECT' .

* TODO Alternative to set user passwords:
  http://search.cpan.org/~marschap/perl-ldap-0.52/lib/Net/LDAP/FAQ.pod#How_do_I_reset_a_user%27s_password_...

* TODO Give everyone search access on fva,fvu,fva,... to avoid the ugly test
  in local->exists . The same for domain->add .