Updated TODO, dropping a lot of obsolete items

Notable items that are now resolved or implemented:
    * archives are now locked
    * the mbox classes have been refactored to a cleaner design
    * we moved from flock locking to fcntl
    * the setuid() feature is long gone
    * symlink attacks for tempfiles are not possible (that is really an
      ancient TODO item from the original author)
    * the test suite now has a lot of maildir test cases
This commit is contained in:
Nikolaus Schulz 2010-07-29 19:49:42 +02:00
parent 368f312e2d
commit af3bb16a4c
2 changed files with 0 additions and 23 deletions

21
TODO
View File

@ -11,21 +11,10 @@ LOCKING & Co:
sane way, see Debian bug #349068. mbox_sync_mailbox() in the mutt code might
be an example how to write back a changed mailbox.
* Double-check the entire locking code.
* FIXME: no locking at all is applied to the archives.
Seems like existing archives are not read or validated in any way. New archive
data is blindly appended... Probably okay, but should be documented.
I don't like the representation of mboxes as python objects, it's unclean.
E.g. the archive mbox object is a subclass of mailbox.UnixMailbox, but this
super class is not used in any way, it's not even initialized. Makes sense,
since we need write-only access, and UnixMailbox is read-only. But should it be
a subclass at all, then?
.
Also, the original mbox and the "retain mbox" are separate objects. This is
disputable. E.g. the finalise() method of the retain mbox overwrites the
existing original mbox, and I feel that's really unclean.
IMAP SEARCH BEFORE disregards time and timezone information. This should at
least be documented. E.g. I've found that '-d 0' didn't match all messages in
an IMAP mailbox. This is because the SEARCH key is (BEFORE 14-Nov-2007) on 14
@ -111,15 +100,10 @@ Perhaps find a clean, lean replacement for all that clutter in the IMAP urls.
Require --output-dir for IMAP archiving? Otherwise we just drop the archive in
in the current working directory.
Switch to fcntl(2) locking? That would be NFS-safe. Perhaps make the locking
method configurable?
Check all items below, which are from the original author. :-)
.archivemailrc support
Specify an option to not seteuid() when run as root?
When you get a file-not-found in the 6th mailbox of 10, it aborts the whole
run. Better to fail gracefully and keep going.
@ -131,11 +115,6 @@ Add more tests (see top of test_archivemail.py)
We need some better checking to see if we are really looking at a valid
mbox-format mailbox.
Lock any original .gz files
- is this necessary?
Check for symlink attacks for tempfiles (although we don't use /var/tmp)
Add an option to not cut threads.
Add MMDF mailbox support

View File

@ -22,9 +22,7 @@ Unit-test archivemail using 'PyUnit'.
TODO: add tests for:
* dotlock locks already existing
* archiving maildir-format mailboxes
* archiving MH-format mailboxes
* preservation of status information from maildir to mbox
* a 3rd party process changing the mbox file being read
"""