]> code.delx.au - offlineimap/log
offlineimap
16 years agoVersion to 5.99.9 debian/5.99.9
John Goerzen [Thu, 27 Mar 2008 05:36:32 +0000 (00:36 -0500)]
Version to 5.99.9

16 years agoUpdate changelog for 5.99.9
John Goerzen [Thu, 27 Mar 2008 05:35:51 +0000 (00:35 -0500)]
Update changelog for 5.99.9

16 years agoAutomatically create top-level localfolder for Maildirs
John Goerzen [Thu, 27 Mar 2008 21:19:35 +0000 (16:19 -0500)]
Automatically create top-level localfolder for Maildirs
this is the folder Maildirs will put messages in.

Closes: #286967
16 years agotypo in previous
Florian Friesdorf [Thu, 20 Mar 2008 12:46:42 +0000 (13:46 +0100)]
typo in previous

16 years agoIgnore empty LocalStatus files
Florian Friesdorf [Thu, 20 Mar 2008 12:15:37 +0000 (13:15 +0100)]
Ignore empty LocalStatus files

I created new IMAP folders on my server. In some moment I found offlineimap
crashed. The reason were empty LocalStatus files. From looking at the code I
have no explanation how those files came into existence.

16 years agoAdd *~ to .gitignore
John Goerzen [Wed, 12 Mar 2008 05:29:31 +0000 (00:29 -0500)]
Add *~ to .gitignore

16 years agoUpdated with Kerberos info
John Goerzen [Mon, 10 Mar 2008 05:16:26 +0000 (00:16 -0500)]
Updated with Kerberos info

16 years agoAlso make bin/offlineimap +x
John Goerzen [Mon, 10 Mar 2008 05:05:16 +0000 (00:05 -0500)]
Also make bin/offlineimap +x

16 years agochmod +x offlineimap.py
Florian Friesdorf [Sun, 9 Mar 2008 11:56:43 +0000 (12:56 +0100)]
chmod +x offlineimap.py

16 years agoAdded suggests on python-kerberos debian/5.99.8
John Goerzen [Mon, 10 Mar 2008 01:36:02 +0000 (20:36 -0500)]
Added suggests on python-kerberos

16 years agoUpdate changelog
John Goerzen [Mon, 10 Mar 2008 01:35:13 +0000 (20:35 -0500)]
Update changelog

16 years agoBug#359213: Kerberos
Eric Dorland [Sun, 9 Mar 2008 05:46:51 +0000 (00:46 -0500)]
Bug#359213: Kerberos

* John Goerzen (jgoerzen@complete.org) wrote:
> tages 359213 help
> thanks
>
> Hi folks,
>
> Unfortunately, I lack both the expertise to add Kerberos
> authentication and a way to test this.  A patch would be very welcome
> :-)

Well it was a bit unclear but there's a patch for offlineimap attached
to Guido's message:

http://bugs.debian.org/cgi-bin/bugreport.cgi?msg=10;filename=support-GSSAPI-via-pykerberos.diff;att=1;bug=359213

I've tried it out and it works great! Except that if the Kerberos
layer throws an exception it wouldn't fail over to plain
authentication properly. Attached is a slightly reworked patch that I
tested it in the following situations:

1. python-kerberos uninstalled, with kerberos credentials.
   Prompted for password authentication as expected.

2. python-kerberos installed, with kerberos credentials.
   Keberos authentication was successful and my mail was fetched
   without password prompting. Yeehaw!

3. python-kerberos installed, with no kerberos credentials.
   Prompted for    password authentication     as expected.

I think those are all the interesting situations. So I think this is
ready to go in, with a Suggest on python-kerberos (>=
1.0+mk080218-1).

--
Eric Dorland <eric@kuroneko.ca>
ICQ: #61138586, Jabber: hooty@jabber.com

16 years agoDon't crash if LocalStatus file doesn't exist yet
John Goerzen [Mon, 10 Mar 2008 01:27:37 +0000 (20:27 -0500)]
Don't crash if LocalStatus file doesn't exist yet

Closes: #470174
16 years agoAttempt to fix a crashing bug in Gmail driver
John Goerzen [Sat, 8 Mar 2008 13:47:53 +0000 (07:47 -0600)]
Attempt to fix a crashing bug in Gmail driver

refs deb#469598

Bug report received in Debian.  User is having occasional trouble with Gmail
driver crashing, indicates problem may have started after switching to Gmail.

Gmail driver merged to tree in 81b86fb74 on 2008-01-03 and recently released
in beta tarballs.

BT shows:

  File "/var/lib/python-support/python2.4/offlineimap/folder/Gmail.py", line 102, in processmessagesflags
    attributehash = imaputil.flags2hash(imaputil.imapsplit(result)[1])
  File "/var/lib/python-support/python2.4/offlineimap/imaputil.py", line 88, in imapsplit
    for i in range(len(imapstring)):
TypeError: len() of unsized object

imap debug log shows:

imap:   29:58.16 > BEAL75 UID STORE 4887 +FLAGS (\Deleted)
imap:   29:58.47 < BEAL75 OK Success
imap:   29:58.47        matched r'(?P<tag>BEAL\d+) (?P<type>[A-Z]+) (?P<data>.*)' => ('BEAL75', 'OK', 'Success')
imap: imapsplit() called with input: None
imap: imapsplit() got a non-string input; working around.

looking at code for Gmail.py processmessagesflags, comments from Ricardo
indicate it was copied from the same function in folder/IMAP.py.

However, folder/IMAP.py has checks for this, added 2002-07-12 in
5342dacc & 817a10ce.  Suspect that Gmail author believed those checks
superfluous for Gmail.

Copied checks from folder/IMAP.py to folder/Gmail.py.

16 years ago* Remove empty /usr/sbin directory from package.
martin f. krafft [Wed, 5 Mar 2008 16:11:47 +0000 (17:11 +0100)]
* Remove empty /usr/sbin directory from package.

16 years ago* Remove second docbook-utils build dependency.
martin f. krafft [Wed, 5 Mar 2008 16:11:21 +0000 (17:11 +0100)]
* Remove second docbook-utils build dependency.

16 years ago* Fix clean target in debian/rules to allow for proper failure handling.
martin f. krafft [Wed, 5 Mar 2008 16:10:54 +0000 (17:10 +0100)]
* Fix clean target in debian/rules to allow for proper failure handling.

16 years ago* Bump debhelper compatibility level to 6 — no changes required.
martin f. krafft [Wed, 5 Mar 2008 16:09:46 +0000 (17:09 +0100)]
* Bump debhelper compatibility level to 6 — no changes required.

16 years ago* Bump Standards-Version to 3.7.3 — no changes required.
martin f. krafft [Wed, 5 Mar 2008 16:07:59 +0000 (17:07 +0100)]
* Bump Standards-Version to 3.7.3 — no changes required.

16 years agoUpdate for 5.99.7 debian/5.99.7
John Goerzen [Tue, 4 Mar 2008 14:32:29 +0000 (08:32 -0600)]
Update for 5.99.7

16 years agoRevert "completed: * fixes behaviour when changing flags, without corresp. rights...
John Goerzen [Tue, 4 Mar 2008 14:15:48 +0000 (08:15 -0600)]
Revert "completed: * fixes behaviour when changing flags, without corresp. rights (s,d,w)"

This reverts commit 08f22be8ea6a7884d3348f385c8f77e093d20a2c.

Conflicts:

offlineimap/folder/IMAP.py

16 years agoRevert "fix behaviour for delete/expunge, when lacking rights"
John Goerzen [Tue, 4 Mar 2008 14:13:48 +0000 (08:13 -0600)]
Revert "fix behaviour for delete/expunge, when lacking rights"

This reverts commit c305d63e005c8ca1ae57f1ec54f023e0d0069824.

Zak Smith reported it continued to be a problem

16 years agoPrepare for 5.99.6 debian/5.99.6
John Goerzen [Tue, 4 Mar 2008 03:42:06 +0000 (21:42 -0600)]
Prepare for 5.99.6

16 years agoRevert "fixes behaviour when changing flags, without corresp. rights (s,d,w)"
John Goerzen [Tue, 4 Mar 2008 03:20:53 +0000 (21:20 -0600)]
Revert "fixes behaviour when changing flags, without corresp. rights (s,d,w)"

This reverts commit 71a76d9a6166b3be73493912bdc02b5b4252f637.

Zak Smith reported a problem at:

      self.processmessagesflags('+', uidlist, flags)
  File "/usr/lib/python2.5/site-packages/offlineimap/folder/IMAP.py",
  line 372, in processmessagesflags
    myrights = imapobj.myrights(self.getfullname())[1][0].split()[1]
IndexError: list index out of range

Conflicts:

offlineimap/folder/IMAP.py

16 years agoMake makefolder use same temporary name as folder/LocalStatus/save debian/5.99.5
John Goerzen [Mon, 3 Mar 2008 18:59:40 +0000 (12:59 -0600)]
Make makefolder use same temporary name as folder/LocalStatus/save

16 years agoFix bug in LocalStatus so that it writes out the header line for
John Goerzen [Mon, 3 Mar 2008 18:57:56 +0000 (12:57 -0600)]
Fix bug in LocalStatus so that it writes out the header line for
folder creation

16 years agodebian/rules is executable
John Goerzen [Mon, 3 Mar 2008 10:30:29 +0000 (04:30 -0600)]
debian/rules is executable

16 years agoVersion 5.99.5 update
John Goerzen [Mon, 3 Mar 2008 10:30:13 +0000 (04:30 -0600)]
Version 5.99.5 update

16 years agoChanged Makefile line to igonre .git instead of _darcs
John Goerzen [Mon, 3 Mar 2008 10:27:42 +0000 (04:27 -0600)]
Changed Makefile line to igonre .git instead of _darcs

16 years agoAdded homepage, VCS/* lines to debian/control
John Goerzen [Mon, 3 Mar 2008 10:27:08 +0000 (04:27 -0600)]
Added homepage, VCS/* lines to debian/control

16 years agoUpdated changelog
John Goerzen [Mon, 3 Mar 2008 08:31:04 +0000 (02:31 -0600)]
Updated changelog

16 years agoMerge branch 'netrc-integration'
John Goerzen [Mon, 3 Mar 2008 08:27:13 +0000 (02:27 -0600)]
Merge branch 'netrc-integration'

Applies patches by bboisin to add netrc support

Conflicts:

offlineimap/repository/IMAP.py

refs #14

16 years agoApply tabspace.diff
John Goerzen [Mon, 3 Mar 2008 08:23:50 +0000 (02:23 -0600)]
Apply tabspace.diff
refs #14

16 years agoApplied netrc_v2.diff from bboissin
John Goerzen [Mon, 3 Mar 2008 08:21:33 +0000 (02:21 -0600)]
Applied netrc_v2.diff from bboissin

16 years agoClarify instructions for dealing with UID validity issues
John Goerzen [Mon, 3 Mar 2008 07:39:13 +0000 (01:39 -0600)]
Clarify instructions for dealing with UID validity issues

Closes: #381449
16 years agoUpdate changelog with changes so far
John Goerzen [Mon, 3 Mar 2008 07:26:58 +0000 (01:26 -0600)]
Update changelog with changes so far

16 years agoFix typo in manual
John Goerzen [Mon, 3 Mar 2008 07:20:55 +0000 (01:20 -0600)]
Fix typo in manual
Closes: #360365
16 years agoFix performance for SSL
John Goerzen [Mon, 3 Mar 2008 14:22:44 +0000 (08:22 -0600)]
Fix performance for SSL

Added WrappedIMAP4_SSL class to help fix up performance of SSL

Standard imaplib.py is really bad with this, since it reads one
character at a time.

Reported by Aaron Kaplan at
http://lists.complete.org/offlineimap@complete.org/2008/01/msg00012.html.gz

He wrote:

  I just noticed that the version of offlineimap I've been using
  (3.99.17) is well over four years old.  How time flies.  I haven't
  had any problems with it, but out of curiosity I decided to pull in
  5.99.2 from the fedora repository.  It turns out to take
  consistently over twice as long as the old version to sync the same
  account.  Is this expected?

He tracked it down at
http://lists.complete.org/offlineimap@complete.org/2008/02/msg00012.html.gz

  The following changeset is the one responsible for the difference in
  speed I was noticing between the imaplib.py that was packaged with
  older versions of offlineimap and the one that comes with python:

  * /offlineimap/head: changeset 169
    More optimizations -- this time fix readline() to not work
    character-by-character!

16 years agoFix handling of servers that return UIDs in some FETCH responses
John Goerzen [Mon, 3 Mar 2008 04:25:05 +0000 (22:25 -0600)]
Fix handling of servers that return UIDs in some FETCH responses

closes #22

from pistore in OfflineIMAP #22:

When an IMAP flag update is performed for multiple messages, some IMAP
servers (e.g. Exchange) return the UID attribute only for some of the
FETCH untagged responses, as shown in the following log:

21:19.04 > DCKF8 UID STORE 66050,50613,52164,40043,40055,25874 +FLAGS
(\Deleted)
21:19.36 < * 35 FETCH (FLAGS (\Seen \Deleted) UID 25874)
21:19.36 < * 321 FETCH (FLAGS (\Seen \Deleted))
21:19.57 < * 322 FETCH (FLAGS (\Seen \Deleted))
21:19.57 < * 560 FETCH (FLAGS (\Seen \Deleted))
21:19.57 < * 581 FETCH (FLAGS (\Seen \Deleted) UID 52164)
21:19.62 < * 1022 FETCH (FLAGS (\Seen \Deleted))
21:19.62 < DCKF8 OK STORE completed.

Function IMAPFolder.processmessagesflags is able to manage the servers
which return the UID and the servers which do not return it, but is
not able to deal with the mixed behavior shown above.

The problem is that the fragment of function
IMAPFolder.processmessagesflags that handles the responses with UID
attribute uses variable flags to store the list of flags of the
message in the IMAP format ("flags = attributehashFLAGS?"), while the
fragment that handles the responses without UID expects variable
"flags" to contain the list of modified flags passed to the function
in Maildir format ("self.messagelist[uid]flags?.append(flag)").

As a consequence, the wrong list of flags is used for the messages
without UID, leading to the addition of "strange" flags to the Maildir
messages:

Syncing messages IMAP[INBOX] -> Maildir[.]
Adding flags   to 4 messages  on Maildir[.]
Adding flags e to 4 messages  on Maildir[.]
Adding flags d to 4 messages  on Maildir[.]
Adding flags ) to 4 messages  on Maildir[.]
Adding flags ( to 4 messages  on Maildir[.]
Adding flags l to 4 messages  on Maildir[.]
Adding flags n to 4 messages  on Maildir[.]
Adding flags t to 4 messages  on Maildir[.]
Adding flags \ to 4 messages  on Maildir[.]
Adding flags D to 4 messages  on Maildir[.]
Deleting flags T to 4 messages on Maildir[.]
Adding flags   to 4 messages  on LocalStatus[.]
Adding flags e to 4 messages  on LocalStatus[.]
Adding flags d to 4 messages  on LocalStatus[.]
Adding flags ) to 4 messages  on LocalStatus[.]
Adding flags ( to 4 messages  on LocalStatus[.]
Adding flags l to 4 messages  on LocalStatus[.]
Adding flags n to 4 messages  on LocalStatus[.]
Adding flags t to 4 messages  on LocalStatus[.]
Adding flags \ to 4 messages  on LocalStatus[.]
Adding flags D to 4 messages  on LocalStatus[.]
Deleting flags T to 4 messages on LocalStatus[.]

Fix: use a different variable to store IMAP flags when managing
messages corresponding to responses with UID attribute, e.g.:

*** IMAP.py.orig        Wed Aug 22 18:23:17 2007
--- IMAP.py     Wed Aug 22 18:22:38 2007
*************** class IMAPFolder(BaseFolder):
*** 340,348 ****
              if not ('UID' in attributehash and 'FLAGS' in
              attributehash):
                  # Compensate for servers that don't return a UID
                  attribute.
                  continue
!             flags = attributehash['FLAGS']
              uid = long(attributehash['UID'])
!             self.messagelist[uid]['flags'] =
imaputil.flagsimap2maildir(flags)
              try:
                  needupdate.remove(uid)
              except ValueError:          # Let it slide if it's not
              in the list
--- 340,348 ----
              if not ('UID' in attributehash and 'FLAGS' in
              attributehash):
                  # Compensate for servers that don't return a UID
                  attribute.
                  continue
!             lflags = attributehash['FLAGS']
              uid = long(attributehash['UID'])
!             self.messagelist[uid]['flags'] =
imaputil.flagsimap2maildir(lflags)
              try:
                  needupdate.remove(uid)
              except ValueError:          # Let it slide if it's not
              in the list

02/03/08 14:04:35 changed by js

    * attachment flags-fix.patch added.

Delete 02/03/08 14:05:24 changed by js ¶

Unfortunately I have to fetch some of my mail from an Exchange server
(Microsoft Exchange Server 2003 IMAP4rev1 server version 6.5.7638.1)
and I can confirm that the analysis of the problem is correct, and the
patch given here fixes the problem.

Looking at the code of the processmessagesflags() method I think it
generally is a bug that the "flags" parameter is reused as a local
variable, since the final "for uid in needupdate:" loop needs the
original value of "flags". This only worked by accident.

I'm attaching a unidiff version of the patch which applies cleanly
against Debian unstable's offlineimap 5.99.4.

16 years agoMerge branch 'deleted-folders'
John Goerzen [Mon, 3 Mar 2008 04:21:38 +0000 (22:21 -0600)]
Merge branch 'deleted-folders'

16 years agoTruncate local status folders on creation
John Goerzen [Mon, 3 Mar 2008 04:21:10 +0000 (22:21 -0600)]
Truncate local status folders on creation

Should help eliminate problems with old cache

refs deb#459985, refs #19

16 years agoInfrastructure for notifying LocalStatus of local mailbox creations
John Goerzen [Mon, 3 Mar 2008 04:17:45 +0000 (22:17 -0600)]
Infrastructure for notifying LocalStatus of local mailbox creations

This will let us delete LocalStatus caches when we create a local
mailbox

refs deb#459985, refs #19

16 years agoAdd Gmail IMAP special support. before-localstatus last-darcs-commit
Riccardo Murri [Thu, 3 Jan 2008 03:56:55 +0000 (04:56 +0100)]
Add Gmail IMAP special support.

New repository/folder classes to support "real deletion" of messages
thorugh Gmail's IMAP interface: to really delete a message in Gmail,
one has to move it to the Trash folder, rather than EXPUNGE it.

16 years agoAdd option '-f' for sync'ing only selected folders
Riccardo Murri [Thu, 3 Jan 2008 03:15:11 +0000 (04:15 +0100)]
Add option '-f' for sync'ing only selected folders

16 years agoAdd option '-k' for overriding config options
Riccardo Murri [Thu, 3 Jan 2008 03:13:04 +0000 (04:13 +0100)]
Add option '-k' for overriding config options

16 years agocompleted: * fixes behaviour when changing flags, without corresp. rights (s,d,w)
Florian Friesdorf [Thu, 19 Jul 2007 16:52:29 +0000 (17:52 +0100)]
completed: * fixes behaviour when changing flags, without corresp. rights (s,d,w)

16 years agofixes behaviour when changing flags, without corresp. rights (s,d,w)
Florian Friesdorf [Thu, 12 Jul 2007 04:08:47 +0000 (05:08 +0100)]
fixes behaviour when changing flags, without corresp. rights (s,d,w)

16 years agofix behaviour for delete/expunge, when lacking rights
Florian Friesdorf [Thu, 12 Jul 2007 03:44:11 +0000 (04:44 +0100)]
fix behaviour for delete/expunge, when lacking rights

This patch maneuvers around python imaplib's mysterious read-only detection
algorithm and correctly calls the UI's deletetoreadonly(), when trying to
delete/expunge in a mailbox without having the necessary rights.

16 years agoTAG RELEASE_offlineimap_5.99.4 RELEASE_offlineimap_5.99.4
John Goerzen [Fri, 19 Oct 2007 19:41:08 +0000 (20:41 +0100)]
TAG RELEASE_offlineimap_5.99.4

16 years agoTAG DEBIAN_offlineimap_5.99.4 DEBIAN_offlineimap_5.99.4
John Goerzen [Fri, 19 Oct 2007 19:41:07 +0000 (20:41 +0100)]
TAG DEBIAN_offlineimap_5.99.4

16 years agoBump version number
John Goerzen [Fri, 19 Oct 2007 19:32:21 +0000 (20:32 +0100)]
Bump version number

16 years agoUpdate changelog
John Goerzen [Fri, 19 Oct 2007 19:32:00 +0000 (20:32 +0100)]
Update changelog

16 years agoUndo 'Fix Maildir race' patch
John Goerzen [Fri, 19 Oct 2007 19:29:34 +0000 (20:29 +0100)]
Undo 'Fix Maildir race' patch

This was causing OfflineIMAP to hang

16 years agoTAG RELEASE_offlineimap_5.99.3 RELEASE_offlineimap_5.99.3
John Goerzen [Fri, 19 Oct 2007 00:20:58 +0000 (01:20 +0100)]
TAG RELEASE_offlineimap_5.99.3

16 years agoTAG DEBIAN_offlineimap_5.99.3 DEBIAN_offlineimap_5.99.3
John Goerzen [Fri, 19 Oct 2007 00:20:58 +0000 (01:20 +0100)]
TAG DEBIAN_offlineimap_5.99.3

16 years agoRemove bidirectional syncing patch
John Goerzen [Fri, 19 Oct 2007 00:18:37 +0000 (01:18 +0100)]
Remove bidirectional syncing patch

didn't consider nametrans

16 years agoUNDO: Synchronize newly created folders both ways
Vincent Beffara [Sun, 2 Sep 2007 00:43:15 +0000 (01:43 +0100)]
UNDO: Synchronize newly created folders both ways

This involves several changes at different places:

- syncfoldersto() takes statusfolder as an argument, and returns the
  list of new folders and the list of folders that should be ingnored,
  typically those that were deleted. Warns the user about folders that
  are present only on one side and are not synced.

- syncfoldersto() is called both ways, and on folder creation
  forgetfolders() is used to rebuild the list and take the new creation
  into account. Probably not the most efficient, since it involves
  talking to the IMAP server again, but it will rarely be used anyway.

- Locally created folders are treated separately in the synchronization,
  namely the local messages are uploaded and then the normal sync still
  occurs. If the same folder is created on both sides and contains
  messages on both sides, a two-way sync occurs.

16 years agoMore changelog updating
John Goerzen [Fri, 19 Oct 2007 00:13:01 +0000 (01:13 +0100)]
More changelog updating

16 years agoUpdate changelog
John Goerzen [Fri, 19 Oct 2007 00:07:54 +0000 (01:07 +0100)]
Update changelog

16 years agoFix Maildir race
John Goerzen [Fri, 19 Oct 2007 00:06:18 +0000 (01:06 +0100)]
Fix Maildir race

fixes deb#439384

From: martin f krafft
Subject: race condition in Maildir writing

The offlineimap Maildir code checks for file existence and then
opens a file. That's open to a race condition. It's better to open
the file and fail if it already exists. The following patch does
this. It catches OSError 17 (file exists) and re-raises all others.
I'll leave it up to you to decide whether this is appropriate.

16 years agoAdded build-dep on man-db
John Goerzen [Fri, 19 Oct 2007 00:03:59 +0000 (01:03 +0100)]
Added build-dep on man-db

fixes deb#433739

16 years agoSynchronize newly created folders both ways
Vincent Beffara [Sun, 2 Sep 2007 00:43:15 +0000 (01:43 +0100)]
Synchronize newly created folders both ways

This involves several changes at different places:

- syncfoldersto() takes statusfolder as an argument, and returns the
  list of new folders and the list of folders that should be ingnored,
  typically those that were deleted. Warns the user about folders that
  are present only on one side and are not synced.

- syncfoldersto() is called both ways, and on folder creation
  forgetfolders() is used to rebuild the list and take the new creation
  into account. Probably not the most efficient, since it involves
  talking to the IMAP server again, but it will rarely be used anyway.

- Locally created folders are treated separately in the synchronization,
  namely the local messages are uploaded and then the normal sync still
  occurs. If the same folder is created on both sides and contains
  messages on both sides, a two-way sync occurs.

16 years agoDocumented remotehosteval
John Goerzen [Fri, 19 Oct 2007 00:00:12 +0000 (01:00 +0100)]
Documented remotehosteval

From:
Ben Kibbey

> > Attached is a patch to enable evaluation of account credentials with the
> > remotehosteval, remoteusereval and remotepasseval configuration options.
> > I needed this because rather than change all my other programs
> > configuration settings when I change, say a password, I store them in a
> > file. So I call a function in pythonfile which parses the credential
> > file and returns the wanted info. Not really very well tested, but not
> > complex either. Offlineimap is great, thanks.

[ this is the doc for that patch which was already applied ]

16 years agoFixed locked() for noninteractive UIs
John Goerzen [Tue, 9 Oct 2007 23:12:22 +0000 (00:12 +0100)]
Fixed locked() for noninteractive UIs

From: "Mark A. Hershberger"

https://bugs.launchpad.net/ubuntu/+source/offlineimap/+bug/96710

the locked() method isn't implemented for non-interactive UIs, so
exceptions are thrown on cron jobs.  Ubuntu's new apport catches these
and ? well, you get the idea.

patch provided.

16 years agoDaniel Jacobowitz patches
John Goerzen [Mon, 1 Oct 2007 21:20:37 +0000 (22:20 +0100)]
Daniel Jacobowitz patches

fixes deb#433732

Date: Sun, 30 Sep 2007 13:54:56 -0400
From: Daniel Jacobowitz <drow@false.org>
To: offlineimap@complete.org
Subject: Assorted patches

Here's the result of a lazy Sunday hacking on offlineimap.  Sorry for
not breaking this into multiple patches.  They're mostly logically
independent so just ask if that would make a difference.
First, a new -q (quick) option.  The quick option means to only update
folders that seem to have had significant changes.  For Maildir, any
change to any message UID or flags is significant, because checking
the flags doesn't add a significant cost.  For IMAP, only a change to
the total number of messages or a change in the UID of the most recent
message is significant.  This should catch everything except for
flags changes.

The difference in bandwidth is astonishing: a quick sync takes 80K
instead of 5.3MB, and 28 seconds instead of 90.

There's a configuration variable that lets you say every tenth sync
should update flags, but let all the intervening ones be lighter.

Second, a fix to the UID validity problems many people have been
reporting with Courier.  As discussed in Debian bug #433732, I changed
the UID validity check to use SELECT unless the server complains that
the folder is read-only.  This avoids the Courier bug (see the Debian
log for more details).  This won't fix existing validity errors, you
need to remove the local status and validity files by hand and resync.

Third, some speedups in Maildir checking.  It's still pretty slow
due to a combination of poor performance in os.listdir (never reads
more than 4K of directory entries at a time) and some semaphore that
leads to lots of futex wake operations, but at least this saves
20% or so of the CPU time running offlineimap on a single folder:

Time with quick refresh and md5 in loop: 4.75s user 0.46s system 12%
cpu 41.751 total
Time with quick refresh and md5 out of loop: 4.38s user 0.50s system
14% cpu 34.799 total
Time using string compare to check folder: 4.11s user 0.47s system 13%
cpu 34.788 total

And fourth, some display fixes for Curses.Blinkenlights.  I made
warnings more visible, made the new quick sync message cyan, and
made all not explicitly colored messages grey.  That last one was
really bugging me.  Any time OfflineIMAP printed a warning in
this UI, it had even odds of coming out black on black!

Anyway, I hope these are useful.  I'm happy to revise them if you see
a problem.

--
Daniel Jacobowitz
CodeSourcery

16 years agoResolve conflict
John Goerzen [Sat, 13 Oct 2007 06:07:30 +0000 (07:07 +0100)]
Resolve conflict

16 years agoThis patch adds a missing </listitem>
Till Maas [Tue, 4 Sep 2007 22:19:37 +0000 (23:19 +0100)]
This patch adds a missing </listitem>

offlineinmap.sgml-unclosed-listitem

16 years agoTAG RELEASE_offlineimap_5.99.2 RELEASE_offlineimap_5.99.2
John Goerzen [Wed, 1 Aug 2007 01:31:18 +0000 (02:31 +0100)]
TAG RELEASE_offlineimap_5.99.2

16 years agoTAG DEBIAN_offlineimap_5.99.2 DEBIAN_offlineimap_5.99.2
John Goerzen [Wed, 1 Aug 2007 01:31:18 +0000 (02:31 +0100)]
TAG DEBIAN_offlineimap_5.99.2

16 years agoUpdate version
John Goerzen [Wed, 1 Aug 2007 01:29:06 +0000 (02:29 +0100)]
Update version

16 years agoUpdate changelog
John Goerzen [Wed, 1 Aug 2007 01:28:36 +0000 (02:28 +0100)]
Update changelog

16 years agoAdded build-dep on gs, fixes deb#433739
John Goerzen [Wed, 1 Aug 2007 01:26:55 +0000 (02:26 +0100)]
Added build-dep on gs, fixes deb#433739

16 years agoAdditional date validity check
John Goerzen [Wed, 1 Aug 2007 01:25:05 +0000 (02:25 +0100)]
Additional date validity check

patch from Mike Gerber

Two times today I have found my offlineimap to have died with this same
situation. It appears as if certain types of messages (both spam in my
situation), cause offlineimap to choke. When it does it cannot proceed.
This means that when I run offlineimap, it pulls in messages from some
folders, then it hits the folder with the bad message and dies, leaving
undownloaded mail on the server. The only fix to this problem is to find
the problem message on the server and remove it by hand. This isn't such
a huge deal for me, since I run the server, but other people have to
come to me to ask me to delete these messages, and until I do they
cannot download their email.

I have captured the output by running script during one of these
incidents, this has been attached. Additionally, I have also attach the
problematic message.

The patch seems to work for me, might need some Python wizard and better
testing, though.

fixes deb#396443

16 years agoTAG RELEASE_offlineimap_5.99.1 RELEASE_offlineimap_5.99.1
John Goerzen [Thu, 12 Jul 2007 18:58:52 +0000 (19:58 +0100)]
TAG RELEASE_offlineimap_5.99.1

16 years agoTAG DEBIAN_offlineimap_5.99.1 DEBIAN_offlineimap_5.99.1
John Goerzen [Thu, 12 Jul 2007 18:58:51 +0000 (19:58 +0100)]
TAG DEBIAN_offlineimap_5.99.1

16 years agoUpdate changelog
John Goerzen [Thu, 12 Jul 2007 10:03:11 +0000 (11:03 +0100)]
Update changelog

16 years agoFix non-SSL connection
John Goerzen [Thu, 12 Jul 2007 10:02:19 +0000 (11:02 +0100)]
Fix non-SSL connection

fixes deb#432727

16 years agoUpdate changelog
John Goerzen [Thu, 12 Jul 2007 10:01:36 +0000 (11:01 +0100)]
Update changelog

16 years agoRemove python-tk suggestion
John Goerzen [Thu, 12 Jul 2007 10:01:02 +0000 (11:01 +0100)]
Remove python-tk suggestion

fixes deb#432843

16 years agoTAG RELEASE_offlineimap_5.99.0 RELEASE_offlineimap_5.99.0
John Goerzen [Wed, 11 Jul 2007 02:00:18 +0000 (03:00 +0100)]
TAG RELEASE_offlineimap_5.99.0

16 years agoTAG DEBIAN_offlineimap_5.99.0 DEBIAN_offlineimap_5.99.0
John Goerzen [Wed, 11 Jul 2007 02:00:18 +0000 (03:00 +0100)]
TAG DEBIAN_offlineimap_5.99.0

16 years agoFix version.py importing
John Goerzen [Tue, 10 Jul 2007 11:57:03 +0000 (12:57 +0100)]
Fix version.py importing

16 years agoUpdate changelog
John Goerzen [Wed, 11 Jul 2007 01:50:30 +0000 (02:50 +0100)]
Update changelog

16 years agoUpdating changelog
John Goerzen [Tue, 10 Jul 2007 10:02:08 +0000 (11:02 +0100)]
Updating changelog

16 years agoIMAP.py: fixed cannot concatenate 'str' and 'list' in assert
Florian Friesdorf [Sat, 7 Jul 2007 03:51:02 +0000 (04:51 +0100)]
IMAP.py: fixed cannot concatenate 'str' and 'list' in assert

r[1] is a list. In case it contains more than one 'str' they are concatenated
using '. '. In processmessagesflags the join is tested, for savemessagesflags I
assume that it is also needed.

16 years agoUIBase config variable fix
Florian Friesdorf [Sat, 7 Jul 2007 01:30:42 +0000 (02:30 +0100)]
UIBase config variable fix

Code is probably reached for the first time, thanks to the correct readonly
handling patch

16 years agoUpdate wording of manual
John Goerzen [Sat, 7 Jul 2007 03:02:04 +0000 (04:02 +0100)]
Update wording of manual

16 years agoDocumented pid file
John Goerzen [Fri, 6 Jul 2007 17:42:16 +0000 (18:42 +0100)]
Documented pid file

16 years agoWrite current PID to ~/.offlineimap/pid
John Goerzen [Sat, 7 Jul 2007 00:50:43 +0000 (01:50 +0100)]
Write current PID to ~/.offlineimap/pid

fixes deb#217550
refs deb#410181

16 years agoUpdated changelog
John Goerzen [Fri, 6 Jul 2007 16:56:15 +0000 (17:56 +0100)]
Updated changelog

16 years agoDocument MachineUI
John Goerzen [Sat, 7 Jul 2007 00:13:14 +0000 (01:13 +0100)]
Document MachineUI

16 years agoRe-scan list of remote folders on each sync
John Goerzen [Fri, 6 Jul 2007 16:46:29 +0000 (17:46 +0100)]
Re-scan list of remote folders on each sync

rather than just up-front.

fixes deb#396772

16 years agoAdded timeouts
John Goerzen [Fri, 6 Jul 2007 16:37:58 +0000 (17:37 +0100)]
Added timeouts

16 years agoUNDO: Checkpointing
John Goerzen [Thu, 5 Jul 2007 13:49:54 +0000 (14:49 +0100)]
UNDO: Checkpointing

16 years agoCheckpointing
John Goerzen [Thu, 5 Jul 2007 13:49:54 +0000 (14:49 +0100)]
Checkpointing

16 years agoTAG Before UI reorg Before_UI_reorg
John Goerzen [Thu, 5 Jul 2007 13:23:08 +0000 (14:23 +0100)]
TAG Before UI reorg

16 years agoTweaks to machine
John Goerzen [Thu, 5 Jul 2007 13:22:57 +0000 (14:22 +0100)]
Tweaks to machine

16 years agoMachine now runs
John Goerzen [Thu, 5 Jul 2007 13:21:33 +0000 (14:21 +0100)]
Machine now runs

16 years agoTAG Before UI rewrite Before_UI_rewrite
John Goerzen [Thu, 5 Jul 2007 12:33:57 +0000 (13:33 +0100)]
TAG Before UI rewrite

16 years agoAdded Machine.py
John Goerzen [Thu, 5 Jul 2007 11:05:06 +0000 (12:05 +0100)]
Added Machine.py