- Update to 8.12.8

SECURITY FIX, urgent update recommended
This commit is contained in:
Dirk Meyer 2003-03-03 18:06:13 +00:00
parent b0745dd2bf
commit 5acab0a843
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=76809
8 changed files with 4 additions and 266 deletions

View file

@ -6,8 +6,7 @@
#
PORTNAME= sendmail
PORTVERSION= 8.12.7
PORTREVISION= 2
PORTVERSION= 8.12.8
CATEGORIES= mail ipv6
MASTER_SITES= ftp://ftp.sendmail.org/pub/sendmail/ \
${MASTER_SITE_RINGSERVER:S,%SUBDIR%,net/mail/sendmail/&,}

View file

@ -1 +1 @@
MD5 (sendmail.8.12.7.tar.gz) = 447c93b8ad6dad717a917aa7db9917ff
MD5 (sendmail.8.12.8.tar.gz) = 71b4ce8276536b82d4acdf6ec8be306a

View file

@ -1,112 +0,0 @@
--- sendmail/headers.c 23 Sep 2002 23:42:02 -0000 8.266.4.2
+++ sendmail/headers.c 13 Jan 2003 06:29:05 -0000
@@ -15,7 +15,7 @@
SM_RCSID("@(#)$Id: headers.c,v 8.266.4.2 2002/09/23 23:42:02 ca Exp $")
-static size_t fix_mime_header __P((char *));
+static size_t fix_mime_header __P((HDR *, ENVELOPE *));
static int priencode __P((char *));
static void put_vanilla_header __P((HDR *, char *, MCI *));
@@ -1412,7 +1412,7 @@
{
size_t len;
- len = fix_mime_header(h->h_value);
+ len = fix_mime_header(h, e);
if (len > 0)
{
sm_syslog(LOG_ALERT, e->e_id,
@@ -1455,13 +1455,28 @@
if (shorten_rfc822_string(h->h_value,
MaxMimeHeaderLength))
{
- sm_syslog(LOG_ALERT, e->e_id,
- "Truncated long MIME %s header (length = %ld) (possible attack)",
- h->h_field, (unsigned long) len);
- if (tTd(34, 11))
- sm_dprintf(" truncated long MIME %s header (length = %ld) (possible attack)\n",
- h->h_field,
- (unsigned long) len);
+ if (len < MaxMimeHeaderLength)
+ {
+ /* we only rebalanced a bogus header */
+ sm_syslog(LOG_ALERT, e->e_id,
+ "Fixed MIME %s header (possible attack)",
+ h->h_field);
+ if (tTd(34, 11))
+ sm_dprintf(" fixed MIME %s header (possible attack)\n",
+ h->h_field);
+ }
+ else
+ {
+ /* we actually shortened header */
+ sm_syslog(LOG_ALERT, e->e_id,
+ "Truncated long MIME %s header (length = %ld) (possible attack)",
+ h->h_field,
+ (unsigned long) len);
+ if (tTd(34, 11))
+ sm_dprintf(" truncated long MIME %s header (length = %ld) (possible attack)\n",
+ h->h_field,
+ (unsigned long) len);
+ }
}
}
@@ -1856,7 +1871,8 @@
** to MaxMimeFieldLength.
**
** Parameters:
-** string -- the full header
+** h -- the header to truncate/rebalance
+** e -- the current envelope
**
** Returns:
** length of last offending field, 0 if all ok.
@@ -1866,15 +1882,16 @@
*/
static size_t
-fix_mime_header(string)
- char *string;
+fix_mime_header(h, e)
+ HDR *h;
+ ENVELOPE *e;
{
- char *begin = string;
+ char *begin = h->h_value;
char *end;
size_t len = 0;
size_t retlen = 0;
- if (string == NULL || *string == '\0')
+ if (begin == NULL || *begin == '\0')
return 0;
/* Split on each ';' */
@@ -1889,7 +1906,23 @@
/* Shorten individual parameter */
if (shorten_rfc822_string(begin, MaxMimeFieldLength))
- retlen = len;
+ {
+ if (len < MaxMimeFieldLength)
+ {
+ /* we only rebalanced a bogus field */
+ sm_syslog(LOG_ALERT, e->e_id,
+ "Fixed MIME %s header field (possible attack)",
+ h->h_field);
+ if (tTd(34, 11))
+ sm_dprintf(" fixed MIME %s header field (possible attack)\n",
+ h->h_field);
+ }
+ else
+ {
+ /* we actually shortened the header */
+ retlen = len;
+ }
+ }
/* Collapse the possibly shortened string with rest */
bp = begin + strlen(begin);

View file

@ -1,18 +0,0 @@
--- cf/m4/proto.m4 4 Dec 2002 00:12:18 -0000 8.649.2.13
+++ cf/m4/proto.m4 30 Dec 2002 15:44:56 -0000
@@ -205,13 +205,13 @@
KCERTSubject regex _CERT_REGEX_SUBJECT_', `dnl')
ifdef(`LOCAL_RELAY', `dnl
-# who I send unqualified names to if FEATURE(stickyhost) is used
+# who I send unqualified names to if `FEATURE(stickyhost)' is used
# (null means deliver locally)
DR`'LOCAL_RELAY')
ifdef(`MAIL_HUB', `dnl
# who gets all local email traffic
-# ($R has precedence for unqualified names if FEATURE(stickyhost) is used)
+# ($R has precedence for unqualified names if `FEATURE(stickyhost)' is used)
DH`'MAIL_HUB')
# dequoting map

View file

@ -6,8 +6,7 @@
#
PORTNAME= sendmail
PORTVERSION= 8.12.7
PORTREVISION= 2
PORTVERSION= 8.12.8
CATEGORIES= mail ipv6
MASTER_SITES= ftp://ftp.sendmail.org/pub/sendmail/ \
${MASTER_SITE_RINGSERVER:S,%SUBDIR%,net/mail/sendmail/&,}

View file

@ -1 +1 @@
MD5 (sendmail.8.12.7.tar.gz) = 447c93b8ad6dad717a917aa7db9917ff
MD5 (sendmail.8.12.8.tar.gz) = 71b4ce8276536b82d4acdf6ec8be306a

View file

@ -1,112 +0,0 @@
--- sendmail/headers.c 23 Sep 2002 23:42:02 -0000 8.266.4.2
+++ sendmail/headers.c 13 Jan 2003 06:29:05 -0000
@@ -15,7 +15,7 @@
SM_RCSID("@(#)$Id: headers.c,v 8.266.4.2 2002/09/23 23:42:02 ca Exp $")
-static size_t fix_mime_header __P((char *));
+static size_t fix_mime_header __P((HDR *, ENVELOPE *));
static int priencode __P((char *));
static void put_vanilla_header __P((HDR *, char *, MCI *));
@@ -1412,7 +1412,7 @@
{
size_t len;
- len = fix_mime_header(h->h_value);
+ len = fix_mime_header(h, e);
if (len > 0)
{
sm_syslog(LOG_ALERT, e->e_id,
@@ -1455,13 +1455,28 @@
if (shorten_rfc822_string(h->h_value,
MaxMimeHeaderLength))
{
- sm_syslog(LOG_ALERT, e->e_id,
- "Truncated long MIME %s header (length = %ld) (possible attack)",
- h->h_field, (unsigned long) len);
- if (tTd(34, 11))
- sm_dprintf(" truncated long MIME %s header (length = %ld) (possible attack)\n",
- h->h_field,
- (unsigned long) len);
+ if (len < MaxMimeHeaderLength)
+ {
+ /* we only rebalanced a bogus header */
+ sm_syslog(LOG_ALERT, e->e_id,
+ "Fixed MIME %s header (possible attack)",
+ h->h_field);
+ if (tTd(34, 11))
+ sm_dprintf(" fixed MIME %s header (possible attack)\n",
+ h->h_field);
+ }
+ else
+ {
+ /* we actually shortened header */
+ sm_syslog(LOG_ALERT, e->e_id,
+ "Truncated long MIME %s header (length = %ld) (possible attack)",
+ h->h_field,
+ (unsigned long) len);
+ if (tTd(34, 11))
+ sm_dprintf(" truncated long MIME %s header (length = %ld) (possible attack)\n",
+ h->h_field,
+ (unsigned long) len);
+ }
}
}
@@ -1856,7 +1871,8 @@
** to MaxMimeFieldLength.
**
** Parameters:
-** string -- the full header
+** h -- the header to truncate/rebalance
+** e -- the current envelope
**
** Returns:
** length of last offending field, 0 if all ok.
@@ -1866,15 +1882,16 @@
*/
static size_t
-fix_mime_header(string)
- char *string;
+fix_mime_header(h, e)
+ HDR *h;
+ ENVELOPE *e;
{
- char *begin = string;
+ char *begin = h->h_value;
char *end;
size_t len = 0;
size_t retlen = 0;
- if (string == NULL || *string == '\0')
+ if (begin == NULL || *begin == '\0')
return 0;
/* Split on each ';' */
@@ -1889,7 +1906,23 @@
/* Shorten individual parameter */
if (shorten_rfc822_string(begin, MaxMimeFieldLength))
- retlen = len;
+ {
+ if (len < MaxMimeFieldLength)
+ {
+ /* we only rebalanced a bogus field */
+ sm_syslog(LOG_ALERT, e->e_id,
+ "Fixed MIME %s header field (possible attack)",
+ h->h_field);
+ if (tTd(34, 11))
+ sm_dprintf(" fixed MIME %s header field (possible attack)\n",
+ h->h_field);
+ }
+ else
+ {
+ /* we actually shortened the header */
+ retlen = len;
+ }
+ }
/* Collapse the possibly shortened string with rest */
bp = begin + strlen(begin);

View file

@ -1,18 +0,0 @@
--- cf/m4/proto.m4 4 Dec 2002 00:12:18 -0000 8.649.2.13
+++ cf/m4/proto.m4 30 Dec 2002 15:44:56 -0000
@@ -205,13 +205,13 @@
KCERTSubject regex _CERT_REGEX_SUBJECT_', `dnl')
ifdef(`LOCAL_RELAY', `dnl
-# who I send unqualified names to if FEATURE(stickyhost) is used
+# who I send unqualified names to if `FEATURE(stickyhost)' is used
# (null means deliver locally)
DR`'LOCAL_RELAY')
ifdef(`MAIL_HUB', `dnl
# who gets all local email traffic
-# ($R has precedence for unqualified names if FEATURE(stickyhost) is used)
+# ($R has precedence for unqualified names if `FEATURE(stickyhost)' is used)
DH`'MAIL_HUB')
# dequoting map