[evolution-data-server/gnome-3-8] Bug #704688 - HTTP Backend: Don't authenticate unnecessarily
- From: Milan Crha <mcrha src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [evolution-data-server/gnome-3-8] Bug #704688 - HTTP Backend: Don't authenticate unnecessarily
- Date: Fri, 9 Aug 2013 08:11:26 +0000 (UTC)
commit a193af6e0406b4a8799eb27ccb66e5a9d06495b1
Author: Milan Crha <mcrha redhat com>
Date: Fri Aug 9 10:11:07 2013 +0200
Bug #704688 - HTTP Backend: Don't authenticate unnecessarily
calendar/backends/http/e-cal-backend-http.c | 31 +++++++++++---------------
1 files changed, 13 insertions(+), 18 deletions(-)
---
diff --git a/calendar/backends/http/e-cal-backend-http.c b/calendar/backends/http/e-cal-backend-http.c
index 5800a04..f2bc941 100644
--- a/calendar/backends/http/e-cal-backend-http.c
+++ b/calendar/backends/http/e-cal-backend-http.c
@@ -575,9 +575,15 @@ cal_backend_http_load (ECalBackendHttp *backend,
/* check status code */
if (!SOUP_STATUS_IS_SUCCESSFUL (status_code)) {
- g_set_error (
- error, SOUP_HTTP_ERROR, status_code,
- "%s", soup_message->reason_phrase);
+ /* because evolution knows only G_IO_ERROR_CANCELLED */
+ if (status_code == SOUP_STATUS_CANCELLED)
+ g_set_error (
+ error, G_IO_ERROR, G_IO_ERROR_CANCELLED,
+ "%s", soup_message->reason_phrase);
+ else
+ g_set_error (
+ error, SOUP_HTTP_ERROR, status_code,
+ "%s", soup_message->reason_phrase);
g_object_unref (soup_message);
empty_cache (backend);
return FALSE;
@@ -870,11 +876,9 @@ e_cal_backend_http_open (ECalBackendSync *backend,
ECalBackendHttpPrivate *priv;
ESource *source;
ESourceRegistry *registry;
- ESourceAuthentication *auth_extension;
ESourceWebdav *webdav_extension;
const gchar *extension_name;
const gchar *cache_dir;
- gboolean auth_required;
gboolean opened = TRUE;
gboolean online;
gchar *tmp;
@@ -892,10 +896,6 @@ e_cal_backend_http_open (ECalBackendSync *backend,
registry = e_cal_backend_get_registry (E_CAL_BACKEND (backend));
- extension_name = E_SOURCE_EXTENSION_AUTHENTICATION;
- auth_extension = e_source_get_extension (source, extension_name);
- auth_required = e_source_authentication_required (auth_extension);
-
extension_name = E_SOURCE_EXTENSION_WEBDAV_BACKEND;
webdav_extension = e_source_get_extension (source, extension_name);
@@ -938,16 +938,11 @@ e_cal_backend_http_open (ECalBackendSync *backend,
uri = cal_backend_http_ensure_uri (cbhttp);
- if (!auth_required) {
- opened = cal_backend_http_load (
- cbhttp, cancellable,
- uri, &local_error);
- auth_required = g_error_matches (
- local_error, SOUP_HTTP_ERROR,
- SOUP_STATUS_UNAUTHORIZED);
- }
+ opened = cal_backend_http_load (
+ cbhttp, cancellable,
+ uri, &local_error);
- if (auth_required) {
+ if (g_error_matches (local_error, SOUP_HTTP_ERROR, SOUP_STATUS_UNAUTHORIZED)) {
g_clear_error (&local_error);
opened = e_source_registry_authenticate_sync (
registry, source,
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]