Commit Graph

80 Commits

Author SHA1 Message Date
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 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 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 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 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 3c0939a3ef When writing messages to mboxes, append os.linesep and mangle From_ only if the
message source is not an mbox-format folder.  
Attempts to fix broken mbox-formatted input are only asking for trouble, and
that's not our job anyway.
2006-10-18 01:20:05 +00:00
Nikolaus Schulz f4c6017d32 IMAPS and IMAP4.login_cram_md5() are new in Python 2.3; bump Python dependency
check to version 2.3.
2006-10-14 23:22:25 +00:00
Nikolaus Schulz 334d1ef9f1 Updated archivemail.__copyright__ 2006-10-14 22:45:25 +00:00
Nikolaus Schulz d631079250 Added maintainer entry in setup.py.
Updated copyright notices in archivemail.py and test_archivemail.py.
2006-10-12 23:02:03 +00:00
Nikolaus Schulz b682b26398 Added new option --dont-mangle-from to turn off From_ mangling. 2006-10-12 21:14:04 +00:00
Nikolaus Schulz 6198341eef Made From_ mangling work reliably with large messages, too. 2006-10-12 19:28:30 +00:00
Nikolaus Schulz 88ef628f20 Mangle From_ in message bodies. 2006-10-12 18:19:01 +00:00
Nikolaus Schulz a0994e6a57 Terminate each message in newly written mbox with an empty line. 2006-10-12 17:35:37 +00:00
Nikolaus Schulz 539894ced4 Implemented --dry-run and --delete for IMAP, both do no not download messages.
Stats are still missing.
2006-10-12 01:02:35 +00:00
Nikolaus Schulz 800a957b59 Preparing the implementation of IMAP --delete:
if not dry-running, delete messages whether we archived them or not.
2006-10-11 19:56:50 +00:00
Nikolaus Schulz 27ca6547c5 Kindly shutdown IMAP connection when doing a --dry-run, too. 2006-10-11 19:28:36 +00:00
Nikolaus Schulz b8b64804c9 _archive_imap(): deleted unused variable. 2006-10-11 19:18:43 +00:00
Nikolaus Schulz ab28001c84 Fixed invalid IMAP filter string for large messages (--size option).
Closes: #863813
2006-10-02 00:22:58 +00:00
Nikolaus Schulz 140596178c Convert on-the-wire CRLF to native EOL when saving messages from an IMAP folder. 2006-09-28 23:31:47 +00:00
Nikolaus Schulz 8d5b36dc3a Fixed IMAP authentication/URL parsing. Require username encoded in URL, but be
flexible with the password: handle both --pwfile and URL-encoded password, and
fallback to querying the user if neither is present.
2006-09-28 23:26:58 +00:00
Nikolaus Schulz dc023db895 Fixed guess_return_path() to actually extract 'Return-path' and 'From' headers. 2006-09-28 22:26:07 +00:00
Nikolaus Schulz 8f47290956 Fixed long options --filter-append and --pwfile to accept their arguments. 2006-09-28 22:19:12 +00:00
Peter Poeml 933aa18259 bump version to 0.6.2 2006-06-27 04:44:28 +00:00
Peter Poeml e00581acb2 new command line option: -F, --filter-append=STRING append arbitrary string to the IMAP filter string 2006-06-27 04:40:24 +00:00
Peter Poeml adfb7a63d7 don't delete more than a certain number of messages at a time. The max command len is limited. Fixes bug 942403 (Archiving large IMAP folders fails) 2006-06-18 11:36:57 +00:00
Peter Poeml 07aca153f6 - fix last patch: don't fail if server URL doesn't contain username of password; try plain as well as cram-md5 login 2006-06-16 09:22:47 +00:00
Peter Poeml a91b2064cb - add SSL support per imaps URL (after patch by Tobias Gruetzmacher)
- add -P/--pwfile option to supply the IMAP password, so it does not end up in the shell history
2006-06-16 08:34:22 +00:00
Peter Poeml 05c599028e fix SyntaxWarning: assignment to None (bug #843890) 2006-04-25 21:13:53 +00:00
Paul Rodger 64d87da307 Use the archive cut-off date rather than the current time with the
--suffix option.
2002-11-21 22:57:13 +00:00
Paul Rodger 60f119d64a Don't assume that root's grpid is '0' -- on solaris it can be different. 2002-11-07 22:54:03 +00:00
Paul Rodger 799f4affcd Removed a test rule that says we can confidently archive messages
older than the unix epoch. (New versions of python return OverFlow
error instead)
2002-10-30 23:51:08 +00:00
Paul Rodger 6a91347b88 Added IMAP support. 2002-10-03 06:27:08 +00:00
Paul Rodger 485b7f882a Opps - forgot to commit the new version number changes (0.5.1) 2002-09-19 00:10:06 +00:00
Paul Rodger baeb03abd4 If we are running as root we setuid() to the user who owns the mailbox. But I
forgot to make sure we create our temporary container directory as that user
too.
2002-09-16 11:35:03 +00:00
Paul Rodger 3939c48518 Fixed a bug where mailbox locking would fail under Solaris, also fixed
a bug where archiving maildir mailboxes without a 'Received Date' or
'From' header would fail.
Removed another assert() statement that would crash on the unix epoch.
2002-09-15 06:14:57 +00:00
Paul Rodger 5264ab35cd Fixed a bug where we would throw an exception if a message was dated
exactly on the unix epoch. Also fixed a bug where trailing slashes
were being passed to the archive file name.
2002-08-18 12:17:56 +00:00
Paul Rodger 518654df61 We now call mkdir() to create a temporary directory to store any generated
tempfiles. This should be a lot more secure.
2002-05-20 06:14:54 +00:00
Paul Rodger 7c8b58dea3 Fixed a bug where archivemail would abort if it got a date header
with a completely blank value.
2002-05-07 12:14:29 +00:00
Paul Rodger e4adb7b222 Fixed a bug where the os.rename() calls could fail if we are moving files
between partitions.
2002-05-06 03:06:40 +00:00
Paul Rodger dcff0c0c85 Added a --size option to only archive messages over a certain byte size. 2002-04-29 12:20:45 +00:00