fetchmail-4.7.1 ():
* Enable fetchmail to build correctly on systems without socketpair.
+* gcc -Wall cleanup.
+
+There are 246 people on fetchmail-friends and 327 on fetchmail-announce.
fetchmail-4.7.0 (Mon Dec 14 12:05:27 EST 1998):
* Minor correction to make i18n subdirectory builds work better.
int size, nbr;
int msg_to_send = FALSE;
struct idlist *head=NULL, *current=NULL;
- int max_warning_poll_count, good, bad;
+ int max_warning_poll_count;
#define OVERHD "Subject: Fetchmail oversized-messages warning.\r\n\r\nThe following oversized messages remain on the mail server:"
head = ctl->skipped;
#ifdef HAVE_GETHOSTBYNAME
#include <netdb.h>
#endif /* HAVE_GETHOSTBYNAME */
-#ifndef HAVE_STRFTIME /* For ctime prototype */
#include <sys/types.h>
#include <time.h>
-#endif
#include "fetchmail.h"
#include "i18n.h"
<table width="100%" cellpadding=0><tr>
<td width="30%">Back to <a href="index.html">Fetchmail Home Page</a>
<td width="30%" align=center>To <a href="/~esr/sitemap.html">Site Map</a>
-<td width="30%" align=right>$Date: 1998/11/29 03:57:29 $
+<td width="30%" align=right>$Date: 1998/12/15 16:17:21 $
</table>
<HR>
<UL>
<LI> Fetchmail now sends bouncemail on SMTP and LMTP errors.
+<LI> Full support for LMTP according to RFC2033.
+
<LI> True multi-language support using GNU gettext.
<LI> Support for use of HESIOD with Kerberos.
-<LI> The -bsmtp option supports recording fetched mail as a BSMTP batch.
+<LI> The --bsmtp option supports recording fetched mail as a BSMTP batch.
<LI> The --limit option can now be used in daemon mode, with oversized-message
notifications being mailed to the calling user.
<LI> Code is 64-bit clean and Y2K-safe.
-<LI> Automatically decodes armored 7-bit MIME into 8 bits.
+<LI> Can axutomatically decodes armored 7-bit MIME into 8 bits.
<LI> You can specify which SMTP error is recognized as a spam block.
<table width="100%" cellpadding=0><tr>
<td width="30%">Back to <a href="index.html">Fetchmail Home Page</a>
<td width="30%" align=center>To <a href="/~esr/sitemap.html">Site Map</a>
-<td width="30%" align=right>$Date: 1998/11/29 03:57:29 $
+<td width="30%" align=right>$Date: 1998/12/15 16:17:21 $
</table>
<P><ADDRESS>Eric S. Raymond <A HREF="mailto:esr@thyrsus.com"><esr@snark.thyrsus.com></A></ADDRESS>
#include <errno.h>
#include <string.h>
#include <signal.h>
+#include <time.h>
#ifdef HAVE_MEMORY_H
#include <memory.h>
#endif /* HAVE_MEMORY_H */
else if (ctl->mimemsg & MSG_IS_7BIT)
fputs(" BODY=7BIT", sinkfp);
- fprintf(sinkfp, " SIZE=%ld\r\n", msg->reallen);
+ fprintf(sinkfp, " SIZE=%d\r\n", msg->reallen);
/*
* RFC 1123 requires that the domain name part of the
}
if ((ctl->server.esmtp_options & ESMTP_SIZE) && msg->reallen > 0)
- sprintf(options + strlen(options), " SIZE=%ld", msg->reallen);
+ sprintf(options + strlen(options), " SIZE=%d", msg->reallen);
/*
* Try to get the SMTP listener to take the Return-Path
static char smtp_mode = 'S';
-int SMTP_setmode(char sl)
+void SMTP_setmode(char sl)
/* set whether we are speaking SMTP or LMTP */
{
smtp_mode = sl;
#define ESMTP_SIZE 0x02
#define ESMTP_ETRN 0x04
-int SMTP_setmode(char);
+void SMTP_setmode(char);
int SMTP_helo(int socket,const char *host);
int SMTP_ehlo(int socket,const char *host,int *opt);
int SMTP_from(int socket,const char *from,const char *opts);
const char *service, const char *plugin)
/* get a socket mediated through a given external command */
{
- if (plugin)
+ int fds[2];
+ if (socketpair(AF_UNIX,SOCK_STREAM,0,fds))
{
- int fds[2];
- if (socketpair(AF_UNIX,SOCK_STREAM,0,fds))
- {
- error(0, 0, _("fetchmail: socketpair failed: %s(%d)"),strerror(errno),errno);
- return -1;
- }
- if (!fork())
- {
- dup2(fds[0],0);
- dup2(fds[0],1);
- if (outlevel >= O_VERBOSE)
- error(0, 0, _("running %s %s %s"), plugin, host, service);
- execlp(plugin,plugin,host,service,0);
- error(0, 0, _("execl(%s) failed: %s (%d)"),
- plugin, strerror(errno), errno);
- exit(0);
- }
- return fds[1];
+ error(0, 0, _("fetchmail: socketpair failed: %s(%d)"),strerror(errno),errno);
+ return -1;
+ }
+ if (!fork())
+ {
+ dup2(fds[0],0);
+ dup2(fds[0],1);
+ if (outlevel >= O_VERBOSE)
+ error(0, 0, _("running %s %s %s"), plugin, host, service);
+ execlp(plugin,plugin,host,service,0);
+ error(0, 0, _("execl(%s) failed: %s (%d)"),
+ plugin, strerror(errno), errno);
+ exit(0);
}
+ return fds[1];
}
#endif /* HAVE_SOCKETPAIR */