summaryrefslogtreecommitdiff
path: root/mail/sendmail/patches/patch-ak
diff options
context:
space:
mode:
Diffstat (limited to 'mail/sendmail/patches/patch-ak')
-rw-r--r--mail/sendmail/patches/patch-ak103
1 files changed, 0 insertions, 103 deletions
diff --git a/mail/sendmail/patches/patch-ak b/mail/sendmail/patches/patch-ak
deleted file mode 100644
index 92ac4b5b253..00000000000
--- a/mail/sendmail/patches/patch-ak
+++ /dev/null
@@ -1,103 +0,0 @@
-$NetBSD: patch-ak,v 1.3 2006/06/14 18:53:53 adrianp Exp $
-
---- sendmail/mime.c.orig 2006-03-01 18:07:45.000000000 +0000
-+++ sendmail/mime.c
-@@ -80,6 +80,7 @@ static bool MapNLtoCRLF;
- ** boundaries -- the currently pending message boundaries.
- ** NULL if we are processing the outer portion.
- ** flags -- to tweak processing.
-+** level -- recursion level.
- **
- ** Returns:
- ** An indicator of what terminated the message part:
-@@ -96,12 +97,13 @@ struct args
- };
-
- int
--mime8to7(mci, header, e, boundaries, flags)
-+mime8to7(mci, header, e, boundaries, flags, level)
- register MCI *mci;
- HDR *header;
- register ENVELOPE *e;
- char **boundaries;
- int flags;
-+ int level;
- {
- register char *p;
- int linelen;
-@@ -122,6 +124,18 @@ mime8to7(mci, header, e, boundaries, fla
- char pvpbuf[MAXLINE];
- extern unsigned char MimeTokenTab[256];
-
-+ if (level > MAXMIMENESTING)
-+ {
-+ if (!bitset(EF_TOODEEP, e->e_flags))
-+ {
-+ if (tTd(43, 4))
-+ sm_dprintf("mime8to7: too deep, level=%d\n",
-+ level);
-+ usrerr("mime8to7: recursion level %d exceeded",
-+ level);
-+ e->e_flags |= EF_DONT_MIME|EF_TOODEEP;
-+ }
-+ }
- if (tTd(43, 1))
- {
- sm_dprintf("mime8to7: flags = %x, boundaries =", flags);
-@@ -242,7 +256,9 @@ mime8to7(mci, header, e, boundaries, fla
- */
-
- if (sm_strcasecmp(type, "multipart") == 0 &&
-- (!bitset(M87F_NO8BIT, flags) || bitset(M87F_NO8TO7, flags)))
-+ (!bitset(M87F_NO8BIT, flags) || bitset(M87F_NO8TO7, flags)) &&
-+ !bitset(EF_TOODEEP, e->e_flags)
-+ )
- {
-
- if (sm_strcasecmp(subtype, "digest") == 0)
-@@ -286,10 +302,13 @@ mime8to7(mci, header, e, boundaries, fla
- }
- if (i >= MAXMIMENESTING)
- {
-- usrerr("mime8to7: multipart nesting boundary too deep");
-+ if (tTd(43, 4))
-+ sm_dprintf("mime8to7: too deep, i=%d\n", i);
-+ if (!bitset(EF_TOODEEP, e->e_flags))
-+ usrerr("mime8to7: multipart nesting boundary too deep");
-
- /* avoid bounce loops */
-- e->e_flags |= EF_DONT_MIME;
-+ e->e_flags |= EF_DONT_MIME|EF_TOODEEP;
- }
- else
- {
-@@ -333,7 +352,8 @@ mime8to7(mci, header, e, boundaries, fla
- goto writeerr;
- if (tTd(43, 101))
- putline("+++after putheader", mci);
-- bt = mime8to7(mci, hdr, e, boundaries, flags);
-+ bt = mime8to7(mci, hdr, e, boundaries, flags,
-+ level + 1);
- if (bt == SM_IO_EOF)
- goto writeerr;
- }
-@@ -374,7 +394,8 @@ mime8to7(mci, header, e, boundaries, fla
-
- if (sm_strcasecmp(type, "message") == 0)
- {
-- if (!wordinclass(subtype, 's'))
-+ if (!wordinclass(subtype, 's') ||
-+ bitset(EF_TOODEEP, e->e_flags))
- {
- flags |= M87F_NO8BIT;
- }
-@@ -397,7 +418,8 @@ mime8to7(mci, header, e, boundaries, fla
- !bitset(M87F_NO8TO7, flags) &&
- !putline("MIME-Version: 1.0", mci))
- goto writeerr;
-- bt = mime8to7(mci, hdr, e, boundaries, flags);
-+ bt = mime8to7(mci, hdr, e, boundaries, flags,
-+ level + 1);
- mci->mci_flags &= ~MCIF_INMIME;
- return bt;
- }