Update to exim-3.36:
* Incorporates some patches. * Fix pretty obscure queue handling bug. * Update exim-4 spool file format forward-compatibility.
This commit is contained in:
parent
325c1cfbb1
commit
478dd1d8f4
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=57847
8 changed files with 6 additions and 162 deletions
|
@ -6,13 +6,12 @@
|
|||
#
|
||||
|
||||
PORTNAME= exim
|
||||
PORTVERSION= 3.35
|
||||
PORTREVISION= 1
|
||||
PORTVERSION= 3.36
|
||||
CATEGORIES= mail
|
||||
MASTER_SITES= ftp://ftp.csx.cam.ac.uk/pub/software/email/exim/exim3/ \
|
||||
http://www.exim.org/ftp/exim3/ \
|
||||
ftp://ftp.is.co.za/networking/mail/transport/exim/exim3/
|
||||
DISTFILES= exim-3.35.tar.bz2 exim-texinfo-3.30.tar.bz2
|
||||
DISTFILES= exim-3.36.tar.bz2 exim-texinfo-3.30.tar.bz2
|
||||
|
||||
MAINTAINER= sheldonh@FreeBSD.org
|
||||
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
MD5 (exim-3.35.tar.bz2) = dd1600dceb36e7b4295958446b209090
|
||||
MD5 (exim-3.36.tar.bz2) = a18cbe15a2973714fe1aa68dffad63c4
|
||||
MD5 (exim-texinfo-3.30.tar.bz2) = 6400cc7988036991b6bbe7ed9b4d9eeb
|
||||
|
|
|
@ -1,15 +0,0 @@
|
|||
--- src/expand.c.orig Tue Feb 19 12:10:43 2002
|
||||
+++ src/expand.c Wed Apr 3 18:11:56 2002
|
||||
@@ -572,10 +572,9 @@
|
||||
lseek(deliver_datafile, start_offset, SEEK_SET);
|
||||
len = read(deliver_datafile, body, len);
|
||||
if (len >= 0) body[len] = 0;
|
||||
- while (*body != 0)
|
||||
+ while (len > 0)
|
||||
{
|
||||
- if (*body == '\n') *body = ' ';
|
||||
- body++;
|
||||
+ if (body[--len] == '\n' || body[len] == 0) body[len] = ' ';
|
||||
}
|
||||
}
|
||||
return (*ss == NULL)? "" : *ss;
|
|
@ -1,62 +0,0 @@
|
|||
--- src/filter.c.orig Tue Feb 19 12:10:43 2002
|
||||
+++ src/filter.c Wed Apr 3 18:11:56 2002
|
||||
@@ -2566,12 +2566,12 @@
|
||||
BOOL
|
||||
filter_runtest(int fd, BOOL is_system, BOOL dot_ended)
|
||||
{
|
||||
-int rc, body_len, action, header_size;
|
||||
+int rc, body_len, body_end_len, action, header_size;
|
||||
register int ch;
|
||||
BOOL yield, delivered;
|
||||
struct stat statbuf;
|
||||
address_item *generated = NULL;
|
||||
-char *body, *error, *filebuf, *s;
|
||||
+char *error, *filebuf, *s;
|
||||
|
||||
/* Read the filter file into store as will be done by the director
|
||||
in a real case. */
|
||||
@@ -2653,7 +2653,7 @@
|
||||
function as efficient as possible. Handling message_body_end is somewhat more
|
||||
tedious. Pile it all into a circular buffer and sort out at the end. */
|
||||
|
||||
-message_body = body = store_malloc(message_body_visible + 1);
|
||||
+message_body = store_malloc(message_body_visible + 1);
|
||||
message_body_end = store_malloc(message_body_visible + 1);
|
||||
s = message_body_end;
|
||||
body_len = 0;
|
||||
@@ -2729,24 +2729,25 @@
|
||||
memcpy(temp, message_body_end, below);
|
||||
memmove(message_body_end, s+1, above);
|
||||
memcpy(message_body_end + above, temp, below);
|
||||
- message_body_end[message_body_visible] = 0;
|
||||
+ s = message_body_end + message_body_visible;
|
||||
}
|
||||
}
|
||||
-else *s = 0;
|
||||
|
||||
-/* Convert newlines in the body variables to spaces */
|
||||
+*s = 0;
|
||||
+body_end_len = s - message_body_end;
|
||||
|
||||
-while (*body != 0)
|
||||
+/* Convert newlines and nulls in the body variables to spaces */
|
||||
+while (body_len > 0)
|
||||
{
|
||||
- if (*body == '\n') *body = ' ';
|
||||
- body++;
|
||||
+ if (message_body[--body_len] == '\n' || message_body[body_len] == 0)
|
||||
+ message_body[body_len] = ' ';
|
||||
}
|
||||
|
||||
-body = message_body_end;
|
||||
-while (*body != 0)
|
||||
+while (body_end_len > 0)
|
||||
{
|
||||
- if (*body == '\n') *body = ' ';
|
||||
- body++;
|
||||
+ if (message_body_end[--body_end_len] == '\n' ||
|
||||
+ message_body_end[body_end_len] == 0)
|
||||
+ message_body_end[body_end_len] = ' ';
|
||||
}
|
||||
|
||||
/* Now pass the filter file to the function that interprets it. Because
|
|
@ -6,13 +6,12 @@
|
|||
#
|
||||
|
||||
PORTNAME= exim
|
||||
PORTVERSION= 3.35
|
||||
PORTREVISION= 1
|
||||
PORTVERSION= 3.36
|
||||
CATEGORIES= mail
|
||||
MASTER_SITES= ftp://ftp.csx.cam.ac.uk/pub/software/email/exim/exim3/ \
|
||||
http://www.exim.org/ftp/exim3/ \
|
||||
ftp://ftp.is.co.za/networking/mail/transport/exim/exim3/
|
||||
DISTFILES= exim-3.35.tar.bz2 exim-texinfo-3.30.tar.bz2
|
||||
DISTFILES= exim-3.36.tar.bz2 exim-texinfo-3.30.tar.bz2
|
||||
|
||||
MAINTAINER= sheldonh@FreeBSD.org
|
||||
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
MD5 (exim-3.35.tar.bz2) = dd1600dceb36e7b4295958446b209090
|
||||
MD5 (exim-3.36.tar.bz2) = a18cbe15a2973714fe1aa68dffad63c4
|
||||
MD5 (exim-texinfo-3.30.tar.bz2) = 6400cc7988036991b6bbe7ed9b4d9eeb
|
||||
|
|
|
@ -1,15 +0,0 @@
|
|||
--- src/expand.c.orig Tue Feb 19 12:10:43 2002
|
||||
+++ src/expand.c Wed Apr 3 18:11:56 2002
|
||||
@@ -572,10 +572,9 @@
|
||||
lseek(deliver_datafile, start_offset, SEEK_SET);
|
||||
len = read(deliver_datafile, body, len);
|
||||
if (len >= 0) body[len] = 0;
|
||||
- while (*body != 0)
|
||||
+ while (len > 0)
|
||||
{
|
||||
- if (*body == '\n') *body = ' ';
|
||||
- body++;
|
||||
+ if (body[--len] == '\n' || body[len] == 0) body[len] = ' ';
|
||||
}
|
||||
}
|
||||
return (*ss == NULL)? "" : *ss;
|
|
@ -1,62 +0,0 @@
|
|||
--- src/filter.c.orig Tue Feb 19 12:10:43 2002
|
||||
+++ src/filter.c Wed Apr 3 18:11:56 2002
|
||||
@@ -2566,12 +2566,12 @@
|
||||
BOOL
|
||||
filter_runtest(int fd, BOOL is_system, BOOL dot_ended)
|
||||
{
|
||||
-int rc, body_len, action, header_size;
|
||||
+int rc, body_len, body_end_len, action, header_size;
|
||||
register int ch;
|
||||
BOOL yield, delivered;
|
||||
struct stat statbuf;
|
||||
address_item *generated = NULL;
|
||||
-char *body, *error, *filebuf, *s;
|
||||
+char *error, *filebuf, *s;
|
||||
|
||||
/* Read the filter file into store as will be done by the director
|
||||
in a real case. */
|
||||
@@ -2653,7 +2653,7 @@
|
||||
function as efficient as possible. Handling message_body_end is somewhat more
|
||||
tedious. Pile it all into a circular buffer and sort out at the end. */
|
||||
|
||||
-message_body = body = store_malloc(message_body_visible + 1);
|
||||
+message_body = store_malloc(message_body_visible + 1);
|
||||
message_body_end = store_malloc(message_body_visible + 1);
|
||||
s = message_body_end;
|
||||
body_len = 0;
|
||||
@@ -2729,24 +2729,25 @@
|
||||
memcpy(temp, message_body_end, below);
|
||||
memmove(message_body_end, s+1, above);
|
||||
memcpy(message_body_end + above, temp, below);
|
||||
- message_body_end[message_body_visible] = 0;
|
||||
+ s = message_body_end + message_body_visible;
|
||||
}
|
||||
}
|
||||
-else *s = 0;
|
||||
|
||||
-/* Convert newlines in the body variables to spaces */
|
||||
+*s = 0;
|
||||
+body_end_len = s - message_body_end;
|
||||
|
||||
-while (*body != 0)
|
||||
+/* Convert newlines and nulls in the body variables to spaces */
|
||||
+while (body_len > 0)
|
||||
{
|
||||
- if (*body == '\n') *body = ' ';
|
||||
- body++;
|
||||
+ if (message_body[--body_len] == '\n' || message_body[body_len] == 0)
|
||||
+ message_body[body_len] = ' ';
|
||||
}
|
||||
|
||||
-body = message_body_end;
|
||||
-while (*body != 0)
|
||||
+while (body_end_len > 0)
|
||||
{
|
||||
- if (*body == '\n') *body = ' ';
|
||||
- body++;
|
||||
+ if (message_body_end[--body_end_len] == '\n' ||
|
||||
+ message_body_end[body_end_len] == 0)
|
||||
+ message_body_end[body_end_len] = ' ';
|
||||
}
|
||||
|
||||
/* Now pass the filter file to the function that interprets it. Because
|
Loading…
Reference in a new issue