Milan Crha [Tue, 1 Nov 2011 09:58:05 +0000 (10:58 +0100)]
Avoid possible crash when url->path is NULL
Matthew Barnes [Sat, 29 Oct 2011 15:16:03 +0000 (11:16 -0400)]
Add a comment explaining CamelStore's mode field.
I was about to get rid of this field thinking it was unused, but as
usual it's a GroupWise-specific hack for non-writable proxy accounts.
Add a comment to the header file for future reference.
Matthew Barnes [Wed, 26 Oct 2011 19:33:19 +0000 (15:33 -0400)]
Remove g_thread_init() calls.
g_type_init() already calls it, and has for several GLib releases.
Matthew Barnes [Tue, 25 Oct 2011 21:19:39 +0000 (17:19 -0400)]
IMAP: Split off a new mutex for commands and responses.
Define a new public GStaticRecMutex named "command_and_response_lock"
on CamelImapStore for IMAP command and response operations to use.
Fixes some deadlocks I was encountering due to the overreliance on
CAMEL_SERVICE_REC_CONNECT_LOCK, particularly during authentication.
Matthew Barnes [Tue, 25 Oct 2011 18:55:39 +0000 (14:55 -0400)]
camel_imap_store_connected() cleanup.
If camel_service_connect_sync() set a GError, don't overwrite it with a
generic "you must be working online" message. The connect_sync() error
message has useful information to help identify the real problem.
Matej Urbančič [Tue, 25 Oct 2011 18:58:58 +0000 (20:58 +0200)]
Updated Slovenian translation
Matthew Barnes [Tue, 25 Oct 2011 15:08:10 +0000 (11:08 -0400)]
Bug 662524 - POP3: Use a safer default value for "delete-after-days"
Default to not deleting mail kept on the POP3 server at all rather than
automatically deleting after X days. Helps avoid accidental data loss.
Daniel Mustieles [Tue, 25 Oct 2011 08:45:20 +0000 (10:45 +0200)]
Updated Spanish translation
Milan Crha [Tue, 25 Oct 2011 07:58:25 +0000 (09:58 +0200)]
Bug #660182 - Error dialog on LDAP query with multiple referrals
Matthew Barnes [Mon, 24 Oct 2011 21:51:10 +0000 (17:51 -0400)]
Bug 662643 - camel_url_decode_path() crashes on empty string
Matthew Barnes [Thu, 20 Oct 2011 21:24:04 +0000 (17:24 -0400)]
Move remaining CamelURL elements to CamelSettings.
This is a continuation of the CamelSettings work I started in 3.1.
CamelService no longer stores a CamelURL. The URL components are being
moved to CamelSettings.
For network services, the host, port, user and authentication mechanism
URL components now live in CamelNetworkSettings.
For local services, the path URL component (aka, the file path to the
root of the local mail store) now lives in CamelLocalSettings.
For now these new settings are configured the same as other settings:
through camel_settings_load_from_url(). But again, that function will
be dropped as soon as we move to key files for account data storage.
Also:
- Remove camel_service_get_url(), which is no longer used.
- camel_session_add_service() now takes a protocol name instead of a
URL string. The protocol name must match a registered CamelProvider.
- camel_service_get_camel_url() is renamed camel_service_new_camel_url().
It now returns a new CamelURL which must be freed with camel_url_free().
The returned CamelURL is built from user, host, port and path settings,
and does not have any parameters. You MUST access settings through
CamelSettings now.
- CamelServices need to be prepared for CamelSettings values changing or
even the entire CamelSettings object being replaced at any time. Most
services were already prepared, but I caught a few services caching
settings during initialization. Always consult CamelSettings when a
setting value is needed so the service is acting on a fresh value.
- Camel's SONAME is hereby bumped (yet again) for 3.3.2.
Milan Crha [Mon, 24 Oct 2011 07:42:17 +0000 (09:42 +0200)]
Call g_thread_init() conditionally
Matthew Barnes [Sun, 23 Oct 2011 02:06:12 +0000 (22:06 -0400)]
Post-release version bump.
Matthew Barnes [Sun, 23 Oct 2011 01:17:36 +0000 (21:17 -0400)]
NEWS update for 3.3.1 release.
Matthew Barnes [Sat, 22 Oct 2011 01:45:02 +0000 (21:45 -0400)]
Avoid a crash in camel_session_get_service_by_url().
Check that we found a CamelProvider before dereferencing it.
Matthew Barnes [Sat, 22 Oct 2011 00:47:44 +0000 (20:47 -0400)]
Add camel_folder_refresh_info()/_finish().
I forget to write wrapper functions for CamelFolderClass.refresh_info()
and CamelFolderClass.refresh_info_finish() even though the class methods
have been there for awhile.
Thanks to Srini for pointing this out.
Matej Urbančič [Fri, 21 Oct 2011 19:22:00 +0000 (21:22 +0200)]
Updated Slovenian translation
Tristan Van Berkom [Thu, 18 Aug 2011 17:41:43 +0000 (19:41 +0200)]
Added test to show that fields-of-interest is working in libecal
Test is based on test-client-get-view.c, this version of the test
sets fields-of-interest to UID, RECURRENCE-ID and LAST-MODIFIED
fields, tests that all those fields are returned and asserts that
the event summary (which is indeed set) is always NULL.
Piotr Drąg [Fri, 21 Oct 2011 15:44:21 +0000 (17:44 +0200)]
Updated Polish translation
Piotr Drąg [Fri, 21 Oct 2011 15:40:26 +0000 (17:40 +0200)]
Updated Polish translation
Piotr Drąg [Fri, 21 Oct 2011 15:38:43 +0000 (17:38 +0200)]
Updated Polish translation
Milan Crha [Fri, 21 Oct 2011 13:45:11 +0000 (15:45 +0200)]
Bug #660870 - Empty Contacts list when pressing "To:" in composer
Kjartan Maraas [Fri, 21 Oct 2011 09:02:52 +0000 (11:02 +0200)]
Revert "Remove of -Werror-deprecated-function-declaration", it doesn't work
Alban Browaeys [Fri, 21 Oct 2011 07:40:16 +0000 (09:40 +0200)]
Bug #660656 - Fix e_iterator_get annotation
Ihar Hrachyshka [Thu, 20 Oct 2011 19:24:04 +0000 (22:24 +0300)]
Updated Belarusian translation.
Kjartan Maraas [Thu, 20 Oct 2011 19:01:37 +0000 (21:01 +0200)]
Remove -Werror-deprecated-function-declaration to make it build for the 3.4 moduleset
Milan Crha [Thu, 20 Oct 2011 07:01:55 +0000 (09:01 +0200)]
Bug #527614 - Valgrind shows a nice amount of lost memory
Daniel Mustieles [Wed, 19 Oct 2011 14:40:07 +0000 (16:40 +0200)]
Updated Spanish translation
Daniel Mustieles [Wed, 19 Oct 2011 14:38:06 +0000 (16:38 +0200)]
Updated Spanish translation
Milan Crha [Wed, 19 Oct 2011 11:56:28 +0000 (13:56 +0200)]
Fix compiler warnings from GOA code in book factory
Tristan Van Berkom [Sat, 15 Oct 2011 15:34:32 +0000 (11:34 -0400)]
Really implement e_cal_client_view_set_fields_of_interest().
As discussed on bug https://bugzilla.gnome.org/show_bug.cgi?id=652180,
this patch adds many '_component' variants to functions that are named
with '_object', all the '_component' variants take an 'icalcomponent *'
instead of an ical string.
The magic filtering happens in e_data_cal_view_get_component_string()
which creates an ical string representation while omitting properties
that are not mentioned in the fields of interest.
Mario Blättermann [Tue, 18 Oct 2011 20:16:19 +0000 (22:16 +0200)]
[l10n] Updated German translation
Mario Blättermann [Tue, 18 Oct 2011 20:15:33 +0000 (22:15 +0200)]
[l10n] Updated German translation
Milan Crha [Tue, 18 Oct 2011 18:12:29 +0000 (20:12 +0200)]
Avoid possible deadlock with CamelStoreSummary locks
Recently added store_summary_sync_folder_summary_count_cb() could
cause deadlock when locking SUMMARY_LOCK first, and then calling
functions which lock REF_LOCK before SUMMARY_LOCK. Locking REF_LOCK
first avoids this.
Milan Crha [Tue, 18 Oct 2011 11:07:54 +0000 (13:07 +0200)]
Bug #661549 - Avoid fetching from backend when calculating summary
Bartosz Szatkowski [Tue, 18 Oct 2011 10:29:07 +0000 (12:29 +0200)]
Bug #656603 - Add support for generating vCard 2.1 in libebook
Kjartan Maraas [Tue, 18 Oct 2011 05:43:30 +0000 (07:43 +0200)]
Updated Norwegian bokmål translation
Fran Diéguez [Mon, 17 Oct 2011 22:13:13 +0000 (00:13 +0200)]
Updated Galician translations
OKANO Takayoshi [Mon, 17 Oct 2011 16:43:35 +0000 (01:43 +0900)]
Updated Japanese translation
Luca Ferretti [Mon, 17 Oct 2011 08:06:41 +0000 (10:06 +0200)]
l10n: updated Italian translation
Matthew Barnes [Sun, 16 Oct 2011 21:26:52 +0000 (17:26 -0400)]
Update libedata-book API docs.
Matthew Barnes [Sun, 16 Oct 2011 21:22:20 +0000 (17:22 -0400)]
Update libebook API docs.
Matthew Barnes [Sun, 16 Oct 2011 21:15:58 +0000 (17:15 -0400)]
Update libedata-cal API docs.
Matthew Barnes [Sun, 16 Oct 2011 21:13:10 +0000 (17:13 -0400)]
Update libedataserver API docs.
Matthew Barnes [Sun, 16 Oct 2011 21:02:38 +0000 (17:02 -0400)]
Update Camel API docs.
Changwoo Ryu [Sun, 16 Oct 2011 18:08:33 +0000 (03:08 +0900)]
Updated Korean translation
Bruce Cowan [Sun, 16 Oct 2011 13:42:13 +0000 (14:42 +0100)]
Updated British English translation
Matthew Barnes [Sat, 15 Oct 2011 13:51:35 +0000 (09:51 -0400)]
smtp: Adapt to Camel's new authentication API.
Matthew Barnes [Sat, 15 Oct 2011 13:51:22 +0000 (09:51 -0400)]
pop3: Adapt to Camel's new authentication API.
Matthew Barnes [Sat, 15 Oct 2011 13:51:05 +0000 (09:51 -0400)]
nntp: Adapt to Camel's new authentication API.
Matthew Barnes [Sat, 15 Oct 2011 13:50:52 +0000 (09:50 -0400)]
imapx: Adapt to Camel's new authentication API.
Matthew Barnes [Sat, 15 Oct 2011 13:50:06 +0000 (09:50 -0400)]
imap: Adapt to Camel's new authentication API.
Matthew Barnes [Sat, 15 Oct 2011 13:35:43 +0000 (09:35 -0400)]
Camel: New authentication API.
Currently each provider has to implement its own authentication loop.
The idea for these changes is add a CamelSession method that executes
a common authentication loop for all providers:
CamelSessionClass:
gboolean (*authenticate_sync) (CamelSession *session,
CamelService *service,
const gchar *mechanism,
GCancellable *cancellable,
GError **error);
void (*authenticate) (CamelSession *session,
CamelService *service,
const gchar *mechanism,
gint io_priority,
GCancellable *cancellable,
GAsyncReadyCallback callback,
gpointer user_data);
gboolean (*authenticate_finish) (CamelSession *session,
GAsyncResult *result,
GError **error);
Each CamelService is then responsible for implementing a new
authenticate method that makes only ONE authentication attempt and
returns an appropriate status code:
CamelServiceClass:
CamelAuthenticationResult
(*authenticate_sync) (CamelService *service,
const gchar *mechanism,
GCancellable *cancellable,
GError **error);
void (*authenticate) (CamelService *service,
const gchar *mechanism,
gint io_priority,
GCancellable *cancellable,
GAsyncReadyCallback callback,
gpointer user_data);
CamelAuthenticationResult
(*authenticate_finish) (CamelService *service,
GAsyncResult *result,
GError **error);
The status codes are defined by the CamelAuthenticationResult enum:
CAMEL_AUTHENTICATION_SUCCESS : auth credentials were accepted
CAMEL_AUTHENTICATION_FAILURE : auth credentials were rejected
CAMEL_AUTHENTICATION_ERROR : something went horribly wrong!
CAMEL_AUTHENTICATION_SUCCESS and CAMEL_AUTHENTICATION_ERROR both
terminate the authentication loop, but CAMEL_AUTHENTICATION_FAILURE
cycles the loop and asks the CamelService to retry authentication,
usually after prompting the user to enter a different password.
Fran Dieguez [Sat, 15 Oct 2011 14:36:25 +0000 (16:36 +0200)]
Updaged Galician translations
Matthew Barnes [Thu, 13 Oct 2011 01:09:05 +0000 (21:09 -0400)]
Require libgdata >= 0.10.
Drop all the backward-compatibility cruft.
Daniel Mustieles [Wed, 12 Oct 2011 15:28:32 +0000 (17:28 +0200)]
Updated Spanish translation
Christophe Dumez [Tue, 11 Oct 2011 11:02:57 +0000 (14:02 +0300)]
Bug #661448 - e_util_copy_*_slist(): Avoid using append function
The current implementation calls g_slist_append() for each element
of the list to copy. However, g_slist_append() is expensive
because it iterate over the whole destination list.
This patch alters the behavior to first make a deep copy of the
list and then concatenate the destination list and the list copy.
The concatenation only iterates of the destination list once.
Gabor Kelemen [Tue, 11 Oct 2011 19:21:57 +0000 (21:21 +0200)]
Updated Hungarian translation
Christophe Dumez [Mon, 10 Oct 2011 13:35:32 +0000 (16:35 +0300)]
EBookClient: Avoid useless copying of valid UTF-8 strings
Make use of e_util_ensure_gdbus_string() instead of
e_util_utf8_make_valid() whenever possible to avoid useless
copying/freeing of valid UTF-8 strings (likely case).
Christophe Dumez [Tue, 11 Oct 2011 08:20:40 +0000 (11:20 +0300)]
e-book-backend-file: Don't share DB_ENV between address books from different sources
A DB_ENV is associated to the folder when the database is stored, in
order to store transaction logs. As a consequence, a DB_ENV should
never be shared between address books from different sources, since
they are kept in separate folders.
Milan Crha [Tue, 11 Oct 2011 11:25:44 +0000 (13:25 +0200)]
ENameSelectorEntry::user_delete_text: Delete whole text when user deleted it
In cases like setting an empty string to a GtkEntry the event
passes -1 as end_pos, where ENameSelectorEntry didn't behave properly.
Milan Crha [Tue, 11 Oct 2011 10:28:53 +0000 (12:28 +0200)]
Bug #661432 - 'Any field contains' search doesn't work in contact view
Milan Crha [Tue, 11 Oct 2011 08:02:33 +0000 (10:02 +0200)]
Bug #660829 - Allow 'Mark as read' in right click menu on spam folder
Christophe Dumez [Tue, 11 Oct 2011 07:51:37 +0000 (10:51 +0300)]
Revert "gdbus_proxy_call_sync: stop using g_usleep()"
This reverts commit
cf78ee827d3c5157e44a1e4c32d395942a816461.
Christophe Dumez [Tue, 11 Oct 2011 06:36:59 +0000 (09:36 +0300)]
EBookClientView: Use e_util_free_object_slist() utility function
Christophe Dumez [Mon, 10 Oct 2011 12:54:42 +0000 (15:54 +0300)]
e-book-client: Refactor bulk methods code
Add a contact_slist_to_utf8_vcard_array() utility function to
avoid code duplication in EBookClient bulk methods.
Christophe Dumez [Mon, 10 Oct 2011 06:51:11 +0000 (09:51 +0300)]
gdbus_proxy_call_sync: stop using g_usleep()
Instead, tell g_main_context_iteration() that it may block if no
event source is ready.
Christophe Dumez [Wed, 5 Oct 2011 07:36:20 +0000 (10:36 +0300)]
Don't free vcard memory in e_data_book_view_notify_update*_vcard()
Instead, the vcard memory is freed by the caller which feels more
consistent with the rest of the code and less error-prone.
Christophe Dumez [Mon, 10 Oct 2011 16:18:20 +0000 (19:18 +0300)]
e_book_backend_sqlitedb_new: Fix database connection reuse
Remove EBookBackendSqliteDB objects from the db_connections
hash table in their dispose function. It used to be done in
their finalize function but this would cause
g_hash_table_lookup() to sometime return EBookBackendSqliteDB
GObjects whose ref_count is 0, under heavy load.
This patch also makes sure the database mutex is properly unlocked
in case of error. It also properly reports errors when
book_backend_sqlitedb_load() fails.
krishnababu k [Mon, 10 Oct 2011 11:26:09 +0000 (16:56 +0530)]
Updated Telugu Translations
Christophe Dumez [Thu, 6 Oct 2011 05:41:21 +0000 (08:41 +0300)]
libebook: Add unit test for bulk modification function
Christophe Dumez [Wed, 5 Oct 2011 13:22:31 +0000 (16:22 +0300)]
e-book-client: Add bulk contact modification methods.
This reduces the number of DBus round-trips and enables
optimizations in the backend.
This patch also makes use of Berkeley DB transactions in the file
backend.
Milan Crha [Mon, 10 Oct 2011 08:56:33 +0000 (10:56 +0200)]
Workaround possible crash in imap_body_decode()
Nguyễn Thái Ngọc Duy [Mon, 10 Oct 2011 08:30:36 +0000 (19:30 +1100)]
Updated Vietnamese translation
Nguyễn Thái Ngọc Duy [Fri, 7 Oct 2011 11:51:44 +0000 (22:51 +1100)]
vi.po: import from Damned Lies
Kjartan Maraas [Mon, 10 Oct 2011 05:50:13 +0000 (07:50 +0200)]
Updated Norwegian bokmål translation
Daniel Nylander [Sun, 9 Oct 2011 18:46:14 +0000 (20:46 +0200)]
Updated Swedish translation
Daniel Mustieles [Sun, 9 Oct 2011 09:45:41 +0000 (11:45 +0200)]
Updated Spanish translation
Christophe Dumez [Sat, 8 Oct 2011 07:09:12 +0000 (10:09 +0300)]
configure.ac: Bump ADDRESS_BOOK_DBUS_SERVICE_NAME to 2
The DBus API has changed with the addition of bulk contact
addition methods.
Christophe Dumez [Tue, 4 Oct 2011 13:26:52 +0000 (16:26 +0300)]
addressbook: Improve bulk contact removal code
The patch makes use of Berkeley DB transations in the file backend
and roll back the transaction in case of error to make the
behavior consistent with bulk addition.
This patch also makes the webdav backend behave as expected since
it does not support bulk removal and the implementation was broken.
Christophe Dumez [Fri, 30 Sep 2011 14:08:14 +0000 (17:08 +0300)]
libebook: Add test for bulk methods
Christophe Dumez [Tue, 27 Sep 2011 10:35:36 +0000 (13:35 +0300)]
e-book-client: add e_book_client_add_contacts*() methods
Enables optimizations for batch additions of contacts such as
less DBus round trips and use of database transactions in file
backend.
Christophe Dumez [Sat, 8 Oct 2011 06:42:44 +0000 (09:42 +0300)]
build_sqlitedb(): remove useless free() for vcard_dbt.data
Piotr Drąg [Fri, 7 Oct 2011 11:37:52 +0000 (13:37 +0200)]
Updated POTFILES.in
Christophe Dumez [Wed, 5 Oct 2011 06:26:05 +0000 (09:26 +0300)]
build_sqlitedb: Fix memory leaks and optimize function
This patch fixes 2 possible memory leaks in build_sqlitedb()
function, makes use of e_util_free_object_slist() utility function,
slightly improves error checking and makes some minor optimizations.
Christophe Dumez [Wed, 5 Oct 2011 07:03:42 +0000 (10:03 +0300)]
Make all backends return NULL when calling get_contact() and the contact is not found.
Some backends returned NULL (google, webdav) while other returned
an empty string (ldap, file, vcf). The behavior should be
consistent and I believe the best is to return NULL since it is
an error case (NOT_FOUND error is returned), this avoids useless
string allocation and possible leaks.
Christophe Dumez [Tue, 4 Oct 2011 08:43:46 +0000 (11:43 +0300)]
gdbus_proxy_call_sync: check sync flag more frequently
This patch lowers the value used in g_usleep() from 250000us
to 1000us in order to decrease latency.
Milan Crha [Thu, 6 Oct 2011 14:57:51 +0000 (16:57 +0200)]
CamelFolderSummary API changes
Matthew Barnes [Thu, 6 Oct 2011 13:50:28 +0000 (09:50 -0400)]
Prefer g_simple_async_result_take_error().
Slightly more efficient and convenient than:
g_simple_async_result_set_from_error (simple, error);
g_error_free (error);
One less GError to copy and destroy.
Milan Crha [Thu, 6 Oct 2011 10:29:20 +0000 (12:29 +0200)]
Increase dependency on gtk+ to 3.2
Dan Vrátil [Wed, 5 Oct 2011 17:27:42 +0000 (19:27 +0200)]
Add missing arguments checks to CamelCipherContext
Christian Hilberg [Tue, 4 Oct 2011 14:52:34 +0000 (16:52 +0200)]
Bug #660884 - Missing libebackend LIBADD in calendar/backends
Milan Crha [Mon, 3 Oct 2011 12:15:57 +0000 (14:15 +0200)]
Provide EClient's GSList utility functions within e-data-server-util.h
Milan Crha [Mon, 3 Oct 2011 09:22:28 +0000 (11:22 +0200)]
Bug #660615 - Make POP3 provider more cancellable ready
Dan Vrátil [Fri, 30 Sep 2011 21:54:27 +0000 (23:54 +0200)]
Fix a little memory leak
Cosimo Cecchi [Fri, 30 Sep 2011 15:26:41 +0000 (11:26 -0400)]
Bug 660533 - Missing GOA cflags/libs in libedata-book
Milan Crha [Fri, 30 Sep 2011 12:37:45 +0000 (14:37 +0200)]
Bug #620382 - Do not delete also directory for custom local calendars
Milan Crha [Fri, 30 Sep 2011 12:08:17 +0000 (14:08 +0200)]
Bug #601898 - SOCKS proxy does not work with mailer
Christophe Dumez [Wed, 28 Sep 2011 07:41:50 +0000 (10:41 +0300)]
Add unit test for lazy contact vcard parsing
The test was mostly written by Milan Crha.
Christophe Dumez [Wed, 21 Sep 2011 12:57:41 +0000 (15:57 +0300)]
addressbook: Optimizations to avoid vcard parsing
Now that vcards are lazily parsed, it makes sense to optimize
the rest of the code to avoid vcard parsing as much as possible.
In particular, it is now possible the pass the vcard UID when
constructing an EVCard object by using e_vcard_construct_with_uid().
This will avoid useless vcard parsing whenever getting the vcard
UID later. Moreover, setting the UID attribute on a EContact no
longer requires vcard parsing.