summaryrefslogtreecommitdiff
path: root/mail
diff options
context:
space:
mode:
authorSheldon Hearn <sheldonh@FreeBSD.org>2003-02-04 14:07:08 +0000
committerSheldon Hearn <sheldonh@FreeBSD.org>2003-02-04 14:07:08 +0000
commitc537abc9b14400192b9af306077e89e07d9a4558 (patch)
tree0e38c3f39877102e80c14bcaea0d0171e1ca94d6 /mail
parentFix build after REINPLACE change. (diff)
1) Update to exiscan-4.12-22, which closes a number of buffer overflows
and incorporates a lot of fixes. WARNING, this version of exiscan is not entirely backward-compatible with the previous one: * The following configuration options have been replaced with compile-time definitions and thus must be removed from your Exim configure file if specified there: exiscan_spamd_buffer_max_chunks exiscan_spamd_buffer_init_chunk exiscan_av_buffer_max_chunks exiscan_av_buffer_init_chunk * Because of changes in the way MIME handling is implemented, the following should be added to the Exim configure file to maintain the original behaviour (which was to unpack MIME messages): exiscan_demime_condition = 1 2) Fix handling of SIGCHLD in redirection processes, which resulted in redirection processes vanishing. 3) Bump PORTREVISION accordingly.
Notes
Notes: svn path=/head/; revision=74674
Diffstat (limited to 'mail')
-rw-r--r--mail/exim/Makefile4
-rw-r--r--mail/exim/distinfo2
-rw-r--r--mail/exim/files/patch-src::rda.c36
3 files changed, 39 insertions, 3 deletions
diff --git a/mail/exim/Makefile b/mail/exim/Makefile
index 256152fc46d6..07f686083eb9 100644
--- a/mail/exim/Makefile
+++ b/mail/exim/Makefile
@@ -7,7 +7,7 @@
PORTNAME= exim
PORTVERSION= ${EXIM_VERSION}
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= mail
MASTER_SITES= ftp://ftp.csx.cam.ac.uk/pub/software/email/exim/exim4/ \
http://www.exim.org/ftp/exim4/ \
@@ -29,7 +29,7 @@ MAN8= exim.8
EXIM_VERSION= 4.12
EXIM_DOCVERSION= 4.10
-EXISCAN_VERSION= 4.12-20
+EXISCAN_VERSION= 4.12-22
PLIST_SUB+= EXIM_VERSION="${EXIM_VERSION}"
diff --git a/mail/exim/distinfo b/mail/exim/distinfo
index cf04558e6e66..9409ba32df23 100644
--- a/mail/exim/distinfo
+++ b/mail/exim/distinfo
@@ -1,3 +1,3 @@
MD5 (exim-4.12.tar.bz2) = 7aed2a66295a7702b9a9394ec2bc5ffd
MD5 (exim-texinfo-4.10.tar.bz2) = 2a2a34a2457d249d568a58e985f263c0
-MD5 (exiscan-4.12-20.tar.bz2) = 06fb37c2ea38f15d1d31221a1f32f621
+MD5 (exiscan-4.12-22.tar.bz2) = 42f9edb8ec86ff554ef5acefc31d6e19
diff --git a/mail/exim/files/patch-src::rda.c b/mail/exim/files/patch-src::rda.c
new file mode 100644
index 000000000000..751352e6ba14
--- /dev/null
+++ b/mail/exim/files/patch-src::rda.c
@@ -0,0 +1,36 @@
+*** src/rda.c.orig Wed Dec 18 10:28:03 2002
+--- src/rda.c Wed Dec 18 11:35:25 2002
+***************
+*** 489,494 ****
+--- 489,495 ----
+ int yield, status;
+ pid_t pid;
+ uschar *data;
++ void (*oldsignal)(int);
+
+ DEBUG(D_route) debug_printf("rda_interpret (%s): %s\n",
+ (rdata->isfile)? "file" : "string", rdata->string);
+***************
+*** 542,547 ****
+--- 543,553 ----
+ log_write(0, LOG_MAIN|LOG_PANIC_DIE, "creation of pipe for filter or "
+ ":include: failed for %s: %s", rname, strerror(errno));
+
++ /* Ensure that SIGCHLD is set to SIG_DFL before forking, so that the child
++ process can be waited for. We sometimes get here with it set otherwise. Save
++ the old state for resetting on the wait. */
++
++ oldsignal = signal(SIGCHLD, SIG_DFL);
+ if ((pid = fork()) == 0)
+ {
+ header_line *waslast = header_last; /* Save last header */
+***************
+*** 831,836 ****
+--- 837,843 ----
+ }
+
+ close(fd);
++ signal(SIGCHLD, oldsignal); /* restore */
+ return yield;
+
+ /* Come here is there's a shambles in transferring the data over the pipe. */