aboutsummaryrefslogtreecommitdiffstats
path: root/camel/providers/nntp/camel-nntp-store.c
diff options
context:
space:
mode:
authorChris Toshok <toshok@helixcode.com>2000-10-05 08:51:58 +0800
committerChris Toshok <toshok@src.gnome.org>2000-10-05 08:51:58 +0800
commitdac3e574bf268991651bedcf2bb0c70d70a5c5dc (patch)
treedeb361be77116d2743f506c6a31e02a6b555a20e /camel/providers/nntp/camel-nntp-store.c
parent2deab9c41716083286a3c74d1ece13214972399c (diff)
downloadgsoc2013-evolution-dac3e574bf268991651bedcf2bb0c70d70a5c5dc.tar
gsoc2013-evolution-dac3e574bf268991651bedcf2bb0c70d70a5c5dc.tar.gz
gsoc2013-evolution-dac3e574bf268991651bedcf2bb0c70d70a5c5dc.tar.bz2
gsoc2013-evolution-dac3e574bf268991651bedcf2bb0c70d70a5c5dc.tar.lz
gsoc2013-evolution-dac3e574bf268991651bedcf2bb0c70d70a5c5dc.tar.xz
gsoc2013-evolution-dac3e574bf268991651bedcf2bb0c70d70a5c5dc.tar.zst
gsoc2013-evolution-dac3e574bf268991651bedcf2bb0c70d70a5c5dc.zip
revert to old method (only use XOVER if OVER is supported.)
2000-10-04 Chris Toshok <toshok@helixcode.com> * providers/nntp/camel-nntp-utils.c (camel_nntp_get_headers): revert to old method (only use XOVER if OVER is supported.) * providers/nntp/camel-nntp-store.c (camel_nntp_store_get_overview_fmt): handle the case where the OVER extension isn't listed but LIST OVERVIEW.FMT works (again, INN 2.2). enable the OVER extension in this case. svn path=/trunk/; revision=5739
Diffstat (limited to 'camel/providers/nntp/camel-nntp-store.c')
-rw-r--r--camel/providers/nntp/camel-nntp-store.c28
1 files changed, 19 insertions, 9 deletions
diff --git a/camel/providers/nntp/camel-nntp-store.c b/camel/providers/nntp/camel-nntp-store.c
index b7466f7baf..52ed2d4966 100644
--- a/camel/providers/nntp/camel-nntp-store.c
+++ b/camel/providers/nntp/camel-nntp-store.c
@@ -120,17 +120,28 @@ camel_nntp_store_get_overview_fmt (CamelNNTPStore *store, CamelException *ex)
int status;
int i;
gboolean done = FALSE;
+
+ g_print ("camel_nntp_store_get_overview_fmt\n");
status = camel_nntp_command (store, ex, NULL,
"LIST OVERVIEW.FMT");
if (status != NNTP_LIST_FOLLOWS) {
- /* if we can't get the overview format, we should
- disable OVER support */
- g_warning ("server reported support of OVER but LIST OVERVIEW.FMT failed."
- " disabling OVER\n");
- store->extensions &= ~CAMEL_NNTP_EXT_OVER;
- return;
+ if (store->extensions & CAMEL_NNTP_EXT_OVER) {
+ /* if we can't get the overview format, we should
+ disable OVER support */
+ g_warning ("server reported support of OVER but LIST OVERVIEW.FMT failed."
+ " disabling OVER.\n");
+ store->extensions &= ~CAMEL_NNTP_EXT_OVER;
+ return;
+ }
+ }
+ else {
+ if (!(store->extensions & CAMEL_NNTP_EXT_OVER)) {
+ g_warning ("server didn't report support of OVER but LIST OVERVIEW.FMT worked."
+ " enabling OVER.\n");
+ store->extensions |= CAMEL_NNTP_EXT_OVER;
+ }
}
/* start at 1 because the article number is always first */
@@ -244,9 +255,8 @@ nntp_store_connect (CamelService *service, CamelException *ex)
/* get a list of extensions that the server supports */
camel_nntp_store_get_extensions (store, ex);
- /* if the server supports the OVER extension, get the overview.fmt */
- if (store->extensions & CAMEL_NNTP_EXT_OVER)
- camel_nntp_store_get_overview_fmt (store, ex);
+ /* try to get the overview.fmt */
+ camel_nntp_store_get_overview_fmt (store, ex);
return TRUE;
}