Commit Graph

364 Commits

Author SHA1 Message Date
Nikolaus Schulz 9b7768e073 Rewrote and reordered parts of the manpage:
* Move paragraph about archiving IMAP folders before the option list
    * Added section subsection about IMAP URL handling
    * Added IMAP example command line
2007-10-24 14:58:47 +00:00
Nikolaus Schulz d566d6c8f3 Makefile: updated SVNROOT variable. 2007-10-24 11:30:00 +00:00
Nikolaus Schulz b40728e740 Updated changelog about latest bugfix (skipping invalid files in Maildirs). 2007-10-24 02:33:31 +00:00
Nikolaus Schulz 8e73e315e4 Skip invalid messages/files in Maildirs.
Closes: #1783369, Debian bug #255944, and Debian bug #305902 also seems about
        this issue.
2007-10-24 02:23:59 +00:00
Nikolaus Schulz b07a4cfbf3 TODO: new items:
* IMAP unittests
    * bug triage
    * Porting to email.message and the new mailbox modules in python 2.5.
2007-10-23 23:29:05 +00:00
Nikolaus Schulz 256492039a Added unittest for the new IMAP URL parser. 2007-10-23 23:23:44 +00:00
Nikolaus Schulz f3719df4d2 Updated documentation WRT to the new quoted usernames/passwords in IMAP URLs. 2007-10-23 23:11:29 +00:00
Nikolaus Schulz 0e9ae1d91b New IMAP URL parser that understands double-quoted usernames and passwords.
Closes: #1640878
2007-10-23 22:48:15 +00:00
Nikolaus Schulz 1493a22f38 Define very simple exception classes, mapping to the error functions
user_error() and unexpected_error().  If archivemail is used as a module, let
the functions raise the corresponding exceptions rather than writing to stderr
and calling sys.exit().
2007-10-23 22:27:57 +00:00
Nikolaus Schulz 255a475978 Use a wrapper around rfc822.Message.fp to find the filename for Maildir/MH
emails.  Python 2.5 broke backward compatibility for Maildirs. :-/
Closes: #1670422
2007-10-22 22:03:44 +00:00
Nikolaus Schulz c67a75c2f7 TODO: updated with some old items which weren't yet committed to svn. 2007-09-18 00:30:10 +00:00
Nikolaus Schulz 8abd70093f Expand tilde in argument of long option --output-dir, the shell doesn't. 2006-11-14 22:20:37 +00:00
Nikolaus Schulz ef97390118 Corrected python dependency in the man page. 2006-11-06 21:41:59 +00:00
Nikolaus Schulz 32ecf02025 README: Updated python dependency, removed note about the required zlib module
since that should be pretty much standard, and added maintainer email addresses.
2006-11-02 23:04:14 +00:00
Nikolaus Schulz faa68b2048 Bumped version to 0.7.0 2006-11-02 06:43:09 +00:00
Nikolaus Schulz 8de4715e5c Renamed __cvs_id__ to __svn_id__. 2006-11-02 06:40:31 +00:00
Nikolaus Schulz 58f67ff286 Changelog update: added IMAP error reporting 2006-11-02 05:49:18 +00:00
Nikolaus Schulz 0278901ba1 Added a note to the manpage that --pwfile will not work if archiving folders
from several IMAP accounts.
2006-11-02 05:45:26 +00:00
Nikolaus Schulz cb48d392fa TODO update. Added: IMAP url clutter/password leakage, unfriendly locking
practice.  Removed: only prompt for IMAP password when running in terminal.
2006-11-02 05:43:33 +00:00
Nikolaus Schulz 46f9aa44a9 Split the final stats message in two lines, because it might otherwise linewrap. 2006-11-02 05:36:17 +00:00
Nikolaus Schulz 810dea1bf5 Made IMAP password prompt a tad bit more verbose. 2006-11-01 21:05:10 +00:00
Nikolaus Schulz 3d8a1bda89 Don't prompt for the IMAP password if in quiet mode or if not running
interactively (stdin is not a terminal).
2006-11-01 20:57:58 +00:00
Nikolaus Schulz 89e6683334 Improved IMAP error handling: pass error messages from the server on to the
user, and check if deleting the messages was successful.
2006-11-01 20:35:53 +00:00
Nikolaus Schulz c7d074abde Streamlined verbose IMAP messages a bit. 2006-11-01 20:25:09 +00:00
Nikolaus Schulz d79da0ae99 Removed redundant check if imap login was succesful, since IMAP4.login then
raises an exception.
2006-11-01 20:23:44 +00:00
Nikolaus Schulz c5f194f3ec Tightened some blanket exception handlers. 2006-11-01 19:49:47 +00:00
Nikolaus Schulz e872f2211e Changed misleading references to 'message ids' in the IMAP code to the
technically correct 'message sequence number'.
2006-11-01 06:11:55 +00:00
Nikolaus Schulz bea6ef6390 Optimized IMAP code: just invert the message list from the SEARCH response
instead of querying the server another time with an inverted search filter.
Gather RFC822.SIZE in one big run.
2006-11-01 05:27:30 +00:00
Nikolaus Schulz 86f1fec50d Renamed variable 'filter' to prevent conflicts with the builtin function. 2006-11-01 00:40:26 +00:00
Nikolaus Schulz e9a11944f1 Updated CHANGELOG and polished it a bit for the upcoming release. 2006-10-31 05:00:15 +00:00
Nikolaus Schulz 7a2e1b7c69 Added a few items to the TODO list that won't be resolved with the next release. 2006-10-31 04:50:05 +00:00
Nikolaus Schulz f9965b8e23 Reverted script name change from rev. 101, so we generate a clean tarball again. 2006-10-31 04:47:24 +00:00
Nikolaus Schulz b3dc8a006e Always sanity-check each archive destination directory, not only when it's
specified with --output-dir.
2006-10-31 04:09:31 +00:00
Nikolaus Schulz dcd37f6466 Make stats report size totals for the mailboxes and the archived messages, and
while at it, make stats work with IMAP.
2006-10-31 03:07:02 +00:00
Nikolaus Schulz 9549c3e29d Minor code cleanup in build_imap_filter(). 2006-10-31 00:35:19 +00:00
Nikolaus Schulz 0b40278a78 The archivemail-devel list is subscribers-only and not very useful as a general
contact address, so better give personal maintainer names and email addresses in
setup.py.
2006-10-30 19:48:25 +00:00
Nikolaus Schulz a221f62f52 Shortened new option name "--dont-mangle-from" to "--dont-mangle". 2006-10-30 19:34:39 +00:00
Nikolaus Schulz 697c22daac Rewrote Mbox.procmail_lock() to fix locking race condition. Should now also be
NFS-safe.
2006-10-30 19:29:15 +00:00
Nikolaus Schulz 700bce69b4 Testsuite: fixed testDeleteOldMail to check the right option. 2006-10-30 18:25:28 +00:00
Nikolaus Schulz daed56f0c5 TODO: added that currently all items are from the original author and still have
to be checked. :-)
2006-10-29 04:09:11 +00:00
Nikolaus Schulz a8e76ead22 Testsuite: create temporary directory with prefix. 2006-10-29 04:05:37 +00:00
Nikolaus Schulz 93015a6d84 Dropped test from testsuite if dotlock file is world-readable, this isn't
required.
2006-10-29 03:59:57 +00:00
Nikolaus Schulz 99cfab1f4e Don't run clean_up() by means of atexit, but use a plain finally clause in the
main archive() function.  This is simpler, and it works better with the
testsuite calling archive() directly, where the atexit handler isn't triggered.
2006-10-29 03:10:45 +00:00
Nikolaus Schulz 2dbd3c1940 Preparing per-testcase cleanup: made StaleFiles.clean() remember what it
deleted, so it's idempotent and e.g. doesn't stomp over someone else's files if
invoked twice and running as root.  Currently I don't see how this could happen,
but it will with a per-testcase cleanup.
2006-10-29 00:04:09 +00:00
Nikolaus Schulz e78b33e115 Updated CHANGELOG. 2006-10-28 18:42:17 +00:00
Nikolaus Schulz bd2f65d0af Changelog: added entry for CRAM-MD5 login to the changelog of the latest
version 0.6.2.
2006-10-28 18:31:29 +00:00
Nikolaus Schulz 5eb4cf3cf6 Replaced all tempfile.mktemp() calls with mkstemp()/mkdtemp().
Should just serve as a last security fallback, since we operate in a safe
temporary directory and everything should be okay anyway, but that may be less
obvious. :-)
2006-10-27 03:23:16 +00:00
Nikolaus Schulz e491da3a11 test_archivemail.py: fixed unsafe creation of temporary files.
Derive all testcases that create temporary files from the new class
TestCaseInTempdir, which provides standard fixtures to set up a secure temporary
root directory for tempfiles and cleaning up afterwards.  This also simplifies
the code. 

This addresses Debian bug #385253, and reading the BTS log, it seems this issue
was assigned CVE-2006-4245, although I cannot find any further reference to that
CVE.  Note that the bug was initially reported to affect archivemail itself,
too.  This is not correct.  There *are* race conditions with archivemail, but
they were not subject of that report, and are not that critical.

Also bumped python dependency to version 2.3 since we use tempfile.mkstemp() and
other recent stuff.
2006-10-27 02:12:45 +00:00
Nikolaus Schulz 0a666a10a6 test_archivemail.py: added two missing self.setUp() calls in the TestArchiveMbox
testcase.
2006-10-27 01:30:49 +00:00
Nikolaus Schulz 7ae1b7bb3f test_archivemail.py: put standard setUp() fixtures in the testcases; the
matching tearDown() methods were already there. 
We surely can move more (possibly duplicated) stuff into the setUp() methods
later.
2006-10-27 01:00:39 +00:00