aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--NEWS5
-rw-r--r--pop3.c26
-rw-r--r--rcfile_y.y6
3 files changed, 19 insertions, 18 deletions
diff --git a/NEWS b/NEWS
index 5df1212a..7d805094 100644
--- a/NEWS
+++ b/NEWS
@@ -1,5 +1,10 @@
Release Notes:
+fetchmail-4.5.7 (Tue Aug 25 00:29:44 EDT 1998):
+* Fixed SDPS support (thanks to Chris Brooks).
+
+There are 253 people on fetchmail-friends and 272 on fetchmail-announce.
+
fetchmail-4.5.6 (Tue Aug 25 00:29:44 EDT 1998):
* SDPS support, experimental version 2. Requires configure --enable-SDPS.
* Major FAQ update. Added geocities warning.
diff --git a/pop3.c b/pop3.c
index 0682fd74..33aa3b49 100644
--- a/pop3.c
+++ b/pop3.c
@@ -551,26 +551,22 @@ static int pop3_fetch(int sock, struct query *ctl, int number, int *lenp)
{
int linecount = 0;
-#define DUMMY_HEADER "Delivered-To: " /* will only get discarded */
-#define DUMMY_LENGTH (sizeof(DUMMY_HEADER) - 1)
- strcpy(buf, DUMMY_HEADER);
sdps_envto = (char *)NULL;
gen_send(sock, "*ENV %d", number);
do {
- if (gen_recv(sock, buf + DUMMY_LENGTH, sizeof(buf) - DUMMY_LENGTH))
- {
- break;
- }
- linecount++;
- if (linecount == 5)
- {
- sdps_envto = strdup(buf);
- error(0, 0, "*ENV returned envelope address %s");
- }
+ if (gen_recv(sock, buf, sizeof(buf)))
+ {
+ break;
+ }
+ linecount++;
+ if (linecount == 5)
+ {
+ /* Wrap address with To: <> so nxtaddr() likes it */
+ sdps_envto = malloc(strlen(buf)+7);
+ sprintf(sdps_envto,"To: <%s>",buf);
+ }
} while
(buf[0] !='.');
-#undef DUMMY_HEADER
-#undef DUMMY_LENGTH
}
#endif /* SDPS_ENABLE */
diff --git a/rcfile_y.y b/rcfile_y.y
index f3dabf1d..6cca3390 100644
--- a/rcfile_y.y
+++ b/rcfile_y.y
@@ -139,13 +139,13 @@ serv_option : AKA alias_list
current.server.port = KPOP_PORT;
#endif /* INET6 */
}
- | SDPS {
-#ifdef ENABLE_SDPS
+ | PROTOCOL SDPS {
+#ifdef SDPS_ENABLE
current.server.protocol = P_POP3;
current.server.sdps = TRUE;
#else
yyerror("SDPS not enabled.");
-#endif /* ENABLE_SDPS */
+#endif /* SDPS_ENABLE */
}
| UIDL {current.server.uidl = FLAG_TRUE;}
| NO UIDL {current.server.uidl = FLAG_FALSE;}