aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Append to the archive, and don't use rename()Nikolaus Schulz2009-11-061-40/+20
| | | | | This is WIP to prepare locking for the archive. Since we no longer copy the whole archive before appending, archiving should also be faster.
* Remove unused method Mbox.is_empty()Nikolaus Schulz2009-11-062-20/+0
|
* Keep mbox files open, so we don't break our locksNikolaus Schulz2009-11-061-34/+17
| | | | | | When committing a changed mbox, don't use os.rename(), and don't open/close the mbox file to truncate it to zero length. Locking was pretty much broken before -- at least in theory a quite severe bug.
* Cleanup restoring of the mbox timestampsNikolaus Schulz2009-11-061-14/+5
| | | | | | | | * Remove code duplication: restore the mbox timestamps once and for all when we're done * Don't bother restoring the file mode when finishing, since this is handled in RetainMbox.finalise() (and need be) * Therefore, rename Mbox.reset_stat() to reset_timestamps()
* Cosmetics: in verbose mode, report current mailbox earlyNikolaus Schulz2009-11-061-1/+1
| | | | | This is now before we do the sanity checking, so in verbose mode, we don't error out before having said that we now turn attention to the current mailbox.
* Refuse to process mailboxes owned by someone elseNikolaus Schulz2009-11-061-2/+12
| | | | | | This should also protect people relying on the old setuid feature. If the mailbox is local, by checking the ownership we necessarily check for existance.
* Sanity check existing archives earlyNikolaus Schulz2009-11-061-10/+15
| | | | | This used to happen when creating the temporary archive, we now do it before we start processing the mailbox.
* Remove simple-minded security checksNikolaus Schulz2009-11-061-12/+0
| | | | | Remove the checks if the mailbox is a symlink, and if the output directory is world-writable. Better no security than half-baked security.
* Move archive naming code into new function make_archive_name()Nikolaus Schulz2009-11-061-18/+21
|
* Remove the setuid functionalityNikolaus Schulz2009-11-061-24/+0
| | | | It was not a good idea, and trying to do it right would be too much effort.
* Simplify imap_get_namespace() and imap_guess_mailboxnames()Nikolaus Schulz2009-11-061-15/+15
| | | | | | I don't think anybody wants to archive folders in shared or public IMAP namespaces, so we don't bother checking all possible namespaces. The code was ugly anyway.
* Removed obsolete references to subversionNikolaus Schulz2009-11-063-19/+9
| | | | | | archivemail development has moved to git. This patch updates the project webpage, removes the subversion $Id$ keyword that was stored in archivemail.__svn_id__, and updates the Makefile.
* IMAP: imap_guess_mailboxnames: check for NIL delimiter. Nikolaus Schulz2008-04-091-1/+1
| | | | | | Only replace the slash with the server's hierarchy delimiter if the latter actually exists (is not NIL).
* TODO: dropped items about --all, which is now implemented.Nikolaus Schulz2008-04-081-4/+2
|
* IMAP: only check for \Deleted in PERMANENTFLAGS if mailbox isn't read-only.Nikolaus Schulz2008-04-081-1/+1
| | | | | This spewed an error when --dry-running.
* IMAP: added sanity check for \Deleted in PERMANENTFLAGS.Nikolaus Schulz2008-04-081-0/+14
|
* Minor, local variable renaming.Nikolaus Schulz2008-04-081-6/+6
|
* Moved IMAP SELECT code into a separate function.Nikolaus Schulz2008-04-081-15/+20
|
* IMAP: be NAMESPACE-aware; improved probing for guessed mailbox names. Nikolaus Schulz2008-04-084-30/+86
| | | | | | | | * Automatically add NAMESPACE prefix to the mailbox path if necessary, * Explicitely check for guessed mailbox names with LIST instead of just trying to SELECT them. * Updated documentation about NAMESPACE handling.
* archivemail.sgml: warn that multiple passes with --copy will create duplicates. Nikolaus Schulz2008-04-082-1/+5
|
* Code structuring: made a separate group of IMAP functions. Nikolaus Schulz2008-04-071-58/+65
| | | | | No code changes, just moved functions around.
* IMAP: servers should never advertise LOGINDISABLED with SSL; removed the checkNikolaus Schulz2008-03-211-5/+1
| | | | | for it, which was just used to spit a special error message anyway.
* Archiving an IMAP folder with --all didn't archive *any* messages.Nikolaus Schulz2008-03-191-1/+1
| | | | | | The message sequence numbers must be strings, but were generated as integers; fixed.
* Updated year in another copyright note, which I overlooked before.Nikolaus Schulz2008-03-161-1/+1
|
* Updated changelog, which was a little behind. Nikolaus Schulz2008-03-151-0/+7
|
* Removed an assertion which choked upon --days=0. Nikolaus Schulz2008-03-151-3/+0
|
* Added new option --all to archive all messages in a mailbox.Nikolaus Schulz2008-03-154-11/+68
| | | | | | Updated documentation, and added a first simple unittest for this. Closes: #1764846.
* Updated copyright notes to include year 2008.Nikolaus Schulz2008-03-152-2/+2
|
* Documented the new option --debug-imap in the manpage.Nikolaus Schulz2008-03-152-2/+24
|
* Fixed crash when archiving an empty maildir with python 2.5. Nikolaus Schulz2008-03-151-1/+0
| | | | | | The incompatible changes in mailbox.Maildir triggered an assertion in _archive_dir(); removing that assertion since it looks not useful anyway.
* Sanitized parsing some IMAP server responses by switching to regularNikolaus Schulz2008-03-151-8/+8
| | | | | expressions.
* test_archivemail.py: removed nested calls to setUp() and tearDown(). Nikolaus Schulz2008-03-061-68/+0
|
* TODO: added items: Nikolaus Schulz2008-02-141-0/+7
| | | | | | * perhaps integrate --debug-imap into -vv switch * graceful IMAP connection termination upon error
* Added --debug-imap option which just sets imaplib.Debug.Nikolaus Schulz2008-02-141-1/+8
|
* IMAP: catch LOGINDISABLED, and suggest using imaps. Nikolaus Schulz2008-02-141-2/+9
|
* Only try CRAM-MD5 authentication if the server advertises it. Nikolaus Schulz2008-02-141-3/+5
|
* TODO: added issues: Nikolaus Schulz2008-01-191-0/+14
| | | | | | | - no locking with archives - no validation of existing archives - discomfort with current mbox class design and usage
* _archive_imap() used SSL only if the 'imaps://' url scheme was all lowercase.Nikolaus Schulz2008-01-191-1/+1
| | | | | Fixed.
* Updated TODO list. Added: Nikolaus Schulz2007-11-151-0/+29
| | | | | | | * rework locking * IMAP SEARCH BEFORE matching dates only, no time * document mbox format issues
* guess_delivery_time(): Nikolaus Schulz2007-11-134-10/+24
| | | | | | | | | * look for the timestamp of the latest 'Received' header before resorting to 'Date' or 'Resent-Date'. * let 'Resent-date' header take precedence over 'Date'. Document these changes in manpage and changelog. Closes: #1481316, #1764855, Debian bug #272666.
* Fixed date header parsing to be precise with timezone information. Also, whenNikolaus Schulz2007-11-132-9/+16
| | | | | | writing From_ line timestamps, don't use UTC but local time, without timezone information.
* !%&$*# Repair previous broken commit where an unrelated hunk slipped through. Nikolaus Schulz2007-11-131-1/+1
| | | | | Reverted that hunk.
* When converting from other formats to mbox, re-use existing 'Status' andNikolaus Schulz2007-11-131-5/+7
| | | | | 'X-Status' headers if appropriate (instead of deleting and re-generating them).
* If running as root, only call seteuid/setegid if the if the owner of the mailboxNikolaus Schulz2007-11-091-9/+11
| | | | | is not root.
* Bumped version to 0.7.2, and updated release info on the webpage.Nikolaus Schulz2007-11-093-4/+4
|
* RELNOTES: slightly re-edited to be more consistent. Nikolaus Schulz2007-11-091-3/+8
|
* RELNOTES, CHANGELOG: updated for v0.7.2, which fixes a crash with IMAP andNikolaus Schulz2007-11-092-0/+10
| | | | | python << 2.5.
* IMAP: fixed crash by working around python bug #1277098, which is still pendingNikolaus Schulz2007-11-091-0/+3
| | | | | in python << 2.5.
* Makefile: made the htdocs rule a little bit more intelligent. Nikolaus Schulz2007-11-081-1/+2
|
* Makefile: declare phony targets. Nikolaus Schulz2007-11-081-0/+2
|