Matthew Barnes [Sun, 28 Jul 2013 14:23:40 +0000 (10:23 -0400)]
Update API documentation.
Matthew Barnes [Sun, 28 Jul 2013 13:54:47 +0000 (09:54 -0400)]
Miscellaneous cleanups.
Matthew Barnes [Sun, 28 Jul 2013 03:15:51 +0000 (23:15 -0400)]
camel_store_get_folder_info_sync() cleanups.
Milan Crha [Thu, 25 Jul 2013 06:07:12 +0000 (08:07 +0200)]
Bug #704740 - WebDAV - Do not store ETag into REV attribute
Christian Kirbach [Wed, 24 Jul 2013 14:01:16 +0000 (16:01 +0200)]
Updated German translation
Milan Crha [Mon, 22 Jul 2013 16:03:00 +0000 (18:03 +0200)]
Bug #704618 - Missing detached instances in get_object() response
Fabiano Fidêncio [Mon, 22 Jul 2013 12:59:33 +0000 (14:59 +0200)]
Bug #386113 - show custom alarm message in pop-up alerts
Enable this feature only for backends we are completely sure it works.
Only enabled for local calendars (file backend) for now.
Fabiano Fidêncio [Mon, 22 Jul 2013 13:51:54 +0000 (15:51 +0200)]
Fix typo in e_cal_backend_file_get_backend_property()
https://bugzilla.gnome.org/show_bug.cgi?id=386113
Milan Crha [Mon, 22 Jul 2013 09:57:07 +0000 (11:57 +0200)]
Do not use generic error codes in camel_getaddrinfo()/camel_getnameinfo()
It's too hard to distinguish from other provider errors when using
general error codes here, thus rather use CAMEL_SERVICE_ERROR_URL_INVALID.
Marek Černocký [Sun, 21 Jul 2013 19:19:18 +0000 (21:19 +0200)]
Updated Czech translation
Matthew Barnes [Sat, 20 Jul 2013 22:45:46 +0000 (18:45 -0400)]
Fix memory leak in camel_imapx_command_add_qresync_parameter().
Matthew Barnes [Sat, 20 Jul 2013 18:20:16 +0000 (14:20 -0400)]
Bug 704003 - IMAPX: Untagged BYE message while connecting is lost
Do not disconnect the service in imapx_untagged_bye() if we're still
connecting. camel_service_disconnect_sync() will cancel the connect
operation and the server message will get replaced with a generic
"Operation was cancelled" message.
Also, check for and handle errors when calling imapx_untagged() from
imapx_connect_to_server().
Matthew Barnes [Sat, 20 Jul 2013 17:03:24 +0000 (13:03 -0400)]
CamelGpgContext: Enclose email addresses in brackets.
The recipient list for encrypting can be specified by either key ID or
email address. Enclose email addresses in brackets to ensure an exact
match, as per the gpg man page:
HOW TO SPECIFY A USER ID
...
By exact match on an email address.
This is indicated by enclosing the email address in the
usual way with left and right angles.
<heinrichh@uni-duesseldorf.de>
Without the brackets gpg uses a substring match, which risks selecting
the wrong recipient.
Milan Crha [Fri, 19 Jul 2013 10:06:48 +0000 (12:06 +0200)]
Bug #692904 - Do not call camel_service_disconnect during connection phase
Milan Crha [Thu, 18 Jul 2013 16:53:26 +0000 (18:53 +0200)]
Bug #704181 - Froze while filtering messages
Milan Crha [Thu, 18 Jul 2013 16:31:52 +0000 (18:31 +0200)]
Bug #691526 - Memory corruption under e_book_backend_google_start_book_view()
Kjartan Maraas [Thu, 18 Jul 2013 12:25:13 +0000 (14:25 +0200)]
Updated Norwegian bokmål translation
Milan Crha [Thu, 18 Jul 2013 09:34:42 +0000 (11:34 +0200)]
CamelGpgContext: Be aware of gpg2
There can be installed only gpg2, without old gpg executable, but
CamelGpgContext was not aware of that and simply failed to do any
gpg operation due to missing gpg executable.
This was reported as: https://bugzilla.redhat.com/show_bug.cgi?id=985599
Matthew Barnes [Tue, 16 Jul 2013 10:34:02 +0000 (06:34 -0400)]
Bump libecal / libedata-cal soname for API breaks.
Milan Crha [Tue, 16 Jul 2013 10:05:30 +0000 (12:05 +0200)]
Insufficient return values from e_cal_backend_get_object/_list()
These also returned ECalComponent, but it cannot hold a vCalendar,
which is returned when the component has detached instances.
Milan Crha [Tue, 16 Jul 2013 07:01:55 +0000 (09:01 +0200)]
Bug #704220 - Incorrect runtime check in e_data_cal_respond_send_objects()
Matthew Barnes [Mon, 15 Jul 2013 12:25:39 +0000 (08:25 -0400)]
Fix imapx_parse_flags() regression.
Matthew Barnes [Sun, 14 Jul 2013 11:41:26 +0000 (07:41 -0400)]
CamelIMAPXServer: Untagged handler cleanups.
Matthew Barnes [Sun, 14 Jul 2013 13:29:17 +0000 (09:29 -0400)]
CamelIMAPXStream: Return TRUE/FALSE instead of 0/-1.
Affected functions:
camel_imapx_stream_atom()
camel_imapx_stream_astring()
camel_imapx_stream_nstring()
camel_imapx_stream_nstring_stream()
camel_imapx_stream_text()
camel_imapx_stream_number()
camel_imapx_stream_skip()
Matthew Barnes [Sun, 14 Jul 2013 12:45:12 +0000 (08:45 -0400)]
Simplify camel_imapx_stream_number().
Matthew Barnes [Sun, 14 Jul 2013 12:37:06 +0000 (08:37 -0400)]
Simplify camel_imapx_stream_nstring_stream().
Matthew Barnes [Sun, 14 Jul 2013 12:29:11 +0000 (08:29 -0400)]
Simplify camel_imapx_stream_nstring().
Matthew Barnes [Sun, 14 Jul 2013 12:19:48 +0000 (08:19 -0400)]
Simplify camel_imapx_stream_astring().
Matthew Barnes [Sun, 14 Jul 2013 12:15:05 +0000 (08:15 -0400)]
Simplify camel_imapx_stream_atom().
Matthew Barnes [Sun, 14 Jul 2013 02:11:07 +0000 (22:11 -0400)]
CamelIMAPXStore cleanups.
Matthew Barnes [Sun, 14 Jul 2013 11:46:13 +0000 (07:46 -0400)]
Remove IMAPX_TOK_PROTOCOL.
This just makes it awkward to check for errors.
An error is an error, the GError domain should indicate the type.
Matthew Barnes [Sun, 14 Jul 2013 04:50:19 +0000 (00:50 -0400)]
Remove unused CAMEL_STORE_INFO_FOLDER_CHECK_FOR_NEW flag.
Checked for but never set.
Also remove unused CAMEL_FOLDER_CHECK_FOR_NEW flag.
Matthew Barnes [Sun, 14 Jul 2013 03:21:53 +0000 (23:21 -0400)]
Remove unused camel_imapx_namespace_list_copy().
Matthew Barnes [Sun, 14 Jul 2013 03:20:13 +0000 (23:20 -0400)]
Remove unused camel_imapx_store_summary_set_namespaces().
Matthew Barnes [Sun, 14 Jul 2013 04:03:37 +0000 (00:03 -0400)]
Remove unused camel_imapx_store_summary_namespace_set().
Matthew Barnes [Sat, 13 Jul 2013 22:11:45 +0000 (18:11 -0400)]
imapx_reconnect() cleanups.
Matthew Barnes [Fri, 12 Jul 2013 23:29:01 +0000 (19:29 -0400)]
camel_folder_transfer_messages_to_sync: Connect the CamelServices first.
Matthew Barnes [Fri, 12 Jul 2013 23:17:54 +0000 (19:17 -0400)]
camel_folder_expunge_sync: Connect the CamelService first.
Matthew Barnes [Fri, 12 Jul 2013 23:14:54 +0000 (19:14 -0400)]
camel_folder_append_message_sync: Connect the CamelService first.
Matthew Barnes [Fri, 12 Jul 2013 21:09:35 +0000 (17:09 -0400)]
CamelTcpStreamRaw: Don't timeout on reads.
This is needed for IMAP IDLE to work, which sits in a read call for
long periods of time. If this times out then we disconnect from the
server and miss out on mailbox updates.
The timeout was orignally added to work around suspend/resume issues,
but that should be handled by way of GCancellables, not by prematurely
terminating a read call. Prior to reading we connect to GCancellable
and call PR_Interrupt() on cancellation to terminate the read call.
Need to make sure the GCancellable is actually firing when it should,
and that we're not racing it.
Leaving the timeout on write calls in place for now, since that seems
more reasonable.
Matthew Barnes [Fri, 12 Jul 2013 20:26:02 +0000 (16:26 -0400)]
camel_folder_get_message_sync: Recover from dropped connection.
If the requested message is not cached, and the service is online but
disconnected, reconnect before requesting the message. This is meant
to help recover from dropped server connections.
Matthew Barnes [Fri, 12 Jul 2013 17:57:51 +0000 (13:57 -0400)]
CamelIMAPXServer: Remove fixed "use_idle" flag.
Always obtain a fresh value from CamelIMAPXSettings.
Rename imapx_idle_supported() to imapx_use_idle() for better readability
(even if IDLE is supported, the user may prefer not to *use* it).
Further, only call imapx_use_idle() when deciding whether to issue an
IDLE command. Don't need to check imapx_use_idle() when handling state
changes -- if we're already *in* IDLE then we're obviously *using* IDLE.
Matthew Barnes [Fri, 12 Jul 2013 13:08:07 +0000 (09:08 -0400)]
imapx_connect_sync: Fix runtime warning.
Follows from the previous commit.
Matthew Barnes [Fri, 12 Jul 2013 12:49:08 +0000 (08:49 -0400)]
imapx_disconnect_sync: Fix runtime warning.
Bad assumption here. The server could hang up while the
CamelService is still in a CAMEL_SERVICE_CONNECTING state.
Matthew Barnes [Fri, 12 Jul 2013 13:04:52 +0000 (09:04 -0400)]
CamelIMAPXStore: Further cleanups.
Wylmer Wang [Fri, 12 Jul 2013 14:48:59 +0000 (22:48 +0800)]
Updated Chinese simplified translation
tuhaihe [Fri, 12 Jul 2013 14:26:25 +0000 (22:26 +0800)]
Updated Chinese simplified translation
Matthew Barnes [Fri, 12 Jul 2013 02:17:02 +0000 (22:17 -0400)]
camel_folder_synchronize_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.
Matthew Barnes [Fri, 12 Jul 2013 00:57:07 +0000 (20:57 -0400)]
CamelIMAPXSettings: Remove "concurrent-connections" property.
No longer used.
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()
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.
Matthew Barnes [Thu, 11 Jul 2013 23:06:38 +0000 (19:06 -0400)]
CamelIMAPXStore cleanups.
Matthew Barnes [Thu, 11 Jul 2013 22:09:15 +0000 (18:09 -0400)]
CamelIMAPXFolder cleanups.
Marek Černocký [Fri, 12 Jul 2013 05:45:47 +0000 (07:45 +0200)]
Updated Czech translation
Matthew Barnes [Tue, 9 Jul 2013 15:42:17 +0000 (11:42 -0400)]
google: Use CalDAV v2 if OAuth 2.0 support is available.
Matthew Barnes [Tue, 9 Jul 2013 15:49:09 +0000 (11:49 -0400)]
google: Minor module cleanups.
Matthew Barnes [Tue, 9 Jul 2013 21:06:16 +0000 (17:06 -0400)]
CalDAV: Add support for OAuth 2.0 authentication.
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().
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.
Andika Triwidada [Mon, 8 Jul 2013 00:34:22 +0000 (07:34 +0700)]
Updated Indonesian translation
Matthew Barnes [Sun, 7 Jul 2013 14:58:59 +0000 (10:58 -0400)]
Post-release version bump.
Matthew Barnes [Sun, 7 Jul 2013 14:32:58 +0000 (10:32 -0400)]
NEWS update for 3.9.4 release.
Matthew Barnes [Sun, 7 Jul 2013 14:47:43 +0000 (10:47 -0400)]
Add new symbols to API documentation.
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.
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.
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.
Fabiano Fidêncio [Sat, 29 Jun 2013 12:51:13 +0000 (14:51 +0200)]
Bug #703194 - Custom alarm message is REMINDER
Milan Crha [Mon, 1 Jul 2013 13:51:21 +0000 (15:51 +0200)]
Bug #700894 - LDAP 'Copy for offline' blocks online searches
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.
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
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.
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
Milan Crha [Wed, 26 Jun 2013 16:59:31 +0000 (18:59 +0200)]
Bug #682322 - SIGSEGV in pop3_folder_refresh_info_sync
Daniel Mustieles [Mon, 24 Jun 2013 14:30:20 +0000 (16:30 +0200)]
Updated Spanish translation
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.
Matthew Barnes [Sat, 6 Apr 2013 15:14:25 +0000 (11:14 -0400)]
EBookBackendLDAP cleanups.
Matthew Barnes [Sun, 23 Jun 2013 00:31:19 +0000 (20:31 -0400)]
More consistent error messages for missing opt dependencies.
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.
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.
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"
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.
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.
Kjartan Maraas [Thu, 20 Jun 2013 08:47:57 +0000 (10:47 +0200)]
Updated Norwegian bokmål translation
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.
Aurimas Černius [Sun, 16 Jun 2013 14:55:42 +0000 (17:55 +0300)]
Updated Lithuanian translation
Matthew Barnes [Sun, 16 Jun 2013 11:54:30 +0000 (07:54 -0400)]
Post-release version bump.
Matthew Barnes [Sun, 16 Jun 2013 11:32:18 +0000 (07:32 -0400)]
NEWS update for 3.9.3 release.
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
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.
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).
Marián Čavojský [Wed, 5 Jun 2013 18:40:16 +0000 (20:40 +0200)]
Updated slovak translation
Milan Crha [Wed, 5 Jun 2013 13:57:31 +0000 (15:57 +0200)]
Bug #699448 - Crash under e_book_backend_ldap_stop_view()
Matej Urbančič [Mon, 3 Jun 2013 19:40:16 +0000 (21:40 +0200)]
Updated Slovenian translation
Marek Černocký [Mon, 3 Jun 2013 12:37:35 +0000 (14:37 +0200)]
Updated Czech translation
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.
Fran Diéguez [Sat, 1 Jun 2013 21:35:47 +0000 (23:35 +0200)]
Updated Galician translations
Milan Crha [Fri, 31 May 2013 16:47:06 +0000 (18:47 +0200)]
Bug #672837 - Crash in camel_pop3_engine_command_free
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.
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.