--- evolution-data-server-1.10.2/calendar/backends/http/e-cal-backend-http.c 2007-04-09 08:43:00.000000000 -0400 +++ evolution-data-server-1.10.2-gmail/calendar/backends/http/e-cal-backend-http.c 2007-08-17 16:31:26.000000000 -0400 @@ -381,6 +381,7 @@ { ECalBackendHttpPrivate *priv; SoupMessage *soup_message; + GConfClient *conf_client; priv = cbhttp->priv; @@ -396,14 +397,14 @@ priv->is_loading = TRUE; + conf_client = gconf_client_get_default (); + /* create the Soup session if not already created */ if (!priv->soup_session) { - GConfClient *conf_client; priv->soup_session = soup_session_async_new (); /* set the HTTP proxy, if configuration is set to do so */ - conf_client = gconf_client_get_default (); if (gconf_client_get_bool (conf_client, "/system/http_proxy/use_http_proxy", NULL)) { char *server, *proxy_uri; int port; @@ -454,6 +455,24 @@ soup_message = soup_message_new (SOUP_METHOD_GET, priv->uri); soup_message_add_header (soup_message->request_headers, "User-Agent", "Evolution/" VERSION); + + if (strstr (priv->uri, "google.com/calendar")) { + char *auth; + + auth = gconf_client_get_string (conf_client, + "/apps/evolution/calendar/gauth", NULL); + if (auth) { + char *auth_header = g_strdup_printf ("GoogleLogin auth=%s", auth); + + soup_message_add_header (soup_message->request_headers, + "Authorization", + auth_header); + + g_free (auth_header); + g_free (auth); + } + } + soup_message_set_flags (soup_message, SOUP_MESSAGE_NO_REDIRECT); soup_session_queue_message (priv->soup_session, soup_message,