platform/upstream/evolution-data-server.git
11 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.

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

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

11 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.

11 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.

11 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().

11 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'.

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

11 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.

11 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.

11 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.

11 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.

11 years agoEBookBackendWebdav: Bind to SoupSession's GProxyResolver.
Matthew Barnes [Wed, 9 Oct 2013 22:03:41 +0000 (18:03 -0400)]
EBookBackendWebdav: Bind to SoupSession's GProxyResolver.

11 years agoBump minimum libsoup requirement to 2.42.
Matthew Barnes [Wed, 9 Oct 2013 03:29:10 +0000 (23:29 -0400)]
Bump minimum libsoup requirement to 2.42.

For SoupSession's "proxy-resolver" read/write property.

11 years agoECollectionBackend: Add a read-only "proxy-resolver" property.
Matthew Barnes [Thu, 10 Oct 2013 00:11:05 +0000 (20:11 -0400)]
ECollectionBackend: Add a read-only "proxy-resolver" property.

Tracks a GProxyResolver for the backend, which is actually another
ESource with an ESourceProxy extension (if applicable to the backend).

New functions:

  e_collection_backend_ref_proxy_resolver().

11 years agoECalBackend: Add a read-only "proxy-resolver" property.
Matthew Barnes [Wed, 9 Oct 2013 21:46:56 +0000 (17:46 -0400)]
ECalBackend: Add a read-only "proxy-resolver" property.

Tracks a GProxyResolver for the backend, which is actually another
ESource with an ESourceProxy extension (if applicable to the backend).

New functions:

  e_cal_backend_ref_proxy_resolver()

11 years agoEBookBackend: Add a read-only "proxy-resolver" property.
Matthew Barnes [Wed, 9 Oct 2013 20:09:10 +0000 (16:09 -0400)]
EBookBackend: Add a read-only "proxy-resolver" property.

Tracks a GProxyResolver for the backend, which is actually another
ESource with an ESourceProxy extension (if applicable to the backend).

New functions:

  e_book_backend_ref_proxy_resolver()

11 years agoESourceAuthentication: Add a "proxy-uid" property.
Matthew Barnes [Wed, 9 Oct 2013 03:12:23 +0000 (23:12 -0400)]
ESourceAuthentication: Add a "proxy-uid" property.

References another ESource that holds network proxy settings for use
when connecting to a remote account.

11 years agoAdd e_source_registry_ref_builtin_proxy().
Matthew Barnes [Wed, 9 Oct 2013 01:30:07 +0000 (21:30 -0400)]
Add e_source_registry_ref_builtin_proxy().

Returns the built-in proxy profile ESource.

11 years agoMigrate proxy settings from Evolution.
Matthew Barnes [Tue, 8 Oct 2013 12:46:53 +0000 (08:46 -0400)]
Migrate proxy settings from Evolution.

Populate a ~/.config/evolution/sources/system-proxy.source file from
the old "org.gnome.evolution.shell.network-config" schema on startup,
and tag the schema keys as deprecated in their description fields.

11 years agoAdd a built-in "system-proxy" data source.
Matthew Barnes [Tue, 8 Oct 2013 11:39:33 +0000 (07:39 -0400)]
Add a built-in "system-proxy" data source.

This represents the default proxy profile in E-D-S.  New accounts will
automatically reference this proxy profile.  Additional proxy profiles
can be defined as needed for particular accounts.

11 years agoESource: Implement the GProxyResolver interface.
Matthew Barnes [Mon, 7 Oct 2013 15:42:37 +0000 (11:42 -0400)]
ESource: Implement the GProxyResolver interface.

An ESource with an ESourceProxy extension can now serve as a
GProxyResolver.  Calling g_proxy_resolver_is_supported() on an
ESource will reflect this constraint.  Attempting a proxy lookup
operation on an ESource for which g_proxy_resolver_is_supported()
returns FALSE will fail with G_IO_ERROR_NOT_SUPPORTED.

11 years agoAdd ESourceProxy.
Matthew Barnes [Sun, 6 Oct 2013 04:40:07 +0000 (00:40 -0400)]
Add ESourceProxy.

The ESourceProxy extension defines a network proxy profile.

This is patterned after the "org.gnome.system.proxy*" GSettings schemas.

New functions:

  e_source_proxy_get_type()
  e_source_proxy_get_method()
  e_source_proxy_set_method()
  e_source_proxy_get_autoconfig_url()
  e_source_proxy_dup_autoconfig_url()
  e_source_proxy_set_autoconfig_url()
  e_source_proxy_get_ignore_hosts()
  e_source_proxy_dup_ignore_hosts()
  e_source_proxy_set_ignore_hosts()
  e_source_proxy_get_ftp_host()
  e_source_proxy_dup_ftp_host()
  e_source_proxy_set_ftp_host()
  e_source_proxy_get_ftp_port()
  e_source_proxy_set_ftp_port()
  e_source_proxy_get_http_host()
  e_source_proxy_dup_http_host()
  e_source_proxy_set_http_host()
  e_source_proxy_get_http_port()
  e_source_proxy_set_http_port()
  e_source_proxy_get_http_use_auth()
  e_source_proxy_set_http_use_auth()
  e_source_proxy_get_http_auth_user()
  e_source_proxy_dup_http_auth_user()
  e_source_proxy_set_http_auth_user()
  e_source_proxy_get_http_auth_password()
  e_source_proxy_dup_http_auth_password()
  e_source_proxy_set_http_auth_password()
  e_source_proxy_get_https_host()
  e_source_proxy_dup_https_host()
  e_source_proxy_set_https_host()
  e_source_proxy_get_https_port()
  e_source_proxy_set_https_port()
  e_source_proxy_get_socks_host()
  e_source_proxy_dup_socks_host()
  e_source_proxy_set_socks_host()
  e_source_proxy_get_socks_port()
  e_source_proxy_set_socks_port()
  e_source_proxy_lookup_sync()
  e_source_proxy_lookup()
  e_source_proxy_lookup_finish()

11 years agoAdd e_util_strv_equal().
Matthew Barnes [Mon, 21 Oct 2013 18:19:49 +0000 (14:19 -0400)]
Add e_util_strv_equal().

Compares two NULL-terminated string arrays for equality, handling NULL
gracefully for either argument.

11 years agoUpdated Spanish translation
Daniel Mustieles [Fri, 25 Oct 2013 14:40:48 +0000 (16:40 +0200)]
Updated Spanish translation

11 years agoFixed reference manual build for libedata-book.
Tristan Van Berkom [Thu, 24 Oct 2013 18:54:42 +0000 (20:54 +0200)]
Fixed reference manual build for libedata-book.

libedata-book-sections.txt still needed an update
after the recent EBookClientCursor API changes.

11 years agoAdded new cursor related APIs to the documentation build.
Tristan Van Berkom [Sun, 9 Jun 2013 10:25:51 +0000 (19:25 +0900)]
Added new cursor related APIs to the documentation build.

11 years agoAdding cursor example program
Tristan Van Berkom [Tue, 23 Jul 2013 05:25:39 +0000 (14:25 +0900)]
Adding cursor example program

The example program is a contact browser showing off
some of the cursor features such as localized alphabetic indexes.

11 years agoAdded tests for EBookClientCursor
Tristan Van Berkom [Tue, 2 Jul 2013 08:51:10 +0000 (17:51 +0900)]
Added tests for EBookClientCursor

 o test-client-cursor-create.c

    This test checks expected failure error codes and expected successfull
    cursor creation in Sync / Async and Normal / DRA modes.

 o test-client-cursor-operations.c

   A more complex set of tests which run in all various modes
   and configurations (i.e. Sync / Async / DRA / Threaded)

11 years agoAdded tests for the low level cursor API
Tristan Van Berkom [Thu, 18 Jul 2013 21:39:46 +0000 (06:39 +0900)]
Added tests for the low level cursor API

  o test-sqlite-create-cursor

    The new test case verifies that cursor creation is well protected
    (cursor creation is denied for some queries and ordering requests).

  o test-sqlite-cursor-move-by

    This test case asserts that e_book_backend_sqlite_cursor_move_by()
    works as expected. Consequently, a hand full of additional test
    vcards were added for this.

  o test-sqlite-cursor-set-target.c

    This test case tests e_book_backend_sqlitedb_cursor_set_target().

    The special case of setting a partial state is tested so that when
    a cursor is setup to sort by "family_name, given_name" and the target
    is set to "J", then we recieve results inclusive of the contact with
    the family name "J".

  o test-sqlite-cursor-calculate.c

    This test verifies that e_book_backend_sqlitedb_cursor_calculate() report
    the right position and total values when the cursor is moved, after the
    target is set, after the addressbook is modified, for filtered and unfiltered
    result sets.

  o test-sqlite-cursor-set-sexp.c

    This test verifies that invalid queries are rejected, and that a cursor
    position is changed by the new sexp with the correct new filtered values
    after applying a filter (sexp) to the cursor.

  o Tests to ensure that localized data is properly migrated:
      - test-sqlite-cursor-posix-initial
      - test-sqlite-cursor-en-US-migrated
      - test-sqlite-cursor-fr-CA-migrated
      - test-sqlite-cursor-de-DE-migrated
      - test-sqlite-cursor-posix-migrated

  o A test case testing basic ECollator features.

This patch also changes the test case vcard data to
specify a contact UID in each vcard's .vcf file, this
allows us more flexability with the above added tests.

11 years agoEBookClient: Implemented e_book_client_get_cursor() and locale property
Tristan Van Berkom [Thu, 23 May 2013 10:56:04 +0000 (19:56 +0900)]
EBookClient: Implemented e_book_client_get_cursor() and locale property

Propagate the 'locale' property change notifications when the dbus
proxy notifies a locale property change, also load the initial value
of the dbus proxy's locale property for the initial value.

11 years agoAdded EBookClientCursor
Tristan Van Berkom [Tue, 2 Jul 2013 08:47:34 +0000 (17:47 +0900)]
Added EBookClientCursor

The user facing cursor API, deals with calling cursor APIs in DRA mode
and normal modes over D-Bus, handles threading situations, and notifies
of cursor state changes in the caller's main context.

11 years agoEBookBackendFile: Implement cursors.
Tristan Van Berkom [Thu, 23 May 2013 07:26:26 +0000 (16:26 +0900)]
EBookBackendFile: Implement cursors.

  o Implemented EBookBackend.create_cursor() and EBookBackend.delete_cursor()
    methods using the EDataBookCursorSqlite implementation

  o Ensure that all addressbook modifications and revision changes are
    atomic operations, the revision changes happen in the same transactions
    as any other addressbook modification (allowing revision checks to be
    done safely in direct read access mode).

  o Implement EBookBackend->set_locale() & ->get_locale()

11 years agoEDataBook: Cursor related changes
Tristan Van Berkom [Thu, 23 May 2013 06:24:09 +0000 (15:24 +0900)]
EDataBook: Cursor related changes

Watch the system bus for locale notifications

When org.freedesktop.locale1 is available, listen to changes in
the LC_COLLATE locale and configure backends with locale changes
using e_book_backend_set_locale(), notify property changes via
the locale property on the addressbook D-Bus API.

Also, load the backend's initially set locale as the locale property
value until the org.freedesktop.locale1 D-Bus interface notifies
us of a locale change on the system bus.

Also handle D-Bus calls for creating cursors and export new
cursors on the bus.

11 years agoAdded EDataBookCursor & EDataBookCursorSqlite
Tristan Van Berkom [Sat, 19 Oct 2013 18:03:54 +0000 (20:03 +0200)]
Added EDataBookCursor & EDataBookCursorSqlite

EDataBookCursor is an abstract class with the mid-level cursor APIs, it
takes care of responding to D-Bus APIs and provides an API which can
be used in Direct Read Access mode but does not implement the actual
cursor state and navigation directly.

EDataBookCursorSqlite is a cursor implementation which uses
a EBookBackendSqliteDB cursor to implement the EDataBookCursor
methods.

This patch also adds the E_CLIENT_ERROR_END_OF_LIST error, intended
to be a generic boundary error when a client api reaches the end
of some list of data (this is used by the cursor API of course
to report an error when trying to navigate the cursor outside of the
list boundaries).

11 years agoEBookBackend: Adding cursor related APIs
Tristan Van Berkom [Fri, 17 May 2013 11:03:45 +0000 (20:03 +0900)]
EBookBackend: Adding cursor related APIs

Added new ->set_locale() API and ->get_locale() API

Use these to dynamically set the locale of a running addressbook, and also
to fetch the currently configured locale of an addressbook at startup time

Also added new methods for creating and deleting cursors.

11 years agoEBookBackendSqliteDB: Adding cursor related APIs
Tristan Van Berkom [Mon, 22 Apr 2013 11:42:14 +0000 (20:42 +0900)]
EBookBackendSqliteDB: Adding cursor related APIs

Added the following APIs:

      o e_book_backend_sqlitedb_cursor_new()

        Creates a cursor for a given query expression and sort order

      o e_book_backend_sqlitedb_cursor_free()

        Frees a cursor and it's resources

      o e_book_backend_sqlitedb_cursor_move_by()

        Moves the cursor and fetches results

        Moving the cursor now has 3 possible "origins":

          o EBSDB_CURSOR_ORIGIN_CURRENT:
            Fetch results and move from the current
            cursor position

          o EBSDB_CURSOR_ORIGIN_PREVIOUS:
            Fetch results and move from the previous
            cursor position, practical for refreshing
            a result set after the addressbook changes

          o EBSDB_CURSOR_ORIGIN_RESET:
            Fetch results from the beginning (or end,
            if moving backwards through results).

        To achieve the EBSDB_CURSOR_ORIGIN_PREVIOUS origin, the cursor
        holds on to two cursor states at all times (the current cursor
        state and previous cursor state).

      o e_book_backend_sqlitedb_cursor_set_target_alphabetic_index()

        To set the cursor target by alphabetic index, also added
        e_book_backend_sqlitedb_ref_collator() to get a hold of the active
        collator which can be used to list the active alphabet attributes.

      o e_book_backend_sqlite_cursor_calculate()

        Calculates the position / total values of a cursor.

      o e_book_backend_sqlitedb_cursor_set_sexp()

        Sets the search expression for a given cursor

      o e_book_backend_sqlitedb_get/set_locale()

        Locale setting is now only ever guessed when creating a new addressbook
        before e_book_backend_sqlitedb_set_locale() is called, setting the locale
        will save the localization setting and it will be reused on subsequent
        accesses. If and when a locale setting is changed, the contact sort
        keys are regenerated with a new ECollator for the new locale.

      o e_book_backend_sqlitedb_cursor_compare()

        An api to compare the cursor with an EContact, this allows
        EDataBookCursor to track total / position when the addressbook is
        modified without constantly recalculating it with SQLite queries.

11 years agoAdding D-Bus API for cursor related APIs
Tristan Van Berkom [Mon, 20 May 2013 07:08:35 +0000 (16:08 +0900)]
Adding D-Bus API for cursor related APIs

  o org.freedesktop.locale1

    We generate a GDBus object to deal with the "org.freedesktop.locale1" interface
    on the system bus, specifically we are interested in system wide locale change
    notifications.

  o org.gnome.evolution.AddressBook

    Added the "Locale" property and added a method
    to create a cursor.

  o org.gnome.evolution.dataserver.AddressBookCursor

    The new D-Bus interface to interact with cursors.

11 years agoAdded utility ECollator to libedataserver.
Tristan Van Berkom [Tue, 30 Apr 2013 07:09:35 +0000 (16:09 +0900)]
Added utility ECollator to libedataserver.

The ECollator API wraps up the required ICU APIs into something more
convenient for usage in EDS. The provided features allow for rich
locale sensitive sorting as well as knowledge of the user's native
alphabet.

Some auxilary objects are needed to access features in ICU which are
available only in C++:

    EAlphabetIndex

    A private accessory used internally by ECollator to implement AlphabeticIndex
    features. This is in a separate file since we need to use C++ APIs to use
    the AlphabeticIndex, so we compile it into a separate archive to be statically
    linked in with libedataserver.la.

    ETransliterator

    Added this glue to call icu::Transliterator C++ APIs on behalf of ECollator.

11 years agoAdded detection of ICU libs to configure.ac
Tristan Van Berkom [Fri, 26 Apr 2013 12:29:31 +0000 (21:29 +0900)]
Added detection of ICU libs to configure.ac

11 years agotest-server-utils: Add e_test_server_utils_run_full()
Mathias Hasselmann [Tue, 5 Mar 2013 10:03:24 +0000 (11:03 +0100)]
test-server-utils: Add e_test_server_utils_run_full()

Basically this is to tell e_test_server_utils_run() to not
wipe the working directory before start.

Conflicts:

tests/test-server-utils/e-test-server-utils.h

11 years agoTests: Added 3 new contacts and a few more query tests.
Tristan Van Berkom [Thu, 3 Oct 2013 22:05:36 +0000 (00:05 +0200)]
Tests: Added 3 new contacts and a few more query tests.

The new tests check some specific phone number matching cases
with E_BOOK_QUERY_EQUALS_NATIONAL_NUMBER queries.

11 years agoEBookBackendSqliteDB: introspect summary structure before adding columns.
Tristan Van Berkom [Sat, 12 Oct 2013 18:54:55 +0000 (20:54 +0200)]
EBookBackendSqliteDB: introspect summary structure before adding columns.

Some additional auxilary columns need to be added in upgrades, these
columns which need to be added depend on which contact fields are
in the summary. This patch ensures that the summary is properly
introspected before adding columns, so that the right columns are added.

11 years agoEBookBackendSqliteDB: Fix introspect_summary()
Tristan Van Berkom [Sat, 12 Oct 2013 18:51:31 +0000 (20:51 +0200)]
EBookBackendSqliteDB: Fix introspect_summary()

Fixed introspect_summary() to resolve whether the summary
configuration has any attribute lists.

11 years agoInclude locale.h where needed
Milan Crha [Fri, 13 Sep 2013 09:40:03 +0000 (11:40 +0200)]
Include locale.h where needed

11 years agoAdded README file for addressbook migration test
Tristan Van Berkom [Wed, 23 Oct 2013 18:20:07 +0000 (20:20 +0200)]
Added README file for addressbook migration test

This file details the addressbook migration test
which has a few components, and lists some details
on how to maintain the test.

11 years agoPost-release version bump.
Matthew Barnes [Sun, 20 Oct 2013 14:20:15 +0000 (10:20 -0400)]
Post-release version bump.

11 years agoNEWS update for 3.11.1 release.
Matthew Barnes [Sun, 20 Oct 2013 14:03:56 +0000 (10:03 -0400)]
NEWS update for 3.11.1 release.

11 years agoMiscellaneous cleanups.
Matthew Barnes [Sun, 20 Oct 2013 13:17:42 +0000 (09:17 -0400)]
Miscellaneous cleanups.

11 years agoEBookBackendSqliteDB: Fixed an inconsistency in phone number matches.
Tristan Van Berkom [Thu, 3 Oct 2013 22:04:14 +0000 (00:04 +0200)]
EBookBackendSqliteDB: Fixed an inconsistency in phone number matches.

The phone number national number matching algoritm was hard coding
the country code length to 2, causing some random results.

11 years agoUpdated Brazilian Portuguese translation
Enrico Nicoletto [Sat, 19 Oct 2013 16:31:56 +0000 (13:31 -0300)]
Updated Brazilian Portuguese translation

11 years agoUpdated Indonesian translation
Andika Triwidada [Tue, 15 Oct 2013 04:51:33 +0000 (11:51 +0700)]
Updated Indonesian translation

11 years agocamel_stream_eos() returns FALSE even when at the end of stream
Milan Crha [Mon, 14 Oct 2013 19:36:28 +0000 (21:36 +0200)]
camel_stream_eos() returns FALSE even when at the end of stream

That breaks stream copy routine like camel_stream_write_to_stream(),
which relies on the camel_stream_eos().

11 years agoECalClient tests: Use async apis to open the client for every async test.
Tristan Van Berkom [Wed, 24 Apr 2013 08:48:42 +0000 (17:48 +0900)]
ECalClient tests: Use async apis to open the client for every async test.

11 years agoEBookClient tests: Use async apis to open the client for every async test.
Tristan Van Berkom [Wed, 24 Apr 2013 08:18:06 +0000 (17:18 +0900)]
EBookClient tests: Use async apis to open the client for every async test.

11 years agotest-utils: Added argumement to the fixture closure data to open async
Tristan Van Berkom [Wed, 24 Apr 2013 07:56:02 +0000 (16:56 +0900)]
test-utils: Added argumement to the fixture closure data to open async

If a closure specifies async then the EBookClient or ECalClient will be
opened using async APIs instead of sync APIs.

11 years agoEBookClient: (bug 701260) Added async apis to connect to a DRA book.
Tristan Van Berkom [Wed, 24 Apr 2013 07:16:57 +0000 (16:16 +0900)]
EBookClient: (bug 701260) Added async apis to connect to a DRA book.

Added e_book_client_connect_direct() and e_book_client_connect_direct_finish()

11 years ago[l10n] Updated Catalan (Valencian) translation
Carles Ferrando [Sun, 13 Oct 2013 20:22:12 +0000 (22:22 +0200)]
[l10n] Updated Catalan (Valencian) translation

11 years ago[l10n] Update Catalan translation
Gil Forcada [Sun, 13 Oct 2013 20:21:41 +0000 (22:21 +0200)]
[l10n] Update Catalan translation

11 years agoBug #695232 - Finish EVCard quoted-printable handling
Milan Crha [Thu, 10 Oct 2013 17:08:20 +0000 (19:08 +0200)]
Bug #695232 - Finish EVCard quoted-printable handling

11 years agoESourceRegistry: Reorder the "builtin" vs "default" functions.
Matthew Barnes [Tue, 8 Oct 2013 21:35:09 +0000 (17:35 -0400)]
ESourceRegistry: Reorder the "builtin" vs "default" functions.

The "builtin" functions aren't really part of the "DefaultSources"
GSettings front-end API.  Instead they represent a set of ESources
which are always available.  Keep them grouped together.

11 years agoBug 709561 - Pick up Windows Live mail from GOA
Matthew Barnes [Tue, 8 Oct 2013 02:10:22 +0000 (22:10 -0400)]
Bug 709561 - Pick up Windows Live mail from GOA

This adds an "outlook-backend" module, similar to the "google-backend"
and "yahoo-backend" modules.

Outlook.com recently added IMAP support, and GNOME Online Accounts now
exports a "Mail" interface on its "Windows Live" accounts.  This module
configures an E-D-S IMAP/SMTP account bound to the GOA account.

11 years agoBug #709550 - CamelService: Do not call disconnect_sync from its finalize
Milan Crha [Mon, 7 Oct 2013 10:24:09 +0000 (12:24 +0200)]
Bug #709550 - CamelService: Do not call disconnect_sync from its finalize

11 years agoBug 708627 - Use PLAIN instead of LOGIN for GOA SMTP accounts
Matthew Barnes [Sat, 5 Oct 2013 14:38:07 +0000 (10:38 -0400)]
Bug 708627 - Use PLAIN instead of LOGIN for GOA SMTP accounts

11 years agoRevert change to distcheck configure flags.
Tristan Van Berkom [Fri, 4 Oct 2013 19:07:31 +0000 (21:07 +0200)]
Revert change to distcheck configure flags.

This change was accidentally pushed in with commit ca64872e
(Add regression test for contacts database migrations).

11 years agoCamelIMAPXSummary cleanups.
Matthew Barnes [Fri, 4 Oct 2013 17:13:56 +0000 (13:13 -0400)]
CamelIMAPXSummary cleanups.

11 years agoimapx_parse_uids: Return a GArray instead of a GPtrArray.
Matthew Barnes [Fri, 4 Oct 2013 15:16:05 +0000 (11:16 -0400)]
imapx_parse_uids: Return a GArray instead of a GPtrArray.

GArray is better for packing integer values.  The UIDs are 32 bits,
so this is actually a little more memory efficient on 64-bit systems.

11 years agoCamelStream: Implement GSeekable.
Matthew Barnes [Wed, 2 Oct 2013 23:13:50 +0000 (19:13 -0400)]
CamelStream: Implement GSeekable.

The base GIOStream may be seekable, so implement the GSeekable interface
and simply forward the request to the base GIOStream.

I think pretty much all the CamelStream subclasses are also seekable, so
they should override the base class implementation.

11 years agoFixed contacts DB migration test when handling a system without db_load.
Tristan Van Berkom [Wed, 2 Oct 2013 21:09:03 +0000 (23:09 +0200)]
Fixed contacts DB migration test when handling a system without db_load.

11 years agoAddressbook Migration test: Added EDS 3.10 test sandbox.
Tristan Van Berkom [Wed, 2 Oct 2013 20:44:48 +0000 (22:44 +0200)]
Addressbook Migration test: Added EDS 3.10 test sandbox.

11 years agoEBookBackendSqliteDB: Fixed upgrade_contacts() for cases with missing vcards.
Tristan Van Berkom [Fri, 27 Sep 2013 23:16:57 +0000 (01:16 +0200)]
EBookBackendSqliteDB: Fixed upgrade_contacts() for cases with missing vcards.

This patch avoids critical warnings to be fired when opening an old summary
mode SQLite whilst upgrading/migrating an addressbook from EDS <= 3.6.

11 years agoBug 709198 - Add regression test for contacts database migrations
Tristan Van Berkom [Wed, 25 Sep 2013 17:54:07 +0000 (19:54 +0200)]
Bug 709198 - Add regression test for contacts database migrations

The migration tests come with a few components:

  o tests/book-migration/vcards/*.vcf:
    The vcards which the test case expects to find in the migrated
    databases.

  o tests/book-migration/db/[various versions]/[File backend files]:
    Various sandboxes created from the vcards, each one created
    with a different stable version of EDS

  o tests/book-migration/test-migration.c:
    The actual test, this automatically loops over the available
    test directories and runs the migration suite for each version

  o tests/book-migration/setup-migration-test.c:
    A simple program used to inject the test contacts into EDS,
    this program can be used to generate the test sandbox from
    EDS version 3.0 onward.

  o The makefile also contains a 'setup-migration' target which
    can be used to generate a new repository automatically in
    the tests/book-migration/db/ directory with the current version,
    this can only be used to generate the sandbox from 3.10 and
    above.

11 years agoCamelMultipartSigned cleanups.
Matthew Barnes [Wed, 2 Oct 2013 17:00:38 +0000 (13:00 -0400)]
CamelMultipartSigned cleanups.

Move the public struct members into the private section.

New functions:

  camel_multipart_signed_set_content_stream()
  camel_multipart_signed_set_signature()

11 years agoCamelMultipartEncrypted cleanups.
Matthew Barnes [Wed, 2 Oct 2013 16:11:59 +0000 (12:11 -0400)]
CamelMultipartEncrypted cleanups.

Turns out this class is trivial; just sets the internal MIME type to
"multipart/encrypted", the rest of it was unused cruft.  Debated if
this class is even worth keeping, but I'll leave it for now.

11 years agoCamelMultipart cleanups.
Matthew Barnes [Wed, 2 Oct 2013 14:11:50 +0000 (10:11 -0400)]
CamelMultipart cleanups.

Move the public struct members into the private section.

Use a GPtrArray instead of a GList to track the individual parts.

New functions:

  camel_multipart_get_preface()
  camel_multipart_get_postface()

11 years agoRemove unused camel_multipart_remove_part_at().
Matthew Barnes [Wed, 2 Oct 2013 14:06:12 +0000 (10:06 -0400)]
Remove unused camel_multipart_remove_part_at().

11 years agoRemove unused camel_multipart_remove_part().
Matthew Barnes [Wed, 2 Oct 2013 14:05:10 +0000 (10:05 -0400)]
Remove unused camel_multipart_remove_part().

11 years agoRemove unused camel_multipart_add_part_at().
Matthew Barnes [Wed, 2 Oct 2013 14:03:44 +0000 (10:03 -0400)]
Remove unused camel_multipart_add_part_at().

11 years agoCamel: Remove tests/message/test3.c.
Matthew Barnes [Wed, 2 Oct 2013 04:09:21 +0000 (00:09 -0400)]
Camel: Remove tests/message/test3.c.

Mostly testing unused CamelMultipart API.

Remove the test so I can remove the unused API.

11 years agoRemove unused camel_stream_buffer_new_with_vbuf().
Matthew Barnes [Wed, 2 Oct 2013 03:41:15 +0000 (23:41 -0400)]
Remove unused camel_stream_buffer_new_with_vbuf().

11 years agoRemove unused CamelMimeFilterSave.
Matthew Barnes [Wed, 2 Oct 2013 03:20:46 +0000 (23:20 -0400)]
Remove unused CamelMimeFilterSave.

11 years agoRemove unused camel_cipher_context_export_keys_sync().
Matthew Barnes [Wed, 2 Oct 2013 03:11:30 +0000 (23:11 -0400)]
Remove unused camel_cipher_context_export_keys_sync().

Also removes the unused asynchronous functions:

  camel_cipher_context_export_keys()
  camel_cipher_context_export_keys_finish()

11 years agoRemove unused camel_cipher_context_import_keys_sync().
Matthew Barnes [Wed, 2 Oct 2013 03:05:54 +0000 (23:05 -0400)]
Remove unused camel_cipher_context_import_keys_sync().

Also removes the unused asynchronous functions:

  camel_cipher_context_import_keys()
  camel_cipher_context_import_keys_finish()

11 years agoRemove unused camel_index_names().
Matthew Barnes [Wed, 2 Oct 2013 02:39:01 +0000 (22:39 -0400)]
Remove unused camel_index_names().

11 years agoRemove unused camel_index_new().
Matthew Barnes [Wed, 2 Oct 2013 02:35:58 +0000 (22:35 -0400)]
Remove unused camel_index_new().

11 years agoCamelIndexNameClass: Remove unused sync() method.
Matthew Barnes [Wed, 2 Oct 2013 02:34:40 +0000 (22:34 -0400)]
CamelIndexNameClass: Remove unused sync() method.

11 years agoRemove unused camel_index_name_new().
Matthew Barnes [Wed, 2 Oct 2013 02:34:01 +0000 (22:34 -0400)]
Remove unused camel_index_name_new().

11 years agoRemove unused camel_index_cursor_reset().
Matthew Barnes [Wed, 2 Oct 2013 02:32:26 +0000 (22:32 -0400)]
Remove unused camel_index_cursor_reset().

11 years agoRemove unused camel_index_cursor_new().
Matthew Barnes [Wed, 2 Oct 2013 02:28:59 +0000 (22:28 -0400)]
Remove unused camel_index_cursor_new().

11 years agoCamelGpgContext: Use g_file_new_tmp() in swrite().
Matthew Barnes [Tue, 1 Oct 2013 21:59:12 +0000 (17:59 -0400)]
CamelGpgContext: Use g_file_new_tmp() in swrite().

g_file_new_tmp() creates a GFileIOStream, which we then wrap in a
CamelStream for use with CamelDataWrapper.

11 years agoCamelDataCache: Use GFileIOStream.
Matthew Barnes [Tue, 1 Oct 2013 20:25:14 +0000 (16:25 -0400)]
CamelDataCache: Use GFileIOStream.

Return pure CamelStreams with an underlying GFileIOStream,
instead of CamelStreamFs.

11 years agoCamel: Port mime-filter tests to use GIO streams.
Matthew Barnes [Tue, 1 Oct 2013 16:08:14 +0000 (12:08 -0400)]
Camel: Port mime-filter tests to use GIO streams.

11 years agoAdd CamelFilterOutputStream.
Matthew Barnes [Tue, 1 Oct 2013 14:33:09 +0000 (10:33 -0400)]
Add CamelFilterOutputStream.

CamelFilterOutputStream is similar to GConverterOutputStream, except it
operates on a CamelMimeFilter instead of a GConverter.

This class is meant to be a temporary solution until all of Camel's MIME
filters are ported to the GConverter interface.

11 years agoAdd CamelFilterInputStream.
Matthew Barnes [Tue, 1 Oct 2013 14:19:07 +0000 (10:19 -0400)]
Add CamelFilterInputStream.

CamelFilterInputStream is similar to GConverterInputStream, except it
operates on a CamelMimeFilter instead of a GConverter.

This class is meant to be a temporary solution until all of Camel's MIME
filters are ported to the GConverter interface.

11 years agoRemove unused camel_session_build_password_prompt().
Matthew Barnes [Tue, 1 Oct 2013 15:20:35 +0000 (11:20 -0400)]
Remove unused camel_session_build_password_prompt().

11 years agoRemove unused camel_folder_summary_guess_content_info().
Matthew Barnes [Tue, 1 Oct 2013 15:06:06 +0000 (11:06 -0400)]
Remove unused camel_folder_summary_guess_content_info().

11 years agoAdd indices for new symbols in 3.12 to API documentation.
Matthew Barnes [Tue, 1 Oct 2013 15:18:33 +0000 (11:18 -0400)]
Add indices for new symbols in 3.12 to API documentation.

11 years agoUpdate Camel API documentation.
Matthew Barnes [Tue, 1 Oct 2013 15:05:02 +0000 (11:05 -0400)]
Update Camel API documentation.

11 years agoBug 708730 - CalDAV: Improve handling of invalid access tokens
Matthew Barnes [Mon, 30 Sep 2013 17:22:58 +0000 (13:22 -0400)]
Bug 708730 - CalDAV: Improve handling of invalid access tokens

If e_source_get_oauth2_access_token_sync() fails, rather than dumping
the error message to stderr where users won't see it, stash the GError
within the CalDAV backend to be retrieved when the backend falls back
to caldav_authenticate().

This both returns a descriptive error message to the client application
and prevents an inappropriate password prompt while authenticating with
an access token instead of a password.

11 years agoFix some "may be used uninitialized" compiler warnings
Milan Crha [Mon, 30 Sep 2013 12:46:52 +0000 (14:46 +0200)]
Fix some "may be used uninitialized" compiler warnings