commit 6f4cd030f8259e32cfe05a68a63f4f6b4fc030c1
parent b3eb5661eb70979f12deb88c5f732014a5f933e8
Author: Michael Elkins <me@mutt.org>
Date: Sat, 23 Dec 2000 21:57:06 +0000
don't use NAMESPACE unless the server supports it
Diffstat:
2 files changed, 10 insertions(+), 9 deletions(-)
diff --git a/imap.c b/imap.c
@@ -410,6 +410,8 @@ imap_exec (imap_t * imap, const char *fmt, ...)
imap->have_starttls = 1;
else if (!strcmp ("AUTH=CRAM-MD5", arg))
imap->have_cram = 1;
+ else if (!strcmp ("NAMESPACE", arg))
+ imap->have_namespace = 1;
}
#endif
}
@@ -607,18 +609,16 @@ imap_open (config_t * box, unsigned int minuid)
ret = imap_exec (imap, "LOGIN \"%s\" \"%s\"", box->user, box->pass);
}
- if (!ret)
+ /* get NAMESPACE info */
+ if (!ret && box->use_namespace && imap->have_namespace &&
+ !imap_exec (imap, "NAMESPACE"))
{
- /* get NAMESPACE info */
- if (box->use_namespace && !imap_exec (imap, "NAMESPACE"))
- {
- /* XXX for now assume personal namespace */
- if (is_list (imap->ns_personal) &&
+ /* XXX for now assume personal namespace */
+ if (is_list (imap->ns_personal) &&
is_list (imap->ns_personal->child) &&
is_atom (imap->ns_personal->child->child))
- {
- ns_prefix = imap->ns_personal->child->child->val;
- }
+ {
+ ns_prefix = imap->ns_personal->child->child->val;
}
}
diff --git a/isync.h b/isync.h
@@ -130,6 +130,7 @@ typedef struct
list_t *ns_personal;
list_t *ns_other;
list_t *ns_shared;
+ unsigned int have_namespace:1;
#if HAVE_LIBSSL
unsigned int have_cram:1;
unsigned int have_starttls:1;