platform/upstream/evolution-data-server.git
10 years agoSwitch from g_timeout_add to g_timeout_add_seconds
Alexandre Franke [Thu, 14 Nov 2013 17:49:15 +0000 (18:49 +0100)]
Switch from g_timeout_add to g_timeout_add_seconds

https://bugzilla.gnome.org/show_bug.cgi?id=712244

10 years agoDisable Nagle algorithm for IMAP connections.
Matthew Barnes [Thu, 14 Nov 2013 13:47:41 +0000 (08:47 -0500)]
Disable Nagle algorithm for IMAP connections.

I think I understand why this was done for the old CamelTcpStream:
the Nagle algorithm interferes with the pipelining of IMAP commands.
I do seem to notice some improved responsiveness after disabling this.
Tried to provide a clearer explanation in the code this time.

10 years agoEBookBackendFile: Reduce uneeded warnings in server logs
Tristan Van Berkom [Thu, 14 Nov 2013 08:40:59 +0000 (17:40 +0900)]
EBookBackendFile: Reduce uneeded warnings in server logs

With this patch, only unknown errors, which the user is not expected
to handle or recover from (such as internal SQLite errors or file system
errors), are warned about in the stderr.

10 years agotest-client-custom-summary.c: Added exact email match test.
Tristan Van Berkom [Wed, 13 Nov 2013 10:08:31 +0000 (19:08 +0900)]
test-client-custom-summary.c: Added exact email match test.

10 years agotest-sqlite-cursor-set-sexp.c: Added test.
Tristan Van Berkom [Mon, 11 Nov 2013 04:37:28 +0000 (13:37 +0900)]
test-sqlite-cursor-set-sexp.c: Added test.

New test steps the cursor after setting a search expression.

10 years agoCamelSession: Remove "network-available" property.
Matthew Barnes [Thu, 14 Nov 2013 04:37:36 +0000 (23:37 -0500)]
CamelSession: Remove "network-available" property.

Too simplistic.

Use CamelNetworkService's "host-reachable" property instead.

10 years agoCamelNetworkService: Disconnect as needed.
Matthew Barnes [Thu, 14 Nov 2013 05:52:47 +0000 (00:52 -0500)]
CamelNetworkService: Disconnect as needed.

Disconnect immediately if the host is not reachable.

10 years agoCamelOfflineStore: Prefer service's "host-reachable" status.
Matthew Barnes [Thu, 14 Nov 2013 04:30:37 +0000 (23:30 -0500)]
CamelOfflineStore: Prefer service's "host-reachable" status.

For some stores, the remote host machine may still not be reachable even
if the network is available.  Common example is a host machine requiring
a virtual private network connection to reach.

If the CamelOfflineStore is also a CamelNetworkService, and the service
indicates the remote host is not reachable, then always return FALSE in
camel_offline_store_get_online().

Also emit "notify::online" along with "notify::host-reachable".

10 years agoRemove "CamelDisco" classes from documentation TOC.
Matthew Barnes [Thu, 14 Nov 2013 04:40:56 +0000 (23:40 -0500)]
Remove "CamelDisco" classes from documentation TOC.

10 years agoRemove CamelDisco{Diary,Folder,Store}.
Matthew Barnes [Wed, 13 Nov 2013 23:09:19 +0000 (18:09 -0500)]
Remove CamelDisco{Diary,Folder,Store}.

These classes are no longer used.

10 years agoNNTP: Move from 'disco' to 'offline' base classes.
Matthew Barnes [Wed, 13 Nov 2013 22:34:02 +0000 (17:34 -0500)]
NNTP: Move from 'disco' to 'offline' base classes.

NNTP was the last user of the old unmaintained 'CamelDisco' classes.

10 years agoECollectionBackend: Implement "proxy-resolver" property.
Matthew Barnes [Wed, 13 Nov 2013 21:16:09 +0000 (16:16 -0500)]
ECollectionBackend: Implement "proxy-resolver" property.

Defined the property but forgot to implement the "get" method.

10 years agoUpdated POTFILES.in
Piotr Drąg [Wed, 13 Nov 2013 20:10:49 +0000 (21:10 +0100)]
Updated POTFILES.in

10 years agoMigrated org.gnome.evolution.shell.network-config.gschema.xml.in to data/ directory.
Tristan Van Berkom [Wed, 13 Nov 2013 12:09:34 +0000 (21:09 +0900)]
Migrated org.gnome.evolution.shell.network-config.gschema.xml.in to data/ directory.

The gsettings schemas need to all be stored and installed from the data/
directory, this is because we compile them locally in-tree and set the
GSETTINGS_SCHEMA_DIR to a local directory in order to run our tests
at make check time (tests dont work without this, instead GSettings wants
to abort for a missing schema).

10 years agoFixing cursor example build.
Tristan Van Berkom [Wed, 13 Nov 2013 08:41:19 +0000 (17:41 +0900)]
Fixing cursor example build.

Enabled warnings in the Makefile.am and fixed them.

10 years agoFix/mute issues found by Coverity scan
Milan Crha [Wed, 13 Nov 2013 08:40:46 +0000 (09:40 +0100)]
Fix/mute issues found by Coverity scan

This makes the code free of Coverity scan issues, except of the doc/
folder. It is sometimes quite pedantic and expects/suggests some
coding habits, thus certain changes may look weird, but for a good
thing, I hope. The code is also tagged with Coverity scan
suppressions, to keep the code as is and hide the warning too.
Also note that Coverity treats g_return_if_fail(), g_assert() and
similar macros as unreliable, and it's true these can be disabled
during the compile time, thus it brings in other set of 'weird'
changes.

10 years agoUpdate libebook-contacts::test-untyped-phones test
Milan Crha [Tue, 12 Nov 2013 13:28:21 +0000 (14:28 +0100)]
Update libebook-contacts::test-untyped-phones test

The test_business has been disabled, because it was failing, but it
was failing even in time of 2.28. Looking briefly into RFC 2426
shows that the 'VOICE' is a default 'TEL' type, but there is no
indication that the left-alone 'WORK' is supposed to be the same
as 'WORK,VOICE' type. Due to this are done these changes.

10 years agoFix 'may be used uninitialized' warnings found by cppcheck
Fabiano Fidêncio [Tue, 12 Nov 2013 12:28:20 +0000 (13:28 +0100)]
Fix 'may be used uninitialized' warnings found by cppcheck

10 years agoSuppress a false-positive cppcheck memleak warning
Vadim Rutkovsky [Tue, 12 Nov 2013 12:27:44 +0000 (13:27 +0100)]
Suppress a false-positive cppcheck memleak warning

Make sure you run cppcheck with ''inline-suppr" to take it into effect.

10 years agoUpdated Malayalam Translation
Anish A [Tue, 12 Nov 2013 08:28:22 +0000 (13:58 +0530)]
Updated Malayalam Translation

10 years agoUpdated Greek translation
Dimitris Spingos [Thu, 7 Nov 2013 08:10:34 +0000 (10:10 +0200)]
Updated Greek translation

10 years agoimapx_untagged_fetch: Fix a possible divide-by-zero error.
Matthew Barnes [Wed, 6 Nov 2013 12:51:49 +0000 (07:51 -0500)]
imapx_untagged_fetch: Fix a possible divide-by-zero error.

10 years agoCamelService: Make "password" property thread-safe.
Matthew Barnes [Tue, 5 Nov 2013 16:26:02 +0000 (11:26 -0500)]
CamelService: Make "password" property thread-safe.

New functions:

  camel_service_dup_password()

10 years agoCamelService: Make "display-name" property thread-safe.
Matthew Barnes [Tue, 5 Nov 2013 16:11:35 +0000 (11:11 -0500)]
CamelService: Make "display-name" property thread-safe.

New functions:

  camel_service_dup_display_name()

10 years agoAdd missing CFLAGS/LIBS in the tests/ Makefile.am-s
Milan Crha [Tue, 5 Nov 2013 21:55:40 +0000 (22:55 +0100)]
Add missing CFLAGS/LIBS in the tests/ Makefile.am-s

If the libical is installed in a different prefix than the one shared
by other CFLAGS, then the test compilation breaks due to failed search
for the <libical/ical.h> include file.

10 years agoUpdated Spanish translation
Daniel Mustieles [Tue, 5 Nov 2013 17:23:25 +0000 (18:23 +0100)]
Updated Spanish translation

10 years agocamel-maildir-summary.h: Remove unused enum.
Matthew Barnes [Tue, 17 Sep 2013 16:11:40 +0000 (12:11 -0400)]
camel-maildir-summary.h: Remove unused enum.

10 years agoCamelNetworkService: Return GIOStream instead of CamelStream.
Matthew Barnes [Sun, 3 Nov 2013 13:50:33 +0000 (08:50 -0500)]
CamelNetworkService: Return GIOStream instead of CamelStream.

Similar to recent CamelDataCache changes.  Instead of wrapping a TCP
connection GIOStream in a CamelStream, return the GIOStream directly
and let callers wrap it if they need to with camel_stream_new().

10 years agoCamelIMAPXFolder: Fix reference leak.
Matthew Barnes [Sun, 3 Nov 2013 22:26:12 +0000 (17:26 -0500)]
CamelIMAPXFolder: Fix reference leak.

10 years agoRemove unused camel_read/write_socket().
Matthew Barnes [Sun, 3 Nov 2013 18:02:23 +0000 (13:02 -0500)]
Remove unused camel_read/write_socket().

10 years agoAdd the other Camel services to API documentation.
Matthew Barnes [Sun, 3 Nov 2013 15:28:32 +0000 (10:28 -0500)]
Add the other Camel services to API documentation.

For developer convenience, and to help me stay disciplined about writing
API documentation... even in provider modules.

10 years agoCamelDataCache: Return GIOStream instead of CamelStream.
Matthew Barnes [Sat, 2 Nov 2013 13:10:33 +0000 (09:10 -0400)]
CamelDataCache: Return GIOStream instead of CamelStream.

Another step toward dropping CamelStream.  Instead of wrapping a local
file GIOStream in a CamelStream, return the GIOStream directly and let
callers wrap it if they need to with camel_stream_new().

10 years agoLimit usage of legacy CamelObject class.
Matthew Barnes [Fri, 1 Nov 2013 15:50:17 +0000 (11:50 -0400)]
Limit usage of legacy CamelObject class.

Only CamelFolder and CamelSession utilize what's left in CamelObject,
which is just binary state files to persistently store a flag or two.

All other Camel classes should inherit directly from GObject.  This
requires a libcamel soname bump since the class structure sizes will
decrease by two pointers (no state_read() and state_write() methods).

10 years agoBug 710989 - Replace most uses of strcpy()
Murray Cumming [Fri, 1 Nov 2013 14:32:23 +0000 (10:32 -0400)]
Bug 710989 - Replace most uses of strcpy()

Because strcpy() can overwrite its buffer.  As with the previous
replacement of sprintf(), some of these could probably be replaced by
g_strdup(), but there could be some performance impact.

This also replaces a use of ICU's austrcpy() with austrncpy().

10 years agoUpdated Galician translations
Fran Diéguez [Fri, 1 Nov 2013 12:07:43 +0000 (13:07 +0100)]
Updated Galician translations

10 years agoAdd --disable-examples to DISTCHECK_CONFIGURE_FLAGS.
Matthew Barnes [Fri, 1 Nov 2013 01:09:30 +0000 (21:09 -0400)]
Add --disable-examples to DISTCHECK_CONFIGURE_FLAGS.

10 years agoConvert IMAPX back to a loadable module.
Matthew Barnes [Fri, 1 Nov 2013 01:00:37 +0000 (21:00 -0400)]
Convert IMAPX back to a loadable module.

Since evolution-kolab is no longer active, convert the IMAPX provider
back to a loadable module so that necessary changes can be made without
affecting libcamel's public API.

The IMAPX chapter of Camel's API documentation will remain, however.

10 years agoe-data-server-util.h: Fix a couple typos.
Matthew Barnes [Tue, 29 Oct 2013 19:07:19 +0000 (15:07 -0400)]
e-data-server-util.h: Fix a couple typos.

10 years agoRemove duplicate "named timeout" docs.
Matthew Barnes [Tue, 29 Oct 2013 16:30:04 +0000 (12:30 -0400)]
Remove duplicate "named timeout" docs.

Oopsie.

10 years agoBug 710808 - Name all the timeouts added with g_timeout_add()
Bastien Nocera [Tue, 29 Oct 2013 16:18:32 +0000 (12:18 -0400)]
Bug 710808 - Name all the timeouts added with g_timeout_add()

10 years agoAdd macros/functions to help name timeouts.
Matthew Barnes [Tue, 29 Oct 2013 15:37:47 +0000 (11:37 -0400)]
Add macros/functions to help name timeouts.

The macros form a name for the timeout GSource implicitly.

New macros:

  e_named_timeout_add()
  e_named_timeout_add_full()
  e_named_timeout_add_seconds()
  e_named_timeout_add_seconds_full()

New functions (called by the macros):

  e_timeout_add_with_name()
  e_timeout_add_seconds_with_name()

10 years agoSupport migrating merged GConf trees.
Matthew Barnes [Mon, 28 Oct 2013 17:44:00 +0000 (13:44 -0400)]
Support migrating merged GConf trees.

Check for and parse a ~/.gconf/%gconf-tree.xml file during migration.
This is mainly for Debian, which I think accidentally merged some users'
GConf trees at some point.

This also adds a command-line program (evolution-scan-gconf-tree-xml),
which parses an arbitrary %gconf-tree.xml file as a recovery measure.

10 years agoCamelIMAPXStatusResponse: Don't assume all values are present.
Matthew Barnes [Thu, 12 Sep 2013 22:23:30 +0000 (18:23 -0400)]
CamelIMAPXStatusResponse: Don't assume all values are present.

Unsolicited STATUS responses may not include all the values that we
normally request in a STATUS command, so just update the mailbox with
the values that are present in the response.

10 years agoCamelIMAPXStoreSummary cleanups.
Matthew Barnes [Thu, 12 Sep 2013 15:58:39 +0000 (11:58 -0400)]
CamelIMAPXStoreSummary cleanups.

CamelIMAPXStoreSummary has no public or private members, so no reason
to cast pointers to that type.  Stick with plain (CamelStoreSummary *).

Removed functions:

  camel_imapx_store_summary_new()

10 years agoHack around default Courier namespaces.
Matthew Barnes [Thu, 12 Sep 2013 13:32:04 +0000 (09:32 -0400)]
Hack around default Courier namespaces.

By default, Courier lists (("INBOX." ".")) for its personal namespaces,
which excludes INBOX itself.  This causes problems for us so check for
it specifically and hack around it where necessary.

10 years agoCamelIMAPXStore: Remove public 'dir_sep' member.
Matthew Barnes [Wed, 11 Sep 2013 21:19:05 +0000 (17:19 -0400)]
CamelIMAPXStore: Remove public 'dir_sep' member.

No longer used.

10 years agoRemove CamelIMAPXStoreNamespace.
Matthew Barnes [Wed, 11 Sep 2013 21:15:50 +0000 (17:15 -0400)]
Remove CamelIMAPXStoreNamespace.

No longer used.

10 years agoRemove CamelIMAPXNamespaceList.
Matthew Barnes [Wed, 11 Sep 2013 21:13:52 +0000 (17:13 -0400)]
Remove CamelIMAPXNamespaceList.

No longer used.

10 years agoRemove camel_imapx_namespace_list_clear().
Matthew Barnes [Wed, 11 Sep 2013 21:10:02 +0000 (17:10 -0400)]
Remove camel_imapx_namespace_list_clear().

No longer used.

10 years agoCamelIMAPXStoreSummary: Remove all public members.
Matthew Barnes [Wed, 11 Sep 2013 21:04:44 +0000 (17:04 -0400)]
CamelIMAPXStoreSummary: Remove all public members.

The 'version' member was not used for anything and we no longer use the
'namespaces' member.  Only the CamelIMAPXServer knows about server-side
mailbox namespaces.  That information is not relevant when offline, and
therefore doesn't need to be cached.

This also removes imapx_fabricate_old_namespace_list() and similar hacks
in CamelIMAPXServer.

10 years agoRemove camel_imapx_store_summary_namespace_find_by_mailbox().
Matthew Barnes [Wed, 11 Sep 2013 20:31:04 +0000 (16:31 -0400)]
Remove camel_imapx_store_summary_namespace_find_by_mailbox().

No longer used.

10 years agoRemove camel_imapx_store_summary_namespace_find_by_path().
Matthew Barnes [Wed, 11 Sep 2013 14:28:39 +0000 (10:28 -0400)]
Remove camel_imapx_store_summary_namespace_find_by_path().

No longer used.

10 years agoRemove camel_imapx_store_summary_path_to_mailbox().
Matthew Barnes [Wed, 11 Sep 2013 14:24:41 +0000 (10:24 -0400)]
Remove camel_imapx_store_summary_path_to_mailbox().

No longer used.

10 years agoRemove camel_imapx_store_summary_mailbox_from_path().
Matthew Barnes [Wed, 11 Sep 2013 12:32:17 +0000 (08:32 -0400)]
Remove camel_imapx_store_summary_mailbox_from_path().

No longer used.

10 years agoRemove imapx_concat().
Matthew Barnes [Tue, 10 Sep 2013 20:11:08 +0000 (16:11 -0400)]
Remove imapx_concat().

No longer used.

10 years agoCamelIMAPXStoreSummary: Stop saving namespace information.
Matthew Barnes [Wed, 11 Sep 2013 20:52:31 +0000 (16:52 -0400)]
CamelIMAPXStoreSummary: Stop saving namespace information.

We don't need namespace information when operating offline.

10 years agoCamelIMAPXFolder: Remove public "on server" members.
Matthew Barnes [Sun, 8 Sep 2013 15:01:55 +0000 (11:01 -0400)]
CamelIMAPXFolder: Remove public "on server" members.

No longer used; the information is now in CamelIMAPXMailbox.

10 years agoRemove camel_imapx_list_response_get_summary_flags().
Matthew Barnes [Thu, 29 Aug 2013 19:04:03 +0000 (15:04 -0400)]
Remove camel_imapx_list_response_get_summary_flags().

No longer used.

10 years agoRemove camel_imapx_folder_process_status_response().
Matthew Barnes [Fri, 30 Aug 2013 20:16:01 +0000 (16:16 -0400)]
Remove camel_imapx_folder_process_status_response().

No longer used.

10 years agoStore QUOTAROOT information in CamelIMAPXMailbox.
Matthew Barnes [Mon, 2 Sep 2013 12:55:22 +0000 (08:55 -0400)]
Store QUOTAROOT information in CamelIMAPXMailbox.

Keep QUOTAROOT information in the named CamelIMAPXMailbox instead of
CamelIMAPXFolder.  Also remove CamelIMAPXFolder's "quota-root-names"
property, since it's no longer used.

Removed functions:

  camel_imapx_folder_dup_quota_root_names()
  camel_imapx_folder_set_quota_root_names()

10 years agocamel_imapx_store_summary_add_from_mailbox: Take a mailbox object.
Matthew Barnes [Wed, 11 Sep 2013 14:44:31 +0000 (10:44 -0400)]
camel_imapx_store_summary_add_from_mailbox: Take a mailbox object.

10 years agoCamelIMAPXServer: Support the SPECIAL-USE capability.
Matthew Barnes [Wed, 4 Sep 2013 01:35:01 +0000 (21:35 -0400)]
CamelIMAPXServer: Support the SPECIAL-USE capability.

http://tools.ietf.org/html/rfc6154

Camel does not yet provide an API for applications to utilize this
information, but we can still capture it in a CamelIMAPXMailbox.

I'm still pondering a suitable application-facing API for this.  I'd
prefer to avoid stuffing this into CamelFolderInfoFlags if I can, as
Camel already overuses / abuses flag values as it is.

10 years agoCamelIMAPXServer: Support the LIST-STATUS capability.
Matthew Barnes [Tue, 3 Sep 2013 20:09:12 +0000 (16:09 -0400)]
CamelIMAPXServer: Support the LIST-STATUS capability.

http://tools.ietf.org/html/rfc5819

Now that untagged LIST and STATUS responses are processed independently
of any tagged commands in progress, utilizing LIST-STATUS is trivial.

10 years agoCamelIMAPXServer: Support the NOTIFY capability.
Matthew Barnes [Sat, 13 Jul 2013 22:49:10 +0000 (18:49 -0400)]
CamelIMAPXServer: Support the NOTIFY capability.

http://tools.ietf.org/html/rfc5465

NOTIFY replaces IDLE when available.

10 years agoCamelIMAPXServer: LIST a mailbox after creating it.
Matthew Barnes [Wed, 11 Sep 2013 17:04:31 +0000 (13:04 -0400)]
CamelIMAPXServer: LIST a mailbox after creating it.

Listing the mailbox will trigger our untagged LIST handler.  This
simulates being notified of a newly-created mailbox, so we can just
let the callback functions handle the bookkeeping.

10 years agoCamelIMAPXFolder: Finish camel_imapx_folder_list_mailbox().
Matthew Barnes [Wed, 4 Sep 2013 16:45:44 +0000 (12:45 -0400)]
CamelIMAPXFolder: Finish camel_imapx_folder_list_mailbox().

Implement the part where we actually issue the LIST command.

10 years agoCamelIMAPXStore: Simplify get_folder_info_offline().
Matthew Barnes [Tue, 10 Sep 2013 20:08:40 +0000 (16:08 -0400)]
CamelIMAPXStore: Simplify get_folder_info_offline().

Forget about namespaces when offline and just match folder paths.

10 years agoRework camel_imapx_server_list().
Matthew Barnes [Wed, 7 Aug 2013 08:18:06 +0000 (10:18 +0200)]
Rework camel_imapx_server_list().

Repurpose camel_imapx_server_list() to create/update CamelIMAPXMailbox
instances within CamelIMAPXServer.  This function no longer returns an
array of CamelIMAPXListResponses, but simply a success/failure boolean.

Also, this function no longer takes an extension string parameter.  If
the server names "LIST-EXTENDED" in its CAPABILITY response, then this
function automatically issues an extended LIST command:

    LIST "" $PATTERN RETURN (CHILDREN SUBSCRIBED)

Otherwise it issues a LIST command followed by an LSUB command:

    LIST "" $PATTERN
    LSUB "" $PATTERN

After camel_imapx_server_list() returns, the caller can then pass the
same $PATTERN string to camel_imapx_server_list_mailboxes() to obtain
an up-to-date list of CamelIMAPXMailbox instances that match $PATTERN.

Also as part of this, we now explicitly only list mailboxes in personal
namespaces.  Listing mailboxes in shared or other users namespaces is a
future enhancement since CamelStore does not yet have a suitable API to
support this properly.

10 years agoCamelIMAPXServer: Emit mailbox-select/mailbox-closed signals.
Matthew Barnes [Fri, 13 Sep 2013 18:52:30 +0000 (14:52 -0400)]
CamelIMAPXServer: Emit mailbox-select/mailbox-closed signals.

10 years agoCamelIMAPXServer: Convert API to CamelIMAPXMailbox.
Matthew Barnes [Tue, 3 Sep 2013 11:05:22 +0000 (07:05 -0400)]
CamelIMAPXServer: Convert API to CamelIMAPXMailbox.

Convert CamelIMAPXServer to primarily use CamelIMAPXMailbox instead of
CamelIMAPXFolder, the idea being to keep all the Camel-specific policy
and limitations relegated to CamelIMAPXStore and CamelIMAPXFolder, and
just have CamelIMAPXServer be a pure IMAP client implementation.

This is a huge commit which I don't like doing, but CamelIMAPXServer,
CamelIMAPXCommand and CamelIMAPXJob are so tightly intertwined that I
was unable to split this into smaller steps.

Added functions:

  camel_imapx_command_ref_mailbox()
  camel_imapx_job_has_mailbox()
  camel_imapx_job_ref_mailbox()
  camel_imapx_job_set_mailbox()
  camel_imapx_server_create_mailbox()
  camel_imapx_server_delete_mailbox()
  camel_imapx_server_rename_mailbox()
  camel_imapx_server_subscribe_mailbox()
  camel_imapx_server_unsubscribe_mailbox()

Removed functions:

  camel_imapx_job_has_folder()
  camel_imapx_job_ref_folder()
  camel_imapx_job_set_mailbox()
  camel_imapx_server_manage_subscription()
  camel_imapx_server_create_folder()
  camel_imapx_server_delete_folder()
  camel_imapx_server_rename_folder()

Modified function signatures:

  camel_imapx_command_new()
  camel_imapx_job_matches()
  camel_imapx_server_refresh_info()
  camel_imapx_server_sync_changes()
  camel_imapx_server_expunge()
  camel_imapx_server_fetch_messages()
  camel_imapx_server_noop()
  camel_imapx_server_get_message()
  camel_imapx_server_copy_message()
  camel_imapx_server_append_message()
  camel_imapx_server_sync_message()
  camel_imapx_server_manage_subscription()
  camel_imapx_server_update_quota_info()
  camel_imapx_server_uid_search()
  imapx_parse_status()

10 years agoCamelIMAPXCommand: Add '%m' format character for mailbox names.
Matthew Barnes [Thu, 12 Sep 2013 12:02:30 +0000 (08:02 -0400)]
CamelIMAPXCommand: Add '%m' format character for mailbox names.

New format character '%m' for UTF-8 mailbox names.  Intended only
for CREATE and RENAME commands which take a user-provided mailbox
name.  Always prefer '%M' if a CamelIMAPXMailbox is available.

10 years agoCamelIMAPXCommand: Replace '%f' format character with '%M'.
Matthew Barnes [Mon, 2 Sep 2013 19:13:43 +0000 (15:13 -0400)]
CamelIMAPXCommand: Replace '%f' format character with '%M'.

Whereas '%f' took a CamelFolder argument and had to be converted to an
IMAP mailbox name (with the correct separator character), '%M' takes a
CamelIMAPXMailbox which already has the IMAP mailbox name.

10 years agoCamelIMAPXStore: Add imapx_store_process_mailbox_status().
Matthew Barnes [Fri, 30 Aug 2013 20:13:08 +0000 (16:13 -0400)]
CamelIMAPXStore: Add imapx_store_process_mailbox_status().

Processes a CamelIMAPXMailbox by adding relevant information to the
CamelIMAPXFolder, and invalidating the local cache if a UIDVALIDITY
change is detected.

10 years agoCamelIMAPXStore: Add imapx_store_process_mailbox_attributes().
Matthew Barnes [Thu, 29 Aug 2013 14:37:16 +0000 (10:37 -0400)]
CamelIMAPXStore: Add imapx_store_process_mailbox_attributes().

Processes a CamelIMAPXMailbox by adding relevant information to the
CamelStoreSummary, and emitting the appropriate CamelStore signals.

10 years agoCamelIMAPXStore: Add imapx_store_add_mailbox_to_folder().
Matthew Barnes [Thu, 29 Aug 2013 13:45:37 +0000 (09:45 -0400)]
CamelIMAPXStore: Add imapx_store_add_mailbox_to_folder().

Called in response to CamelIMAPXServer::mailbox-created signals.

10 years agoCamelIMAPXStore: Rough in handlers for CamelIMAPXServer signals.
Matthew Barnes [Wed, 28 Aug 2013 17:12:30 +0000 (13:12 -0400)]
CamelIMAPXStore: Rough in handlers for CamelIMAPXServer signals.

10 years agoCamelIMAPXFolder: Add camel_imapx_folder_list_mailbox().
Matthew Barnes [Tue, 3 Sep 2013 19:08:52 +0000 (15:08 -0400)]
CamelIMAPXFolder: Add camel_imapx_folder_list_mailbox().

Ensures that a folder's "mailbox" property is set, going so far as to
issue a LIST command if necessary (but should be a rarely needed last
resort).

Note the LIST command part of the function is currently unfinished.
Need to rework LIST command handling in CamelIMAPXServer first.

10 years agoCamelIMAPXServer: Add new namespace and mailbox APIs.
Matthew Barnes [Tue, 27 Aug 2013 22:43:57 +0000 (18:43 -0400)]
CamelIMAPXServer: Add new namespace and mailbox APIs.

CamelIMAPXMailbox and CamelIMAPXNamespace are closely intertwined, so
the containing data structures for them need to be introduced together.

This commit does so, and populates the data structures in memory from
untagged server responses.  It also adds CamelIMAPXServer API to access
or query the data structures.

All of this is so far unutilized.  Actually integrating these APIs into
the other parts of IMAPX will take place in subsequent commits.

New functions:

  camel_imapx_server_ref_namespaces()
  camel_imapx_server_ref_mailbox()
  camel_imapx_server_ref_selected()
  camel_imapx_server_list_mailboxes()

Removed functions:

  imapx_parse_namespace_list()

10 years agoCamelIMAPXFolder: Add a "mailbox" property.
Matthew Barnes [Thu, 29 Aug 2013 13:06:01 +0000 (09:06 -0400)]
CamelIMAPXFolder: Add a "mailbox" property.

Holds a weak reference to the corresponding CamelIMAPXMailbox for the
duration of the IMAP server connection.

New functions:

  camel_imapx_folder_ref_mailbox()
  camel_imapx_folder_set_mailbox()

10 years agoAdd CamelIMAPXMailbox.
Matthew Barnes [Thu, 22 Aug 2013 20:53:52 +0000 (16:53 -0400)]
Add CamelIMAPXMailbox.

CamelIMAPXMailbox models the current state of an IMAP mailbox as
accumulated from untagged IMAP server responses in the current session.

10 years agoAdd CamelIMAPXNamespaceResponse.
Matthew Barnes [Tue, 20 Aug 2013 13:03:23 +0000 (09:03 -0400)]
Add CamelIMAPXNamespaceResponse.

Encapsulates an IMAP NAMESPACE response, which consists of a set of
CamelIMAPXNamespace objects group by CamelIMAPXNamespaceCategory.

This will replace CamelIMAPXNamespaceList and related functions.

10 years agoAdd CamelIMAPXNamespace.
Matthew Barnes [Mon, 19 Aug 2013 12:04:48 +0000 (08:04 -0400)]
Add CamelIMAPXNamespace.

Encapsulates an IMAP namespace, which consists of a namespace category
(personal/other users/shared), a mailbox prefix string, and a mailbox
separator character.

10 years agoAdd camel_imapx_folder_copy_message_map().
Matthew Barnes [Fri, 4 Oct 2013 17:14:21 +0000 (13:14 -0400)]
Add camel_imapx_folder_copy_message_map().

Returns a GSequence of 32-bit integers representing the locally cached
mapping of message sequence numbers to unique identifiers.

10 years agoAdd camel_imapx_list_response_get_oldname().
Matthew Barnes [Fri, 30 Aug 2013 12:38:28 +0000 (08:38 -0400)]
Add camel_imapx_list_response_get_oldname().

Convenience function returns the value of the "OLDNAME" extended data
item, or NULL if no such extended data item is present.

10 years agoBug 710668: ESource: Verify removal before returning
Matthew Barnes [Sat, 26 Oct 2013 21:52:40 +0000 (17:52 -0400)]
Bug 710668: ESource: Verify removal before returning

Similar to bug 685986 when creating ESources, e_source_remove_sync()
now waits for an "object-removed" signal from GDBusObjectManagerClient
before returning.  But because ESource has no direct connection to the
"object-removed" signal, it waits for the ESourceRegistry to strip the
ESource of its D-Bus proxy via __e_source_private_replace_dbus_object().

Here again, to avoid risking a deadlock we place a limit on the wait
time (two seconds).  If this time limit expires, we return from the
function regardless.

10 years agoAdd a test case for bug 710668.
Matthew Barnes [Sat, 26 Oct 2013 18:29:50 +0000 (14:29 -0400)]
Add a test case for bug 710668.

10 years agoEBookClientCursor: Some additional documentation enhancements.
Tristan Van Berkom [Sat, 26 Oct 2013 18:52:28 +0000 (20:52 +0200)]
EBookClientCursor: Some additional documentation enhancements.

Fixed some errors in the examples which were not properly
ported from the old move_by() cursor API, at the same time
enhanced some of the example code snippets.

10 years agoCamel: Remove unused db-scrap-tools/db.c
Matthew Barnes [Sat, 26 Oct 2013 00:35:39 +0000 (20:35 -0400)]
Camel: Remove unused db-scrap-tools/db.c

No idea what this was intended for.

Not built, not documented, therefore not needed.

10 years agoBug 710787 - Replace most uses of sprintf() with g_snprintf()
Murray Cumming [Sat, 26 Oct 2013 00:32:03 +0000 (20:32 -0400)]
Bug 710787 - Replace most uses of sprintf() with g_snprintf()

sprintf() can potentially overwrite the buffer, but g_snprintf() takes
a length to stop it from doing that.

Some of these might instead be replaced by g_strdup_printf().  It is
hard to know if the use of alloca() and sprintf() was just because
g_strdup_printf() did not exist yet, or if alloca() was used for
performance.

10 years agocamel-lock-helper.c cleanups.
Matthew Barnes [Sat, 26 Oct 2013 00:08:53 +0000 (20:08 -0400)]
camel-lock-helper.c cleanups.

10 years agoUpdated POTFILES.in
Piotr Drąg [Fri, 25 Oct 2013 18:01:02 +0000 (20:01 +0200)]
Updated POTFILES.in

10 years agoDeprecate EProxy.
Matthew Barnes [Thu, 10 Oct 2013 14:05:14 +0000 (10:05 -0400)]
Deprecate EProxy.

Proxy settings have moved to ESources.  See the ESourceProxy extension.

10 years agoRemove camel_session_ref_proxy_resolver().
Matthew Barnes [Thu, 10 Oct 2013 17:07:25 +0000 (13:07 -0400)]
Remove camel_session_ref_proxy_resolver().

Short-lived, the function never made it into a release.

Use camel_service_ref_proxy_resolver() instead.

10 years agoCamelService: Add a "proxy-resolver" property.
Matthew Barnes [Thu, 10 Oct 2013 16:48:29 +0000 (12:48 -0400)]
CamelService: Add a "proxy-resolver" property.

Decided this was better than CamelSession's ref_proxy_resolver().

10 years agoCamelService: Rename 'settings_lock' to 'property_lock'.
Matthew Barnes [Thu, 10 Oct 2013 15:51:51 +0000 (11:51 -0400)]
CamelService: Rename 'settings_lock' to 'property_lock'.

10 years agoCamelService: Minor cleanups.
Matthew Barnes [Thu, 10 Oct 2013 16:04:46 +0000 (12:04 -0400)]
CamelService: Minor cleanups.

10 years agoEBookBackendGoogle: Bind to GDataService's GProxyResolver.
Matthew Barnes [Thu, 10 Oct 2013 14:00:20 +0000 (10:00 -0400)]
EBookBackendGoogle: Bind to GDataService's GProxyResolver.

GDataService gained a GProxyResolver property in 0.15.0, but we only
require 0.10.0, so I also added a temporary fallback function to set
a fixed proxy URI.

10 years agoEOwncloudBackend: Bind to SoupSession's GProxyResolver.
Matthew Barnes [Thu, 10 Oct 2013 00:21:28 +0000 (20:21 -0400)]
EOwncloudBackend: Bind to SoupSession's GProxyResolver.

10 years agoECalBackendHttp: Bind to SoupSession's GProxyResolver.
Matthew Barnes [Wed, 9 Oct 2013 22:14:49 +0000 (18:14 -0400)]
ECalBackendHttp: Bind to SoupSession's GProxyResolver.

10 years agoECalBackendCalDAV: Bind to SoupSession's GProxyResolver.
Matthew Barnes [Wed, 9 Oct 2013 22:11:02 +0000 (18:11 -0400)]
ECalBackendCalDAV: Bind to SoupSession's GProxyResolver.