/[mailutils]/mailutils/TODO
ViewVC logotype

Diff of /mailutils/TODO

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.36 by polak, Tue Jan 14 09:48:19 2003 UTC revision 1.37 by gray, Fri Mar 14 14:28:47 2003 UTC
# Line 1  Line 1 
 + --> fixed/done  
 - --> pending  
 = --> on hold  
 * --> in progress  
1    
2  [docs]  * Documentation
3    
4  [mailbox or mailbox2]  * mailbox
5    
6  IMPORTANT:  ** Generic search interface
   There is currently a rewrite of the mailbox called mailbox2 to address  
   some of the flaws of the old version.  
7    
8  - generalized search interface  ** Maildir support
9    
10  [mail.local]  ** iterator_t is very ineffective. Traversing the list from iterator_first()
11    till iterator_is_done() takes O(n*(n+1)/2) time units, where n is
12    number of elements in the list. To reduce this to O(n), iterator_t
13    must keep the address of the last visited item in the list.
14    
15  - can it append to an imap mailbox?  ** Locking
16    
17  [pop3]  *** Implement a read/write locker_lock() flag so that when MU_LOCKER_WRONLY
18    is set in the locker flags, only write locks actually lock the file,
19    read locks don't do anything.
20    
21  - pop3d_readline - should this use select(), avoid the race condition,  *** implement mailbox_lock() and mailbox_unlock() shortcut functions.
   and touch the lockfile in time intervals smaller than  
   MU_LOCKER_EXPIRE_TIME?  
22    
23  [imap4d]  *** what kind of locking should mh use? See FIXME in mbx_mh.c
24    
25  - support of mailspools in user home directory, particularly when  *** why does mimetest fail on a symlink, but suceed on a dotlocked file?
   they are in maildir format (I think qmail does this).  
26    
27  - Check interaction with various imap clients. Currently tested with:  *** implement a force unlock mode... so that when a mailbox
28    mail (from mailutils itself), mutt, pine, netscape, mozilla.  is closed or destroyed it can make sure that the lock
29    is definitely gone.
30    
31  - Better support of multi-access mailbox  ** argcv.c should unescape strings as well as unquote them
32    
33  - implement charsets in search: 1 SEARCH CHARSET ISO-8859-2 TEXT ...  ** write a fnmatch() that doesn't respect []
34    
35  - implement AUTHENTICATE KERBEROS_V4 and SKEY and CRAM-MD5 and SRP?  ** select needed
36    
37  [mail]  ** mailboxes don't remember whether or not they've been opened
38    
39  - Add support for /etc/mailcap.  ** print errors to a debug object, by default
40    
41  [mailbox]  ** does IMAP do an EXAMINE instead of a select if the mailbox is being
42    opened readonly? Does list return whether a mailbox is readonly?
43    Check against CMUs anon server, it is a read-only mailbox.
44    
45  - iterator_t is very ineffective. Traversing the list from iterator_first()  ** mu_cpystr - the size_t* size outputs only give strlen(), not the
46    till iterator_is_done() takes O(n*(n+1)/2), where n is number of elements  actual length?
   in the list. To reduce this to O(n), iterator_t must keep the address  
   of the last visited item in the list.  
47    
48  - locking:  ** need code to find a "real" envelope from... an actual email address
49    that DSNs can be sent to.
50    
51    - implement a read/write locker_lock() flag so that when MU_LOCKER_WRONLY  ** need to be able to map some addresses (like mail to "root") to a
52      is set in the locker flags, only write locks actually lock the file,  user for the box, a la nullmailer, perhaps
     read locks don't do anything.  
53    
54    - implement mailbox_lock() and mailbox_unlock() shortcut functions.  ** mailer_t: the SMTP mailer isn't as fully implemented as the sendmail
55    mailer.
56    
57    - what kind of locking should mh use? See FIXME in mbx_mh.c  ** make the smtp mailer calls usable standalone, as well as url based,
58    and use them in mail.remote.
59    
60    - why does mimetest fail on a symlink, but suceed on a dotlocked file?  ** header_get_value() returns the newline?
61    
62    - implement a force unlock mode... so that when a mailbox  ** implement a header_field_unfold()?
     is closed or destroyed it can make sure that the lock  
     is definitely gone.  
63    
64  - lib/argcv.c should unescape strings as well as unquote them  ** pipe_open_stream() - implemented with popen()
65    
66  - write a fnmatch() that doesn't respect []  ** support AUTH=anonymous (imap://cyrus.andrew.cmu.edu/archive.info-cyrus)
67    
68  - select needed  * pop3
69    
70  - mailboxes don't remember whether or not they've been opened  ** pop3d_readline - should this use select(), avoid the race condition,
71    and touch the lockfile in time intervals smaller than MU_LOCKER_EXPIRE_TIME?
72    
73  - print errors to a debug object, by default  * imap4d
74    
75  - does IMAP do an EXAMINE instead of a select if the mailbox is being  ** Check interaction with various imap clients. Currently tested with:
76    opened readonly? Does list return whether a mailbox is readonly?  mail (from mailutils itself), mutt, pine, netscape, mozilla.
   Check against CMUs anon server, it is a read-only mailbox.  
77    
78  - mu_cpystr - the size_t* size outputs only give strlen(), not the  ** Better support of multi-access mailbox
   actual length?  
79    
80  - finish mh mailbox support (they don't have a folder yet)  ** implement charsets in search: 1 SEARCH CHARSET ISO-8859-2 TEXT ...
81    
82  - need code to find a "real" envelope from... an actual email address  ** implement AUTHENTICATE KERBEROS_V4 and SKEY and CRAM-MD5 and SRP?
   that DSNs can be sent to.  
83    
84  - need to be able to map some addresses (like mail to "root") to a  * mail
   user for the box, a la nullmailer, perhaps  
85    
86  - mailer_t: the SMTP mailer isn't as fully implemented as the sendmail  ** Add support for /etc/mailcap
   mailer.  
87    
88  - make the smtp mailer calls useable standalone, as well as url based,  * Mailcap API
   and use them in mail.remote.  
89    
90  - header_get_value() returns the newline?  The framework is implemented. Needs extensive testing.
91    
92  - implement a header_field_unfold()?  * Mime.types API
93    
94  - pipe_open_stream() - implemented with popen()  * libmuauth
95    
96  + Configuration API  ** First argument to mu_auth_fp (and second one to mu_auth_runlist) should
97    be struct mu_auth_data ** instead of void *.
98    
99  - Mailcap API  * examples
100    
101  - Mime.types API  ** unify the mbox-* and mimetest examples with messages, it would be nice
102    to have a general purpose tool
103    
104  + A ticket file format allowing specification of different authentication  * mh -- see mh/TODO
   information for different mailboxes.  
105    
106  - imap4 client login referals  * sieve
107    
108  - imap4 client mailbox referals  ** Implement boolean shortcut evaluation for `allof' and `anyof'
109    
110  - Maildir mailbox support  ** uid isn't good to identify messages, use message-id?
111    
112  + support AUTH=anonymous (imap://cyrus.andrew.cmu.edu/archive.info-cyrus)  ** run as daemon, sieveing mail on arrival (need interface for notification
113    of message arrival, this is supported by imap, but we'll have to fake
114    for pop and local spools my polling, why can't you select() on a unix
115    file?)
116    
117  [libmuauth]  NOTE: Do we need it? mail.local already provides this functionality.
118    
119  - First argument to mu_auth_fp (and second one to mu_auth_runlist) should  * utilities
   be struct mu_auth_data ** instead of void *.  
120    
121  [examples]  ** forward only MTA, nullmailer like, but accepting SMTP on 25 from localhost
122    
123  - unify the mbox-* and mimetest examples with messages, it would be nice  ** utility to move all mail from one mailbox to another, like mbox to
124    to have a general purpose tool  IMAP, preserving all flags that are possible. can sieve do this, or do
125    I need a mbox-copy() utility?
126    
127  [mh]  ** file viewer, based on the mimetypes api. I want to do a "v foo.blah",
128    have it look up .blah in mime.types, and do the action spec'ed in mailcap.
129    
130  - see mh/TODO  ** all
131    
132  [sieve]  * add nightly build
133    
134  - Implement boolean shortcut evaluation for `allof' and `anyof'  * add more features
135    
136  - uid isn't good to identify messages, use message-id?  * optimize everything
137    
138  - run as daemon, sieveing mail on arrival (need interface for notification  * test everything
   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?)  
   Do we need it? mail.local already provides this functionality.  
139    
140  [utilities]  * util_strcasestr() from mail/util.c provides the same functionality
141    as i_ascii_casemap_contains() from libsieve/comparator. Merge both
142    versions.
143    
144  - forward only MTA, nullmailer like, but accepting SMTP on 25 from localhost  
145    Local variables:
146  - utility to move all mail from one mailbox to another, like mbox to  mode: outline
147    IMAP, preserving all flags that are possible. can sieve do this, or do  paragraph-separate: "[   ]*$"
148    I need a mbox-copy() utility?  end:
   
 - 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  
   
 + add imap server code (JB && Shaleh Oct 11/99)  
   
 - util_strcasestr() from mail/util.c provides the same functionality  
   as i_ascii_casemap_contains() from libsieve/comparator. Merge both  
   versions.  

Legend:
Removed from v.1.36  
changed lines
  Added in v.1.37

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26