diff options
Diffstat (limited to 'mail/exim')
-rw-r--r-- | mail/exim/Makefile | 4 | ||||
-rw-r--r-- | mail/exim/distinfo | 2 | ||||
-rw-r--r-- | mail/exim/files/patch-src::rda.c | 36 |
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. */ |