summaryrefslogtreecommitdiff
path: root/TODO
blob: c0eb9dfb0f26ffd8dc250161ea0b183dca09df1e (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
117
118
119
120
121
122
123
124
125
126
127
128
129

* Documentation

* mailbox 

** Generic search interface

** Maildir support

** Locking

*** Implement a read/write locker_lock() flag so that when MU_LOCKER_WRONLY
is set in the locker flags, only write locks actually lock the file,
read locks don't do anything.

*** implement mailbox_lock() and mailbox_unlock() shortcut functions.

*** what kind of locking should mh use? See FIXME in mbx_mh.c

*** why does mimetest fail on a symlink, but suceed on a dotlocked file?

*** implement a force unlock mode... so that when a mailbox
is closed or destroyed it can make sure that the lock
is definitely gone.

** write a fnmatch() that doesn't respect []

** select needed

** mailboxes don't remember whether or not they've been opened

** print errors to a debug object, by default

** does IMAP do an EXAMINE instead of a select if the mailbox is being
opened readonly? Does list return whether a mailbox is readonly?
Check against CMUs anon server, it is a read-only mailbox.

** mu_cpystr - the size_t* size outputs only give strlen(), not the
actual length?

** need code to find a "real" envelope from... an actual email address
that DSNs can be sent to.

** need to be able to map some addresses (like mail to "root") to a
user for the box, a la nullmailer, perhaps

** mailer_t: the SMTP mailer isn't as fully implemented as the sendmail
mailer.

** make the smtp mailer calls usable standalone, as well as url based,
and use them in mail.remote.

** support AUTH=anonymous (imap://cyrus.andrew.cmu.edu/archive.info-cyrus)

** support POP3S and IMAPS mailers (ports 995/993).
NOTE: Do we really need it? Pop3d and imap4d already use STLS/STARTTLS.

** filter_trans needs readline method.

* pop3

** pop3d_readline - should this use select(), avoid the race condition,
and touch the lockfile in time intervals smaller than MU_LOCKER_EXPIRE_TIME?

* imap4d

** Check interaction with various imap clients. Currently tested with:
mail (from mailutils itself), mutt, pine, netscape, mozilla.

** Better support of multi-access mailbox

** implement charsets in search: 1 SEARCH CHARSET ISO-8859-2 TEXT ...

** implement AUTHENTICATE KERBEROS_V4 and SKEY and CRAM-MD5 and SRP?

* mail

** Add support for /etc/mailcap

* Mailcap API

The framework is implemented. Needs extensive testing.

* Mime.types API

* examples

** unify the mbox-* and mimetest examples with messages, it would be nice
to have a general purpose tool

* mh -- see mh/TODO

* sieve

** uid isn't good to identify messages, use message-id?

** run as daemon, sieveing mail on arrival (need interface for notification
of message arrival, this is supported by imap, but we'll have to fake
for pop and local spools my polling, why can't you select() on a unix
file?)

NOTE: Do we need it? mail.local already provides this functionality.

* utilities

** forward only MTA, nullmailer like, but accepting SMTP on 25 from localhost

** utility to move all mail from one mailbox to another, like mbox to
IMAP, preserving all flags that are possible. can sieve do this, or do
I need a mbox-copy() utility?

** file viewer, based on the mimetypes api. I want to do a "v foo.blah",
have it look up .blah in mime.types, and do the action spec'ed in mailcap.

** all

* add nightly build

* add more features

* optimize everything

* test everything


Local variables:
mode: outline
paragraph-separate: "[ 	]*$"
end:

Return to:

Send suggestions and report system problems to the System administrator.