Fran Diéguez [Tue, 13 Jul 2010 00:41:50 +0000 (02:41 +0200)]
Updated Galician translations
Matthew Barnes [Mon, 12 Jul 2010 22:48:40 +0000 (18:48 -0400)]
Post-release version bump.
Matthew Barnes [Mon, 12 Jul 2010 22:28:55 +0000 (18:28 -0400)]
NEWS update for 2.31.5 release.
Milan Crha [Mon, 12 Jul 2010 14:44:25 +0000 (16:44 +0200)]
Bug #618938 - Crash when reading calendar acknowledgement message
Milan Crha [Mon, 12 Jul 2010 14:16:32 +0000 (16:16 +0200)]
Bug #623936 - 75 second delay when creating new DAV entries in Zimbra
Matthew Barnes [Mon, 12 Jul 2010 11:59:20 +0000 (07:59 -0400)]
Fix another g_propagate_error() runtime warning.
David Woodhouse [Mon, 12 Jul 2010 11:46:01 +0000 (12:46 +0100)]
imapx: Ensure imapx_stream_fill() sets the error on zero-sized read.
We treat an empty read as an error, since we should never be here unless
we're either in the middle of reading a response, or poll() says the fd
is readable. Before commit
46938c348 (the conversion to GError), we'd set
a generic 'IO Error' exception in camel_imapx_stream_token() when
imapx_stream_fill() returned -1 to indicate an error. But now we don't
do that any more, so imapx_stream_fill() needs to reliably set the GError.
Otherwise we end up in an endless loop in imapx_step().
Matthew Barnes [Mon, 12 Jul 2010 11:49:58 +0000 (07:49 -0400)]
Fix runtime warning in camel_filter_driver_flush().
Only propagate the error if there's an error to propagate.
Matthew Barnes [Mon, 12 Jul 2010 11:05:48 +0000 (07:05 -0400)]
Improve error handling in CamelStreamBuffer::read().
If we managed to successfully read some data before camel_stream_read()
failed, discard the GError and return the number of bytes successfully
read. If camel_stream_read() failed immediately, propagate the GError
and return -1.
David Woodhouse [Mon, 12 Jul 2010 03:11:38 +0000 (04:11 +0100)]
imapx: camel_imapx_stream_astring() returns 0 on success.
Matthew Barnes [Mon, 12 Jul 2010 02:19:33 +0000 (22:19 -0400)]
Update API documentation.
Matthew Barnes [Sun, 11 Jul 2010 17:22:13 +0000 (13:22 -0400)]
Coding style and whitespace cleanup.
Mario Blättermann [Sun, 11 Jul 2010 16:36:33 +0000 (18:36 +0200)]
[i18n] Updated German translation
Kjartan Maraas [Sun, 11 Jul 2010 15:44:10 +0000 (17:44 +0200)]
Updated Norwegian bokmål translation
Matthew Barnes [Sun, 11 Jul 2010 15:34:36 +0000 (11:34 -0400)]
Coding style and whitespace cleanup.
David Woodhouse [Sun, 11 Jul 2010 14:11:17 +0000 (15:11 +0100)]
imapx: Avoid running FETCH_NEW_MESSAGES and REFRESH_INFO jobs simultaneously
There are various places where we interpret FETCH results and use
imapx_match_active_job to find the current job, which will behave badly
if there are two jobs which could potentially be responsible for the FETCH.
In particular, this was causing a problem when we triggered a fetch of new
messages from select_done(), and that command was submitted at the same time
as a refresh_info command to fetch all flags. The server (Dovecot) was
returning all the untagged FETCH results before either completion line,
and all the flags were getting "assigned" to the fetch_new_messages job,
causing a bunch of 'g_array_append_vals: assertion `array' failed' warnings,
and all messages to disappear because the refresh_info job didn't see them.
Kjartan Maraas [Sun, 11 Jul 2010 13:42:24 +0000 (15:42 +0200)]
Updated Norwegian bokmål translation
David Woodhouse [Sun, 11 Jul 2010 11:36:19 +0000 (12:36 +0100)]
imapx: Fix handling of return from camel_imapx_stream_text()
It's another of those functions that return 0 for success.
David Woodhouse [Sun, 11 Jul 2010 11:17:13 +0000 (12:17 +0100)]
imapx: More improvements to server unseen count tracking
We're using the unseen count as part of our check for when things have
changed on the server (or when QRESYNC has gone wrong), and we need to
rescan all flags. But the server doesn't *tell* us about changes to the
unseen count, like it does for the total count of messages. So we have to
be more careful about tracking it -- especially since the server doesn't
even tell us in SELECT, and we can't issue STATUS to find it out when the
folder is selected.
One place that it was getting out of sync was when the server notified us
about new messages in SELECT, which weren't there when we last issued STATUS.
For messages with a UID equal to or higher than what we thought was the
folder's UIDNEXT, we also have to update the unseen count.
So far, the _only_ time we've hit the QRESYNC sanity check which triggers
a full rescan has been due to this kind of cosmetic unseen count discrepancy.
It's half tempting to disable that check in the QRESYNC sanity check, but
actually it's useful to get it right for the legacy servers too, because it
might cause us to miss updates if we get out of sync.
David Woodhouse [Sun, 11 Jul 2010 10:56:32 +0000 (11:56 +0100)]
nntp: Fix two more 'returns FALSE on error' vs. 'returns 0 on success' errors
We really need to start being consistent about this.
Pass the GError pointer through to camel_folder_summary_save_to_db()
from nntp_folder_sync() too... although it seems to be NULL a lot of the
time anyway, but that's the fault of our caller. No need to compound it.
Matthew Barnes [Sun, 11 Jul 2010 03:30:06 +0000 (23:30 -0400)]
Fix some linker issues.
Matthew Barnes [Sat, 10 Jul 2010 12:16:15 +0000 (08:16 -0400)]
Bug 624018 - Fix error handling in groupwise_get_folder()
Jorge González [Sat, 10 Jul 2010 08:36:48 +0000 (10:36 +0200)]
Updated Spanish translation
Bharath Acharya [Sat, 10 Jul 2010 04:24:29 +0000 (09:54 +0530)]
Bug #623988 - build failure in git/master.
Add the marshal list and also a typo in weather.
Milan Crha [Fri, 9 Jul 2010 14:18:57 +0000 (16:18 +0200)]
Update user documentation about E_CAL/BOOK_DISABLE_DEPRECATED
Milan Crha [Fri, 9 Jul 2010 11:18:42 +0000 (13:18 +0200)]
Bug #623204 - Be able to report detailed errors from backends
Mario Blättermann [Fri, 9 Jul 2010 10:40:40 +0000 (12:40 +0200)]
[i18n] Updated German translation
Matthew Barnes [Fri, 9 Jul 2010 10:30:35 +0000 (06:30 -0400)]
Bug 623919 - Error while opening any newly received message
Milan Crha [Fri, 9 Jul 2010 07:34:18 +0000 (09:34 +0200)]
Use correct format specifier for 64bit unsigned int
Milan Crha [Fri, 9 Jul 2010 07:32:33 +0000 (09:32 +0200)]
Do not use uninitialized variable
Matthew Barnes [Thu, 8 Jul 2010 22:12:01 +0000 (18:12 -0400)]
Use the new base directory functions.
Put an end to hard-coding "$HOME/.evolution".
Jorge González [Thu, 8 Jul 2010 21:41:18 +0000 (23:41 +0200)]
Updated Spanish translation
Matthew Barnes [Thu, 8 Jul 2010 20:23:58 +0000 (16:23 -0400)]
Add functions to get Evo/EDS base directories.
Use these functions instead of hard-coding "$HOME/.evolution". This
sets the stage for complying with the XDG Base Directory Specification.
http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html
e_get_user_cache_dir() returns (for now) "$HOME/.evolution/cache"
e_get_user_config_dir() returns (for now) "$HOME/.evolution"
e_get_user_data_dir() returns (for now) "$HOME/.evolution"
Milan Crha [Thu, 8 Jul 2010 19:22:33 +0000 (21:22 +0200)]
Bug #623795 - URI at the end of text isn't clickable
Milan Crha [Thu, 8 Jul 2010 19:18:01 +0000 (21:18 +0200)]
Bug #621609 - Can pass unknown UID to e_source_combo_box_set_active_uid
Matthew Barnes [Sun, 9 May 2010 16:26:48 +0000 (11:26 -0500)]
Migrate from CamelException to GError.
Milan Crha [Thu, 8 Jul 2010 11:25:33 +0000 (13:25 +0200)]
Use text/vcard content type on WebDAV PUT request
See bug #604650 for more details.
Fran Diéguez [Wed, 7 Jul 2010 16:27:43 +0000 (18:27 +0200)]
Updated Galician translations
Chenthill Palanisamy [Mon, 5 Jul 2010 09:00:27 +0000 (14:30 +0530)]
Add a function to get the job queue info
Chenthill Palanisamy [Mon, 5 Jul 2010 07:35:10 +0000 (13:05 +0530)]
Add signal handlers when folder selection changes and when connection shuts down
Maciej Piechotka [Sat, 3 Jul 2010 16:41:50 +0000 (12:41 -0400)]
Bug 623431 - Use gweather-3.0 when building with gtk3
Matthew Barnes [Sat, 3 Jul 2010 16:17:42 +0000 (12:17 -0400)]
Bug 623430 - libedataserverui.pc.in hardcodes 1.2 API version
David Woodhouse [Fri, 2 Jul 2010 10:56:57 +0000 (11:56 +0100)]
Update unseen count as new messages come in
When we get notified of new messages in the idle thread, or when they arrive
during our re-fetch of all flags (and we suddenly find we've got flags for a
message that didn't previously exist), ensure that we update the unseen count
according to the flags of the new messages.
This _doesn't_ handle the case where we called fetch_new_messages() directly
from refresh_info_start() because we _knew_ there were new messages, but in
fact there are _more_ new messages than we expected. We may have to switch to
a model where we say 'update flags for any UID greater than $X'.
David Woodhouse [Fri, 2 Jul 2010 09:58:11 +0000 (10:58 +0100)]
Make NSS database initialisation more robust, handle errors better
Since commit
9116943e we only attempt to open the new SQL database, but
some users are reporting issues. Be more careful about reporting errors
when that happens, and also fall back to the old DBM database if the SQL
database fails to initialise.
David Woodhouse [Fri, 2 Jul 2010 09:00:02 +0000 (10:00 +0100)]
Keep better track of server-side UNREAD count.
There are various circumstances in which the UNREAD count will change --
new unseen messages arriving, flags changes from the client, unseen
messages being expunged, etc. Keep track of those to improve the
accuracy of the unread count, to avoid the QRESYNC sanity check
triggering so often on minor issues that weren't the bug I was looking
for. For this, we have to keep track of whether a FETCH or VANISHED response
was solicited or unsolicited in certain cases.
David Woodhouse [Fri, 2 Jul 2010 08:57:31 +0000 (09:57 +0100)]
Don't refetch message headers we already have.
We were issuing a headers FETCH starting from the last known UID. But we
already _had_ the headers for the last known UID. Start from $UID+1 instead.
David Woodhouse [Fri, 2 Jul 2010 08:43:38 +0000 (09:43 +0100)]
Add sanity check after QRESYNC
If the total number of messages, unseen count and modseq don't match
what we think they should be, then fall back to refetching all flags as
we would have done without QRESYNC.
Jorge González [Thu, 1 Jul 2010 18:13:41 +0000 (20:13 +0200)]
Updated Spanish translation
David Woodhouse [Thu, 1 Jul 2010 08:01:27 +0000 (09:01 +0100)]
Fix memory leak in imapx_continuation() with SASL auth
==4945== 1 bytes in 1 blocks are definitely lost in loss record 48 of 23,077
==4945== at 0x4A0515D: malloc (vg_replace_malloc.c:195)
==4945== by 0x319A044AE2: g_malloc (gmem.c:132)
==4945== by 0x319A05C3BD: g_strdup (gstrfuncs.c:102)
==4945== by 0x6478E63: camel_sasl_challenge_base64 (camel-sasl.c:326)
==4945== by 0x12C54E72: imapx_continuation (camel-imapx-server.c:1698)
==4945== by 0x12C552CC: imapx_step (camel-imapx-server.c:1862)
David Woodhouse [Thu, 1 Jul 2010 07:59:59 +0000 (08:59 +0100)]
Fix memory leak in summary_header_to_db()
==4945== 9 bytes in 1 blocks are definitely lost in loss record 1,482 of 23,077
==4945== at 0x4A0515D: malloc (vg_replace_malloc.c:195)
==4945== by 0x319A044AE2: g_malloc (gmem.c:132)
==4945== by 0x319A05C3BD: g_strdup (gstrfuncs.c:102)
==4945== by 0x6466990: summary_header_to_db (camel-folder-summary.c:296)
==4945== by 0x12C48A2B: summary_header_to_db (camel-imapx-summary.c:289)
==4945== by 0x6463B69: camel_folder_summary_save_to_db (camel-folder-summary.c:2316)
==4945== by 0x12C507B2: imapx_command_sync_changes_done (camel-imapx-server.c:4227)
David Woodhouse [Wed, 30 Jun 2010 19:22:36 +0000 (20:22 +0100)]
Store Junk and NotJunk flags in IMAP server
Strictly speaking we shouldn't be doing this if the server won't understand
them and doesn't have \* in PERMANENTFLAGS -- but there are already bugs with
that anyway, when we try to set receipt-handled. I'll get to that shortly...
Matthew Barnes [Wed, 30 Jun 2010 15:48:51 +0000 (11:48 -0400)]
Update API documentation.
David Woodhouse [Wed, 30 Jun 2010 12:22:25 +0000 (13:22 +0100)]
Calculate can_qresync after fetching STATUS
David Woodhouse [Wed, 30 Jun 2010 10:08:54 +0000 (11:08 +0100)]
Fix starting UID in QRESYNC SELECT.
The indices in the folder summary count from zero, not one.
David Woodhouse [Wed, 30 Jun 2010 08:49:12 +0000 (09:49 +0100)]
Add proper QRESYNC support on SELECT; use it for refresh_info
We aren't yet correctly updating the folder's modseq every time, so we're
often asking for more than we need. That's better than asking for _less_ than
we need though -- will go over that part very carefully in separate commit(s).
We still aren't handling uidvalidity either. RSN...
David Woodhouse [Wed, 30 Jun 2010 08:44:25 +0000 (09:44 +0100)]
Propagate SELECT error properly to dependent commands
David Woodhouse [Wed, 30 Jun 2010 08:39:22 +0000 (09:39 +0100)]
Add support for * VANISHED (EARLIER) [uidset...]
(Actually just throw away anything in the parentheses).
We'll need this for QRESYNC SELECT
Matthew Barnes [Tue, 29 Jun 2010 23:17:59 +0000 (19:17 -0400)]
Work around sudden disappearance of GdkRegion in GTK+ 2.90.5.
API was deprecated and removed in less than two hours! Sheesh!
Chenthill Palanisamy [Tue, 29 Jun 2010 18:06:13 +0000 (23:36 +0530)]
post release version bump
Chenthill Palanisamy [Tue, 29 Jun 2010 17:48:40 +0000 (23:18 +0530)]
News update for 2.31.4 release
David Woodhouse [Tue, 29 Jun 2010 16:23:57 +0000 (17:23 +0100)]
Set server_flags after APPENDUID; don't send them to the server again.
This is just silly....
Starting command (active=1, literal) A00452 APPEND outgoing (\SEEN) {551+}
Starting command (active=1,) A00454 SELECT outgoing
Starting command (active=1,) A00453 UID STORE 14443 +FLAGS.SILENT (\SEEN)
David Woodhouse [Tue, 29 Jun 2010 15:45:56 +0000 (16:45 +0100)]
Fix APPENDUID handling of uidvalidity.
We shouldn't be comparing with is->uidvalidity; that's just short-term
storage for use _during_ a SELECT. Compare with ifolder->uidvalidity instead.
Oh, and let's try to make sure that's actually set somewhere...
David Woodhouse [Tue, 29 Jun 2010 15:18:38 +0000 (16:18 +0100)]
Select folder based on CamelFolder *, not its name
As threatened in commit
6900bf35807c9be0cb2498a63cef4684ff9144d6, sanify the
way that commands indicate which folder (if any) should be selected when they
run.
Until now, they've set a folder name in ic->select, which was passed as an
argument to camel_imapx_command_new(). That's been used for comparisons to
decide whether the command can run... but when it actually comes to select
a folder specifically for the benefit of the command, it wasn't used! Instead,
the folder in ic->job->folder was used instead.
Clean this up so that ic->select is now a CamelFolder * instead of a string,
and actually use it consistently for both the comparisons and the eventual
SELECT.
Matthew Barnes [Tue, 29 Jun 2010 13:57:41 +0000 (09:57 -0400)]
Lower gtk+-3.0 requirement to 2.90.4.
Since 2.90.5 isn't release yet and the release team would probably
like to assemble a 2.31.4 moduleset.
Matthew Barnes [Tue, 29 Jun 2010 13:47:51 +0000 (09:47 -0400)]
Make libedataserverui API docs build with gtk+-3.0.
Matthew Barnes [Tue, 29 Jun 2010 13:32:49 +0000 (09:32 -0400)]
Make libedataserverui test programs build with gtk+-3.0.
Matthew Barnes [Tue, 29 Jun 2010 13:25:15 +0000 (09:25 -0400)]
TEMPORARILY build without weather calendars in distcheck.
Will revert this when we see a libgweather-2.90.x release.
Matthew Barnes [Tue, 29 Jun 2010 13:16:50 +0000 (09:16 -0400)]
Fix E_DATA_SERVER_UI_DEPS.
Was hardcoding gtk+-2.0 instead of using $GTK_PACKAGE.
Matthew Barnes [Tue, 29 Jun 2010 13:15:26 +0000 (09:15 -0400)]
Show the GTK+ package in configure summary.
Matthew Barnes [Tue, 29 Jun 2010 13:14:33 +0000 (09:14 -0400)]
Build against gtk+-3.0 when running distcheck.
Matthew Barnes [Tue, 29 Jun 2010 13:07:43 +0000 (09:07 -0400)]
Require gweather >= 2.90.0 when building against gtk+-3.0.
Note, at this moment libgweather-2.90.0 doesn't exist. The version
requirement is a guess. The tarball should appear "any minute now".
Milan Crha [Tue, 29 Jun 2010 12:54:47 +0000 (14:54 +0200)]
Bug #622350 - CamelFolder's "deleted" signal prototype changed
Chenthill Palanisamy [Tue, 29 Jun 2010 12:05:09 +0000 (17:35 +0530)]
Update libedataserverui versioning for gtk3. 3.0 should build gtk3 and 1.2 with gtk2
Michael Meeks [Tue, 29 Jun 2010 10:05:53 +0000 (11:05 +0100)]
Add helper to show the name selector with correct transience, to
fix the umpteen bugs in its use in Evolution.
David Woodhouse [Tue, 29 Jun 2010 08:41:33 +0000 (09:41 +0100)]
Update summary uidnext after fetching messages.
Since we don't refetch flags if we've fetched new messages for a previously
empty folder, we weren't updating the stored uidnext -- which meant we would
refetch messages again next time. And if the folder is empty, we'd refetch
messages every time and never update uidnext.
David Woodhouse [Sun, 27 Jun 2010 08:26:41 +0000 (09:26 +0100)]
Bug 622828 - Don't recurse to parent class's ->disconnect() method.
That seems to be our caller. Calling it back will just end in tears.
David Woodhouse [Sun, 27 Jun 2010 07:37:55 +0000 (08:37 +0100)]
Bug 622822 - Fix failure return from nntp_folder_refresh_info_online()
When invoked with no fmt argument, camel_nntp_command() is only supposed
to select the folder and return zero.
Since commit
08cfec3e we have been interpreting that zero as FALSE, and
this is what causes nntp folders to appear empty as refresh_info appears
to fail.
David Woodhouse [Sat, 26 Jun 2010 15:03:35 +0000 (16:03 +0100)]
Fix nntp folder tree building
When it creates a 'virtual' NOSELECT|CHILDREN folder to fill a gap in
the hierarchy, it doesn't correctly insert that into the tree if it is a
top-level folder (i.e. last == NULL).
Once you fix that bug, you end up with two identical copies of the
tree-insertion code. I moved that out into a separate function.
David Woodhouse [Sat, 26 Jun 2010 13:47:25 +0000 (14:47 +0100)]
Bug 622719 - Fix lifetime issues with CamelIMAPXServer w.r.t. disconnection
David Woodhouse [Fri, 25 Jun 2010 17:09:09 +0000 (18:09 +0100)]
Fix idle thread exit and locking
If we trigger its exit and wait for it while still holding the lock, it may
deadlock on the same lock. Also fix a multiple-unlock bug.
David Woodhouse [Fri, 25 Jun 2010 11:25:38 +0000 (12:25 +0100)]
Handle BYE response
David Woodhouse [Fri, 25 Jun 2010 08:36:46 +0000 (09:36 +0100)]
Fix idle dwell time
When switching from sleep() to g_usleep() in commit
25b19908, we should
also have converted its argument into µs.
David Woodhouse [Thu, 24 Jun 2010 23:12:08 +0000 (00:12 +0100)]
Remove superfluous debug printf
David Woodhouse [Thu, 24 Jun 2010 23:01:36 +0000 (00:01 +0100)]
Use LIST-EXTENDED to return subscribed status from LIST
If the server supports LIST-EXTENDED, we don't have to follow the initial
LIST with an LSUB command to see which folders are subscribed -- we can
just ask it to tell us the subscribed status in the LIST responses.
David Woodhouse [Thu, 24 Jun 2010 22:23:19 +0000 (23:23 +0100)]
Detect LIST-STATUS and LIST-EXTENDED capabilities
David Woodhouse [Thu, 24 Jun 2010 22:10:35 +0000 (23:10 +0100)]
Don't show subscribed but non-existent folders.
The RFCs are clear that it's OK to have non-existent folders in the
subscribed list. Don't treat them as if they were real folders -- just
use their existence in the LSUB response to set the SUBSCRIBED flag if they
were already returned by the LIST response.
David Woodhouse [Thu, 24 Jun 2010 22:05:48 +0000 (23:05 +0100)]
Really select INBOX for folder deletion and rename
The folder selection code is a bit screwed -- a string comparison with
ic->select is used to determine which folder a job can run on, but
ic->job->folder is the one that's actually passed to imapx_select().
Fixing that is probably going to involve turning ic->select into a
folder pointer instead of a string -- so these callers might as well
start getting used to the fact that they have to look the INBOX up using
camel_store_get_folder(). I'll come back and actually fix the
imapx_command_start() code later, when there's nothing more important
offending me.
We really do need _not_ to be SELECTed on a renamed or deleted folder, or
entering IDLE will cause some servers (dovecot) to kick us off.
David Woodhouse [Thu, 24 Jun 2010 14:41:30 +0000 (15:41 +0100)]
Remove courier-imap rename workaround
This is breaking things on non-buggy servers, because after renaming the
folder in question we also attempt to rename all its subfolders... and
quite reasonably get a failure.
Testing against current versions of Courier (4.4.0) seems to suggest
that it's not actually necessary, either -- perhaps the bug has been
fixed in the 9 years since this hack was first added to the imap back
end in commit
bfce883e.
Chenthill Palanisamy [Mon, 28 Jun 2010 09:51:13 +0000 (15:21 +0530)]
use gtk-3.0 if available
Yaron Shahrabani [Sun, 27 Jun 2010 21:09:13 +0000 (00:09 +0300)]
Updated Hebrew translation.
Matthew Barnes [Sun, 27 Jun 2010 11:45:18 +0000 (07:45 -0400)]
Bug 622392 - Build failure due to missing nspr includes
camel.pc.in already defines @mozilla_nss@ and @mozilla_nspr@ in its
Requires list, but that only works for distros that ship their own nss
and nspr pkg-config files.
Debian, for example, doesn't (but it should). So @mozilla_nss@ and
@mozilla_nspr@ are never defined. Instead, the configure script falls
back to the older "manual" settings and defines MANUAL_NSS_CFLAGS and
MANUAL_NSS_LIBS. So list those as well in camel.pc.in. They will be
mutually exclusive with the pkg-config variables.
And please, for the love of free software, somebody push pkg-config
files to upstream nss/nspr so we can drop this gunk from configure.
It's 2010 already for cryin' out loud...
Matthew Barnes [Sun, 27 Jun 2010 02:55:43 +0000 (22:55 -0400)]
Bug 622799 - Fails to link libedataserverui-1.2.la
Milan Crha [Fri, 25 Jun 2010 12:27:42 +0000 (14:27 +0200)]
Bug #622710 - Crash in imapx_idle_supported due to cinfo being NULL
Fridrich Štrba [Fri, 25 Jun 2010 07:54:45 +0000 (09:54 +0200)]
For the sake of portability: sleep -> g_usleep
Milan Crha [Thu, 24 Jun 2010 18:42:16 +0000 (20:42 +0200)]
Bug #620815 - Memory leaks with Evolution
David Woodhouse [Thu, 24 Jun 2010 13:13:17 +0000 (14:13 +0100)]
Bug 622008 - Don't trust is->select_folder in imapx_job_scan_changes_done()
We may have already issued a new SELECT command by the time the scan_changes
completion function is called, and is->select_folder may be NULL already.
David Woodhouse [Thu, 24 Jun 2010 13:09:45 +0000 (14:09 +0100)]
Disable the special-case for the selected folder in refresh_info
It will make us miss messages on servers like Groupwise which don't give
unsolicited change notices; we really _do_ need to issue STATUS there,
even though it's explicitly forbidden by RFC3501 do so. Or SEARCH UNSEEN.
But the logic is broken anyway -- what is the currently-selected folder NOW
may not be the currently-selected folder by the time our STATUS command hits
the front of the queue anyway, so we do still end up doing STATUS on the
current folder sometimes. Needs more thought.
David Woodhouse [Thu, 24 Jun 2010 12:13:03 +0000 (13:13 +0100)]
Revamp imapx_job_refresh_info_start() to make use of modseq and uidnext
David Woodhouse [Sat, 19 Jun 2010 11:45:56 +0000 (12:45 +0100)]
Always enable QRESYNC where it's available.
This doesn't have much of an effect until we start using it, except for
enabling the VANISHED response, and causing unsolicited fetches to have UIDs.
David Woodhouse [Thu, 24 Jun 2010 12:01:21 +0000 (13:01 +0100)]
Update summary to include uidnext and modseq, and 64-bit uidvalidity
Also set the new fields in imapx_job_scan_changes_done() -- although
the summary's uidvalidity still isn't being set anywhere.