evolution-data-server/bnc-137357-newly-configured-gw-dont-work.patch

90 lines
3.4 KiB
Diff
Raw Normal View History

Index: camel/providers/groupwise/camel-groupwise-store.c
===================================================================
RCS file: /cvs/gnome/evolution-data-server/camel/providers/groupwise/camel-groupwise-store.c,v
retrieving revision 1.94
diff -u -p -r1.94 camel-groupwise-store.c
--- camel/providers/groupwise/camel-groupwise-store.c 13 Mar 2006 06:31:04 -0000 1.94
+++ camel/providers/groupwise/camel-groupwise-store.c 13 Mar 2006 09:42:28 -0000
@@ -169,9 +169,9 @@ groupwise_compare_folder_name (gconstpoi
static gboolean
groupwise_auth_loop (CamelService *service, CamelException *ex)
{
- CamelGroupwiseStore *groupwise_store = CAMEL_GROUPWISE_STORE (service);
CamelSession *session = camel_service_get_session (service);
CamelStore *store = CAMEL_STORE (service);
+ CamelGroupwiseStore *groupwise_store = CAMEL_GROUPWISE_STORE (store);
CamelGroupwiseStorePrivate *priv = groupwise_store->priv;
char *errbuf = NULL;
gboolean authenticated = FALSE;
@@ -183,6 +183,7 @@ groupwise_auth_loop (CamelService *servi
else
uri = g_strconcat ("http://", priv->server_name, ":", priv->port, "/soap", NULL);
service->url->passwd = NULL;
+
while (!authenticated) {
if (errbuf) {
@@ -192,6 +193,7 @@ groupwise_auth_loop (CamelService *servi
service->url->passwd = NULL;
}
+
if (!service->url->passwd && !(store->flags & CAMEL_STORE_PROXY)) {
char *prompt;
@@ -268,10 +270,9 @@ groupwise_connect (CamelService *service
d("in groupwise store connect\n");
/* if (((CamelOfflineStore *) store)->state == CAMEL_OFFLINE_STORE_NETWORK_UNAVAIL ||
- (service->status == CAMEL_SERVICE_DISCONNECTED))
+ (service->status == CAMEL_SERVICE_DISCONNECTED))
return FALSE; */
-
- if (((CamelOfflineStore *) store)->state == CAMEL_OFFLINE_STORE_NETWORK_UNAVAIL)
+ if (service->status == CAMEL_SERVICE_DISCONNECTED)
return FALSE;
if (!priv) {
@@ -293,7 +294,9 @@ groupwise_connect (CamelService *service
return FALSE;
}
+
service->status = CAMEL_SERVICE_CONNECTED;
+ ((CamelOfflineStore *) store)->state = CAMEL_OFFLINE_STORE_NETWORK_AVAIL;
if (!e_gw_connection_get_version (priv->cnc)) {
camel_session_alert_user(session,
@@ -1110,6 +1113,7 @@ groupwise_get_folder_info (CamelStore *s
if (top && groupwise_is_system_folder (top))
return groupwise_build_folder_info (groupwise_store, NULL, top );
+
/*
* Thanks to Michael, for his cached folders implementation in IMAP
* is used as is here.
@@ -1141,6 +1145,12 @@ groupwise_get_folder_info (CamelStore *s
CAMEL_SERVICE_LOCK (store, connect_lock);
if ((groupwise_store->list_loaded == FALSE) && check_for_connection((CamelService *)store, ex)) {
+ if (!priv->cnc) {
+ if (groupwise_connect ((CamelService *)store, ex)) {
+ g_warning ("Could connect!!!\n");
+ } else
+ g_warning ("Could not connect..failure connecting\n");
+ }
if (camel_groupwise_store_connected ((CamelGroupwiseStore *)store, ex)) {
groupwise_store->list_loaded = TRUE;
groupwise_folders_sync (groupwise_store, ex);
@@ -1416,8 +1426,9 @@ gboolean
camel_groupwise_store_connected (CamelGroupwiseStore *store, CamelException *ex)
{
if (((CamelOfflineStore *) store)->state == CAMEL_OFFLINE_STORE_NETWORK_AVAIL
- && camel_service_connect ((CamelService *)store, ex))
+ && camel_service_connect ((CamelService *)store, ex)) {
return TRUE;
+ }
/*Not online, so return FALSE*/
return FALSE;
}