summaryrefslogtreecommitdiffstats
path: root/mail/exim
diff options
context:
space:
mode:
authorsheldonh <sheldonh@FreeBSD.org>2003-02-04 14:07:08 +0000
committersheldonh <sheldonh@FreeBSD.org>2003-02-04 14:07:08 +0000
commit6d464fa94cd6a8d1e6bba3dd76fba5bef7cb3462 (patch)
treef10dc6bb638d6bd2a4a4349d4915d5360e171c03 /mail/exim
parent6e94bf3d7a28e032ff300ecd51ac8a957e654f6f (diff)
downloadFreeBSD-ports-6d464fa94cd6a8d1e6bba3dd76fba5bef7cb3462.zip
FreeBSD-ports-6d464fa94cd6a8d1e6bba3dd76fba5bef7cb3462.tar.gz
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.
Diffstat (limited to 'mail/exim')
-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 256152f..07f6860 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 cf04558..9409ba3 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 0000000..751352e
--- /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. */
OpenPOWER on IntegriCloud