Milan Crha [Fri, 8 Jun 2012 11:08:22 +0000 (13:08 +0200)]
Bug #676541 - Unreliable IMAP provider
Matthew Barnes [Fri, 8 Jun 2012 01:04:20 +0000 (21:04 -0400)]
Bug 677664 - Camel: Remove "SMTP Authentication" status message
Too jargony. Just leave it on "Sending message (xx%)".
Matthew Barnes [Thu, 7 Jun 2012 22:35:29 +0000 (18:35 -0400)]
Omit warning flags for generated GDBus code.
Matthew Barnes [Thu, 7 Jun 2012 22:08:33 +0000 (18:08 -0400)]
Silence warnings when building with GOA < 3.5.
Milan Crha [Thu, 7 Jun 2012 12:08:52 +0000 (14:08 +0200)]
Bug #677610 - Avoid modification of CPPFLAGS in Makefile.am
Milan Crha [Thu, 7 Jun 2012 11:13:49 +0000 (13:13 +0200)]
Bug #677183 - maildir account doesn't open
Milan Crha [Thu, 7 Jun 2012 06:11:25 +0000 (08:11 +0200)]
Remove unused code
Matthew Barnes [Wed, 6 Jun 2012 20:18:24 +0000 (16:18 -0400)]
configure.ac: Remove test for "jw".
I don't know what "jw" is (or was), but HAVE_JW is not used anywhere.
It's a useless definition, as far as I can tell. Remove the test.
Matthew Barnes [Wed, 6 Jun 2012 18:42:12 +0000 (14:42 -0400)]
Fix source_registry_prune_nodes() algorithm.
Exclude any disabled ESource and its descendants even if some of its
descendants are enabled. We were also leaking ESource references in
this scenario; use e_source_registry_free_display_tree() to free the
whole subtree rooted at the disabled ESource.
Matthew Barnes [Wed, 6 Jun 2012 17:15:08 +0000 (13:15 -0400)]
ESourceRefresh: Handle "notify" signals from an idle callback.
ESourceRefresh runs e_source_refresh_force_timeout() in response to its
ESource becoming enabled. The problem is "GObject::notify" signals can
be emitted from any thread.
Schedule an idle callback on the ESource's GMainContext to call
e_source_refresh_force_timeout(), rather than calling it directly from
the "GObject::notify" signal handler.
Matthew Barnes [Wed, 6 Jun 2012 15:46:57 +0000 (11:46 -0400)]
EAuthenticationMediator: Resolve some thread-safety issues.
The D-Bus method handlers in EAuthenticationMediator run in separate
threads because we set possibly the longest enum value ever:
G_DBUS_INTERFACE_SKELETON_FLAGS_HANDLE_METHOD_INVOCATIONS_IN_THREAD
Connect to the signals with g_signal_connect_object() so the handlers
will not be dispatched after the mediator is finalized (hopefully...
still not sure if it's 100% thread-safe).
Milan Crha [Wed, 6 Jun 2012 09:16:21 +0000 (11:16 +0200)]
Avoid possible GError memory leak
Matthew Barnes [Tue, 5 Jun 2012 18:16:10 +0000 (14:16 -0400)]
Avoid loading Camel modules during introspection.
Matthew Barnes [Tue, 5 Jun 2012 17:23:20 +0000 (13:23 -0400)]
libedataserver: Add libcamel to introspection flags.
Fran Diéguez [Mon, 4 Jun 2012 23:43:09 +0000 (01:43 +0200)]
Updated Galician translations
Matthew Barnes [Mon, 4 Jun 2012 22:21:11 +0000 (18:21 -0400)]
Fix some distcheck errors.
Some, not all. E-D-S tests are still borked.
Matthew Barnes [Mon, 4 Jun 2012 19:16:51 +0000 (15:16 -0400)]
Add --with-private-docs to DISTCHECK_CONFIGURE_FLAGS.
Matthew Barnes [Mon, 4 Jun 2012 19:16:24 +0000 (15:16 -0400)]
Remove --without-weather from DISTCHECK_CONFIGURE_FLAGS.
Milan Crha [Mon, 4 Jun 2012 12:09:19 +0000 (14:09 +0200)]
Bug #673817 - Crash in e_book_backend_file_dispose()
Daniel Mustieles [Mon, 4 Jun 2012 11:03:51 +0000 (13:03 +0200)]
Updated Spanish translation
Yuri Kozlov [Mon, 4 Jun 2012 10:25:08 +0000 (14:25 +0400)]
Updated Russian translation
Daniel Mustieles [Mon, 4 Jun 2012 09:40:06 +0000 (11:40 +0200)]
Updated Spanish translation
Dan Vrátil [Mon, 4 Jun 2012 09:07:12 +0000 (11:07 +0200)]
Fix build (typo in e-source-weather.c)
Matthew Barnes [Mon, 4 Jun 2012 02:25:07 +0000 (22:25 -0400)]
Camel: Avoid C++ keywords in header files.
Matthew Barnes [Mon, 4 Jun 2012 00:41:57 +0000 (20:41 -0400)]
Bump Camel's soname for the function removals.
Matthew Barnes [Mon, 4 Jun 2012 00:40:29 +0000 (20:40 -0400)]
Remove camel_settings_save_to_url().
Camel settings are no longer stored as a URL string in Evolution.
This function was always meant to be temporary. Its time has come.
Matthew Barnes [Mon, 4 Jun 2012 00:37:34 +0000 (20:37 -0400)]
Remove camel_settings_load_from_url().
Camel settings are no longer stored as a URL string in Evolution.
This function was always meant to be temporary. Its time has come.
Matthew Barnes [Mon, 4 Jun 2012 00:37:17 +0000 (20:37 -0400)]
Fix a build break when introspecting libecal.
Matthew Barnes [Sun, 3 Jun 2012 13:50:10 +0000 (09:50 -0400)]
Implement single-file includes for all E-D-S libraries.
The top-level headers are named after the library:
#include <libebackend/libebackend.h>
#include <libebook/libebook.h>
#include <libecal/libecal.h>
#include <libedata-book/libedata-book.h>
#include <libedata-cal/libedata-cal.h>
#include <libedataserver/libedataserver.h>
#include <libedataserverui/libedataserverui.h>
Including individual headers will cause a compilation error.
Matthew Barnes [Wed, 7 Mar 2012 16:59:38 +0000 (11:59 -0500)]
Update po/POTFILES.in.
Matthew Barnes [Sat, 2 Jun 2012 16:42:54 +0000 (12:42 -0400)]
Bump all shared library and D-Bus API versions.
Everything but Camel broke API.
Matthew Barnes [Fri, 6 Apr 2012 19:21:37 +0000 (15:21 -0400)]
Add 'cache-reaper' module.
Matthew Barnes [Fri, 6 Apr 2012 16:41:57 +0000 (12:41 -0400)]
Add 'yahoo-backend' module.
Matthew Barnes [Thu, 5 Apr 2012 04:22:02 +0000 (00:22 -0400)]
Add 'google-backend' module.
Matthew Barnes [Sun, 1 Apr 2012 19:02:27 +0000 (15:02 -0400)]
Add 'online-accounts' module.
This replaces the 'online-accounts' module in Evolution.
Matthew Barnes [Wed, 17 Aug 2011 18:51:38 +0000 (14:51 -0400)]
Adapt libedataserverui tests to the new ESource API.
Matthew Barnes [Thu, 26 May 2011 01:17:41 +0000 (21:17 -0400)]
Adapt e-client-utils.c to the new ESource API.
Matthew Barnes [Fri, 18 Mar 2011 01:26:44 +0000 (21:26 -0400)]
Add unit tests for ESource.
Matthew Barnes [Sun, 5 Dec 2010 20:43:50 +0000 (14:43 -0600)]
Adapt ESourceSelectorDialog to the new ESource API.
Matthew Barnes [Sat, 4 Dec 2010 22:59:53 +0000 (16:59 -0600)]
Adapt ESourceSelector to the new ESource API.
Matthew Barnes [Wed, 1 Dec 2010 02:24:09 +0000 (20:24 -0600)]
Adapt ESourceComboBox to the new ESource API.
Matthew Barnes [Sat, 24 Dec 2011 01:34:06 +0000 (20:34 -0500)]
Adapt ENameSelectorList to the new ESource API.
Matthew Barnes [Wed, 1 Dec 2010 02:25:58 +0000 (20:25 -0600)]
Adapt ENameSelectorEntry to the new ESource API.
Matthew Barnes [Wed, 24 Nov 2010 15:09:58 +0000 (10:09 -0500)]
Adapt ENameSelector to the new ESource API.
Matthew Barnes [Wed, 24 Nov 2010 14:57:29 +0000 (09:57 -0500)]
Adapt e-book-auth-util.c to the new ESource API.
Matthew Barnes [Tue, 10 Apr 2012 12:54:49 +0000 (08:54 -0400)]
Deprecate e-passwords.[ch].
Matthew Barnes [Tue, 23 Nov 2010 22:39:27 +0000 (17:39 -0500)]
Add an ESource extension for the weather backend.
Matthew Barnes [Tue, 23 Nov 2010 13:35:40 +0000 (08:35 -0500)]
Add an ESource extension for the contacts backend.
Matthew Barnes [Sat, 20 Nov 2010 14:27:05 +0000 (09:27 -0500)]
Add an ESource extension for the file (cal) backend.
Matthew Barnes [Fri, 19 Nov 2010 23:22:54 +0000 (18:22 -0500)]
Add an ESource extension for the ldap backend.
Matthew Barnes [Thu, 18 Nov 2010 23:53:48 +0000 (18:53 -0500)]
Add an ESource extension for the vcf backend.
Matthew Barnes [Tue, 23 Nov 2010 04:04:56 +0000 (23:04 -0500)]
Adapt calendar backends to the new ESource API.
Matthew Barnes [Sat, 13 Nov 2010 20:02:02 +0000 (15:02 -0500)]
Adapt libedata-cal to the new ESource API.
Matthew Barnes [Sat, 13 Nov 2010 15:00:02 +0000 (10:00 -0500)]
Adapt libecal to the new ESource API.
Matthew Barnes [Mon, 10 Oct 2011 18:58:23 +0000 (14:58 -0400)]
Adapt calendar/libegdbus to the new ESource API.
Matthew Barnes [Fri, 12 Nov 2010 22:46:14 +0000 (17:46 -0500)]
Adapt address book backends to the new ESource API.
Matthew Barnes [Fri, 12 Nov 2010 21:48:26 +0000 (16:48 -0500)]
Adapt libedata-book to the new ESource API.
Matthew Barnes [Fri, 12 Nov 2010 20:46:18 +0000 (15:46 -0500)]
Adapt libebook to the new ESource API.
Matthew Barnes [Mon, 10 Oct 2011 19:14:02 +0000 (15:14 -0400)]
Adapt addressbook/libegdbus to the new ESource API.
Matthew Barnes [Mon, 12 Sep 2011 18:12:15 +0000 (14:12 -0400)]
Adapt libebackend to the new ESource API.
Matthew Barnes [Wed, 25 May 2011 18:18:31 +0000 (14:18 -0400)]
Adapt EClient to the new ESource API.
Matthew Barnes [Sat, 27 Nov 2010 15:25:32 +0000 (10:25 -0500)]
Add built-in ESource key files.
Matthew Barnes [Fri, 12 Nov 2010 19:46:25 +0000 (14:46 -0500)]
Add GSettings schemas for default sources.
Schema: org.gnome.Evolution.DefaultSources
Matthew Barnes [Fri, 12 Nov 2010 15:19:34 +0000 (10:19 -0500)]
Add new ESource classes.
ESource
ESourceExtension
ESourceRegistry
Matthew Barnes [Thu, 29 Sep 2011 20:08:20 +0000 (16:08 -0400)]
Add a new "evolution-source-registry" D-Bus service.
This new service manages data source key files and serves them to
clients, through the ESource and ESourceRegistry client-side APIs.
Matthew Barnes [Thu, 29 Sep 2011 20:06:05 +0000 (16:06 -0400)]
Generate GDBus classes for a new D-Bus service.
Matthew Barnes [Fri, 18 Nov 2011 22:31:12 +0000 (17:31 -0500)]
Require gcr-base-3 for secure password exchange over D-Bus.
Matthew Barnes [Thu, 12 Apr 2012 03:28:30 +0000 (23:28 -0400)]
Deprecate EList, EIterator, EListIterator.
Matthew Barnes [Mon, 28 Mar 2011 15:55:23 +0000 (11:55 -0400)]
Remove EAccount and EAccountList. Breaks build.
Matthew Barnes [Fri, 12 Nov 2010 15:09:20 +0000 (10:09 -0500)]
Remove ESourceGroup. Breaks build.
Matthew Barnes [Fri, 12 Nov 2010 14:42:37 +0000 (09:42 -0500)]
Remove ESourceList. Breaks build.
Bruno Brouard [Sun, 3 Jun 2012 11:28:09 +0000 (13:28 +0200)]
Updated French translation
Matthew Barnes [Sun, 3 Jun 2012 01:26:38 +0000 (21:26 -0400)]
Post-release version bump.
Matthew Barnes [Sun, 3 Jun 2012 01:22:37 +0000 (21:22 -0400)]
NEWS update for 3.5.2 release.
Fran Diéguez [Sun, 3 Jun 2012 01:21:50 +0000 (03:21 +0200)]
Updated Galician translations
Matthew Barnes [Sat, 2 Jun 2012 14:38:23 +0000 (10:38 -0400)]
Update API documentation.
Matthew Barnes [Sat, 2 Jun 2012 11:58:05 +0000 (07:58 -0400)]
Whitespace cleanups.
Alban Browaeys [Thu, 31 May 2012 12:33:03 +0000 (14:33 +0200)]
Bug #666327 - IMAP deadlock when moving message and checking new mail
with service lock removal the fix for bug #666327
went out (commit
74fcab535c0f50a27742c05e94036b8370ea9173).
Was a good thing as this version is less a hack.
To summarize:
imap folder deadlock:
1. do_copy :
.imap command on source lock the imap store
2. camel_imap_folder_fetch_data on destination:
. lock the destination folder
3. do_copy :
. call the hande user tag : wait for lock on the destination
folder cache .
4. camel_imap_folder_fetch_data on destination:
. wait for lock on the imap store to be freed.
Fix: get the lock on the destination folder cache before locking the
imap store (ie before calling the imap command).
Daniel Mustieles [Thu, 31 May 2012 11:14:38 +0000 (13:14 +0200)]
Updated Spanish translation
Daniel Mustieles [Thu, 31 May 2012 10:10:41 +0000 (12:10 +0200)]
Updated Spanish translation
Milan Crha [Thu, 31 May 2012 09:48:46 +0000 (11:48 +0200)]
Bug #673946 - Cannot delete search folders
Milan Crha [Wed, 30 May 2012 16:45:01 +0000 (18:45 +0200)]
Simplify vFolder's code and other bunch of related time optimizations
Matthew Barnes [Tue, 29 May 2012 17:35:58 +0000 (13:35 -0400)]
Bump goa_minimum_version to 3.2.
Just to make it a stable release number.
Matthew Barnes [Sun, 27 May 2012 12:53:27 +0000 (08:53 -0400)]
EFileCache cleanups.
Matej Urbančič [Mon, 28 May 2012 12:56:44 +0000 (14:56 +0200)]
Updated Slovenian translation
Matthew Barnes [Sat, 26 May 2012 16:08:09 +0000 (12:08 -0400)]
libebackend documentation touch ups.
Matthew Barnes [Fri, 25 May 2012 16:15:01 +0000 (12:15 -0400)]
Camel documentation touch ups.
Matthew Barnes [Tue, 22 May 2012 23:55:03 +0000 (19:55 -0400)]
Add e_util_strdup_strip().
Duplicates an input string and strips off any leading or trailing
whitespace. The resulting string is returned unless it is empty or
NULL, in which case the function returns NULL.
Useful in "set" functions for string properties.
Helps avoid expressions like (str != NULL && *str != '\0').
Matthew Barnes [Tue, 22 May 2012 13:11:21 +0000 (09:11 -0400)]
camel_service_disconnect(): Missing break in switch statement.
David Woodhouse [Mon, 21 May 2012 15:45:56 +0000 (16:45 +0100)]
Bug 667725 - imapx_untagged: code should not be reached
This code is evil.
When we scan a folder for new messages, we issue a 'FETCH 1:* (UID FLAGS)'
or similar command.
When we receive an untagged FETCH from the server telling us flags for a
message, we make a decision about whether that information was solicited
by such a command, or whether it was unsolicited.
If it was unsolicited, we process it normally as an asynchronous flags
update and all is well.
If it was solicited, we add the UID to a list. When the FETCH (UID FLAGS)
command *completes*, we'll sort that list and then fetch the full headers
for each message.
However, we weren't very good at telling when an update was solicited.
Assuming that only solicited messages will have a UID is bogus.
This was failing if an unsolicited update came in when the (UID FLAGS)
fetch had completed, and we were already fetching the message headers.
The "new" UID would be added to the end of the list, even if we were
already fetching that message or if we already had it in cache. We'd
issue a FETCH command for it, and the barf when the server complied,
because when the UID list wasn't sorted we wouldn't find the offending
uid when we looked for it.
The simple "fix" for this is to keep a boolean flag 'scan_changes' which
is TRUE only when that FETCH (UID FLAGS) command is running. If a flags
change comes in at any other time, it is definitely unsolicited and
should *not* be added to the uidset. This at least protects us from
having UIDs added after we've sorted the list and started to do other
things with it, which was causing the crash.
In fact, this whole 'solicited' vs. 'unsolicited' thing is a design
mistake. In imapx_untagged() we should never care about what we asked
for and what we didn't. That's why the responses are *untagged*. The
server tells us things about the state of the mailboxes, and we should
process that information into our own local cache — it shouldn't
*matter* what we asked for. But that's a more intrusive fix for another day.
In addition, we were reliably *triggering* this behaviour in some cases
because we had to issue a SELECT for the folder in question before
issuing the FETCH (UID FLAGS) command. And on completion of the SELECT,
if UIDNEXT had increased, we were automatically issuing a *new* FETCH
(UID FLAGS) command starting from the last-known-uid in our cache. This
was entirely gratiutous, so use the same scan_changes boolean flag to
avoid it in that situation.
David Woodhouse [Mon, 21 May 2012 15:42:26 +0000 (16:42 +0100)]
Fix off-by-one in uidset handling for fetches
When we get to the end of the for() loop processing the uidset, the index
variable is one *more* than the last item. That's how for() loops in C
work.
But when we break out of the middle because we are limiting the batch
size, we were forgetting to do the same and we were storing the index
of the last item that we'd already fetched.
This was causing us to re-fetch the last message of one batch, as the
first message of the next batch. Mostly harmless, but spotted and fixed
as part of bug 667725.
David Woodhouse [Mon, 21 May 2012 15:22:36 +0000 (16:22 +0100)]
Bug 676506 - imapx: After QRESYNC leaves us out of sync, a "full resync" doesn't work either.
Always fetch from the beginning of the folder.
David Woodhouse [Sat, 19 May 2012 23:40:53 +0000 (00:40 +0100)]
Bug 676403 - imapx: Syncing folder after server-side deletion of many messages is *very* slow
Fix this by introducing a new camel_folder_change_info_remove_uids()
function, and using it for the 'vanished' code. This reduces the time taken
from about 40ms per message, to about 50µs.
Antoine Jacoutot [Mon, 21 May 2012 00:28:44 +0000 (20:28 -0400)]
Bug 676108 - OpenBSD needs _XOPEN_SOURCE_EXTENDED for strptime(3)
strptime(3) was introduced in XPG4. On OpenBSD, just defining
_XOPEN_SOURCE gets you the older XPG3 which doesn't include strptime(3),
so we need to define _XOPEN_SOURCE_EXTENDED to get XPG4v2.
Fran Diéguez [Sun, 20 May 2012 15:59:37 +0000 (17:59 +0200)]
Updated Galician translations
Philip Withnall [Sat, 19 May 2012 22:16:27 +0000 (23:16 +0100)]
google: Fix a gcc warning in the Google backend
Signed/Unsigned comparison.
Philip Withnall [Sat, 19 May 2012 22:11:31 +0000 (23:11 +0100)]
google: Fix some gcc warnings in the GOA authoriser
Variable shadowing, missing default cases and signed/unsigned comparisons.
Matthew Barnes [Sat, 19 May 2012 17:39:56 +0000 (13:39 -0400)]
Bump Camel's shared object name.
For CamelService connect/disconnect API changes.
Matthew Barnes [Sat, 19 May 2012 16:02:05 +0000 (12:02 -0400)]
Remove camel_service_lock/unlock().
This has been the cause of many deadlocks, and is no longer needed with
CamelService's new asynchronous connect/disconnect API.
Matthew Barnes [Sat, 19 May 2012 12:41:15 +0000 (08:41 -0400)]
CamelService: Rewrite connect/disconnect API.
CamelService now has proper cancellable asynchronous functions for
connect and disconnect operations. The way this works is as follows:
The first service connect request runs asynchronously internally, even
if camel_service_connect_sync() is called. Subsequent connect requests
are queued until the first connect request finishes, then all requests
finish simultaneously with the same result. There are no retries; if
the first request fails, they all fail with the same error.
If a service disconnect is requested with one or more connect requests
outstanding, the connect requests are all cancelled and the disconnect
request runs asynchronously and plays by the same queueing rules.
CamelService's "connection-status" property will immediately reflect any
connect or disconnect requests in progress. Change notification signals
for this property, however, are emitted from CamelSession's main context.