Commit Graph

357 Commits

Author SHA1 Message Date
John Goerzen
03488ba81b Sync INTERNALDATE <-> mtime
The attached patch adds syncing the INTERNALDATE of IMAP folders with
the mtime of messages in maildir folders.
I want this to happen, because I'm running a dovecot over the maildirs
synced by offlineimap, and that uses the mtime as the INTERNALDATE.
When using mutt to view messages I generally sort based on the received
date, which for IMAP folders is the INTERNALDATE.

Since this is the first real coding I've done in Python the patch may
need to be cleaned up some, but it's working pretty well for me.  I've
added new messages to each side, and the received date has been
preserved going both ways.
2006-08-22 02:09:36 +01:00
John Goerzen
39a18fef60 Update FSF address 2006-08-12 05:15:55 +01:00
Adam Spiers
5fc0e1ae42 helpful comments 2006-05-16 04:40:23 +01:00
Adam Spiers
b39845c488 stop UID FETCH 0 errors 2006-05-16 04:31:44 +01:00
Adam Spiers
2e52bcdafe failure to obtain uid indicated by savemessage_searchforheader return value <= 0, not ValueError 2006-05-16 04:30:48 +01:00
Adam Spiers
720511f3f1 add missing ) 2006-05-16 04:27:57 +01:00
Adam Spiers
f2d4c668d5 return 0 rather than raise exception to indicate that message was saved with unknown UID 2006-05-16 03:34:46 +01:00
Adam Spiers
f11a49f263 make savemessage_searchforheader more robust 2006-05-15 03:51:12 +01:00
John Goerzen
8064ee26bd Prepping 4.0.13 2006-05-04 18:37:20 +01:00
John Goerzen
5a6b2a1ebd Revert restoreatime patch 2006-05-04 09:05:46 +01:00
John Goerzen
c0d031e760 Remove parens for SEARCH command
Patch from Adam Spiers

Reported that parens were causing trouble for Groupwise IMAP server
2006-05-01 20:40:55 +01:00
John Goerzen
405275f541 New restoreatime patch
From: Ben Kibbey <bjk@luxsci.net>

Attached is a patch to restore the atime of Maildir folders after
syncing. It can be enabled via the 'restoreatime' boolean in the
configuration file. I needed this because offlineimap is run after a
fetchmail and my mail checker breaks.
2006-03-02 00:12:29 +01:00
John Goerzen
fabbf81c1a Workaround for bug in Exchange
With help from Mark R. Biggers, I discovered that Exchange doesn't like an
asterisk in a folder name.

Sigh.
2005-10-07 20:11:20 +01:00
John Goerzen
27fae4e7ac Readying 4.0.11 release 2005-08-24 19:07:15 +01:00
John Goerzen
1f25b5393b [324827] Fixed handling of invalid dates
Patch from Nikita V. Youshchenko

From: "Nikita V. Youshchenko" 
To: Debian Bug Tracking System
Subject: offlineimap: exception on mail with broken headers (+fix)
Date: Wed, 24 Aug 2005 13:41:08 +0400

Package: offlineimap
Version: 4.0.10
Severity: normal
Tags: patch

Recently I've got an exception (see below) while using offlineimap.
Exception was probably caused by invalid Date header of (likely spam)
message:
Date: Sat, 20 Aug 2005 4294967295:43:18 -0700
2005-08-24 19:01:42 +01:00
John Goerzen
0841e03a4c [319117] Unroll loop to speed performance on large folders
From: "Nikita V. Youshchenko"
I trued to use offlineimap and found that while being quite fast on
small folders, it takes up to several minutes (of 100% busy CPU and
almost no network traffic) to sync a folder with 2000+ messages.

While looking into the code, I found why this happens.
In folder/Base.py, in method BaseFolder.syncmessagesto_copy(),
dest.getmessagelist() is called inside a loop, while being a loop
invariant. Similar thing happens in BaseFolder.syncmessagesto_delete()
for self.getmessagelist().
This causes quadratic complexity over folder size.

Moving these calls out of loops make large folder sync fast (several
seconds instead of several minutes for folder with 2000 messages on
700MHz P3).
2005-08-23 08:15:09 +01:00
John Goerzen
ea4158dd6d Updated copyright and version files for 4.0.10 2005-05-24 00:12:58 +01:00
John Goerzen
d484b7da44 Removed unnecessary blank lines 2005-05-24 00:10:11 +01:00
John Goerzen
cf4a3b1861 Support IPv6 with SSL
Fix for Debian #309965.
2005-05-24 00:09:21 +01:00
John Goerzen
c42ad3ae55 Removed dep on profile
Keywords: 


(jgoerzen@complete.org--projects/offlineimap--head--1.0--patch-8)
2005-02-10 05:37:33 +01:00
John Goerzen
36d79a5c1f Checkpointing for .8
Keywords: 


(jgoerzen@complete.org--projects/offlineimap--head--1.0--patch-5)
2004-11-16 23:44:41 +01:00
John Goerzen
8137e53c14 Added code to limit command line length for very large mailboxes
Keywords: 


(jgoerzen@complete.org--projects/offlineimap--head--1.0--patch-4)
2004-11-16 23:41:09 +01:00
John Goerzen
440ee1708d Attempt to fix problem with getting back the wrong UID from APPENDUID
Keywords: 


(jgoerzen@complete.org--projects/offlineimap--head--1.0--patch-1)
2004-10-18 20:00:29 +01:00
John Goerzen
944209b858 Initial base-0 from arch 2005-04-16 20:35:25 +01:00
John Goerzen
d839be3c61 Step 2 of SVN to arch tree conversion 2005-04-16 20:33:35 +01:00
John Goerzen
3673e4c5d4 Step 1 of converting tree to Arch layout 2005-04-16 20:32:25 +01:00
jgoerzen
c406081209 /offlineimap/head: changeset 593
Fixed silly error
2004-08-02 04:42:57 +01:00
jgoerzen
dff3c0a97a /offlineimap/head: changeset 592
This is 4.0.7
2004-08-02 03:50:23 +01:00
jgoerzen
cf464889bf /offlineimap/head: changeset 591
Added additional debugging for IMAP download
2004-08-02 03:49:16 +01:00
jgoerzen
e23d476f9c /offlineimap/head: changeset 590
Preparing 4.0.6
2004-07-26 21:47:36 +01:00
jgoerzen
dd9f6475e6 /offlineimap/head: changeset 589
Various bug fixes and enhancements
2004-07-26 21:37:45 +01:00
jgoerzen
c1f25e5030 /offlineimap/head: changeset 588
Updated for 4.0.5
2004-07-13 21:25:27 +01:00
jgoerzen
6cfdefe7f7 /offlineimap/head: changeset 587
Updated ChangeLog
2004-07-13 21:24:46 +01:00
jgoerzen
e6d6663d6f /offlineimap/head: changeset 586
Added python, python-dev to build-deps.
2004-07-13 21:22:41 +01:00
jgoerzen
534961d299 /offlineimap/head: changeset 585
Updated changelog
2004-06-15 15:45:13 +01:00
jgoerzen
ae2d09a95c /offlineimap/head: changeset 584
Preparing 4.0.4
2004-06-15 15:44:05 +01:00
jgoerzen
35c7b66862 /offlineimap/head: changeset 583
Reverted patch from Daniel James and updated Changelog.
2004-06-15 15:43:14 +01:00
jgoerzen
98e35afd42 /offlineimap/head: changeset 582
Updated copyright info
2004-06-04 22:04:29 +01:00
jgoerzen
cff7f857b3 /offlineimap/head: changeset 581
Use dh_python
2004-06-04 21:50:57 +01:00
jgoerzen
094fd6eda8 /offlineimap/head: changeset 580
Final changes before 4.0.3
2004-06-04 21:47:21 +01:00
jgoerzen
246eda9c3d /offlineimap/head: changeset 579
Preparing 4.0.3
2004-06-04 21:42:52 +01:00
jgoerzen
69abd0e656 /offlineimap/head: changeset 578
Applied patch from Daniel James to adjust the insertion point for a
new header.
2004-06-04 21:29:24 +01:00
jgoerzen
e95dae8c3f /offlineimap/head: changeset 577
Fixed various doc bugs
2004-06-04 21:26:30 +01:00
jgoerzen
c8001aa5cf /offlineimap/head: changeset 576
Moved to Python2.3 and bumped version number
2004-06-04 21:13:11 +01:00
jgoerzen
c51c5c6596 /offlineimap/head: changeset 575
Fixed missing _display in Noninteractive.
2003-11-01 04:18:56 +01:00
jgoerzen
69433259cd /offlineimap/head: changeset 574
Slight changelog fix for 4.0.1
2003-10-11 10:23:47 +01:00
jgoerzen
6051f47b28 /offlineimap/head: changeset 521
A few fixes for Jython compatibility.
2003-07-26 03:01:25 +01:00
jgoerzen
ef95d2e5e7 /offlineimap/head: changeset 520
Updated docs
2003-07-26 02:47:18 +01:00
jgoerzen
93449e0132 /offlineimap/head: changeset 519
Updated docs with some history
2003-07-26 02:41:35 +01:00
jgoerzen
aabf02f155 /offlineimap/head: changeset 518
Fixed a problem with the version number printout routine.
2003-07-25 03:15:27 +01:00
jgoerzen
e0691da50f /offlineimap/head: changeset 517
Adjusted __init__ code to use __all__ to provide better compatibility
with jython.
2003-07-25 02:58:20 +01:00
jgoerzen
7a5434168f /offlineimap/head: changeset 515
Included more docs in Debian package.
2003-07-19 03:13:04 +01:00
jgoerzen
4cf7ee72d9 /offlineimap/head: changeset 514
Fixed a manpage typo. Closes: [debian.org #201497] Notify: bk@bk.cx
2003-07-19 02:59:56 +01:00
jgoerzen
56ddbcc518 /offlineimap/head: changeset 511
Final version number updates
2003-07-19 00:56:15 +01:00
jgoerzen
b8a3bcb0a1 /offlineimap/head: changeset 510
Final commits before 4.0. This is the re-built manual and updated
ChangeLog.
2003-07-19 00:54:18 +01:00
jgoerzen
ded1261411 /offlineimap/head: changeset 509
Added a section on upgrading to the documentation
2003-07-19 00:49:13 +01:00
jgoerzen
b62de2b09a /offlineimap/head: changeset 487
Fixed version confusion
2003-06-27 01:03:07 +01:00
jgoerzen
282a05dbfa /offlineimap/head: changeset 486
Prep for 3.99.19
2003-06-27 00:38:47 +01:00
jgoerzen
d636f95d45 /offlineimap/head: changeset 485
Applied patch from Joerg Wendland <joergland@debian.org> to use
APPENDUID result from mail servers that provide it. Closes: #198772.
Resolves: [debian.org #198772]
2003-06-27 00:28:54 +01:00
jgoerzen
96ac95c13f /offlineimap/head: changeset 484
Added a "force" option to imapserver/select to force a reloading of a
folder. Per [complete.org #67], when cachemessagelist() was called on
an object that was cached from a previous run, it would not re-issue
the select(). Closes: [complete.org #67]
2003-06-02 22:17:29 +01:00
jgoerzen
45265467a9 /offlineimap/head: changeset 482 2003-06-02 22:11:51 +01:00
jgoerzen
3b849724da /offlineimap/head: changeset 481
Updated
2003-06-02 22:09:57 +01:00
jgoerzen
d9c353b67a /offlineimap/head: changeset 480
Fixed the -l option
2003-06-02 20:52:33 +01:00
jgoerzen
332d07b4b0 /offlineimap/head: changeset 479
Made -d recognized
2003-06-02 20:07:30 +01:00
jgoerzen
022655dddd /offlineimap/head: changeset 478
Added -l option. Updated documentation for it. Changed _msg to
_display override in UI modules. Renamed "doc" to "docs" target in
Makefile to avoid conflicting with a subdir.
2003-06-02 20:06:18 +01:00
jgoerzen
d52c007857 /offlineimap/head: changeset 477
Fixed SSL for Python2.3.
2003-05-28 04:01:27 +01:00
jgoerzen
ce125cc366 /offlineimap/head: changeset 475
Preparing for 3.99.17
2003-05-06 20:27:36 +01:00
jgoerzen
b36c52d5af /offlineimap/head: changeset 474
- offlineimap (3.99.17) unstable; urgency=low

- Fixed two potential obscure race conditions in folder/Maildir.py. +
  Condition 1 involved the gettimeseq() function. This function
  accesses per-module variables but does not have a lock. It may have
  been possible for this to have been called in such a way that
  timeseq was not properly updated. + Condition 2 involved the call to
  gettimeseq(). Since the timeseq is based on the system clock, we now
  use the time as reported inside timeseq() rather than outside. This
  way, we can be assured that the same value is in use both places.

- Added debug code to savemessage in folder/Maildir.py to try to track
  down a mysterious 0-length file bug. -- John Goerzen
  <jgoerzen@complete.org> Tue, 6 May 2003 09:21:38 -0500
2003-05-06 20:26:12 +01:00
jgoerzen
4ab1ebf4a8 /offlineimap/head: changeset 472
Prepping for 3.99.16
2003-05-06 19:50:01 +01:00
jgoerzen
5454489a16 /offlineimap/head: changeset 471
- Added some significant debug code to folder/IMAP.py when saving a
  new message with APPEND. This should make it easier to track down
  bugs both in OfflineIMAP and in mail servers that implement this
  poorly.

- Fixed adding of X-OfflineIMAP header when the message starts out
  with no headers. (This should not generally occur.) This should help
  with some "invalid literal for long()" problems.
2003-05-06 19:41:13 +01:00
jgoerzen
7ddce0b57d /offlineimap/head: changeset 470
Added a note about the Debian bug this closes.
2003-04-30 03:54:07 +01:00
jgoerzen
422b5ea815 /offlineimap/head: changeset 469
Added from rev 5
2003-04-30 02:18:17 +01:00
jgoerzen
afba647f62 /offlineimap/head: changeset 467
When sep was /, the new Maildir support code would recursively try to
scan ., resulting in huge paths and an eventual crash. Fixed with a
one-line patch to Maildir.py. Closes: [complete.org #60] Sergei, The
below diff is going into 3.99.16. You can apply it to 3.99.15 and it
should work for you now. Please let me know. (Ignore any patch errors
for debian/changelog). Thanks for the report.
2003-04-29 22:30:26 +01:00
jgoerzen
3432a5e395 /offlineimap/head: changeset 466
Testing bug mailing
2003-04-29 21:48:52 +01:00
jgoerzen
ebf47b76c9 /offlineimap/head: changeset 465
This is more testing. Closes: [complete.org #62]
2003-04-29 21:46:05 +01:00
jgoerzen
ec0ed5b082 /offlineimap/head: changeset 464
Testing BTS actions. Notify: jglt@complete.org Notify: [complete.org
#62], [debian.org #154165]
2003-04-29 21:38:05 +01:00
jgoerzen
de4f3544e7 /offlineimap/head: changeset 463
Readying to accept changes, captain
2003-04-29 19:13:52 +01:00
jgoerzen
d2db8e5b17 /offlineimap/head: changeset 462
Updated copyright date. Notify: jgoerzen@complete.org,
jgoerzen@debian.org
2003-04-29 09:38:20 +01:00
jgoerzen
2031dc7670 /offlineimap/head: changeset 461
Updated the ChangeLog
2003-04-29 09:35:50 +01:00
jgoerzen
1043658491 /offlineimap/head: changeset 459
Preparing for 3.99.15
2003-04-29 03:41:50 +01:00
jgoerzen
ce12331573 /offlineimap/head: changeset 458
autorefresh may now be a floating-point value. Closes: #190060.
2003-04-29 03:25:42 +01:00
jgoerzen
56ac894f41 /offlineimap/head: changeset 457
Made OfflineIMAP IPv6-aware. Used the short patch from Adriaan Peeters
<apeeters@lashout.net> in Debian bug report 186636. Closes: #186636.
2003-04-29 03:17:30 +01:00
jgoerzen
044877a5f5 /offlineimap/head: changeset 456
Fixed a silly error relating to handling of the remotepassfile.
Closes: #189935.
2003-04-29 02:52:03 +01:00
jgoerzen
0ff4f610de /offlineimap/head: changeset 455
Raise an exception when the status area is locked. This will cause UIs
to go through their normal exception handling code. In particular, for
the Curses.Blinkenlights interface, the Curses module will be stopped
and the error message will be printed on the console. Previously, this
error message would not have been visible. Closes: #185709.
2003-04-29 02:48:55 +01:00
jgoerzen
eab7170aea /offlineimap/head: changeset 454
Updated bug closing number
2003-04-29 02:43:41 +01:00
jgoerzen
45e8543541 /offlineimap/head: changeset 453
Backed out removal of SYNC_WITH_TIMER_TERMINATE code to deal with
completed syncs. Without this code, -o broke because the app would
never terminate.
2003-04-29 01:04:22 +01:00
jgoerzen
30d18b0e3f /offlineimap/head: changeset 451
Updated for 3.99.14
2003-04-28 20:16:58 +01:00
jgoerzen
a206290329 /offlineimap/head: changeset 450
Preparing for 3.99.14
2003-04-28 20:16:30 +01:00
jgoerzen
0db32b6393 /offlineimap/head: changeset 449
- Slight renaming in offlineimap.conf.minimal to clarify things.

- Documentation updated with information about new features. Closes:
  #189771. + Described IMAP-IMAP syncing + Updated minimal example
  with new offlineimap.conf.minimal + Updated UID information. Added
  link to recent mailing list discussion. + Described KMail syncing,
  which now works. + Added link to mailing list archives.
2003-04-22 21:47:25 +01:00
jgoerzen
0373766d70 /offlineimap/head: changeset 448
Fixed the regular expression that fixes line endings to make sure to
deal with \n\n properly.
2003-04-19 02:44:10 +01:00
jgoerzen
2288c0d37a /offlineimap/head: changeset 447
Added the ability to use the top level of a Maildir as folder named
".". Useful for generating Maildir trees for a Courier server.
2003-04-18 08:14:45 +01:00
jgoerzen
ce02e1c514 /offlineimap/head: changeset 446
Prepping for 0.99.13 -- fixed some niggling bugs
2003-04-18 08:06:04 +01:00
jgoerzen
79ab74a418 /offlineimap/head: changeset 445
- Now checks that SELECT succeeded when entering a folder.

- Verifies that folders listed on folderincludes actually exist by
  trying to enter them. Thus, if they do not exist, they can be
  created on the first run.
2003-04-18 05:31:25 +01:00
jgoerzen
ced2acc6cf /offlineimap/head: changeset 444
Fixed line-ending code to deal with files with mixed \n and \r\n
codes. This is a rare case, but now is more onerous because we now
have to find headers.
2003-04-18 05:18:54 +01:00
jgoerzen
b9f2eca42c /offlineimap/head: changeset 443
Fixed account names in password prompts
2003-04-18 03:43:54 +01:00
jgoerzen
faf26007b1 /offlineimap/head: changeset 442
Moved account-sep branch to head
2003-04-18 03:18:34 +01:00
jgoerzen
0f81229c68 /offlineimap/head: changeset 367
Reverted the license change
2003-04-16 20:23:45 +01:00
jgoerzen
12e08b1c62 /offlineimap/head: changeset 366 2003-04-02 05:59:13 +01:00
jgoerzen
7eb2bd9cd9 /offlineimap/head: changeset 365
Removed debug code
2003-03-14 00:48:42 +01:00
jgoerzen
fa51422580 /offlineimap/head: changeset 364
Removed debug code
2003-03-14 00:47:38 +01:00