summaryrefslogtreecommitdiff
path: root/calendar/backends/http/e-cal-backend-http.c
diff options
context:
space:
mode:
Diffstat (limited to 'calendar/backends/http/e-cal-backend-http.c')
-rw-r--r--calendar/backends/http/e-cal-backend-http.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/calendar/backends/http/e-cal-backend-http.c b/calendar/backends/http/e-cal-backend-http.c
index 49d69a088..445ff0c76 100644
--- a/calendar/backends/http/e-cal-backend-http.c
+++ b/calendar/backends/http/e-cal-backend-http.c
@@ -969,7 +969,9 @@ e_cal_backend_http_open (ECalBackendSync *backend,
&certificate_errors, cancellable, &local_error);
if (g_error_matches (local_error, SOUP_HTTP_ERROR, SOUP_STATUS_UNAUTHORIZED) ||
- g_error_matches (local_error, SOUP_HTTP_ERROR, SOUP_STATUS_SSL_FAILED)) {
+ g_error_matches (local_error, SOUP_HTTP_ERROR, SOUP_STATUS_SSL_FAILED) ||
+ (g_error_matches (local_error, SOUP_HTTP_ERROR, SOUP_STATUS_FORBIDDEN) &&
+ !cbhttp->priv->password)) {
GError *local_error2 = NULL;
ESourceCredentialsReason reason = E_SOURCE_CREDENTIALS_REASON_REQUIRED;