Antoine Jacoutot [Wed, 11 Sep 2013 13:57:57 +0000 (15:57 +0200)]
do not assume time_t is long
On Linux time_t is long, on OpenBSD time_t is long long... so printf
statements using %lu on 32-bit platforms will break on !Linux.
The only portable way to print a time_t is using a cast and casting to
"long long" (gint64) is probably the most portable way.
https://bugzilla.gnome.org/show_bug.cgi?id=707900
Matthew Barnes [Wed, 11 Sep 2013 12:58:30 +0000 (08:58 -0400)]
imapx_store_rename_folder_info: Readability improvements.
Matthew Barnes [Wed, 11 Sep 2013 11:53:47 +0000 (07:53 -0400)]
CamelIMAPXStore: Clarify ambiguous "guint32 flags" parameters.
Timo Jyrinki [Wed, 11 Sep 2013 06:43:02 +0000 (09:43 +0300)]
Finnish translation update
Ihar Hrachyshka [Tue, 10 Sep 2013 18:12:17 +0000 (21:12 +0300)]
Updated Belarusian translation.
Matthew Barnes [Mon, 9 Sep 2013 17:06:30 +0000 (13:06 -0400)]
Bug 707736 - IMAPX: LSUB response handling broken
The "mailboxes" hash table keys are now mailbox names, not folder paths.
I was getting this mixed up because the hash table was previously passed
around under the generic name "table".
Matthew Barnes [Mon, 9 Sep 2013 17:08:08 +0000 (13:08 -0400)]
CamelIMAPXStore cleanups.
Function and variable renames around collecting mailbox listings.
Matthew Barnes [Mon, 9 Sep 2013 15:19:28 +0000 (11:19 -0400)]
Bug 707116 - IMAPX: Normalize descendants of INBOX
camel_imapx_parse_mailbox() was correctly normalizing INBOX itself,
but leaving descendants of INBOX untouched.
If the IMAP server names INBOX as, let's say, "Inbox" and INBOX has
children, then we would end up parsing LIST responses like so:
LIST "/" "Inbox" -> "INBOX"
LIST "/" "Inbox/Child" -> "Inbox/Child"
This screwed up parent/child relationships in the CamelFolderInfo,
causing "INBOX" and "Inbox" to be represented as separator folders.
Matthew Barnes [Mon, 9 Sep 2013 15:44:49 +0000 (11:44 -0400)]
Add camel_imapx_normalize_mailbox().
Converts the special INBOX mailbox to all caps, if it appears at the
beginning of 'mailbox_name'. The 'mailbox_name' string is modified in
place. The 'separator' character helps reliably identify descendants
of INBOX.
Changwoo Ryu [Sun, 8 Sep 2013 19:56:47 +0000 (04:56 +0900)]
Updated Korean translation
Claude Paroz [Sun, 8 Sep 2013 17:38:35 +0000 (19:38 +0200)]
Updated French translation
Rafael Ferreira [Sat, 7 Sep 2013 17:29:36 +0000 (14:29 -0300)]
Updated Brazilian Portuguese translation proofread by Enrico Nicoletto
Мирослав Николић [Sat, 7 Sep 2013 03:54:17 +0000 (05:54 +0200)]
Updated Serbian translation
Milan Crha [Thu, 5 Sep 2013 07:38:01 +0000 (09:38 +0200)]
Bug #707520 - New detached instance notification not send to clients
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