]> diplodocus.org Git - nmh/blobdiff - man/mhfixmsg.man
Merge branch 'pop-stls'
[nmh] / man / mhfixmsg.man
index c4181849ff1e9bd3846e2f84ba05cb9c78994758..0a885331b815b54048f1d8274c4ced663ba40052 100644 (file)
@@ -1,4 +1,4 @@
-.TH MHFIXMSG %manext1% 2018-01-14 "%nmhversion%"
+.TH MHFIXMSG %manext1% 2019-03-31 "%nmhversion%"
 .
 .\" %nmhwarning%
 .
@@ -31,6 +31,7 @@ utf-8 |
 .RB [ \-replacetextplain " | " \-noreplacetextplain ]
 .RB [ \-fixboundary " | " \-nofixboundary ]
 .RB [ \-fixcte " | " \-nofixcte ]
+.RB [ \-checkbase64 " | " \-nocheckbase64 ]
 .RB [ \-fixtype
 .IR mimetype ]
 .RB [ \-outfile
@@ -74,7 +75,7 @@ then the part is not decoded (and a message will be displayed if
 .B \-verbose
 is enabled).  Note that
 .B \-decodetext
-binary can produce messages that are not compliant with RFC 5322, §2.1.1.
+binary can produce messages that are not compliant with RFC 5322, \(sc2.1.1.
 .PP
 When the
 .B \-decodetext
@@ -108,7 +109,7 @@ with its mandatory
 argument.  The
 .B \-nodecodeheaderfieldbodies
 inhibits this transformation.  The transformation can produce a message
-that does not conform with RFC 2047, §1, paragraph 6, because the decoded
+that does not conform with RFC 2047, \(sc1, paragraph 6, because the decoded
 header field body could contain unencoded non-ASCII characters.  It is
 therefore not enabled by default.
 .PP
@@ -120,7 +121,7 @@ switch selects this behavior and is enabled by default.  The
 switch causes carriage return characters to be stripped from, and not
 inserted in, text content when it is decoded and encoded.  Note that
 its use can cause the generation of MIME messages that do not conform
-with RFC 2046, §4.1.1, paragraph 1.
+with RFC 2046, \(sc4.1.1, paragraph 1.
 .PP
 The
 .B \-textcharset
@@ -206,7 +207,7 @@ The
 switch enables a transformation to change the
 Content-Transfer-Encoding from an invalid value to 8-bit in message
 parts with a Content-Type of multipart and message, as required by
-RFC 2045, §6.4.  That condition is indicated by a \*(lqmust be
+RFC 2045, \(sc6.4.  That condition is indicated by a \*(lqmust be
 encoded in 7bit, 8bit, or binary\*(rq error message from
 .B mhlist
 and other
@@ -214,6 +215,21 @@ and other
 programs that parse MIME messages.
 .PP
 The
+.B \-checkbase64
+switch enables a check of the encoding validity in base64-encoded
+MIME parts.  The check looks for a non-encoded text footer appended
+to a base64-encoded part.  Per RFC 2045 \(sc6.8, the occurrence of
+a "=" character signifies the end of base-64 encoded content.  If
+none is found, a heuristic is used:  specifically, two consecutive
+invalid base64 characters signify the beginning of a plain text
+footer.  If a text footer is found and this switch is enabled,
+.B mhfixmsg
+separates the base64-encoded and non-encoded content and places
+them in a pair of subparts to a newly constructed multipart/mixed
+part.  That multipart/mixed part replaces the original base64-encoded
+part in the MIME structure of the message.
+.PP
+The
 .B \-fixtype
 switch ensures that each part of the message has the correct MIME type
 shown in its Content-Type header.  It may be repeated.  It is
@@ -318,6 +334,7 @@ content type and/or encoding as follows:
 \-reformat                text parts that are not text/plain
 \-fixboundary             outermost multipart part
 \-fixcte                  multipart or message part
+\-checkbase64             base64 encoded parts
 \-fixtype                 all except multipart and message parts
 .fi
 .RE
@@ -552,6 +569,7 @@ is checked.
 .RB ` \-noreplacetextplain '
 .RB ` \-fixboundary '
 .RB ` \-fixcte '
+.RB ` \-checkbase64 '
 .RB ` \-changecur '
 .RB ` \-noverbose '
 .fi