aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--NEWS13
-rw-r--r--fetchmail.c5
-rw-r--r--sink.c7
3 files changed, 18 insertions, 7 deletions
diff --git a/NEWS b/NEWS
index 05f9204d..e40ddf8a 100644
--- a/NEWS
+++ b/NEWS
@@ -1,10 +1,8 @@
Things to do:
-Scrollbars on fetchmailconf help windows (Debian bug #51770).
+Scrollbars on fetchmailconf help windows (Debian normal bug #51770).
-Log bounced messages via syslog (Debian bug #50184).
-
-Notify user by mail when pop server nonexistent (Debian bug #47143).
+Notify user by mail when pop server nonexistent (Debian wishlist #47143).
In the SSL support, we need to add server certificate validation (In
other words, does the certificate match the system we are trying to
@@ -17,14 +15,21 @@ worried with copies of it, GPG/PGP offers more security than MD5. I
don't know exactly, but I think you can sign it both ways so that your
package will have two security verifications instead of one...
+The Debian bug-tracking page for fetchmail is:
+
+ http://cgi.debian.org/cgi-bin/pkgreport.cgi?archive=no&pkg=fetchmail
+
Release Notes:
(The `lines' figures total .c, .h, .l, and .y files under version control.)
* Close down sockets using shutdown(2) and discarding read data until we
get a TCP FIN. With any luck this will squash our socket leak.
+* Open the lockfile with O_SYNC, so we know the file has been written
+ before close (sigh...NFS might still betray us...).
* Added Martijn Lievaart's sendmail hacks for multidrop to the contrib
directory.
+* Log bounced messages via syslog (Debian bug #50184).
* Debian buglist cleanup.
fetchmail-5.2.5 (Mon Jan 31 02:02:48 EST 2000), 18445 lines:
diff --git a/fetchmail.c b/fetchmail.c
index c6b2e72f..27054b1d 100644
--- a/fetchmail.c
+++ b/fetchmail.c
@@ -574,7 +574,8 @@ int main(int argc, char **argv)
signal(SIGQUIT, terminate_run);
/* here's the exclusion lock */
- if ((st = open(lockfile, O_WRONLY | O_CREAT | O_EXCL, 0666)) != -1) {
+ if ((st = open(lockfile, O_WRONLY|O_CREAT|O_EXCL|O_SYNC, 0666)) != -1)
+ {
sprintf(tmpbuf,"%d", getpid());
write(st, tmpbuf, strlen(tmpbuf));
if (run.poll_interval)
@@ -582,7 +583,7 @@ int main(int argc, char **argv)
sprintf(tmpbuf," %d", run.poll_interval);
write(st, tmpbuf, strlen(tmpbuf));
}
- close(st); /* should be safe, previous write was atomic */
+ close(st); /* should be safe, fd was opened with O_SYNC */
lock_acquired = TRUE;
}
diff --git a/sink.c b/sink.c
index d6e25d89..2ead73d3 100644
--- a/sink.c
+++ b/sink.c
@@ -282,14 +282,19 @@ static int send_bouncemail(struct query *ctl, struct msgblk *msg,
|| SMTP_data(sock) != SM_OK)
return(FALSE);
+ /* our first duty is to keep the sacred foo counters turning... */
sprintf(boundary,
- "om-mani-padme-hum-%d-%d-%ld",
+ "foo-mani-padme-hum-%d-%d-%ld",
(int)getpid(), (int)getppid(), time((time_t *)NULL));
ts = rfc822timestamp();
if (outlevel >= O_VERBOSE)
report(stdout, "SMTP: (bounce-message body)\n");
+ else
+ /* this will usually go to sylog... */
+ report(stderr, "mail from %s bounced to %s\n",
+ daemon_name, bounce_to);
/* bouncemail headers */
SockPrintf(sock, "Return-Path: <>\r\n");