From 5264ab35cdf5c3f0aca660f3d5e3ed52290e6007 Mon Sep 17 00:00:00 2001 From: Paul Rodger Date: Sun, 18 Aug 2002 12:17:56 +0000 Subject: [PATCH] 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. --- CHANGELOG | 6 ++++++ FAQ | 7 +++++++ MANIFEST | 1 + Makefile | 2 +- TODO | 8 +++----- archivemail.py | 9 +++++++-- setup.py | 2 +- 7 files changed, 26 insertions(+), 9 deletions(-) create mode 100644 FAQ diff --git a/CHANGELOG b/CHANGELOG index 3b48b20..a0cc2c0 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,3 +1,9 @@ +Version 0.4.9 - 18 August 2002 + * Fixed a bug where an exception was thrown if a message was dated exactly + on the Unix epoch. + * Fixed a bug where trailing slashes on the end of maildir/MH mailbox + arguments were being used in the archive name. + Version 0.4.8 - 20 May 2002 * Call mkdir() to create a container directory in which we can place any created tempfiles diff --git a/FAQ b/FAQ new file mode 100644 index 0000000..8708be0 --- /dev/null +++ b/FAQ @@ -0,0 +1,7 @@ + +1. Why doesn't archivemail support bzip2 compression in addition to gzip? +------------------------------------------------------------------------- + +I am quite happy to add bzip2 support to archivemail as soon as a 'bzip2' +module (similar to the gzip module) is available for python. +[ Hint hint ;) ] diff --git a/MANIFEST b/MANIFEST index 1ff59d2..4cdcd6f 100644 --- a/MANIFEST +++ b/MANIFEST @@ -1,5 +1,6 @@ CHANGELOG COPYING +FAQ MANIFEST README TODO diff --git a/Makefile b/Makefile index 288089a..a57b86d 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,5 @@ -VERSION=0.4.8 +VERSION=0.4.9 VERSION_TAG=v$(subst .,_,$(VERSION)) TARFILE=archivemail-$(VERSION).tar.gz diff --git a/TODO b/TODO index c883195..2f3dc0a 100644 --- a/TODO +++ b/TODO @@ -1,15 +1,13 @@ -Goals for next minor release (0.4.9): +Goals for next minor release (0.5.0): ------------------------------------- -* When you get a file-not-found in the 6th mailbox of 10, it aborts +* 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. * Think about the best way to specify the names of archives created with possibly an --archive-name option. * 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. - -Goals for next major release (0.5.0): -------------------------------------- * Lock any original .gz files - is this necessary? * Check for symlink attacks for tempfiles (although we don't use /var/tmp) diff --git a/archivemail.py b/archivemail.py index d82892e..a9c882a 100755 --- a/archivemail.py +++ b/archivemail.py @@ -22,7 +22,7 @@ Website: http://archivemail.sourceforge.net/ """ # global administrivia -__version__ = "archivemail v0.4.8" +__version__ = "archivemail v0.4.9" __cvs_id__ = "$Id$" __copyright__ = """Copyright (C) 2002 Paul Rodger This is free software; see the source for copying conditions. There is NO @@ -679,7 +679,6 @@ def guess_delivery_time(message): date = message.getdate(header) if date: time_message = time.mktime(date) - assert(time_message) vprint("using valid time found from '%s' header" % header) return time_message except (IndexError, ValueError, OverflowError): pass @@ -915,6 +914,12 @@ def archive(mailbox_name): """ assert(mailbox_name) + # strip any trailing slash (we could be archiving a maildir or MH format + # mailbox and somebody was pressing in bash) - we don't want to use + # the trailing slash in the archive name + mailbox_name = re.sub("/$", "", mailbox_name) + assert(mailbox_name) + set_signal_handlers() os.umask(077) # saves setting permissions on mailboxes/tempfiles diff --git a/setup.py b/setup.py index 9e79173..913c7a3 100755 --- a/setup.py +++ b/setup.py @@ -19,7 +19,7 @@ check_python_version() # define & run this early - 'distutils.core' is new from distutils.core import setup setup(name="archivemail", - version="0.4.8", + version="0.4.9", description="archive and compress old email", license="GNU GPL", url="http://archivemail.sourceforge.net/",