platform/upstream/evolution-data-server.git
11 years agoAssamese translation updated
Nilamdyuti Goswami [Fri, 11 Jan 2013 15:44:25 +0000 (21:14 +0530)]
Assamese translation updated

11 years agoBug #691477 - exists_vcard is not supported when parsing a query from string
Milan Crha [Fri, 11 Jan 2013 13:27:38 +0000 (14:27 +0100)]
Bug #691477 - exists_vcard is not supported when parsing a query from string

11 years agoECalBackend: Emit "timezone-added" from outside the cache lock.
Matthew Barnes [Fri, 11 Jan 2013 12:17:19 +0000 (07:17 -0500)]
ECalBackend: Emit "timezone-added" from outside the cache lock.

The "timezone-added" signal triggers e_timezone_cache_list_timezones()
in ECalBackendStore, which also tries to acquire the cache lock.

Similarly in ECalClient, though less chance of deadlock there.

11 years agoBug #690151 - Crash in e_book_backend_file_bump_revision()
Milan Crha [Fri, 11 Jan 2013 11:27:47 +0000 (12:27 +0100)]
Bug #690151 - Crash in e_book_backend_file_bump_revision()

11 years agoCamelMimeFilterPgp: Ignore right side white spaces
Milan Crha [Thu, 10 Jan 2013 19:27:12 +0000 (20:27 +0100)]
CamelMimeFilterPgp: Ignore right side white spaces

11 years agoBug 691466 - Cache reaper restores old IMAP cache directories
Matthew Barnes [Thu, 10 Jan 2013 12:03:11 +0000 (07:03 -0500)]
Bug 691466 - Cache reaper restores old IMAP cache directories

Alter the name of the cache directory when moving it to trash.

11 years agoBug #690177 - Use trust-prompt for certificate verification in WebDAV backends
Milan Crha [Wed, 9 Jan 2013 22:03:37 +0000 (23:03 +0100)]
Bug #690177 - Use trust-prompt for certificate verification in WebDAV backends

11 years agoECalBackendStore: Better ensure final save works.
Matthew Barnes [Wed, 9 Jan 2013 19:12:53 +0000 (14:12 -0500)]
ECalBackendStore: Better ensure final save works.

Collect what we need from ETimezoneCache when we schedule the save
instead of relying on ETimezoneCache when we actually do the save.

11 years agoRevert "Add e_cal_backend_store_save()."
Matthew Barnes [Wed, 9 Jan 2013 19:24:30 +0000 (14:24 -0500)]
Revert "Add e_cal_backend_store_save()."

This reverts two commits:

    a68f14d5573b72ada7e04d090af47f879455e0bc
    ad12a30f349d5ca1a44fcdd607d272a8149ab9cf

Thought of a better way to solve the final save problem that doesn't
involve adding new API or modifying backends.

11 years agoweather: Fix build break.
Matthew Barnes [Wed, 9 Jan 2013 17:36:12 +0000 (12:36 -0500)]
weather: Fix build break.

It helps to actually build the weather backend when changing it.
Forgot I had configured E-D-S with --disable-weather.

11 years agoSave changes before finalizing ECalBackendStore.
Matthew Barnes [Wed, 9 Jan 2013 17:02:00 +0000 (12:02 -0500)]
Save changes before finalizing ECalBackendStore.

11 years agoAdd e_cal_backend_store_save().
Matthew Barnes [Wed, 9 Jan 2013 16:53:32 +0000 (11:53 -0500)]
Add e_cal_backend_store_save().

This function cancels the automatic save delay and saves changes to
disk immediately.  If no changes have been made since the last save,
the function does nothing.

11 years ago[http calendar] Ref backend inside source_changed_cb()
Milan Crha [Wed, 9 Jan 2013 14:41:10 +0000 (15:41 +0100)]
[http calendar] Ref backend inside source_changed_cb()

In certain situation, the backend can be freed while the callback
is still in action, then the factory can crash inside
cal_backend_http_ensure_uri() or such.

11 years agoBug 690158 - libedataserver: Vala binding updates
Alban Browaeys [Tue, 8 Jan 2013 15:57:39 +0000 (10:57 -0500)]
Bug 690158 - libedataserver: Vala binding updates

11 years agoCamelObject: Suppress state file warnings for old IMAP accounts.
Matthew Barnes [Tue, 8 Jan 2013 15:00:30 +0000 (10:00 -0500)]
CamelObject: Suppress state file warnings for old IMAP accounts.

CamelImapFolder had a persistent "check-folder" property whose value was
recorded in Camel's binary state files under tag 0x2500.  This property
is not present in CamelIMAPXFolder, but we may still be reading the tag
for accounts that were migrated from IMAP to IMAPX.  Check for that tag
value while reading state files and suppress the runtime warning.

11 years agoUpdated German translation
Christian Kirbach [Tue, 8 Jan 2013 13:47:27 +0000 (14:47 +0100)]
Updated German translation

11 years agoweather: Fix build break.
Matthew Barnes [Sat, 5 Jan 2013 06:02:37 +0000 (01:02 -0500)]
weather: Fix build break.

11 years agoECalBackendFile: Override the ETimezoneCache methods.
Matthew Barnes [Fri, 4 Jan 2013 19:52:07 +0000 (14:52 -0500)]
ECalBackendFile: Override the ETimezoneCache methods.

This backend stores time zone data directly in an icalcomponent,
so it needs to override the ETimezoneCacheInterface implementation
provided by ECalBackend, which uses a hash table.

11 years agoRemove e_cal_backend_store_put_timezone().
Matthew Barnes [Fri, 4 Jan 2013 18:03:43 +0000 (13:03 -0500)]
Remove e_cal_backend_store_put_timezone().

Use the ETimezoneCache API instead:

    cache = e_cal_backend_store_ref_timezone_cache (store);
    e_timezone_cache_add_timezone (cache, zone);
    g_object_unref (cache);

This is another API break.  3rd party backends will have to be adjusted.

11 years agoRemove e_cal_backend_store_get_timezone().
Matthew Barnes [Fri, 4 Jan 2013 17:50:30 +0000 (12:50 -0500)]
Remove e_cal_backend_store_get_timezone().

Use the ETimezoneCache API instead:

    cache = e_cal_backend_store_ref_timezone_cache (store);
    zone = e_timezone_cache_get_timezone (cache, tzid);
    ... do what you gotta do with zone ...
    g_object_unref (cache);

This is another API break.  3rd party backends will have to be adjusted.

11 years agoECalBackend: Remove internal_get_timezone() method.
Matthew Barnes [Thu, 3 Jan 2013 16:49:44 +0000 (11:49 -0500)]
ECalBackend: Remove internal_get_timezone() method.

No longer needed since ECalBackend implements ETimezoneCache.

Use e_timezone_cache_get_timezone() instead.

Removed functions:

    e_cal_backend_internal_get_timezone()

This is another API break.  3rd party backends will have to be adjusted.

11 years agoECalBackendSExp: Take an ETimezoneCache instead of ECalBackend.
Matthew Barnes [Thu, 3 Jan 2013 16:35:15 +0000 (11:35 -0500)]
ECalBackendSExp: Take an ETimezoneCache instead of ECalBackend.

Here's the real reason for the ETimezoneCache interface.

By changing ECalBackend parameters to ETimezoneCache (an interface which
ECalBackend implements), we abstract away the requirement for a calendar
backend when performing S-expression evaluation.

Since ECalClient also implements the ETimezoneCache interface, this opens
the possibility of allowing client-side S-expression evaluation.  (Would
first require moving ECalBackendSExp to libecal, plus of course a rename
to omit the "Backend" part.)

Affected functions:

    e_cal_backend_sexp_match_object()
    e_cal_backend_sexp_match_comp()

This is another API break.  3rd party backends will have to be adjusted.

11 years agoECalBackendStore: Add a "timezone-cache" construct-only property.
Matthew Barnes [Thu, 3 Jan 2013 15:26:51 +0000 (10:26 -0500)]
ECalBackendStore: Add a "timezone-cache" construct-only property.

Instead of keeping its own an internal hash table of icaltimezones, have
ECalBackendStore take an ETimezoneCache in e_cal_backend_store_new().

Usually the ETimezoneCache will be an ECalBackend, which implements the
ETimezoneCache interface and owns the ECalBackendStore.  For that reason,
the store only keeps a weak reference on its ETimezoneCache to avoid a
reference cycle.

New functions:

    e_cal_backend_store_ref_timezone_cache()

This is an API break.  3rd party backends will have to be adjusted.

11 years agoe_cal_backend_store_set_default_timezone(): Remove const qualifier.
Matthew Barnes [Thu, 3 Jan 2013 15:05:10 +0000 (10:05 -0500)]
e_cal_backend_store_set_default_timezone(): Remove const qualifier.

Same justification as previous commit.

11 years agoe_cal_backend_store_put_timezone(): Remove const qualifier.
Matthew Barnes [Thu, 3 Jan 2013 14:52:07 +0000 (09:52 -0500)]
e_cal_backend_store_put_timezone(): Remove const qualifier.

Semantics have not changed, but the const qualifier is unnecessary.
None of the icaltimezone API uses const, not even the "get" functions.
So to declare an icaltimezone parameter as const creates type casting
awkwardness on our end.

11 years agoRemove unused e_cal_backend_cache_remove_timezone().
Matthew Barnes [Thu, 3 Jan 2013 14:13:21 +0000 (09:13 -0500)]
Remove unused e_cal_backend_cache_remove_timezone().

11 years agoRemove unused e_cal_backend_store_remove_timezone().
Matthew Barnes [Thu, 3 Jan 2013 14:11:17 +0000 (09:11 -0500)]
Remove unused e_cal_backend_store_remove_timezone().

11 years agoRemove unused e_cal_backend_store_remove().
Matthew Barnes [Thu, 3 Jan 2013 14:22:53 +0000 (09:22 -0500)]
Remove unused e_cal_backend_store_remove().

11 years agoECalBackend: Implement the ETimezoneCache interface.
Matthew Barnes [Thu, 3 Jan 2013 13:37:26 +0000 (08:37 -0500)]
ECalBackend: Implement the ETimezoneCache interface.

11 years agoECalClient: Implement the ETimezoneCache interface.
Matthew Barnes [Wed, 2 Jan 2013 19:28:14 +0000 (14:28 -0500)]
ECalClient: Implement the ETimezoneCache interface.

11 years agoAdd ETimezoneCache interface.
Matthew Barnes [Wed, 2 Jan 2013 19:26:14 +0000 (14:26 -0500)]
Add ETimezoneCache interface.

Several classes (both client-side and server-side) cache icaltimezone
instances internally, indexed by their TZID strings.  Classes which do
this should implement ETimezoneCacheInterface to provide a consistent
API for accessing time zone data.

11 years agoMerge ECalBackendFileStore into ECalBackendStore.
Matthew Barnes [Wed, 2 Jan 2013 16:18:44 +0000 (11:18 -0500)]
Merge ECalBackendFileStore into ECalBackendStore.

ECalBackendStore is an abstract base class [1], and ECalBackendFileStore
is a subclass that stores calendar components in an iCalendar file.  But
ECalBackendFileStore is the only subclass in existence, so the abstract
base class is unnecessary.

Have ECalBackendStore implement ECalBackendFileStore by default and drop
ECalBackendFileStore as a separate class.  The operations are written as
virtual class methods, so we can still override the class methods from a
new subclass if a need should arise.

New functions:

    e_cal_backend_store_new()

Removed functions:

    e_cal_backend_file_store_new()

[1] Or at least is supposed to be abstract.  Someone forgot to define
    the GType with G_DEFINE_ABSTRACT_TYPE.

11 years agoBump libedata-cal shared object name.
Matthew Barnes [Thu, 3 Jan 2013 18:16:55 +0000 (13:16 -0500)]
Bump libedata-cal shared object name.

I'll be changing parts of the API in subsequent commits.

11 years agoRemove unused LIBSOUP_REQUIRED definition.
Matthew Barnes [Fri, 4 Jan 2013 16:28:40 +0000 (11:28 -0500)]
Remove unused LIBSOUP_REQUIRED definition.

11 years agoUse version-based libsoup warnings.
Matthew Barnes [Fri, 4 Jan 2013 16:22:30 +0000 (11:22 -0500)]
Use version-based libsoup warnings.

Apparently libsoup IS already using versioned deprecations.  Excellent!

Use SOUP_VERSION_MAX_ALLOWED to warn if we accidentally use symbols that
were introduced in libsoup versions subsequent to our minimum requirement.

Use SOUP_VERSION_MIN_REQUIRED to suppress libsoup deprecation warnings by
version so we can clean them up incrementally.

11 years agoBug 691033 - Avoid using LIBSOUP_DISABLE_DEPRECATED
Hashem Nasarat [Wed, 2 Jan 2013 20:54:11 +0000 (15:54 -0500)]
Bug 691033 - Avoid using LIBSOUP_DISABLE_DEPRECATED

Prevent E-D-S builds from suddenly breaking because of new deprecations
in libsoup.  Case in point: soup_session_sync_new().

If libsoup starts using versioned deprecations like glib and gtk+ are
already doing, then we can disable libsoup symbols that were deprecated
in versions older than our minimum requirement.  That would allow us to
clean up deprecations gradually rather than dealing with bugs like this.

11 years agoAssamese translation updated
Nilamdyuti Goswami [Wed, 2 Jan 2013 11:51:05 +0000 (17:21 +0530)]
Assamese translation updated

11 years agoUpdated POTFILES.in
Piotr Drąg [Mon, 31 Dec 2012 19:53:54 +0000 (20:53 +0100)]
Updated POTFILES.in

11 years agogoogle: Add EGDataOAuth2Authorizer.
Matthew Barnes [Mon, 31 Dec 2012 03:12:19 +0000 (22:12 -0500)]
google: Add EGDataOAuth2Authorizer.

This will eventually replace EGDataGoaAuthorizer once we require
GNOME Online Accounts 3.8.  It obtains an OAuth 2.0 access token
using e_source_get_oauth2_access_token_sync() and avoid a direct
dependency on GNOME Online Accounts (or similar frameworks).

E-D-S 3.8 will still support older versions of GNOME Online Accounts,
which use OAuth 1.0a for Google authentication.  So the earliest that
EGDataGoaAuthorizer will die is E-D-S 3.9.1.

11 years agogoogle-backend: Populate [Authentication] group for contacts.
Matthew Barnes [Sat, 29 Dec 2012 17:42:24 +0000 (12:42 -0500)]
google-backend: Populate [Authentication] group for contacts.

Set the Host to "www.google.com" and Method to either "OAuth2" or
"ClientLogin", depending on whether EOAuth2Support is available.

A temporary corner case occurs when using an older GNOME Online Accounts
version, which uses OAuth 1.0a instead of 2.0 for Google authentication.
In that case, the Method will say "ClientLogin" but the Google address
book backend will ignore it and use its EGDataGoaAuthorizer.

11 years agognome-online-accounts: Implement EOAuth2Support interface.
Matthew Barnes [Sat, 29 Dec 2012 00:45:04 +0000 (19:45 -0500)]
gnome-online-accounts: Implement EOAuth2Support interface.

11 years agocollection_backend_child_added: Inherit OAuth 2.0 support.
Matthew Barnes [Sat, 29 Dec 2012 14:42:08 +0000 (09:42 -0500)]
collection_backend_child_added: Inherit OAuth 2.0 support.

Collection children will inherit the collection source's EOAuth2Support
object if set.  That way OAuth 2.0 availability is consistent across the
entire collection, even if it's not USED by all sources in the collection.

11 years agoEServerSideSource: Add "oauth2-support" property.
Matthew Barnes [Sat, 29 Dec 2012 14:01:03 +0000 (09:01 -0500)]
EServerSideSource: Add "oauth2-support" property.

This is the object providing OAuth 2.0 support by implementing the
EOAuth2Support interface.  Setting this property to a non-NULL value
automatically exports the OAuth2Support D-Bus interface.

New functions:

    e_server_side_source_ref_oauth2_support()
    e_server_side_source_set_oauth2_support()

11 years agolibebackend: Add EOAuth2Support interface.
Matthew Barnes [Fri, 28 Dec 2012 23:21:30 +0000 (18:21 -0500)]
libebackend: Add EOAuth2Support interface.

Standard server-side interface to be implemented by E-D-S modules
providing OAuth 2.0 support for ESources.

11 years agoESource: Add get_oauth2_access_token_sync() class method.
Matthew Barnes [Fri, 28 Dec 2012 16:56:08 +0000 (11:56 -0500)]
ESource: Add get_oauth2_access_token_sync() class method.

Obtains an access token and its expiry in seconds for data sources that
support OAuth 2.0.

This also adds corresponding asynchronous class methods.

New functions:

    e_source_get_oauth2_access_token_sync()
    e_source_get_oauth2_access_token()
    e_source_get_oauth2_access_token_finish()

11 years agoAdd OAuth2Support D-Bus interface.
Matthew Barnes [Fri, 28 Dec 2012 13:37:39 +0000 (08:37 -0500)]
Add OAuth2Support D-Bus interface.

Backends will be able to obtain OAuth 2.0 access tokens through this
interface instead of talking directly to an "online accounts" service.

11 years agoAdd e_source_registry_server_find_extension().
Matthew Barnes [Mon, 31 Dec 2012 14:02:00 +0000 (09:02 -0500)]
Add e_source_registry_server_find_extension().

Server-side equivalent of e_source_registry_find_extension().

Use it in e_source_registry_server_ref_backend().

11 years agoe-source-registry.c: Minor code reordering.
Matthew Barnes [Mon, 31 Dec 2012 13:50:30 +0000 (08:50 -0500)]
e-source-registry.c: Minor code reordering.

11 years agoUpdated Spanish translation
Daniel Mustieles [Mon, 31 Dec 2012 11:17:57 +0000 (12:17 +0100)]
Updated Spanish translation

11 years agoUpdated Brazilian Portuguese Translation based on branch gnome-3-6
Rafael Ferreira [Thu, 27 Dec 2012 01:38:37 +0000 (23:38 -0200)]
Updated Brazilian Portuguese Translation based on branch gnome-3-6

11 years agoFix typo in libedataserver API docs.
Matthew Barnes [Fri, 28 Dec 2012 14:01:49 +0000 (09:01 -0500)]
Fix typo in libedataserver API docs.

11 years agoFurther API doc cleanups.
Matthew Barnes [Thu, 27 Dec 2012 15:14:51 +0000 (10:14 -0500)]
Further API doc cleanups.

11 years agoprivate: Fix cross-references to D-Bus interfaces in API docs.
Matthew Barnes [Thu, 27 Dec 2012 14:52:54 +0000 (09:52 -0500)]
private: Fix cross-references to D-Bus interfaces in API docs.

11 years agoprivate: Add generated DocBook files to BUILT_SOURCES.
Matthew Barnes [Thu, 27 Dec 2012 14:09:32 +0000 (09:09 -0500)]
private: Add generated DocBook files to BUILT_SOURCES.

11 years agoprivate: Reduce the number of sections in API docs.
Matthew Barnes [Thu, 27 Dec 2012 13:19:33 +0000 (08:19 -0500)]
private: Reduce the number of sections in API docs.

Combine the interface, proxy, and skeleton APIs for each D-Bus
interface into one Gtk-Doc section.  GNOME Online Accounts does this
and it's cleaner and easier to navigate from the Table of Contents.

11 years agoAssamese translation updated
Nilamdyuti Goswami [Thu, 27 Dec 2012 15:30:32 +0000 (21:00 +0530)]
Assamese translation updated

11 years agoUpdate Galician translations
Fran Diéguez [Mon, 24 Dec 2012 23:01:07 +0000 (00:01 +0100)]
Update Galician translations

11 years agoUpdated Galician translations
Fran Diéguez [Mon, 24 Dec 2012 22:59:15 +0000 (23:59 +0100)]
Updated Galician translations

11 years agoUpdated Greek translation
Dimitris Spingos [Mon, 24 Dec 2012 15:01:07 +0000 (17:01 +0200)]
Updated Greek translation

11 years agoBug 665371 - Decommission legacy IMAP backend
Matthew Barnes [Mon, 24 Dec 2012 13:48:52 +0000 (08:48 -0500)]
Bug 665371 - Decommission legacy IMAP backend

"IMAPX" is now our one and only IMAP backend for Camel.  \o/

11 years agoAdd automatic IMAP to IMAPX account migration.
Matthew Barnes [Mon, 24 Dec 2012 13:43:53 +0000 (08:43 -0500)]
Add automatic IMAP to IMAPX account migration.

Uses the new "tweak-key-file" ESourceRegistryServer signal.

11 years agoFix some file header comments.
Matthew Barnes [Mon, 24 Dec 2012 05:19:20 +0000 (00:19 -0500)]
Fix some file header comments.

11 years agoESourceRegistryServer: Add a "tweak-key-file" signal.
Matthew Barnes [Mon, 24 Dec 2012 04:37:25 +0000 (23:37 -0500)]
ESourceRegistryServer: Add a "tweak-key-file" signal.

This signal is emitted from e_source_registry_server_load_file() just
prior to instantiating an EServerSideSource.  Signal handlers can tweak
the GKeyFile content as necessary and return TRUE to write the modified
content back to disk.

For the purposes of tweaking, it's easier to deal with a plain GKeyFile
than an ESource instance.  An ESource, for example, does not allow key
file groups to be removed.

The return value is cumulative.  If any signal handler returns TRUE,
the GKeyFile content is written back to disk.

Unfortunately this breaks the libebackend ABI because I forgot to add a
pool of reserved pointers to the ESourceRegistryServerClass.  Do so now,
since we have the opportunity.

11 years agoIMAPX: Avoid duplicating messages in real Junk or Trash.
Matthew Barnes [Mon, 24 Dec 2012 12:37:42 +0000 (07:37 -0500)]
IMAPX: Avoid duplicating messages in real Junk or Trash.

This is more a problem with Junk, but fixing both to keep the logic
consistent.  When synchronizing a real Junk folder, we were copying
all messages marked as "junk" from Junk to Junk -- duplicating them
each time.  After running for a couple days I caught my Junk folder
with thousands of duplicate messages.

11 years agoIMAPX: Ask server to handle "body-contains" searches.
Matthew Barnes [Sat, 22 Dec 2012 14:22:40 +0000 (09:22 -0500)]
IMAPX: Ask server to handle "body-contains" searches.

This isn't as sophisticated/convoluted as the version in the older IMAP
backend, but it still beats downloading the entire message as we've been
doing.  There's no caching of past search results.  I'm not convinced the
performance gain is worth the extra complexity.  If I'm wrong or I change
my mind, search result caching can always be added later.

11 years agoRevert "Fix build"
Matthew Barnes [Sun, 23 Dec 2012 21:34:38 +0000 (16:34 -0500)]
Revert "Fix build"

This reverts commit 6a243777a56279325847323342492769ce942cf3.

This is wrong.  The bus name is not the same as the object path.

11 years agoFix build
Dan Vrátil [Sun, 23 Dec 2012 21:03:30 +0000 (22:03 +0100)]
Fix build

11 years agoCamelIMAPXJob: Protect the CamelFolder.
Matthew Barnes [Sun, 23 Dec 2012 15:54:04 +0000 (10:54 -0500)]
CamelIMAPXJob: Protect the CamelFolder.

Move the CamelFolder pointer to CamelIMAPXJob's private section to
ensure thread-safety and consistent reference counting.

Had a crash just now in camel_imapx_server_get_job_queue_info() due to
a dangling CamelFolder pointer.  Further investigation found that some
methods assign "job->folder" a new reference (but in some cases never
unref it!) and other methods just do a straight assignment.

Technically this is an API/ABI break, but not bumping Camel's soname
because it does not affect evolution-kolab, the only known 3rd party
consumer of IMAPX APIs.

11 years agoCamelFolder: Make string properties thread-safe.
Matthew Barnes [Sun, 23 Dec 2012 15:08:40 +0000 (10:08 -0500)]
CamelFolder: Make string properties thread-safe.

Use an internal mutex to guard the strings, and add thread-safe accessor
functions:

   camel_folder_dup_full_name()
   camel_folder_dup_display_name()
   camel_folder_dup_description()

11 years agoUpdated Norwegian bokmål translation
Kjartan Maraas [Sun, 23 Dec 2012 11:19:46 +0000 (12:19 +0100)]
Updated Norwegian bokmål translation

11 years agoUpdated Norwegian bokmål translation
Kjartan Maraas [Wed, 19 Dec 2012 13:26:06 +0000 (14:26 +0100)]
Updated Norwegian bokmål translation

11 years agoUpdate the MAINTAINERS file.
Matthew Barnes [Sun, 23 Dec 2012 05:06:05 +0000 (00:06 -0500)]
Update the MAINTAINERS file.

11 years agoBug 689124 - Increase Camel's TCP read/write timeout
Matthew Barnes [Sat, 22 Dec 2012 19:12:02 +0000 (14:12 -0500)]
Bug 689124 - Increase Camel's TCP read/write timeout

This is a partial revert of the hack for bug 551788, which decreased the
TCP read/write timeout from 4 minutes to 1 minute.

This causes IMAP IDLE connections to timeout prematurely if the server
sends untagged keep-alive messages at an interval greater than 1 minute.

Dovecot's "imap_idle_notify_interval" setting defaults to 2 minutes.

Reset the TCP read/write timeout back to 4 minutes.

11 years agoGah, screwed up the CamelFolderSearchFlags values.
Matthew Barnes [Sat, 22 Dec 2012 16:50:53 +0000 (11:50 -0500)]
Gah, screwed up the CamelFolderSearchFlags values.

11 years agoDeprecate camel_folder_search_construct().
Matthew Barnes [Sat, 22 Dec 2012 16:36:44 +0000 (11:36 -0500)]
Deprecate camel_folder_search_construct().

Register callbacks with CamelSExp from the constructed() method.

11 years agocamel-search-private cleanups.
Matthew Barnes [Sat, 22 Dec 2012 14:08:50 +0000 (09:08 -0500)]
camel-search-private cleanups.

11 years agoimapx_get_filename() should be static.
Matthew Barnes [Wed, 19 Dec 2012 18:34:27 +0000 (13:34 -0500)]
imapx_get_filename() should be static.

No idea why this function was made public.  It's just a class method
implementation and can be invoked through camel_folder_get_filename().

Not going to bump the libcamel soname over this.  Nothing external is
using it.

11 years agoCamelFolderSearch cleanups.
Matthew Barnes [Wed, 19 Dec 2012 18:27:11 +0000 (13:27 -0500)]
CamelFolderSearch cleanups.

11 years agoCamelIMAPXFolder: Fix compiler warnings.
Matthew Barnes [Wed, 19 Dec 2012 17:47:24 +0000 (12:47 -0500)]
CamelIMAPXFolder: Fix compiler warnings.

11 years agoIMAPX: Don't recheck flags before moving to real Junk/Trash.
Matthew Barnes [Wed, 19 Dec 2012 16:14:51 +0000 (11:14 -0500)]
IMAPX: Don't recheck flags before moving to real Junk/Trash.

Out of paranoia, I made imapx_folder_claim_move_to_real_trash_uids()
recheck that the queued message UIDs still had a DELETED flag before
moving them to a real Trash folder.  That turned out to be breaking
things because we _remove_ the DELETED flag when synchronizing, so
it's not going to still be set when we're ready to move messages.

Remove the uncertainty and rename public functions to reflect this:

  - camel_imapx_folder_maybe_move_to_real_junk()
  + camel_imapx_folder_add_move_to_real_junk()

  - camel_imapx_folder_maybe_move_to_real_trash()
  + camel_imapx_folder_add_move_to_real_trash()

11 years agoIMAPX: Fix DELETED flag sync when using real Trash folder.
Matthew Barnes [Wed, 19 Dec 2012 15:27:03 +0000 (10:27 -0500)]
IMAPX: Fix DELETED flag sync when using real Trash folder.

After copying messages to a real Trash folder and then tagging them for
deletion, we immediately expunge.  Now the IMAPX expunge operation first
synchronizes message flags with the server, which is sensible.  But when
using a real Trash folder, this extra sync was causing deleted messages
to keep coming back from the grave like zombies.

The problem was when using a real Trash folder, the internal operation
that synchronizes flags first clears any DELETED flags.  Normally that's
what we want, except when we're about to expunge since expunging depends
on those DELETED flags.  So make an exception for this case.

11 years agoUpdated Spanish translation
Daniel Mustieles [Wed, 19 Dec 2012 12:26:16 +0000 (13:26 +0100)]
Updated Spanish translation

11 years agoAssamese translation updated
Nilamdyuti Goswami [Wed, 19 Dec 2012 07:33:58 +0000 (13:03 +0530)]
Assamese translation updated

11 years agotest-server-utils: Don't rely on command line parsing for "rm -rf"
Mathias Hasselmann [Wed, 19 Dec 2012 00:41:59 +0000 (01:41 +0100)]
test-server-utils: Don't rely on command line parsing for "rm -rf"

Let's be nice to people with spaces in their path names.

11 years agoIMAPX: Support non-virtual Junk/Trash folders.
Matthew Barnes [Mon, 17 Dec 2012 16:14:44 +0000 (11:14 -0500)]
IMAPX: Support non-virtual Junk/Trash folders.

Some webmail clients designate specific IMAP folders as Junk and Trash,
such that when a message is deleted or determined to be spam, a copy of
the message is appended to the designated folder, the original message
is flagged as DELETED and the folder containing the original message is
immediately expunged.

This is significantly more expensive than simply flagging the message as
DELETED or JUNK.  But users that access their mail by both Evolution and
webmail frequently complain of seeing what appear to be duplicate Junk
and Trash folders in Evolution [1].

This commit allows IMAPX stores to be configured to mimic these webmail
clients and hide their Junk and Trash virtual folders.  IMAPX will mimic
the "copy-and-expunge" webmail client behavior each time it's commanded
to synchronize message flags with the server.

[1] So much so that it earned its own page in the user manual:
http://library.gnome.org/users/evolution/stable/mail-two-trash-folders.html.en

11 years agolibecal: Move EDataCalCallStatus back to libedata-cal.
Matthew Barnes [Sun, 16 Dec 2012 16:43:01 +0000 (11:43 -0500)]
libecal: Move EDataCalCallStatus back to libedata-cal.

I'm encountering a build break in Evolution on an older environment.

It goes something like this...

   /* In X11/X.h */
   #define Success 0

   /* In libecal/e-cal-types.h */
   typedef enum { Success, ... } EDataCalCallStatus;

After pre-processing, the compiler gets

   typedef enum { 0, ... } EDataCalCallStatus;

which of course is a syntax error.

It's our own fault for violating our own namespace.  The enum definition
was moved from libedata-cal to libecal fairly recently (by me) to resolve
a circular dependency, but it appears libecal does not really require the
enum values.  Move the typedef back to libedata-cal as a quick Band-Aid.

The EDataCalCallStatus enum is redundant anyway and I plan to remove it.
Equivalent error values are provided by EClientError and ECalClientError,
and calendar backends should be using them directly.  There's no need for
separate but equal client and server-side error value definitions.

This is technically an API break, but I'm not going to bump the libecal
soname over this.  The enum definition is clearly intended for backends,
and because it was moved to libecal only recently, I'm fairly certain no
client applications are using it.

11 years agoCamelIMAPXFolder cleanups.
Matthew Barnes [Tue, 18 Dec 2012 12:42:52 +0000 (07:42 -0500)]
CamelIMAPXFolder cleanups.

11 years agoRemoving LIBEDATASERVERUI_CURRENT/REVISION/AGE definitions
Tristan Van Berkom [Mon, 17 Dec 2012 10:29:10 +0000 (19:29 +0900)]
Removing LIBEDATASERVERUI_CURRENT/REVISION/AGE definitions

These definitions in configure.ac are now meaningless since
the removal of libedataserverui (just a cleanup).

11 years agoPost-release version bump.
Matthew Barnes [Sun, 16 Dec 2012 14:40:07 +0000 (09:40 -0500)]
Post-release version bump.

11 years agoNEWS update for 3.7.3 release.
Matthew Barnes [Sun, 16 Dec 2012 14:07:03 +0000 (09:07 -0500)]
NEWS update for 3.7.3 release.

11 years agoFix untracked files in test-server-utils.
Matthew Barnes [Sat, 15 Dec 2012 16:19:35 +0000 (11:19 -0500)]
Fix untracked files in test-server-utils.

11 years agoDeprecate E_AUTHENTICATION_SESSION_KEYRING_ERROR.
Matthew Barnes [Sat, 15 Dec 2012 15:36:04 +0000 (10:36 -0500)]
Deprecate E_AUTHENTICATION_SESSION_KEYRING_ERROR.

11 years agoSuppress g-ir-scanner warnings.
Matthew Barnes [Sat, 15 Dec 2012 13:37:38 +0000 (08:37 -0500)]
Suppress g-ir-scanner warnings.

They're far too noisy, and make it difficult to spot new C compiler
warnings, which are the only ones I care about.  We can enable them
again when we're serious about cleaning them up.  In the meantime,
they're just getting in the way.

11 years agoRevert "ESourceRegistry: Do not mandate builtin sources."
Matthew Barnes [Sat, 15 Dec 2012 12:42:14 +0000 (07:42 -0500)]
Revert "ESourceRegistry: Do not mandate builtin sources."

This reverts commit 78340f9274d5c2ee0f52507f935f97d6b92f513e.

This violates a key invariant of the get_default() and especially
get_builtin() functions: that they never return NULL.

11 years agoPorted ECalClient tests to use ETestServerFixture framework
Tristan Van Berkom [Thu, 13 Dec 2012 13:22:19 +0000 (22:22 +0900)]
Ported ECalClient tests to use ETestServerFixture framework

Now the majority of ECalClient tests use the fixture, some tests
have been moved out of the unit test targets instead and remain
as functional tests (to be run manually)

11 years agoPorted ECal tests to new test framework
Tristan Van Berkom [Thu, 13 Dec 2012 09:55:19 +0000 (18:55 +0900)]
Ported ECal tests to new test framework

NOTES:
  o Removed test-ecal-open, thats tests by the test fixture of the framework
  o Some tests fail because verification of created cal objects is broken
  o Some tests moved from the unit test suite because they dont make
    sense as unit tests (or are more difficult to port), those tests
    can still be run with a running/installed data server.

11 years agoPorted all tests in tests/ebook/client to use new test framework
Tristan Van Berkom [Wed, 12 Dec 2012 10:35:59 +0000 (19:35 +0900)]
Ported all tests in tests/ebook/client to use new test framework

'make check' now passes in ebook except for a few cases which geniunely fail.

Conflicts:

tests/libebook/client/Makefile.am
tests/libebook/client/test-client-custom-summary.c

11 years agoPorted EBook (deprecated) test cases to use the new test-server-utils scaffold.
Tristan Van Berkom [Wed, 12 Dec 2012 07:34:32 +0000 (16:34 +0900)]
Ported EBook (deprecated) test cases to use the new test-server-utils scaffold.

Note that test-ebook-remove is removed, this is executed in every test case
implicitly and asserted by the test scaffold

11 years agoAdding test-server-utils
Tristan Van Berkom [Tue, 11 Dec 2012 09:22:49 +0000 (18:22 +0900)]
Adding test-server-utils

A library with text fixtures for testing ESourceRegistry, EBookClient and
ECalClient in a self contained fashion.

11 years agoESourceRegistry: Do not mandate builtin sources.
Tristan Van Berkom [Thu, 13 Dec 2012 07:14:19 +0000 (16:14 +0900)]
ESourceRegistry: Do not mandate builtin sources.

This patch removes return_if_fail() critical warnings from
e_source_registry_ref_[default,builtin]_address_book() and
e_source_registry_ref_[default,builtin]_calendar(). This
avoids the console warnings when running make check.

Also, this patch fixes several locations in EDS where the
above functions blindly expect an #ESource to be returned.