aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEric S. Raymond <esr@thyrsus.com>2001-02-11 19:18:41 +0000
committerEric S. Raymond <esr@thyrsus.com>2001-02-11 19:18:41 +0000
commit2d69b9b093b7aaf9b2d2b97317fc54d0bd6813b7 (patch)
treed69e2f7ca90d0774483bb506901c2ec043c5fdea
parentd9285e0f40c27f0808460744cb2ade53ba0a0599 (diff)
downloadfetchmail-2d69b9b093b7aaf9b2d2b97317fc54d0bd6813b7.tar.gz
fetchmail-2d69b9b093b7aaf9b2d2b97317fc54d0bd6813b7.tar.bz2
fetchmail-2d69b9b093b7aaf9b2d2b97317fc54d0bd6813b7.zip
CRAM-MD5 IMAP works.
svn path=/trunk/; revision=3061
-rw-r--r--cram.c2
-rw-r--r--driver.c5
-rw-r--r--fetchmail.h1
3 files changed, 6 insertions, 2 deletions
diff --git a/cram.c b/cram.c
index 765be353..df7c3d1f 100644
--- a/cram.c
+++ b/cram.c
@@ -124,7 +124,9 @@ int do_cram_md5 (int sock, struct query *ctl)
/* ship the authentication back, accept the server's responses */
/* PMDF5.2 IMAP has a bug that requires this to be a single write */
+ suppress_tags = TRUE;
result = gen_transact(sock, buf1, sizeof(buf1));
+ suppress_tags = FALSE;
if (result)
return(result);
else
diff --git a/driver.c b/driver.c
index e6995ce4..ee4d3e5f 100644
--- a/driver.c
+++ b/driver.c
@@ -87,6 +87,7 @@ int pass; /* how many times have we re-polled? */
int stage; /* where are we? */
int phase; /* where are we, for error-logging purposes? */
int mytimeout; /* value of nonreponse timeout */
+int suppress_tags; /* emit tags? */
static const struct method *protocol;
static jmp_buf restart;
@@ -2537,7 +2538,7 @@ va_dcl
char buf [MSGBUFSIZE+1];
va_list ap;
- if (protocol->tagged)
+ if (protocol->tagged && !suppress_tags)
(void) sprintf(buf, "%s ", GENSYM);
else
buf[0] = '\0';
@@ -2623,7 +2624,7 @@ va_dcl
phase = SERVER_WAIT;
- if (protocol->tagged)
+ if (protocol->tagged && !suppress_tags)
(void) sprintf(buf, "%s ", GENSYM);
else
buf[0] = '\0';
diff --git a/fetchmail.h b/fetchmail.h
index 2dbff2f3..5a2ca283 100644
--- a/fetchmail.h
+++ b/fetchmail.h
@@ -363,6 +363,7 @@ extern int pass; /* number of re-polling pass */
extern flag configdump; /* dump control blocks as Python dictionary */
extern const char *fetchmailhost;
/* either "localhost" or an FQDN */
+extern suppress_tags; /* suppress tags in tagged protocols? */
#ifdef SDPS_ENABLE
extern char *sdps_envfrom;
extern char *sdps_envto;