Commit Graph

365 Commits

Author SHA1 Message Date
Nikolaus Schulz 39e6a532d0 Makefile: remove obsolete rules
* docbook2{man,html} used to generate temporary files; the new XML tool
  xsltproc does not, so we can drop the corresponding cleanup rule.
* The `bdist_rpm' rule for building rpm packages was broken for a long
  time, and therefore commented out.  The distutils bug that broke the
  rule is now fixed, but I'm removing the rule nevertheless because it's
  useless.
* The `upload' rule no longer works; drop it.
* Update .PHONY
2011-03-28 23:55:22 +02:00
Nikolaus Schulz 8173caa81d Add .gitignore, ignoring auto-generated files 2011-03-28 23:29:51 +02:00
Nikolaus Schulz 4f8171341d Update changelog 2011-03-28 23:17:50 +02:00
Nikolaus Schulz 0e1aace796 Manpage & webpage CSS: drop font selections
There's no need to tell the visitor which fonts to use; she knows best
what she likes, so let her decide.
2011-03-28 23:07:03 +02:00
Nikolaus Schulz 8190e4807e Manpage: lots of cleanup and fixes in the XML and formatting 2011-03-28 23:06:07 +02:00
Nikolaus Schulz 0437ec3e8b Remove manpage, there is no need to keep an auto-generated file around 2011-03-28 22:58:59 +02:00
Nikolaus Schulz c2106bdda1 manpage: define proper "manual" and "source" strings 2011-01-07 08:58:40 +01:00
Nikolaus Schulz f6be896b1f Port man page from SGML to XML 2010-12-29 02:49:08 +01:00
Nikolaus Schulz ea0d95e121 IMAP: don't collect statistics data when run with --quiet option
This gives a significant operation speedup in quiet mode.
2010-12-26 15:18:36 +01:00
Nikolaus Schulz 7ee2555cc2 Fix typo in the manpage 2010-12-26 14:49:18 +01:00
Nikolaus Schulz 393f08bb2e setup.py: install manpage into share/man/man1 instead of man/man1
This change aims to comply with the FHS, which puts manpages into
/usr/share/man, not /usr/man.
2010-11-28 02:02:51 +01:00
Nikolaus Schulz ad4c4b9642 Default options.debug_imap to 0 again, not False
This was overdone when switching from integers to booleans.
Here 0 and False are in fact probably equivalent, but it's still a bug.
2010-11-12 21:38:32 +01:00
Nikolaus Schulz a08cde18fb Update changelog and prepare 0.8.2 release 2010-10-16 18:58:04 +02:00
Nikolaus Schulz 77a2856e48 IMAP: don't prepend NAMESPACE prefix to INBOX and its children 2010-10-16 18:57:43 +02:00
Nikolaus Schulz 45f82b7218 Update changelog and prepare 0.8.1 release 2010-09-30 22:12:30 +02:00
Nikolaus Schulz eb8bc7a4ec IMAP: correctly handle IMAP `literal' and unquoted `astring' in LIST reply
The LIST reply handling in imap_find_mailboxes() was buggy in several
ways.  It expected a non-NIL hierarchy delimiter, and it assumed that the
mailbox name in a LIST reply is always quoted; but it can be an astring, a
quoted string, or a literal (see RFC 3501 for the definitions of these
tokens).  These variants should now all be interpreted correctly.

In addition, quoted mailbox names are now handled more strictly to the
letter of the RFC; this only affects mailbox names containing a " or a
backslash, though.
2010-09-26 21:28:54 +02:00
Nikolaus Schulz b7091e90ea Releasing 0.8.0: fix release date in the changelog, and update the project web page 2010-08-09 13:25:41 +02:00
Nikolaus Schulz 945c4bb28e MANIFEST.in: distribute NEWS 2010-08-09 13:16:14 +02:00
Nikolaus Schulz 40a5e6a9f9 Add new file NEWS, gathering noteworthy changes from the changelog 2010-08-09 13:14:23 +02:00
Nikolaus Schulz 5d5408dcd2 Remove release notes
This file is not really suitable to put into a revision control system.
2010-08-09 13:12:13 +02:00
Nikolaus Schulz 5fb60dd522 Regenerate manpage from sgml source 2010-08-09 11:43:30 +02:00
Nikolaus Schulz 8d01846e3f Manpage, TODO, CHANGELOG: document and record wildcard expansion in IMAP mailbox names 2010-08-09 11:43:10 +02:00
Nikolaus Schulz f08403c99b Expand wildcards in IMAP mailbox names
The only non-obvious code change required for this is due to the fact that
computing the archive names has to move into the format-specific archiving
functions, because they can no longer be derived from the mailbox name
beforehand.
2010-08-09 11:32:01 +02:00
Nikolaus Schulz 910b507a2d TODO: drop more obsolete items
In particular:
* we no longer use shutil.copy{,2} to write back a changed mbox
* having temporary mbox files in the same directory as the originals doesn't
  make sense anymore since we no longer commit them with rename(2)
* the --archive-name option is now implemented
2010-08-08 18:53:11 +02:00
Nikolaus Schulz ca80e185e6 Regenerate manpage from sgml source 2010-07-31 22:08:22 +02:00
Nikolaus Schulz 3a6e4072b0 Manpage: various updates
Document the --archive-name option, and explain the basic idea of deriving the
archive filename from the mailbox earlier and more prominently.  Also document
how archivemail tries not to create hidden archive files, and remove some
obsolete notes.
2010-07-31 22:05:11 +02:00
Nikolaus Schulz 3a9a5cd4b8 New option --archive-name, alias -a, to hard-code the archive filename 2010-07-31 20:49:30 +02:00
Nikolaus Schulz 04bf8eaa23 test suite: fix buggy test of --suffix and --prefix option parsing 2010-07-31 20:49:30 +02:00
Nikolaus Schulz 0921a1c91a test suite: replace some plain assertions with TestCase.assertEqual() 2010-07-31 20:49:30 +02:00
Nikolaus Schulz 40ba265fde Rename variables in make_archive_name()
Archive name prefixes may contain path components, thus renaming some
variables accordingly.
2010-07-31 20:49:29 +02:00
Nikolaus Schulz f1f34ca46e Don't create hidden archives when archiving mailboxes with leading dots in the name
When archiving a mailbox with leading dots in the name and no archive name
prefix specified, strip the dots off the archive name.  This is targeting
Maildir++ subfolders.
2010-07-31 20:49:29 +02:00
Nikolaus Schulz 67f23e1af4 Only use the default archive name suffix when the user specified no affix
Also add more archive name affix testing to the test suite.
2010-07-31 20:49:29 +02:00
Nikolaus Schulz b6bc92c34f New option --archive-prefix, alias -p
Technically, this works just like the --suffix option.  This commit also
updates the manpage accordingly.

Currently, the prefix is not checked for slashes, so it could contain path
components.  (The same applies for the suffix, btw).  Since the expanded
string is prepended to the archive base name, this can be used to dynamically
configure the archive directory, depending on the archive cutoff date.  I'm
not sure if this can be considered a reasonable feature, though.
2010-07-31 20:49:03 +02:00
Nikolaus Schulz f22fe4decd Detect and never archive IMAP server pseudo mbox messages
IMAP servers (Dovecot and UW-IMAP at least) may store mailbox meta data for
mboxes in a pseudo message.  Such messages are now detected and never archived.

This commit includes a test case in the test suite.
2010-07-30 19:15:21 +02:00
Nikolaus Schulz d99b4b4414 Give the changelog some more love
Add references to bug numbers and be more verbose.
2010-07-30 15:42:26 +02:00
Nikolaus Schulz e9446e2fc4 test suite: test unlocking an mbox after dotlocking failed with EACCES 2010-07-30 13:30:20 +02:00
Nikolaus Schulz eadedf27d0 Fix crash when unlocking an mbox after dotlocking failed with EACCES
If we don't have sufficient permissions to create a dotlock for an mbox file,
record that, and don't try to remove the dotlock when unlocking the mbox
later.
2010-07-30 13:24:36 +02:00
Nikolaus Schulz 71485f2469 index.html: reword pointer to the Suse Build Service to be more generic
Better don't write "soon there will be... <foo>" and don't be specific about
available versions.  Writing it more generically means lesser maintenance. :)
2010-07-30 12:29:18 +02:00
Nikolaus Schulz db8eb62c16 Regenerate manpage from the sgml source 2010-07-30 12:29:14 +02:00
Nikolaus Schulz 6813e21d54 Updated the manpage date 2010-07-30 12:25:56 +02:00
Nikolaus Schulz 1c412524f2 Document in the manpage that archivemail locks the archive mbox 2010-07-30 12:25:55 +02:00
Nikolaus Schulz 03932a8cb2 Remove the notes about setuid support from the manpage
This feature has been removed.
2010-07-29 22:55:00 +02:00
Nikolaus Schulz 280113982f Replace distutils MANIFEST with MANIFEST.in template
Recent distutils versions always generate a new MANIFEST, overwriting our
custom one.  See Python bug #8688.
2010-07-29 22:12:52 +02:00
Nikolaus Schulz a102b5baf9 Rename archivemail.py to archivemail
On Unix, most scripts don't come with a file extension, it's not needed, and
we distribute the script as "archivemail" anyway.  And most importantly, I
like it better without the extension. :)

With a little trick we can still load the script as a module from the test
suite.
2010-07-29 21:35:58 +02:00
Nikolaus Schulz b47cc46fbf README: drop warning that the test suite is slow
With the recent optimizations of the test suite, it has become quite fast.
2010-07-29 21:32:37 +02:00
Nikolaus Schulz febd030e14 Drop .py extension from the unittest script 2010-07-29 21:02:12 +02:00
Nikolaus Schulz a04226580b Bump version to 0.8.0 2010-07-29 21:02:07 +02:00
Nikolaus Schulz 89cff1807c Updated changelog, which was very outdated 2010-07-29 20:39:50 +02:00
Nikolaus Schulz 0eddfe7357 Updated copyright year 2010-07-29 20:39:46 +02:00
Nikolaus Schulz af3bb16a4c Updated TODO, dropping a lot of obsolete items
Notable items that are now resolved or implemented:
    * archives are now locked
    * the mbox classes have been refactored to a cleaner design
    * we moved from flock locking to fcntl
    * the setuid() feature is long gone
    * symlink attacks for tempfiles are not possible (that is really an
      ancient TODO item from the original author)
    * the test suite now has a lot of maildir test cases
2010-07-29 19:49:42 +02:00