Matthew Barnes [Tue, 3 Sep 2013 21:28:53 +0000 (17:28 -0400)]
CamelIMAPXServer: Relocate command argument stashing.
A CAPABILITY list may be provided through tagged or untagged responses.
Make sure capability-based command arguments get stashed in either case.
Matthew Barnes [Tue, 3 Sep 2013 20:49:06 +0000 (16:49 -0400)]
CamelIMAPXServer: Stash arguments for STATUS command.
Stash a reusable data item string once server capabilities are known.
Matthew Barnes [Tue, 3 Sep 2013 20:14:56 +0000 (16:14 -0400)]
IMAPX: LIST-STATUS is an extension of LIST-EXTENDED.
When capabilities are extensions of other capabilities, make sure the
prerequisite capability flags are set even if the server did not list
them explicitly. LIST-STATUS is one such example.
Luca Ferretti [Tue, 3 Sep 2013 19:27:00 +0000 (21:27 +0200)]
[l10n] Updated Italian translation.
Milan Crha [Tue, 3 Sep 2013 15:42:11 +0000 (17:42 +0200)]
Bug #707034 - vCard param value parsing too strict
Matthew Barnes [Tue, 3 Sep 2013 15:05:09 +0000 (11:05 -0400)]
camel_imapx_server_fetch_messages: Fix redundant expression.
Matthew Barnes [Tue, 3 Sep 2013 11:24:57 +0000 (07:24 -0400)]
CamelIMAPXServer cleanups.
Just reducing diff noise with my feature branch.
Matthew Barnes [Mon, 2 Sep 2013 23:19:23 +0000 (19:19 -0400)]
Remove IMAPX_MODE_READ and IMAPX_MODE_WRITE flags.
We set these flags from READ-ONLY and READ-WRITE response codes in
IMAP status responses but we don't currently do anything with them.
Matthew Barnes [Mon, 2 Sep 2013 17:56:48 +0000 (13:56 -0400)]
CamelIMAPXServer: Move selected folder info to private section.
Matthew Barnes [Sun, 1 Sep 2013 11:49:33 +0000 (07:49 -0400)]
Post-release version bump.
Matthew Barnes [Sun, 1 Sep 2013 11:32:44 +0000 (07:32 -0400)]
NEWS update for 3.9.91 release.
Matthew Barnes [Thu, 29 Aug 2013 15:08:07 +0000 (11:08 -0400)]
CamelIMAPXStore cleanups.
Tristan Van Berkom [Thu, 29 Aug 2013 12:38:49 +0000 (14:38 +0200)]
Added missing copyright attributions.
All of the files effected by this commit have been modified by me
over the last year, just comming back to assign copyright for the
modifications I made.
Matthew Barnes [Wed, 28 Aug 2013 12:28:42 +0000 (08:28 -0400)]
CamelStore: Fix "folder-info-stale" signal comment.
Made the documentation for this signal come out all funky.
Matthew Barnes [Thu, 22 Aug 2013 18:48:11 +0000 (14:48 -0400)]
Add camel_imapx_list_response_dup_attributes().
Returns a GHashTable of mailbox attributes to be used as a set.
Use g_hash_table_contains() and g_hash_table_get_keys() to query
for and list all mailbox attributes, respectively.
Also, internally we now normalize added mailbox attributes to match
the CAMEL_IMAPX_LIST_ATTR_* macros and track them with a GHashTable
instead of a GQueue so duplicates are naturally eliminated.
Matthew Barnes [Wed, 28 Aug 2013 12:12:15 +0000 (08:12 -0400)]
CamelIMAPXServer: Use g_ascii_toupper() instead of toupper().
Matthew Barnes [Wed, 28 Aug 2013 12:09:00 +0000 (08:09 -0400)]
CamelIMAPXServer: Remove some unused definitions.
Matthew Barnes [Wed, 28 Aug 2013 12:01:21 +0000 (08:01 -0400)]
Add camel_imapx_folder_invalidate_local_cache().
Replaces the internal invalidate_local_cache() in camel-imapx-server.c.
Matthew Barnes [Wed, 28 Aug 2013 11:33:31 +0000 (07:33 -0400)]
CamelIMAPXFolder: Remove unused 'raw_name' member.
Matthew Barnes [Wed, 28 Aug 2013 11:29:17 +0000 (07:29 -0400)]
Remove unused camel_imapx_server_command_run().
Marek Černocký [Wed, 28 Aug 2013 09:53:08 +0000 (11:53 +0200)]
Updated Czech translation
Matthew Barnes [Wed, 28 Aug 2013 00:18:33 +0000 (20:18 -0400)]
Remove unused IMAPXJobQueueInfo struct.
Matthew Barnes [Wed, 28 Aug 2013 00:17:46 +0000 (20:17 -0400)]
Remove unused camel_imapx_server_get_job_queue_info().
Matthew Barnes [Wed, 28 Aug 2013 00:15:58 +0000 (20:15 -0400)]
Remove unused camel_imapx_destroy_job_queue_info().
Matthew Barnes [Tue, 27 Aug 2013 23:45:52 +0000 (19:45 -0400)]
Update Camel API documentation.
Aurimas Černius [Tue, 27 Aug 2013 20:56:59 +0000 (23:56 +0300)]
Updated Lithuanian translation
Matthew Barnes [Tue, 27 Aug 2013 14:00:10 +0000 (10:00 -0400)]
camel_imapx_server_list: Pass the LIST pattern verbatim.
The pattern string passed to camel_imapx_server_list() should already be
UTF-7 encoded with any desired wildcards. The pattern string is used in
the LIST or LSUB command verbatim.
Fran Diéguez [Tue, 27 Aug 2013 01:17:38 +0000 (03:17 +0200)]
Updated Galician translations
Matthew Barnes [Mon, 26 Aug 2013 13:38:18 +0000 (09:38 -0400)]
Add camel_imapx_mailbox_to_folder_path().
Replaces camel_imapx_store_summary_mailbox_to_path().
Converts the given mailbox name to a Camel folder path, which just
replaces all hierarchy separator characters with '/'. If '/' appears
in the mailbox name, it is replaced with the hierarchy separator.
Matthew Barnes [Mon, 26 Aug 2013 13:29:05 +0000 (09:29 -0400)]
camel_imapx_mailbox_is_inbox: Minor cleanup.
Rename 'mailbox' parameter to 'mailbox_name'.
Matthew Barnes [Sat, 24 Aug 2013 16:12:08 +0000 (12:12 -0400)]
CamelIMAPXStoreSummary: Add separator characters to the file format.
This bumps the store summary file format version to store hierarchy
separator characters alongside server mailbox names. The separator
character can help identify a mailbox's namespace more reliably.
Matthew Barnes [Sat, 24 Aug 2013 15:35:20 +0000 (11:35 -0400)]
CamelIMAPXStoreSummary: Don't bother with store_info_set_string().
Just set the CamelIMAPXStoreInfo member directly.
Matthew Barnes [Sat, 24 Aug 2013 14:08:47 +0000 (10:08 -0400)]
CamelIMAPXStoreSummary cleanups.
Matthew Barnes [Sat, 24 Aug 2013 13:00:24 +0000 (09:00 -0400)]
CamelIMAPXListResponse: Fix #includes to avoid conflicts.
Matthew Barnes [Sat, 24 Aug 2013 11:24:07 +0000 (07:24 -0400)]
Rename camel_imapx_status_response_get_mailbox().
Rename to camel_imapx_status_response_get_mailbox_name().
I'm working on an actual CamelMailbox class and don't want get_mailbox()
function to be misleading.
Matthew Barnes [Sat, 24 Aug 2013 11:18:57 +0000 (07:18 -0400)]
Rename camel_imapx_list_response_get_mailbox().
Rename to camel_imapx_list_response_get_mailbox_name().
I'm working on an actual CamelMailbox class and don't want get_mailbox()
functions to be misleading.
Matthew Barnes [Sat, 24 Aug 2013 11:08:47 +0000 (07:08 -0400)]
CamelIMAPXServer: Remove unused CamelIMAPXNamespaceList member.
Matthew Barnes [Sat, 24 Aug 2013 11:07:59 +0000 (07:07 -0400)]
CamelIMAPXServer: Remove unused 'job_timeout' member.
Balázs Úr [Wed, 21 Aug 2013 17:02:02 +0000 (19:02 +0200)]
Updated Hungarian translation
Rafael Ferreira [Wed, 21 Aug 2013 01:17:40 +0000 (22:17 -0300)]
Updated Brazilian Portuguese translation
Piotr Drąg [Tue, 20 Aug 2013 21:20:01 +0000 (23:20 +0200)]
Updated Polish translation
Matthew Barnes [Tue, 20 Aug 2013 17:21:28 +0000 (13:21 -0400)]
Rename CamelIMAPXStoreSummary API: 'full' to 'mailbox'.
The namespace code becomes a little clearer with these renames.
Renamed functions:
- camel_imapx_store_summary_namespace_find_path
+ camel_imapx_store_summary_namespace_find_by_path
- camel_imapx_store_summary_namespace_find_full
+ camel_imapx_store_summary_namespace_find_by_mailbox
- camel_imapx_store_summary_full_to_path
+ camel_imapx_store_summary_mailbox_to_path
- camel_imapx_store_summary_path_to_full
+ camel_imapx_store_summary_path_to_mailbox
- camel_imapx_store_summary_full_name
+ camel_imapx_store_summary_mailbox
- camel_imapx_store_summary_add_from_full
+ camel_imapx_store_summary_add_from_mailbox
- camel_imapx_store_summary_full_from_path
+ camel_imapx_store_summary_mailbox_from_path
Matthew Barnes [Tue, 20 Aug 2013 17:07:04 +0000 (13:07 -0400)]
CamelIMAPXStoreInfo: Rename 'full_name' member to 'mailbox'.
I find the 'full_name' versus 'path' terminology to be very confusing.
Replace 'full_name' with 'mailbox' to match IMAP RFC terminology.
Matthew Barnes [Tue, 20 Aug 2013 15:57:28 +0000 (11:57 -0400)]
CamelIMAPXStoreSummary: Remove 'capabilities' member.
Was this intended for caching server capabilities locally? WTF.
Thankfully we weren't actually using it for anything.
Matthew Barnes [Tue, 20 Aug 2013 15:40:26 +0000 (11:40 -0400)]
CamelIMAPXNamespaceList: Remove 'full_name' member.
The 'full_name' member is always identical to 'prefix', so not needed.
Matthew Barnes [Tue, 20 Aug 2013 14:13:33 +0000 (10:13 -0400)]
Remove unused camel_imapx_store_summary_namespace_new().
Matthew Barnes [Tue, 20 Aug 2013 13:52:55 +0000 (09:52 -0400)]
CamelIMAPXStoreNamespace: Rename 'path' member to 'prefix'.
Just so I can grok this stuff easier. The 'path' member stored the
namespace prefix, minus any trailing mailbox separator character from
the NAMESPACE response (which btw is wrong; can't assume a namespace
prefix always has a trailing separator character. e.g. a '~' prefix
for the "other users" namespace).
Matthew Barnes [Mon, 19 Aug 2013 12:04:06 +0000 (08:04 -0400)]
CamelIMAPXListResponse: Fix a documentation typo.
Milan Crha [Tue, 20 Aug 2013 04:51:26 +0000 (06:51 +0200)]
Fix a possible memory leak in sasl_ntlm_try_empty_password_sync()
Piotr Drąg [Sun, 18 Aug 2013 20:36:28 +0000 (22:36 +0200)]
Updated Polish translation
Matthew Barnes [Sun, 18 Aug 2013 09:38:47 +0000 (05:38 -0400)]
Post-release version bump.
Matthew Barnes [Sun, 18 Aug 2013 09:12:07 +0000 (05:12 -0400)]
NEWS update for 3.9.90 release.
Matthew Barnes [Sun, 18 Aug 2013 09:22:23 +0000 (05:22 -0400)]
Bump SOURCES_DBUS_SERVICE_NAME version.
For the addition of the "WithoutPassword" property in
org.gnome.evolution.dataserver.Authenticator.
Matthew Barnes [Sun, 18 Aug 2013 09:20:04 +0000 (05:20 -0400)]
Update API documentation.
Matej Urbančič [Sat, 17 Aug 2013 23:56:30 +0000 (01:56 +0200)]
Updated Slovenian translation
Matthew Barnes [Sat, 17 Aug 2013 16:21:04 +0000 (12:21 -0400)]
Fix typos in imapx_list_response_parse_extended_item().
Matthew Barnes [Sat, 17 Aug 2013 13:52:50 +0000 (09:52 -0400)]
Addendum to the previous commit.
Matthew Barnes [Sat, 17 Aug 2013 13:33:19 +0000 (09:33 -0400)]
CamelIMAPXStore: Obtain a fresh folder list on startup.
Unless we're offline, always obtain a fresh mailbox listing from the
IMAP server on startup. The result of get_folder_info_sync() should
always be as complete and accurate as possible.
Matthew Barnes [Sat, 17 Aug 2013 13:26:40 +0000 (09:26 -0400)]
CamelIMAPXStore: Move folder info refresh stuff to private section.
Matthew Barnes [Sat, 17 Aug 2013 13:20:01 +0000 (09:20 -0400)]
CamelIMAPXStore: Remove unused public members.
Matthew Barnes [Sat, 17 Aug 2013 13:17:41 +0000 (09:17 -0400)]
imapx_store_get_folder_info_sync() cleanups.
Matthew Barnes [Sat, 17 Aug 2013 11:58:34 +0000 (07:58 -0400)]
camel_store_get_folder_info_sync: Connect first unless offline.
Matthew Barnes [Sat, 17 Aug 2013 12:57:38 +0000 (08:57 -0400)]
CamelStoreSummary: Fix another boo boo.
Similarly, don't throw away CamelStoreInfo flags when saving to disk.
Matthew Barnes [Fri, 16 Aug 2013 21:32:39 +0000 (17:32 -0400)]
CamelStoreSummary: Fix a boo boo.
Don't throw away CamelStoreInfo flags, those are kind of important.
Matthew Barnes [Fri, 16 Aug 2013 20:35:17 +0000 (16:35 -0400)]
CamelStoreSummary: Move 'summary_path' member to private section.
Matthew Barnes [Fri, 16 Aug 2013 20:23:11 +0000 (16:23 -0400)]
CamelStoreSummary: Remove CAMEL_STORE_SUMMARY_DIRTY flag.
Just use a gboolean.
Also, the flags value was not used for anything else so remove it.
We still need to load/save a 32-bit value in that spot in the file
to not break binary compatibility, but it's an unused placeholder.
Matthew Barnes [Fri, 16 Aug 2013 20:08:15 +0000 (16:08 -0400)]
CamelStoreSummary: Move header info to private section.
Matthew Barnes [Fri, 16 Aug 2013 19:36:13 +0000 (15:36 -0400)]
Remove CAMEL_STORE_SUMMARY_SUMMARY_LOCK.
Keep this internal to CamelStoreSummary.
Removed functions:
camel_store_summary_lock()
camel_store_summary_unlock()
Matthew Barnes [Fri, 16 Aug 2013 19:28:12 +0000 (15:28 -0400)]
Lock the CamelStoreSummary before invoking store_info_set_string().
Not the best approach since we're invoking unknown code with a mutex
locked, but beats the hell out of exposing the mutex in the public API.
Matthew Barnes [Fri, 16 Aug 2013 19:23:13 +0000 (15:23 -0400)]
Remove camel_store_summary_index().
No longer used.
Matthew Barnes [Fri, 16 Aug 2013 16:23:28 +0000 (12:23 -0400)]
Avoid camel_store_summary_index().
camel_store_summary_index() is only called when looping over summary
items from 0 to camel_store_summary_count(). But this pattern is not
thread-safe, because another thread could add or remove summary items
while the loop is in progress.
Use camel_store_summary_array() instead to avoid these issues.
Matthew Barnes [Fri, 16 Aug 2013 15:36:25 +0000 (11:36 -0400)]
Remove unused CAMEL_STORE_INFO_NAME.
CAMEL_STORE_INFO_NAME is just a variation of the path string,
and makes no sense to use with camel_store_info_set_string().
Matthew Barnes [Fri, 16 Aug 2013 15:30:45 +0000 (11:30 -0400)]
Remove camel_store_info_string().
No longer used, and the class method was pointless.
Matthew Barnes [Fri, 16 Aug 2013 15:11:24 +0000 (11:11 -0400)]
Avoid camel_store_info_string().
It's not like calling the function is any more thread-safe than just
accessing the CamelStoreInfo struct member directly.
Avoid the function so we can get rid of it.
Matthew Barnes [Fri, 16 Aug 2013 14:54:08 +0000 (10:54 -0400)]
Convert camel_store_info_name() macro to a function.
Matthew Barnes [Fri, 16 Aug 2013 14:36:49 +0000 (10:36 -0400)]
Convert camel_store_info_path() macro to a function.
Matthew Barnes [Fri, 16 Aug 2013 14:12:38 +0000 (10:12 -0400)]
Remove unused camel_store_summary_clear().
Was only called from CamelStoreSummary's finalize().
Matthew Barnes [Fri, 16 Aug 2013 14:02:09 +0000 (10:02 -0400)]
Remove unused camel_store_summary_remove_index().
Matthew Barnes [Fri, 16 Aug 2013 13:55:05 +0000 (09:55 -0400)]
Remove unused camel_store_summary_info_new_from_path().
Matthew Barnes [Fri, 16 Aug 2013 13:42:29 +0000 (09:42 -0400)]
Remove unused camel_store_summary_header_load().
Matthew Barnes [Fri, 16 Aug 2013 13:32:32 +0000 (09:32 -0400)]
Remove CAMEL_STORE_SUMMARY_IO_LOCK.
Keep this internal to CamelStoreSummary.
Matthew Barnes [Fri, 16 Aug 2013 13:19:16 +0000 (09:19 -0400)]
Add camel_store_summary_info_unref().
Replaces camel_store_summary_info_free(), although for the moment we'll
retain an alias for backward-compatibility.
Calling a function "free" when it actually only decrements a reference
count is very misleading.
Matthew Barnes [Fri, 16 Aug 2013 12:52:13 +0000 (08:52 -0400)]
Remove CAMEL_STORE_SUMMARY_REF_LOCK.
Use atomic integer operations to ref/unref a CamelStoreInfo struct.
Matthew Barnes [Fri, 16 Aug 2013 12:25:59 +0000 (08:25 -0400)]
CamelStoreSummary: Remove unused "store_info_chunks" member.
This reduces the size of CamelStoreSummary and therefore requires a
libcamel soname bump.
Matthew Barnes [Fri, 16 Aug 2013 12:18:59 +0000 (08:18 -0400)]
camel-store-summary.h readability cleanups.
Milan Crha [Fri, 16 Aug 2013 14:17:53 +0000 (16:17 +0200)]
Bug #703181 - Book/calendar backends can authenticate without password
Chao-Hsiung Liao [Fri, 16 Aug 2013 04:47:58 +0000 (12:47 +0800)]
Updated Traditional Chinese translation(Hong Kong and Taiwan)
Matthew Barnes [Thu, 15 Aug 2013 21:26:00 +0000 (17:26 -0400)]
ECalBackendCalDAV: Override the shutdown() class method.
Allows us to cleanly shut down the slave thread without blocking in
dispose(). This was apparently also causing problems with GWeakRef,
since weak references are destroyed just prior to dispose().
Matthew Barnes [Thu, 15 Aug 2013 21:03:36 +0000 (17:03 -0400)]
ECalBackend: Add a "shutdown" signal.
The "shutdown" signal is emitted when the last client app destroys its
EClient proxy object for a backend. This signals the backend to begin
final cleanup tasks such as synchronizing data to permanent storage.
This increases the size of ECalBackendClass, and therefore requires a
libedata-cal soname bump.
Matthew Barnes [Thu, 15 Aug 2013 21:00:56 +0000 (17:00 -0400)]
EBookBackend: Add a "shutdown" signal.
The "shutdown" signal is emitted when the last client app destroys its
EClient proxy object for a backend. This signals the backend to begin
final cleanup tasks such as synchronizing data to permanent storage.
This increases the size of EBookBackendClass, and therefore requires a
libedata-book soname bump.
Matthew Barnes [Thu, 15 Aug 2013 20:24:52 +0000 (16:24 -0400)]
EDataCalFactory: Work around a GDBus name watching bug.
Calling g_bus_unwatch_name() from a GBusNameVanished callback will
corrupt the function arguments. Work around this GDBus bug [1] by
unwatching the bus name last in the callback.
[1] https://bugzilla.gnome.org/706088
Matthew Barnes [Thu, 15 Aug 2013 19:30:54 +0000 (15:30 -0400)]
EDataCalFactory: Always watch sender's bus name.
Watch the sender's bus name on every new connection so we can clean up
its connections if the bus name vanishes (e.g. client program crashes).
Previously we were only watching the sender's bus name if the backend
instance was created for that connection, but that was unintentional.
Matthew Barnes [Thu, 15 Aug 2013 20:14:56 +0000 (16:14 -0400)]
EDataBookFactory: Work around a GDBus name watching bug.
Calling g_bus_unwatch_name() from a GBusNameVanished callback will
corrupt the function arguments. Work around this GDBus bug [1] by
unwatching the bus name last in the callback.
[1] https://bugzilla.gnome.org/706088
Matthew Barnes [Thu, 15 Aug 2013 19:23:20 +0000 (15:23 -0400)]
EDataBookFactory: Always watch sender's bus name.
Watch the sender's bus name on every new connection so we can clean up
its connections if the bus name vanishes (e.g. client program crashes).
Previously we were only watching the sender's bus name if the backend
instance was created for that connection, but that was unintentional.
Matthew Barnes [Thu, 15 Aug 2013 14:04:12 +0000 (10:04 -0400)]
Rename imapx_select() to imapx_maybe_select().
Just for readability, since the function only actually issues a
SELECT command if it deems it necessary given the current state.
Matthew Barnes [Thu, 15 Aug 2013 13:13:57 +0000 (09:13 -0400)]
GOA: Honor GoaMail's "smtp-use-auth" setting.
Matthew Barnes [Thu, 15 Aug 2013 13:11:58 +0000 (09:11 -0400)]
GOA: Handle IMAP/SMTP settings before handling OAuth settings.
To make sure IMAP/SMTP settings don't override OAuth settings.
Matthew Barnes [Thu, 15 Aug 2013 02:06:31 +0000 (22:06 -0400)]
sync_folders: Return FALSE on error.
Matthew Barnes [Wed, 14 Aug 2013 11:22:52 +0000 (07:22 -0400)]
CamelIMAPXCommandFunc: Remove GError parameter and boolean return.
Callbacks should allocate a GError on the frame stack and hand it to
camel_imapx_job_take_error() before calling imapx_unregister_job().
Matthew Barnes [Tue, 13 Aug 2013 19:21:29 +0000 (15:21 -0400)]
Return a GError in camel_imapx_job_wait().
Despite the improvements in commit dacf161, there is still a disconnect
in error propagation between CamelIMAPXCommand and CamelIMAPXJob in that
completed jobs are still not aware of whether they failed.
This commit lays the foundations for another attempt to bridge the gap,
this time by adding a means of setting an error on a CamelIMAPXJob with
camel_imapx_job_take_error(). We also break API in order to return the
error through camel_imapx_job_wait().
New functions:
camel_imapx_job_take_error()