Matthew Barnes [Sat, 17 Nov 2012 20:04:49 +0000 (15:04 -0500)]
Fix EBookClient property fetching crack.
Matthew Barnes [Sat, 17 Nov 2012 13:57:38 +0000 (08:57 -0500)]
Post-release version bump.
Matthew Barnes [Sat, 17 Nov 2012 13:31:49 +0000 (08:31 -0500)]
NEWS update for 3.7.2 release.
Matthew Barnes [Sat, 17 Nov 2012 13:33:51 +0000 (08:33 -0500)]
Missed a couple files when removing EBookBackendVCF.
Matthew Barnes [Sat, 17 Nov 2012 12:54:37 +0000 (07:54 -0500)]
Remove EBookBackendVCF.
Strolling through the commit history of this backend, I had to dig all
the way back to 2005 before I started seeing actual development work.
Since then the commits have all been code cleanups and adapting it to
backend API changes.
There is no way to create a VCF address book from Evolution, which means
this entire backend is dead code and we've been wasting our time with it.
Dump it.
Matthew Barnes [Fri, 16 Nov 2012 19:16:45 +0000 (14:16 -0500)]
Deprecate BOOK_BACKEND_PROPERTY_SUPPORTED_AUTH_METHODS.
This property is not used anywhere.
Remove all references to it from built-in backends.
The following EBook functions now simply return an empty list:
e_book_get_supported_auth_methods
e_book_async_get_supported_auth_methods
e_book_get_supported_auth_methods_async
Milan Crha [Fri, 16 Nov 2012 08:59:51 +0000 (09:59 +0100)]
Bug #674454 - Crash in e_book_backend_ldap_authenticate_user()
Milan Crha [Wed, 14 Nov 2012 22:37:24 +0000 (23:37 +0100)]
Replace deprecated Gtk+ symbols (as of Gtk+ 3.6.x)
Milan Crha [Tue, 13 Nov 2012 15:58:49 +0000 (16:58 +0100)]
Bug #688146 - Crash in Contacts calendar backend
Paul Menzel [Tue, 13 Nov 2012 13:02:38 +0000 (14:02 +0100)]
Bug #687634 - Improve camel console warning text
Milan Crha [Tue, 13 Nov 2012 07:37:40 +0000 (08:37 +0100)]
Bug #687865 - Shows old reminders for GOA accounts
Matthew Barnes [Tue, 13 Nov 2012 00:17:29 +0000 (19:17 -0500)]
Revert "EBookBackendGoogle: Make room for other authorizers."
This reverts commit
a5dae1a780f898ab453f574440ca02e108b4ebef.
Actually no, don't want to do that. Misread the code.
Matthew Barnes [Mon, 12 Nov 2012 23:56:10 +0000 (18:56 -0500)]
EBookBackendGoogle: Make room for other authorizers.
Christian Kirbach [Mon, 12 Nov 2012 21:49:34 +0000 (22:49 +0100)]
Update German translation
Matthew Barnes [Mon, 12 Nov 2012 16:44:11 +0000 (11:44 -0500)]
EDataBookFactory: Remove the GOA-specific bits.
Defer to the gnome-online-accounts module. See the previous commit.
Matthew Barnes [Mon, 12 Nov 2012 16:38:45 +0000 (11:38 -0500)]
gnome-online-accounts: Add an EDataFactory extension.
This extension takes over for the GOA bits in EDataBookFactory.
Install this extension to both the addressbook and calendar backend
directories, even though only EBookBackendGoogle uses it at present.
Matthew Barnes [Mon, 12 Nov 2012 14:31:16 +0000 (09:31 -0500)]
EDataFactory: Add a "backend-created" signal.
Allows EDataFactory extensions to catch newly-created backends and
perform additional initialization on it.
The use case I have in mind is to move all the GOA initialization in
EDataBookFactory to the gnome-online-accounts module as an extension.
Note this uses one of the reserved pointer slots in EDataFactoryClass
and therefore does not break ABI.
Matthew Barnes [Mon, 12 Nov 2012 11:54:26 +0000 (06:54 -0500)]
Remove unused OAUTH_CFLAGS / OAUTH_LIBS.
Missed these when I removed the liboauth dependency.
Matthew Barnes [Sat, 10 Nov 2012 02:54:46 +0000 (21:54 -0500)]
Coding style and whitespace cleanup.
Piotr Drąg [Fri, 9 Nov 2012 23:29:49 +0000 (00:29 +0100)]
Updated POTFILES.in
Matthew Barnes [Fri, 9 Nov 2012 16:25:13 +0000 (11:25 -0500)]
EBookBackendSqliteDB cleanups.
Improve error handling and make commits/rollbacks less awkward.
Matthew Barnes [Fri, 9 Nov 2012 12:49:33 +0000 (07:49 -0500)]
Use g_type_ensure() where applicable.
Matthew Barnes [Fri, 9 Nov 2012 11:29:21 +0000 (06:29 -0500)]
CamelIMAPXServer: Work around crash in imapx_exit_idle().
g_cond_clear() doesn't like being given an uninitialized GCond.
The "start_watch_cond" and "start_watch_exit" structures are being
cleared unconditionally, so we should initialize them unconditionally.
Matej Urbančič [Thu, 8 Nov 2012 20:36:46 +0000 (21:36 +0100)]
Updated Slovenian translation
Matthew Barnes [Thu, 8 Nov 2012 13:30:22 +0000 (08:30 -0500)]
Restore e_flag_timed_wait().
Just deprecate the function, don't delete it. GTimeVal isn't going
away any time soon. It's not worth a libedataserver soname bump.
Tristan Van Berkom [Thu, 8 Nov 2012 11:28:06 +0000 (20:28 +0900)]
Disabled debug print in EBookBackendFile
This was somehow missed in my last commit.
Tristan Van Berkom [Mon, 29 Oct 2012 06:33:09 +0000 (15:33 +0900)]
Local file backend modified to use sqlite db exclusively
Patch includes a migration routine to migrate data from a previously
installed BDB.
Tristan Van Berkom [Mon, 29 Oct 2012 05:40:47 +0000 (14:40 +0900)]
EBookBackendSqliteDB: Added e_book_backend_sqlitedb_get/set_revision()
In preperation for the migration, there needs to be a way to persist the
overall addressbook revision. This patch also increments the internal
SQLite DB format version and adds the new revision column to for main
folders table of an addressbook (and increments the stored DB version)
if the DB version is out of date.
Tristan Van Berkom [Mon, 29 Oct 2012 05:34:55 +0000 (14:34 +0900)]
EBookBackendSqliteDB: Fixed sexp interpretation for 'id' field.
In the sqlite backend, the 'id' is stored as the 'uid' column.
Matthew Barnes [Wed, 7 Nov 2012 13:31:52 +0000 (08:31 -0500)]
Revert "calendar: Drop old ECalSourceTypeEnum from introspected API"
This reverts commit
3183733023f022a89980cbf3f7292bde0bbd9954.
We no longer introspect deprecated API. Remove the cruft.
Matthew Barnes [Wed, 7 Nov 2012 12:53:56 +0000 (07:53 -0500)]
Disable runtime check in source_registry_initable_init().
Rationale explained in the source code.
Dan Williams [Wed, 7 Nov 2012 11:59:51 +0000 (06:59 -0500)]
Bug 687694 - imapx_untagged_vanished() is inefficient
For uid->len = 318320, timing the loop yields:
g_list_append(): 60+ seconds
g_list_prepend(): 0.3 seconds
Milan Crha [Wed, 7 Nov 2012 12:08:51 +0000 (13:08 +0100)]
Bug #687642 - Crash under caldav_synch_slave_loop()
Andreas Kohn [Wed, 7 Nov 2012 11:32:28 +0000 (12:32 +0100)]
Bug #669082 - Workaround crash in imapx_command_copy_messages_step_done()
Giovanni Campagna [Sun, 28 Oct 2012 15:24:46 +0000 (16:24 +0100)]
Google: allow writing X-GOOGLE-SYSTEM-GROUP-IDS
We expose GData system groups as an extended attribute with that
name, but if we found it in the EContact we would turn it into
an extended property. Instead, marshal the system group IDs into
Evolution categories, and then those into GData groups or system
groups.
https://bugzilla.gnome.org/show_bug.cgi?id=687051
Milan Crha [Tue, 6 Nov 2012 17:58:12 +0000 (18:58 +0100)]
Bug #687776 - E-D-S crash in local address book
Milan Crha [Tue, 6 Nov 2012 10:07:07 +0000 (11:07 +0100)]
Introduce --enable-strict configure option
This is currently used to add extra AM_CPPFLAGS to disable
deprecated symbols from GLib.
Kjartan Maraas [Mon, 5 Nov 2012 20:06:43 +0000 (21:06 +0100)]
Updated Norwegian bokmål translation
Milan Crha [Mon, 5 Nov 2012 19:51:41 +0000 (20:51 +0100)]
Use soup_message_headers_get_list() as a replacement of soup_message_headers_get()
CalDAV backend didn't receive proper value for access right, which
caused reject of the login to the server.
Milan Crha [Mon, 5 Nov 2012 19:39:59 +0000 (20:39 +0100)]
Replace deprecated soup_message_headers_get()
Milan Crha [Mon, 5 Nov 2012 19:19:01 +0000 (20:19 +0100)]
Replace deprecated GLib symbols (as of GLib 2.34.x)
Paul Menzel [Sun, 4 Nov 2012 21:43:32 +0000 (22:43 +0100)]
[l10n] Fixed German translation, bug #687562
Matthew Barnes [Sun, 4 Nov 2012 16:41:16 +0000 (11:41 -0500)]
EBookBackendSqliteDB: Add argument guards.
Yuri Myasoedov [Sun, 4 Nov 2012 16:21:41 +0000 (20:21 +0400)]
Updated Russian translation
Matthew Barnes [Fri, 2 Nov 2012 22:01:35 +0000 (18:01 -0400)]
vala: Remove unused metadata.
Matthew Barnes [Fri, 2 Nov 2012 21:49:13 +0000 (17:49 -0400)]
Exclude deprecated API from introspection.
Deprecated APIs were deprecated for a reason. The last thing we
should be doing is enabling their continued use in other languages.
Henceforth, any symbols tagged with EDS_DISABLED_DEPRECATED will be
automatically excluded from introspection and language bindings.
Matthew Barnes [Fri, 2 Nov 2012 21:47:38 +0000 (17:47 -0400)]
Introspection cleanups.
Matthew Barnes [Fri, 2 Nov 2012 20:57:39 +0000 (16:57 -0400)]
Remove E_BOOK_DISABLE_DEPRECATED and E_CAL_DISABLE_DEPRECATED.
We already use EDS_DISABLE_DEPRECATED, these other definitions only
confuse matters.
Matthew Barnes [Fri, 2 Nov 2012 20:33:03 +0000 (16:33 -0400)]
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.
Colin Walters [Fri, 2 Nov 2012 18:29:13 +0000 (14:29 -0400)]
calendar: Drop old ECalSourceTypeEnum from introspected API
It clashes when generating the vala bindings, and we're just keeping
it around for C API consumers.
Matthew Barnes [Fri, 2 Nov 2012 17:43:38 +0000 (13:43 -0400)]
e-cal-view.c: Remove unnecessary #includes.
Matthew Barnes [Fri, 2 Nov 2012 17:43:22 +0000 (13:43 -0400)]
e-cal.c: Remove unnecessary #includes.
Matthew Barnes [Fri, 2 Nov 2012 17:42:57 +0000 (13:42 -0400)]
e-book-view.c: Remove unnecessary #includes.
Matthew Barnes [Fri, 2 Nov 2012 17:41:49 +0000 (13:41 -0400)]
e-book.c: Remove unnecessary #includes.
Matthew Barnes [Fri, 2 Nov 2012 17:28:05 +0000 (13:28 -0400)]
Update libedataserverui API documentation.
Matthew Barnes [Fri, 2 Nov 2012 17:15:00 +0000 (13:15 -0400)]
Fix invalid Gtk-Doc syntax in comments.
Not certain this is everything, just what I could find.
Matthew Barnes [Fri, 2 Nov 2012 13:12:38 +0000 (09:12 -0400)]
Reimplement ECal using ECalClient.
This is primarily so I don't have to duplicate work while overhauling
the D-Bus API, but it's good to do anyway; it simplifies the deprecated
logic and helps ensure the two APIs behave consistently.
Matthew Barnes [Fri, 2 Nov 2012 11:41:22 +0000 (07:41 -0400)]
Reimplement ECalView using ECalClientView.
This is primarily so I don't have to duplicate work while overhauling
the D-Bus API, but it's good to do anyway; it simplifies the deprecated
logic and helps ensure the two APIs behave consistently.
Matthew Barnes [Mon, 29 Oct 2012 21:44:32 +0000 (17:44 -0400)]
Reimplement EBook using EBookClient.
This is primarily so I don't have to duplicate work while overhauling
the D-Bus API, but it's good to do anyway: it simplifies the deprecated
logic and helps ensure the two APIs behave consistently.
Matthew Barnes [Tue, 30 Oct 2012 00:24:14 +0000 (20:24 -0400)]
Reimplement EBookView using EBookClientView.
This is primarily so I don't have to duplicate work while overhauling
the D-Bus API, but it's good to do anyway: it simplifies the deprecated
logic and helps ensure the two APIs behave consistently.
Matthew Barnes [Fri, 2 Nov 2012 13:19:16 +0000 (09:19 -0400)]
e-cal-view.h cleanups.
Matthew Barnes [Fri, 2 Nov 2012 13:13:53 +0000 (09:13 -0400)]
e-book-view.h cleanups.
Milan Crha [Fri, 2 Nov 2012 10:09:03 +0000 (11:09 +0100)]
e_async_closure_callback: Do not test 'object' parameter validity
It is unnecessary to test validity of the 'object' parameter,
especially when this callback does nothing with it. The reason
is that the secret_password_store() calls the callback with NULL
'object', which leads to a deadlock on the source registry side.
Milan Crha [Fri, 2 Nov 2012 09:39:26 +0000 (10:39 +0100)]
Bug #685090 - GOA EWS module doesn't save all required values
Milan Crha [Fri, 2 Nov 2012 08:28:55 +0000 (09:28 +0100)]
Collection's child source Enabled should match collections Enabled
Milan Crha [Fri, 2 Nov 2012 08:24:50 +0000 (09:24 +0100)]
Revert "Revert "Bug #678400 - ECollectionBackend populates disabled accounts""
This reverts commit
1c4fb39c131a03428035a2035fca8ea462fc7714,
because the initial revert was a misunderstanding of the change.
Matthew Barnes [Thu, 1 Nov 2012 17:52:05 +0000 (13:52 -0400)]
Add AllowAuthPromptAll() method to SourceManager interface.
Equivalent to calling AllowAuthPrompt() on each exported data source,
but cuts way down on the D-Bus traffic. Since the registry service is
commonly activated during a desktop session startup, this can actually
clog up the session bus and slow down login.
This leaves the source-specific AllowAuthPrompt() method unused, but
there are still use cases for it which we haven't implemented yet, so
leave it be.
Matthew Barnes [Thu, 1 Nov 2012 13:38:49 +0000 (09:38 -0400)]
Remove version number from ${privincludedir}.
Last man standing, so may as well. Version not needed there either.
Matthew Barnes [Thu, 1 Nov 2012 13:35:00 +0000 (09:35 -0400)]
Remove erroneous version number from ${privlibdir}.
This slipped through because we don't actually reference ${privlibdir}
in our backend/module/provider directory definitions. Fix that too.
Also, some pkg-config files needed to be tweaked as a result of this.
Matthew Barnes [Thu, 1 Nov 2012 11:35:39 +0000 (07:35 -0400)]
Remove version number from ${privdatadir}.
In talking to some people at Red Hat about how to deploy pre-configured
Evolution accounts, one thing I suggested is to provide a package which
installs .source files to one of the system-wide locations:
/usr/share/evolution-data-server-3.8/ro-sources
/usr/share/evolution-data-server-3.8/rw-sources
But that's not going to work in general with the version number in the
path. Upgrading E-D-S to, say, 3.10 would invalidate such a package.
Remove the version number from our ${privdatadir}. It's not needed.
Milan Crha [Tue, 30 Oct 2012 17:59:40 +0000 (18:59 +0100)]
Bug #681962 - Identify server certificates by hostname and fingerprint
Milan Crha [Tue, 30 Oct 2012 17:48:30 +0000 (18:48 +0100)]
Bug #685034 - [imapx] Read status of email is not persisted correctly
Milan Crha [Mon, 29 Oct 2012 16:05:22 +0000 (17:05 +0100)]
Bug #687100 - Crash under cal_backend_contacts_remove_book_record()
Milan Crha [Mon, 29 Oct 2012 14:12:02 +0000 (15:12 +0100)]
Bug #686924 - Doesn't parse Gerrit encoded From address correctly
Matthew Barnes [Sun, 28 Oct 2012 11:38:10 +0000 (07:38 -0400)]
imapx_command_start: Improve handling of write-to-stream error.
For some reason we were calling camel_stream_write_string() without
passing a GError, and on failure setting a very generic error message
and losing potentially useful information about the actual error.
Matthew Barnes [Sat, 27 Oct 2012 16:27:04 +0000 (12:27 -0400)]
Use code coverage macros from gnome-common.
The GNOME_CODE_COVERAGE macro in gnome-common automates the process
nicely. Just run "make check-code-coverage" from the top-level source
directory (or from any of the "tests" subdirectories) and open the nice
coverage analysis report:
evolution-data-server-x.y.z-coverage/index.html
Matthew Barnes [Sat, 27 Oct 2012 02:45:59 +0000 (22:45 -0400)]
Bug 685986 - ESourceRegistry: Wait for signals after creating sources
e_source_registry_create_sources_sync() now waits for "object-added"
signals from its GDBusObjectManagerClient before returning. This allows
the newly-created ESources to be obtained immediately after the function
returns. Prior to this there was a small delay before the newly-created
ESources became available through the ESourceRegistry API.
There is a caveat to this. If any of the scratch ESources reference a
parent UID which is not presently exported by the registry service, the
registry service will refuse to export the newly-created ESource until
its parent becomes available.
In this scenario, to avoid waiting forever for an "object-added" signal
that isn't coming, we place a limit on the wait time (two seconds). If
this time limit expires, we return from the function regardless.
Matthew Barnes [Fri, 26 Oct 2012 20:34:10 +0000 (16:34 -0400)]
Add a test case for bug 685986.
Managed to reproduce the bug using the test case.
Matthew Barnes [Fri, 26 Oct 2012 20:30:20 +0000 (16:30 -0400)]
Prototype a D-Bus unit test harness.
Add functions for programmatically overriding XDG base directories
and launching a private D-Bus session bus using GTestDBus.
This requires Evolution-Data-Server to be installed, since the test
harness references D-Bus service files by the installation prefix.
Matthew Barnes [Fri, 26 Oct 2012 20:27:36 +0000 (16:27 -0400)]
Bump minimum GLib requirement to 2.34.
Need to utilize the GTestDBus API, which is new in 2.34.
Andika Triwidada [Sat, 27 Oct 2012 08:33:20 +0000 (15:33 +0700)]
Updated Indonesian translation
JB Lallement [Fri, 26 Oct 2012 15:26:13 +0000 (11:26 -0400)]
Bug 686719 - Missing linker flags in Camel tests
Matej Urbančič [Thu, 25 Oct 2012 17:52:58 +0000 (19:52 +0200)]
Updated Slovenian translation
Matthew Barnes [Thu, 25 Oct 2012 14:59:59 +0000 (10:59 -0400)]
Prefer e_source_registry_check_enabled().
Prefer e_source_registry_check_enabled() over e_source_get_enabled()
for most instances where we want to exclude disabled data sources.
Matthew Barnes [Thu, 25 Oct 2012 14:38:43 +0000 (10:38 -0400)]
Add e_source_registry_check_enabled().
Checks the enabled state of a given #ESource and of its ancestors to
determine if the #ESource should be displayed or acted on.
This is somewhat similar to widget sensitivity in GTK+.
cf. gtk_widget_get_sensitive() versus gtk_widget_is_sensitive()
Milan Crha [Thu, 25 Oct 2012 10:02:13 +0000 (12:02 +0200)]
Bug #680497 - POP3 re-adds messages to local Inbox
Matthew Barnes [Wed, 24 Oct 2012 21:28:25 +0000 (17:28 -0400)]
IMAPX: Explicitly pass GCancellable and GError to callbacks.
Further error handling improvements. This involves some public API
changes, but the impact is limited to evolution-kolab.
* CamelIMAPXCommandFunc now takes a GCancellable argument in addition
to its GError argument.
* The public GCancellable member of CamelIMAPXJob is now private, and
the public GError member is removed.
* The start() method of CamelIMAPXJob now takes a GCancellable and
GError argument. The GCancellable pass through this method call
is always the CamelIMAPXJob's own private GCancellable.
* A new camel_imapx_job_cancel() function which simply cancels the
CamelIMAPXJob's internal GCancellable.
Additional changes internal to CamelIMAPXServer are:
* Adapt operations to the new callback function signatures.
* imapx_command_queue() now takes a GCancellable and GError argument
and returns a 'success' boolean. Other core job and command routing
functions also now have similar function signatures.
* Add error handling where needed, so that no failable function call
goes unchecked.
Milan Crha [Wed, 24 Oct 2012 16:37:12 +0000 (18:37 +0200)]
Bug #686727 - POP3 provider deadlocks on finalize
Hendrik Knackstedt [Wed, 24 Oct 2012 08:52:11 +0000 (10:52 +0200)]
Updated German translation
Matthew Barnes [Tue, 23 Oct 2012 20:07:47 +0000 (16:07 -0400)]
CamelIMAPXServer: Handle errors in imapx_continuation().
There was no error handling at all on the write-to-stream operations.
Matthew Barnes [Tue, 23 Oct 2012 19:31:56 +0000 (15:31 -0400)]
CamelIMAPXServer: Return a boolean from imapx_command_start_next().
The function is failable and takes a GError, yet returns void. This
is how GErrors pile up. Return a boolean and add the necessary error
checks where the function is called.
Matthew Barnes [Tue, 23 Oct 2012 18:32:06 +0000 (14:32 -0400)]
Revert "Bug #678400 - ECollectionBackend populates disabled accounts"
This reverts commit
9a7948409852e57721dcb2e9e63ae69d8ac78d40.
Need to find a better solution than corrupting what are supposed to be
separate state flags.
Milan Crha [Tue, 23 Oct 2012 18:15:09 +0000 (20:15 +0200)]
Bug #678400 - ECollectionBackend populates disabled accounts
Matthew Barnes [Tue, 23 Oct 2012 16:07:50 +0000 (12:07 -0400)]
CamelIMAPXServer: Improve error handling around stopping IDLE.
imapx_stop_idle() returned a boolean but TRUE had an ambiguous
interpretation. It either meant the DONE command was sent or an I/O
error occurred. Define a new enum type (CamelIMAPXIdleStopResult) to
resolve the ambiguity.
Also imapx_command_idle_stop() returned a boolean but FALSE had an
ambiguous interpretation. It either meant an I/O error occurred, or
there was no available CamelIMAPXStream from which to issue the DONE
command. Resolve the ambiguity by forcing callers to explicitly pass
in a CamelIMAPXStream (and a GCancellable, while we're at it).
Matthew Barnes [Tue, 23 Oct 2012 15:04:21 +0000 (11:04 -0400)]
CamelIMAPXServer: Declare imapx_uidset_* functions as static.
These functions were never meant to be exported. The "static" keyword
seems to have been omitted by accident. Can't find any evidence of them
being called from outside camel-imapx-server.c, so just make them static.
Matthew Barnes [Tue, 23 Oct 2012 14:53:46 +0000 (10:53 -0400)]
CamelIMAPXServer: Clean up static function declarations.
One argument per line.
Matthew Barnes [Tue, 23 Oct 2012 14:57:07 +0000 (10:57 -0400)]
CamelIMAPXServer: Make sure all disabled bits have a comment.
Normally I throw away all disabled-with-no-explanation-why code chunks,
but in this case they all seem related, so clarify that in the code.
Gabor Kelemen [Tue, 23 Oct 2012 12:50:01 +0000 (14:50 +0200)]
Updated Hungarian translation
Matthew Barnes [Mon, 22 Oct 2012 17:20:11 +0000 (13:20 -0400)]
EAuthenticationSession: Close prompt before storing password.
Close our prompt before storing the password in the keyring.
If the keyring is locked, it will need to prompt the user for
a keyring password, but it can't do that if our password prompt
is still open since both prompts are system-modal. Not sure what
would happen next; probably the store operation would either fail
or deadlock.
Milan Crha [Mon, 22 Oct 2012 09:24:09 +0000 (11:24 +0200)]
Bug #640594 - Save also UID/REV in WebDAV backend (for CardDAV)