GNU mailutils TODO list. 2005-03-18 Copyright (C) 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. * Documentation * mailbox ** Generic search interface ** 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. *** what kind of locking should mh use? See FIXME in mbx_mh.c *** why does mimetest fail on a symlink, but succeed 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. ** select needed ** mailboxes don't remember whether or not they've been opened ** mu_error() vs. debug_t: Revise both methods of reporting the diagnostics. Possibly they could be merged. Possibly log_t object is needed. ** 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? Sam Roberts: My recollection is that when you give a buffer to output APIs, you give the total size. But the size_t* that returns the required size, returns the required size, minus the NUL. The units are different, in a sense. ** 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 Sam Roberts: If you have a really simple workstation with a basic mail system, you may want mail.local to deliver all email addressed to "root" and "postmaster", etc., to a particular user, like yourself. Sergey Poznyakoff: In short, that is kind of aliasing support. We have aliasing support in MH, possibly it could be used in libmailbox as well. ** 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). Jeff Bailey says: I think this might be the only encryption that common versions of Outlook Express support. As a low priority TODO list item, (like if it never gets done, there's no worries) I think it can probably stay on. The advantage of having it just do this itself is that other utilities aren't required to get this configured up in something like Debian. ** 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 SRP? * Mailcap API The framework is implemented. Needs extensive testing. * Mime.types API is available in mimeview. Do we need to move it to libmailbox? * examples ** unify the mbox-* and mimetest examples with messages, it would be nice to have a general purpose tool * mh -- see mh/TODO * sieve ** 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?) * mail.local: Add daemon mode with LMTP support * utilities ** forward only MTA, nullmailer like, but accepting SMTP on 25 from localhost ** mimeview: support nametemplate ** all * Testsuite: Tcl is not able to handle binary data properly. This makes impossible to test some aspects of MU functionalities. Following testcases are affected: ** mailbox/testsuite/mailbox/base64.exp The ability of the test program to read given file instead of the stdin is used to override the issue. ** mailbox/testsuite/mailbox/encode2047.exp Input data are represented in octal format (see mailbox/testsuite/Encode2047). ** mailbox/testsuite/mailbox/argcv.exp The affected testcase is not run (see mailbox/testsuite/Argcv and search for FIXME). * add nightly build * add more features * optimize everything * test everything Local variables: mode: outline paragraph-separate: "[ ]*$" end: