platform/upstream/evolution-data-server.git
11 years agocamel_folder_refresh_info_sync: Connect the CamelService first.
Matthew Barnes [Fri, 12 Jul 2013 01:27:28 +0000 (21:27 -0400)]
camel_folder_refresh_info_sync: Connect the CamelService first.

11 years agoCamelIMAPXSettings: Remove "concurrent-connections" property.
Matthew Barnes [Fri, 12 Jul 2013 00:57:07 +0000 (20:57 -0400)]
CamelIMAPXSettings: Remove "concurrent-connections" property.

No longer used.

11 years agoRemove CamelIMAPXConnManager.
Matthew Barnes [Thu, 11 Jul 2013 18:22:49 +0000 (14:22 -0400)]
Remove CamelIMAPXConnManager.

It turns out CamelIMAPXConnManager's server selection logic has been
broken for some time and we've been operating on a single connection
regardless of the "concurrent-connections" setting.

And you know what?  A single connection works fine.  The only thing
CamelIMAPXConnManager actually does nowadays is occasionally deadlock
because it tries to connect to a server while holding a locked mutex,
which is a major no-no.

CamelIMAPXConnManager is not documented, it's not only NOT doing its
job but is actively causing problems, and I can't seem to wrap my head
around the implications of multiple connections in a CamelService.  So
I decided to just junk it.

New functions:

  camel_imapx_store_ref_server()

Removed functions:

  camel_imapx_store_get_server()
  camel_imapx_store_op_done()

11 years agoCamelIMAPXServer: Stop joining with the parser thread.
Matthew Barnes [Thu, 11 Jul 2013 21:54:58 +0000 (17:54 -0400)]
CamelIMAPXServer: Stop joining with the parser thread.

Don't ever block in a dispose() method.  Pass the parser thread its
own CamelIMAPXServer reference and just let it terminate on its own.

11 years agoCamelIMAPXStore cleanups.
Matthew Barnes [Thu, 11 Jul 2013 23:06:38 +0000 (19:06 -0400)]
CamelIMAPXStore cleanups.

11 years agoCamelIMAPXFolder cleanups.
Matthew Barnes [Thu, 11 Jul 2013 22:09:15 +0000 (18:09 -0400)]
CamelIMAPXFolder cleanups.

11 years agoUpdated Czech translation
Marek Černocký [Fri, 12 Jul 2013 05:45:47 +0000 (07:45 +0200)]
Updated Czech translation

11 years agogoogle: Use CalDAV v2 if OAuth 2.0 support is available.
Matthew Barnes [Tue, 9 Jul 2013 15:42:17 +0000 (11:42 -0400)]
google: Use CalDAV v2 if OAuth 2.0 support is available.

11 years agogoogle: Minor module cleanups.
Matthew Barnes [Tue, 9 Jul 2013 15:49:09 +0000 (11:49 -0400)]
google: Minor module cleanups.

11 years agoCalDAV: Add support for OAuth 2.0 authentication.
Matthew Barnes [Tue, 9 Jul 2013 21:06:16 +0000 (17:06 -0400)]
CalDAV: Add support for OAuth 2.0 authentication.

11 years agoAdd ESoupAuthBearer.
Matthew Barnes [Tue, 9 Jul 2013 18:23:04 +0000 (14:23 -0400)]
Add ESoupAuthBearer.

SoupAuth subclass for use with OAuth 2.0 HTTP authentication.

See http://tools.ietf.org/html/rfc6750

EBackends should use e_source_get_oauth2_access_token() to obtain
the access token and token expiry for an ESource, then pass them to
e_soup_auth_bearer_set_access_token().

11 years agosource_webdav_user_to_method: Don't stomp on custom method names.
Matthew Barnes [Tue, 9 Jul 2013 15:35:39 +0000 (11:35 -0400)]
source_webdav_user_to_method: Don't stomp on custom method names.

This binding might have just been a bad idea on my part, but this
should salvage it without breaking API behavior.

11 years agoUpdated Indonesian translation
Andika Triwidada [Mon, 8 Jul 2013 00:34:22 +0000 (07:34 +0700)]
Updated Indonesian translation

11 years agoPost-release version bump.
Matthew Barnes [Sun, 7 Jul 2013 14:58:59 +0000 (10:58 -0400)]
Post-release version bump.

11 years agoNEWS update for 3.9.4 release.
Matthew Barnes [Sun, 7 Jul 2013 14:32:58 +0000 (10:32 -0400)]
NEWS update for 3.9.4 release.

11 years agoAdd new symbols to API documentation.
Matthew Barnes [Sun, 7 Jul 2013 14:47:43 +0000 (10:47 -0400)]
Add new symbols to API documentation.

11 years agoe_book_backend_sqlitedb_has_contact() used nonexistent column
Milan Crha [Thu, 4 Jul 2013 15:17:49 +0000 (17:17 +0200)]
e_book_backend_sqlitedb_has_contact() used nonexistent column

The function used partial_content column of a respective folder table,
but this is not available anymore, and references to this column are
also no-op these days, thus I made this use the 'uid' column instead.
The failure broke contact removal in evolution-ews.

11 years ago[IMAPX] Server connection is not mandatory when searching folder content
Milan Crha [Thu, 4 Jul 2013 10:35:34 +0000 (12:35 +0200)]
[IMAPX] Server connection is not mandatory when searching folder content

In case the store is kept online, but the server cannot be reached,
like when it's hidden behind the VPN, the IMAPX folder should show
offline content, rather than nothing at all. After all, live server
connection is needed for body-contains only, and only that to not
download all messages in the folder.

11 years agoAvoid a crash in cal_backend_add_cached_timezone().
Matthew Barnes [Wed, 3 Jul 2013 15:40:39 +0000 (11:40 -0400)]
Avoid a crash in cal_backend_add_cached_timezone().

Apparently icaltimezone_get_tzid() can sometimes return NULL.  Check for
NULL before we use it in a hash table lookup, which crashes on NULL keys.

Add a similar check to ECalClient for consistency.

11 years agoBug #703194 - Custom alarm message is REMINDER
Fabiano Fidêncio [Sat, 29 Jun 2013 12:51:13 +0000 (14:51 +0200)]
Bug #703194 - Custom alarm message is REMINDER

11 years agoBug #700894 - LDAP 'Copy for offline' blocks online searches
Milan Crha [Mon, 1 Jul 2013 13:51:21 +0000 (15:51 +0200)]
Bug #700894 - LDAP 'Copy for offline' blocks online searches

11 years agoGError instance use-after-free in collection_backend_load_resources()
Milan Crha [Mon, 1 Jul 2013 10:00:11 +0000 (12:00 +0200)]
GError instance use-after-free in collection_backend_load_resources()

The function uses a shared GError instance in a cycle, and on error
freed the instance with g_error_free() which left the pointer set,
only populated with freed memory, thus the next round, when it eventually
loaded correct source, the function thought it ended with an error
and a GSlice allocator aborted on the g_error_free() call. Resetting
the error variable to NULL after free (by using g_clear_error()) fixes
the crash.

11 years agoBug #703053 - Error on setting reminder 'after start of appointment'
Fabiano Fidêncio [Tue, 25 Jun 2013 12:52:37 +0000 (14:52 +0200)]
Bug #703053 - Error on setting reminder 'after start of appointment'

As EWS doesn't support setting 'after start' reminders, let's create
a new capability to help us when we should avoid to show the option
to the user

11 years agoAllow automatic NTLM authentication unconditionally
David Woodhouse [Thu, 27 Jun 2013 21:09:04 +0000 (22:09 +0100)]
Allow automatic NTLM authentication unconditionally

As part of bug 703181 we retested imapx+NTLM authentication, and it seems
that the NTLM SASL mechanism wasn't allowing the ntlm_auth helper to be used
unless its ->try_empty_password_sync() method was called.

That made sense when this support was first added, since the logic in the
back end would go something like:

  if (try_empty_password())
    { /* Try it and return OK if it worked */ }
  demand_password_from_user()
  ...

However, the setup of the authentication is now different, and the imapx
back end (for example) doesn't even *care* about the password. Adding an
artificial call to camel_sasl_try_empty_password_sync() into the imapx code
seemed like the wrong thing to do; it should be enabled *automatically*.

So do that: try to set up the ntlm_auth helper in sasl_ntlm_challenge_sync()
if we are invoked with no password.

11 years agoBug #697598 - [imapx] Freeze due to calling thread join from main thread
Milan Crha [Thu, 27 Jun 2013 14:37:48 +0000 (16:37 +0200)]
Bug #697598 - [imapx] Freeze due to calling thread join from main thread

11 years agoBug #682322 - SIGSEGV in pop3_folder_refresh_info_sync
Milan Crha [Wed, 26 Jun 2013 16:59:31 +0000 (18:59 +0200)]
Bug #682322 - SIGSEGV in pop3_folder_refresh_info_sync

11 years agoUpdated Spanish translation
Daniel Mustieles [Mon, 24 Jun 2013 14:30:20 +0000 (16:30 +0200)]
Updated Spanish translation

11 years agoCamelFilterDriver: Remove ":filter" debug messages.
Matthew Barnes [Mon, 24 Jun 2013 11:13:33 +0000 (07:13 -0400)]
CamelFilterDriver: Remove ":filter" debug messages.

There's not enough debugging output here to be useful, the debug key
syntax is weird, and I'd like rewrite filter logging to be activated
by CAMEL_DEBUG=filter and give each output line a prefix that's easy
to isolate with grep.

11 years agoEBookBackendLDAP cleanups.
Matthew Barnes [Sat, 6 Apr 2013 15:14:25 +0000 (11:14 -0400)]
EBookBackendLDAP cleanups.

11 years agoMore consistent error messages for missing opt dependencies.
Matthew Barnes [Sun, 23 Jun 2013 00:31:19 +0000 (20:31 -0400)]
More consistent error messages for missing opt dependencies.

11 years agoUOA: Add service-specific descriptions for E-D-S.
Matthew Barnes [Sat, 22 Jun 2013 23:21:28 +0000 (19:21 -0400)]
UOA: Add service-specific descriptions for E-D-S.

This causes each service for a provider to be listed separately in the
Control Center UOA panel, with an independent switch for each service.

11 years agoAdd a desktop file for Ubuntu Online Accounts.
Iain Lane [Sat, 22 Jun 2013 22:45:33 +0000 (18:45 -0400)]
Add a desktop file for Ubuntu Online Accounts.

This is required for E-D-S to show up in the Ubuntu Online Accounts
configuration UI.  It's only installed when built with UOA support.

11 years agoCamelIMAPXStore: Try harder to track settings.
Matthew Barnes [Sat, 22 Jun 2013 13:12:00 +0000 (09:12 -0400)]
CamelIMAPXStore: Try harder to track settings.

Connect a "notify" signal handler to a newly-installed CamelSettings
instance, and emit a "folder-info-stale" signal for certain settings
changes that would ordinarily require an application restart.

Specifically, listen for changes to:

    "use-real-junk-path"
    "use-real-trash-path"
    "use-subscriptions"

11 years agoCamelStore: Add a "folder-info-stale" signal.
Matthew Barnes [Fri, 21 Jun 2013 23:12:12 +0000 (19:12 -0400)]
CamelStore: Add a "folder-info-stale" signal.

This signal indicates significant changes have occurred to the folder
hierarchy of the CamelStore, and that previously fetched CamelFolderInfo
data should be considered stale.

Applications should handle this signal by replacing cached
CamelFolderInfo data for the CamelStore with fresh data by way of
camel_store_get_folder_info().

More often than not this signal will be emitted as a result of user
preference changes rather than actual server-side changes.  For example,
a user may change a preference that reveals a set of folders previously
hidden from view, or that alters whether to augment the CamelStore with
virtual Junk and Trash folders.

This increases sizeof(CamelStoreClass) and its descendants, therefore
the libcamel shared object name has been bumped.

11 years agoFix e_book_backend_summary_is_summary_query()
Milan Crha [Fri, 21 Jun 2013 08:43:37 +0000 (10:43 +0200)]
Fix e_book_backend_summary_is_summary_query()

It didn't check on correct summary fields being used, but on a result
of the expression, which is not correct when there comes a 'not' in it.
This broke "Unmatched" filter in evolution's Contacts view, which is
testing nonexistence of a CATEGORIES attribute in a vCard.

11 years agoUpdated Norwegian bokmål translation
Kjartan Maraas [Thu, 20 Jun 2013 08:47:57 +0000 (10:47 +0200)]
Updated Norwegian bokmål translation

11 years agodata_book_error_from_gdata_error: Make sure we actually set an error.
Matthew Barnes [Mon, 17 Jun 2013 14:46:08 +0000 (10:46 -0400)]
data_book_error_from_gdata_error: Make sure we actually set an error.

Had an instance where the error code didn't match one of the predefined
cases.  The GError never got set, and we crashed trying to deference it.

11 years agoUpdated Lithuanian translation
Aurimas Černius [Sun, 16 Jun 2013 14:55:42 +0000 (17:55 +0300)]
Updated Lithuanian translation

11 years agoPost-release version bump.
Matthew Barnes [Sun, 16 Jun 2013 11:54:30 +0000 (07:54 -0400)]
Post-release version bump.

11 years agoNEWS update for 3.9.3 release.
Matthew Barnes [Sun, 16 Jun 2013 11:32:18 +0000 (07:32 -0400)]
NEWS update for 3.9.3 release.

11 years agoMake the statements explicit when using ternary if
Fabiano Fidêncio [Fri, 14 Jun 2013 16:17:20 +0000 (18:17 +0200)]
Make the statements explicit when using ternary if

Based on:
https://git.gnome.org/browse/evolution-data-server/commit/?id=53a161d1eed173a

11 years agoBug 701797 - UOA: Remove ResponseType and AuthPath from service files
Ken VanDine [Sat, 8 Jun 2013 14:37:28 +0000 (10:37 -0400)]
Bug 701797 - UOA: Remove ResponseType and AuthPath from service files

Remove ResponseType and AuthPath from the Google Contacts / GMail
service files, as it should be handled by the provider and it breaks
OAuth2 authentication with the latest changes to QUrl.

11 years agoBug 701838 - Work around a semantic API break in GObject
Tristan Van Berkom [Sat, 8 Jun 2013 14:12:14 +0000 (10:12 -0400)]
Bug 701838 - Work around a semantic API break in GObject

Recent versions of GObject fire critical messages if properties are
installed outside of class initializers (causing all of EDS tests to
fail).  This patch adds some class data and initializes the class in
the dynamic subclass initializer.

Note that the class data which should normally be freed in the class
finalizer is not freed, since it is a static type the finalizer will
never run (and GLib also takes the liberty of firing critical messages
for specifying a class finalizer).

11 years agoUpdated slovak translation
Marián Čavojský [Wed, 5 Jun 2013 18:40:16 +0000 (20:40 +0200)]
Updated slovak translation

11 years agoBug #699448 - Crash under e_book_backend_ldap_stop_view()
Milan Crha [Wed, 5 Jun 2013 13:57:31 +0000 (15:57 +0200)]
Bug #699448 - Crash under e_book_backend_ldap_stop_view()

11 years agoUpdated Slovenian translation
Matej Urbančič [Mon, 3 Jun 2013 19:40:16 +0000 (21:40 +0200)]
Updated Slovenian translation

11 years agoUpdated Czech translation
Marek Černocký [Mon, 3 Jun 2013 12:37:35 +0000 (14:37 +0200)]
Updated Czech translation

11 years agoBe able to debug SMTP provider separately
Milan Crha [Mon, 3 Jun 2013 11:22:25 +0000 (13:22 +0200)]
Be able to debug SMTP provider separately

One can use CAMEL_DEBUG=smtp to debug only SMTP camel provider.

11 years agoUpdated Galician translations
Fran Diéguez [Sat, 1 Jun 2013 21:35:47 +0000 (23:35 +0200)]
Updated Galician translations

11 years agoBug #672837 - Crash in camel_pop3_engine_command_free
Milan Crha [Fri, 31 May 2013 16:47:06 +0000 (18:47 +0200)]
Bug #672837 - Crash in camel_pop3_engine_command_free

11 years agoAdd camel_imapx_conn_manager_ref_store().
Matthew Barnes [Fri, 31 May 2013 11:17:07 +0000 (07:17 -0400)]
Add camel_imapx_conn_manager_ref_store().

Replaces camel_imapx_conn_manager_get_store(), which is not thread-safe.

Also, track the CamelStore internally with a GWeakRef instead of a weak
pointer, which is also not thread-safe.

11 years agoAdd camel_imapx_command_add_qresync_parameter().
Matthew Barnes [Thu, 30 May 2013 19:00:58 +0000 (15:00 -0400)]
Add camel_imapx_command_add_qresync_parameter().

This splits a big wad of extra logic in imapx_select() out into a nice
and tidy utility function.

One important change, however, is the message sequence match data stops
at the lesser message count reported by the IMAP server vs. our summary.

This is to work around a frequent Zimbra IMAP failure where listing a
message sequence number in a QRESYNC parameter which exceeds the true
message count results in a so-called "parse error" from Zimbra:

   A00010 SELECT INBOX (QRESYNC (... (1,5,10 ...)))
   * 9 EXISTS
   ...
   A00010 BAD parse error: invalid message sequence number: 1,5,10

This scenario can happen if messages have been expunged from the
folder, but our summary has not yet been updated to reflect that.

Not sure if this is a Zimbra bug.  I certainly would not call it a
"parse error", but RFC 5162 is not clear on this detail.

11 years agoMove imapx_get_uid_from_index() to camel-imapx-utils.
Matthew Barnes [Thu, 30 May 2013 17:20:02 +0000 (13:20 -0400)]
Move imapx_get_uid_from_index() to camel-imapx-utils.

Rename it camel_imapx_dup_uid_from_summary_index() and take a
CamelFolder instead of a CamelFolderSummary.

11 years agoUpdated Spanish translation
Daniel Mustieles [Thu, 30 May 2013 15:43:27 +0000 (17:43 +0200)]
Updated Spanish translation

11 years agotest-client-custom-summary.c: Added tests for regex queries
Tristan Van Berkom [Fri, 10 May 2013 08:23:16 +0000 (17:23 +0900)]
test-client-custom-summary.c: Added tests for regex queries

11 years agoEBookBackendSqliteDB: Support regex queries
Tristan Van Berkom [Tue, 23 Apr 2013 08:36:47 +0000 (17:36 +0900)]
EBookBackendSqliteDB: Support regex queries

E_BOOK_QUERY_REGEX_NORMAL is supported in summary queries if the
query field is summarized, E_BOOK_QUERY_REGEX_RAW and normalized
but non-summarized queries are delegated to EBookBackendSexp for
matching.

11 years agoEBookBackendSexp: Support regex query types.
Tristan Van Berkom [Tue, 23 Apr 2013 08:35:54 +0000 (17:35 +0900)]
EBookBackendSexp: Support regex query types.

11 years agoEBookQuery: Added regex query API (bug 701258)
Tristan Van Berkom [Tue, 23 Apr 2013 08:34:54 +0000 (17:34 +0900)]
EBookQuery: Added regex query API (bug 701258)

Added E_BOOK_QUERY_REGEX_NORMAL and E_BOOK_QUERY_REGEX_RAW

11 years agoUpdated Odia Translation.
ManojKumar Giri [Wed, 29 May 2013 16:06:55 +0000 (21:36 +0530)]
Updated Odia Translation.

11 years agoUpdated Odia Translation.
ManojKumar Giri [Wed, 29 May 2013 15:58:37 +0000 (21:28 +0530)]
Updated Odia Translation.

11 years agoPost-release version bump.
Matthew Barnes [Sun, 26 May 2013 15:03:47 +0000 (11:03 -0400)]
Post-release version bump.

11 years agoNEWS update for 3.9.2 release.
Matthew Barnes [Sun, 26 May 2013 14:51:05 +0000 (10:51 -0400)]
NEWS update for 3.9.2 release.

11 years agolibedataserver: Fix some documentation typos.
Matthew Barnes [Fri, 24 May 2013 17:19:47 +0000 (13:19 -0400)]
libedataserver: Fix some documentation typos.

11 years agoImprove error handling in imapx_command_fetch_message_done().
Matthew Barnes [Tue, 21 May 2013 18:54:33 +0000 (14:54 -0400)]
Improve error handling in imapx_command_fetch_message_done().

Spotted a few execution paths where we claim success but have no
stream object for the fetched message.

11 years agocamel_imapx_command_set_error_if_failed() minor cleanup.
Matthew Barnes [Tue, 21 May 2013 18:32:44 +0000 (14:32 -0400)]
camel_imapx_command_set_error_if_failed() minor cleanup.

11 years agoMake CamelNNTPStore a bit more thread-safe.
Matthew Barnes [Tue, 21 May 2013 02:48:40 +0000 (22:48 -0400)]
Make CamelNNTPStore a bit more thread-safe.

* Make CamelNNTPStore's public members private.

* Guard the private CamelNNTPStore members with a mutex.

* Add thread-safe accessors:

    camel_nntp_store_ref_cache()
    camel_nntp_store_ref_stream()
    camel_nntp_store_ref_summary()
    camel_nntp_store_get_current_group()
    camel_nntp_store_dup_current_group()
    camel_nntp_store_set_current_group()
    camel_nntp_store_add_capabilities()
    camel_nntp_store_has_capabilities()
    camel_nntp_store_remove_capabilities()

11 years agoCamelNNTPStore: Remove unused "password_reprompt" flag.
Matthew Barnes [Tue, 21 May 2013 17:26:21 +0000 (13:26 -0400)]
CamelNNTPStore: Remove unused "password_reprompt" flag.

11 years agoCamelNNTPStore: Remove unused "posting_allowed" flag.
Matthew Barnes [Tue, 21 May 2013 17:25:48 +0000 (13:25 -0400)]
CamelNNTPStore: Remove unused "posting_allowed" flag.

11 years agoCamelNNTPStore: Remove unused "extensions" flags.
Matthew Barnes [Tue, 21 May 2013 17:25:07 +0000 (13:25 -0400)]
CamelNNTPStore: Remove unused "extensions" flags.

11 years agoCamelNNTPStore: Remove CamelMemStream member.
Matthew Barnes [Tue, 21 May 2013 00:57:01 +0000 (20:57 -0400)]
CamelNNTPStore: Remove CamelMemStream member.

It's just used for assembling command strings.  Use a GString instead,
and for heaven sake don't make it a public member!  That's not thread-
safe at all.

11 years agoMake CamelPOP3Store a bit more thread-safe.
Matthew Barnes [Mon, 20 May 2013 21:43:46 +0000 (17:43 -0400)]
Make CamelPOP3Store a bit more thread-safe.

* Make CamelPOP3Store's cache and engine members private.

* Guard the private cache and engine members with a mutex.

* Add thread-safe accessors which return a new reference:

    camel_pop3_store_ref_cache()
    camel_pop3_store_ref_engine()

TODO: CamelPOP3Engine itself should also be made thread-safe, but that
      will be considerably more work.  This commit merely prevents the
      CamelPOP3Engine from being finalized while still in use.

11 years agoBug 699597 - Autocomplete using GAL is slow
David Woodhouse [Mon, 20 May 2013 13:14:24 +0000 (14:14 +0100)]
Bug 699597 - Autocomplete using GAL is slow

With large addressbooks, using an inner join which produces hundreds of
thousands of duplicate results, and then filtering them back down to what
we really wanted with 'DISTINCT' is really inefficient. I can't even tell
you *how* inefficient, because it didn't complete a single query in the
hours that I left it running. Switch it to a more sensible outer join and
it completes in a second or so on my 216000-entry address book.

11 years agoUpdated Norwegian bokmål translation
Kjartan Maraas [Mon, 20 May 2013 12:42:29 +0000 (14:42 +0200)]
Updated Norwegian bokmål translation

11 years agoCamelGpgContext: Report decrypt error only if no data was decrypted
Milan Crha [Thu, 16 May 2013 14:15:05 +0000 (16:15 +0200)]
CamelGpgContext: Report decrypt error only if no data was decrypted

When there is a message which is both signed and encrypted in once,
the gpg checks also signature of the sender, and if the sender's key
is not available between user's keys, or it's not trusted, or
the signature is otherwise incorrect, then the gpg returns failure,
which caused no data returned, though the decrypt itself worked
flawlessly.

11 years agotest-intervaltree.c: Include toplevel libical header file
Milan Crha [Thu, 16 May 2013 09:27:35 +0000 (11:27 +0200)]
test-intervaltree.c: Include toplevel libical header file

11 years agoupdated kn translations
Shankar Prasad [Tue, 14 May 2013 09:43:46 +0000 (15:13 +0530)]
updated kn translations

11 years agoupdated kn translations
Shankar Prasad [Tue, 14 May 2013 09:16:10 +0000 (14:46 +0530)]
updated kn translations

11 years agoCamel MH provider can deadlock on folder creation
Milan Crha [Mon, 13 May 2013 17:08:03 +0000 (19:08 +0200)]
Camel MH provider can deadlock on folder creation

This was reported downstream as [1]. The MH provider can deadlock
during folder creation, because it tries to get a new CamelFolder
instance for a folder it is currently creating, which makes
the CamelObjectBag (of CamelFolder-s) wait for itself.

[1] https://bugzilla.redhat.com/show_bug.cgi?id=854017

11 years ago[IMAPX] Set real Trash/Junk folder type as expected
Milan Crha [Mon, 13 May 2013 14:35:46 +0000 (16:35 +0200)]
[IMAPX] Set real Trash/Junk folder type as expected

Thus it's shown with a special icon in a folder tree.

11 years agoBug #699811 - Moved IMAPx messages reappear
Milan Crha [Mon, 13 May 2013 14:28:44 +0000 (16:28 +0200)]
Bug #699811 - Moved IMAPx messages reappear

This affected users whom had configured a real Trash folder.

11 years agoBug 699909 — Do not use toggle_refs in CamelObjectBag
David Woodhouse [Fri, 10 May 2013 20:13:35 +0000 (21:13 +0100)]
Bug 699909 — Do not use toggle_refs in CamelObjectBag

They are broken and not thread-safe. Use GWeakRef instead to fix the
original problem that they were introduced to fix (bug 638810).

11 years agoUpdated Spanish translation
Daniel Mustieles [Thu, 9 May 2013 15:30:54 +0000 (17:30 +0200)]
Updated Spanish translation

11 years agoIMAPX: Fix error message when moving with UID MOVE.
Matthew Barnes [Wed, 8 May 2013 17:37:54 +0000 (13:37 -0400)]
IMAPX: Fix error message when moving with UID MOVE.

Separate commit since this introduces a new translatable string.

11 years agoIMAPX: Support IMAP MOVE extension.
Matthew Barnes [Wed, 8 May 2013 17:30:18 +0000 (13:30 -0400)]
IMAPX: Support IMAP MOVE extension.

http://tools.ietf.org/rfc/rfc6851

11 years agoIMAPX: Add macros for checking server capabilities.
Matthew Barnes [Wed, 8 May 2013 16:20:11 +0000 (12:20 -0400)]
IMAPX: Add macros for checking server capabilities.

These just read better and are more compact.

    CAMEL_IMAPX_HAVE_CAPABILITY(cinfo, capa)
    CAMEL_IMAPX_LACK_CAPABILITY(cinfo, capa)

Both macros evaluate to FALSE if 'cinfo' is NULL.

11 years agoBug 697859 - Google: "Other Fax" is saved as "Business Fax"
Matthew Barnes [Wed, 8 May 2013 14:48:03 +0000 (10:48 -0400)]
Bug 697859 - Google: "Other Fax" is saved as "Business Fax"

The gd:phoneNumber @rel value "http://schemas.google.com/g/2005#fax"
has no clear mapping to an EContact field.

Both it and "http://schemas.google.com/g/2005#other_fax" end up in a
vCard as TEL;TYPE=fax.  But because of the conversion table ordering,
TEL;TYPE=fax was being saved as "#fax" instead of "#other_fax".

Then when reading the contact back from Google, I guess some fallback
logic somewhere was converting "#fax" to "TEL;TYPE="work,fax".  Never
found exactly where that was happening.  Maybe in the Contact Editor?

This commit reorders the conversion table to prefer "#other_fax" over
"#fax".  There's still a conflict where if a Google contact specifies
both "#fax" and "#other_fax" one of the fax numbers may be lost.  But
honestly, who has that many fax machines nowadays?

11 years agogoogle: Remove environment variable check for debugging.
Matthew Barnes [Wed, 8 May 2013 14:38:18 +0000 (10:38 -0400)]
google: Remove environment variable check for debugging.

GLib suppresses debug-level log messages by default now, so just defer
to the G_MESSAGES_DEBUG mechanism to activate debug messages, like so:

  $ export G_MESSAGES_DEBUG=e-book-backend-google
  $ evolution-addressbook-factory

11 years agoCoding style and whitespace cleanup.
Matthew Barnes [Wed, 8 May 2013 13:14:26 +0000 (09:14 -0400)]
Coding style and whitespace cleanup.

11 years agoECalBackendWeather: e_weather_source_new() is failable.
Matthew Barnes [Tue, 7 May 2013 17:51:37 +0000 (13:51 -0400)]
ECalBackendWeather: e_weather_source_new() is failable.

Backend logic was failing to take this into account and crashing if the
weather location code in the ESource was invalid.

I'm not sure if EWeatherSource is even worth keeping around, but I'll
come back to that later.  Not doing an all-out rewrite at the moment.

11 years agoEWeatherSource cleanups.
Matthew Barnes [Tue, 7 May 2013 16:18:47 +0000 (12:18 -0400)]
EWeatherSource cleanups.

11 years agoBug 699024 - [google/yahoo] Don't override username
Matthew Barnes [Mon, 6 May 2013 14:02:41 +0000 (10:02 -0400)]
Bug 699024 - [google/yahoo] Don't override username

When mail child sources are added to a google or yahoo collection, avoid
overriding an existing user name setting.  The IMAP or (especially) SMTP
configuration may have been modified to use a non-Google/Yahoo! server.

11 years agoECalClientView: Make D-Bus signal handlers thread-safe.
Matthew Barnes [Sat, 4 May 2013 13:44:00 +0000 (09:44 -0400)]
ECalClientView: Make D-Bus signal handlers thread-safe.

Seeing crashes now where handler functions for D-Bus signals like
"objects-added" are receiving finalized ECalClientView instances.
Possibly a side-effect of recent changes to GMainContext usage.

Use the trick of passing an allocated GWeakRef along with a suitable
GClosureNotify to g_signal_connect_data().  The handler function will
just return quietly if it can't obtain a strong client view reference.

11 years agoEBookClientView: Make D-Bus signal handlers thread-safe.
Matthew Barnes [Sat, 4 May 2013 14:32:36 +0000 (10:32 -0400)]
EBookClientView: Make D-Bus signal handlers thread-safe.

Seeing crashes now where handler functions for D-Bus signals like
"objects-added" are receiving finalized EBookClientView instances.
Possibly a side-effect of recent changes to GMainContext usage.

Use the trick of passing an allocated GWeakRef along with a suitable
GClosureNotify to g_signal_connect_data().  The handler function will
just return quietly if it can't obtain a strong client view reference.

11 years agoBug 699223 - Emit view signals from context where view was started
Matthew Barnes [Fri, 3 May 2013 17:14:53 +0000 (13:14 -0400)]
Bug 699223 - Emit view signals from context where view was started

This applies to both EBookClientView and ECalClientView.

Incoming D-Bus signals were being propagated to the EClient's main loop
context, but there may not be a running main loop on that thread, so the
main loop sources were never being dispatched and the view signals never
emitted.

Instead use the main loop context which was the thread-default at the
time the view was started, which is often the so-called "main" thread
where a main loop is more likely to be running.

11 years agoIMAPX: Recognize RFC 5530 response codes.
Matthew Barnes [Thu, 2 May 2013 23:34:37 +0000 (19:34 -0400)]
IMAPX: Recognize RFC 5530 response codes.

11 years agoBug 699160 - IMAPX: Always flush debugging messages
Matthew Barnes [Thu, 2 May 2013 21:39:42 +0000 (17:39 -0400)]
Bug 699160 - IMAPX: Always flush debugging messages

Had a debugging scenario where key information was not written to a log
file until another IMAP command was issued.  Caused a bit of confusion.
This commit ensures that won't happen again.

11 years agocamel_imapx_debug() cleanups.
Matthew Barnes [Thu, 2 May 2013 21:38:25 +0000 (17:38 -0400)]
camel_imapx_debug() cleanups.

11 years agoMake camel_mime_message_dump() dump message contents
Dan Williams [Thu, 2 May 2013 20:36:22 +0000 (15:36 -0500)]
Make camel_mime_message_dump() dump message contents

Previously unimplemented.  Dumps in hex and ASCII:

class: CamelMimeMessage
mime-type: text/plain; charset="UTF-8"
content class: CamelDataWrapper
content mime-type: text/plain; charset="UTF-8"
content len 967
    4f 6e 20 54 68 75 2c 20 32 30 31 33 2d 30 35 2d    On Thu, 2013-05-
    30 32 20 61 74 20 31 34 3a 31 37 20 2d 30 35 30    02 at 14:17 -050
    30 2c 20 44 61 6e 20 57 69 6c 6c 69 61 6d 73 20    0, Dan Williams
    77 72 6f 74 65 3a 0a 3e 20 4f 6e 20 54 68 75 2c    wrote:.> On Thu,
    20 32 30 31 33 2d 30 35 2d 30 32 20 61 74 20 31     2013-05-02 at 1
    31 3a 35 33 20 2d 30 37 30 30 2c 20 4c 69 6e 75    1:53 -0700, Linu
    73 20 54 6f 72 76 61 6c 64 73 20 77 72 6f 74 65    s Torvalds wrote
    3a 0a 3e 20 3e 20 4f 6e 20 54 68 75 2c 20 4d 61    :.> > On Thu, Ma
    79 20 32 2c 20 32 30 31 33 20 61 74 20 31 31 3a    y 2, 2013 at 11:

(02:09:38 PM) mbarnes: dcbw: nice, I forgot about camel_mime_message_dump() -- go ahead and commit that

11 years agoBug 699461 - Accept any 2xx HTTP code as successful DELETE
Matthew Barnes [Thu, 2 May 2013 18:48:28 +0000 (14:48 -0400)]
Bug 699461 - Accept any 2xx HTTP code as successful DELETE

11 years agoESource: Fix a compiler warning.
Matthew Barnes [Thu, 2 May 2013 12:55:40 +0000 (08:55 -0400)]
ESource: Fix a compiler warning.