Commit Graph

73 Commits

Author SHA1 Message Date
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
Paul Rodger 15be93bd0d Fixed a bug where if you use the '--delete' option to completely clean
an mbox mailbox you would get a python error.
2002-04-28 04:00:11 +00:00
Paul Rodger bc41b68389 Fixed a bug where the long --suffix option was not working (although the
short option, '-s' was).

Added time-based format directives to the --suffix option, so that you
can do things like specify --suffix='%B%Y' to create archives named
after the current month and year.

Added some more tests to test_archivemail.py
2002-04-27 06:08:45 +00:00
Paul Rodger 9736dff04d Fixed bugs where archivemail would refuse to work on python version less than
2.2.
2002-04-26 03:04:02 +00:00
Paul Rodger 14d58baee1 Added a lot more system tests.
Hopefully I haven't gone too overboard with 957 lines of testing code for
a 1100 line program :)
2002-04-24 07:44:59 +00:00
Paul Rodger a79e730127 Complain if the mailbox to be read does not look like a valid mbox-format
mailbox when it is a singular file.
2002-04-23 04:30:42 +00:00
Paul Rodger 2bfde528cd Added the ability to archive messages older than a given absolute date with
the new option '--date' and fixed a bug where archivemail would complain about
messages older than 1970.
2002-04-23 03:01:26 +00:00
Paul Rodger 623f3ba4be Getting ready for release of version 0.4.1 2002-04-21 01:14:54 +00:00