k-9/src/com/fsck/k9
Joe Steele 77407eb5b7 Don't base64 encode attachments of type message/rfc822.
The problem:  Receive a message with an attachment of type message/rfc822
and forward it.  When the message is sent, K-9 Mail uses base64 encoding
for the attachment.  (Alternatively, you could compose a new message and
add such an attachment from a file using a filing-picking app, but that is
not 100% effective because the app may not choose the correct
message/rfc822 MIME type for the attachment.)

Such encoding is prohibited per RFC 2046 (5.2.1) and RFC 2045 (6.4).  Only
8bit or 7bit encoding is permitted for attachments of type message/rfc822.

Thunderbird refuses to decode such attachments.  All that is shown is the
base64 encoded body.

This commit implements LocalAttachmentBody.setEncoding.  If an attachment
to a newly composed message is itself a message, then setEncoding("8bit")
is called, otherwise setEncoding("base64")  is called for the attachment.
Similar behavior occurs when an attachment is retrieved from LocalStore.

The setEncoding method was added to the Body interface, since all
implementations of Body now declare the method.

The problem here differs from that in the preceding commit:  Here, the
encoding problem occurs on sending, not on receipt.  Here, the entire
message (headers and body) is base64 encoded, not just the body.  Here,
the headers correctly identify the encoding used;  it's just that the RFC
does not permit such encoding of attached messages.  The problem here
could in fact occur in combination with the preceding problem.
2013-09-03 19:52:11 -04:00
..
activity Don't base64 encode attachments of type message/rfc822. 2013-09-03 19:52:11 -04:00
cache Avoid CursorIndexOutOfBoundsException when deleting a message 2013-08-23 04:16:00 +02:00
controller Convert OpenMode from an Enum to static ints for perf improvement. 2013-07-30 21:32:35 -04:00
crypto Converted message view to a fragment 2012-10-05 18:14:07 +02:00
fragment Fix flagging of messages in message list 2013-08-27 16:08:05 -04:00
helper Add setting to toggle colored background of fallback contact pictures 2013-08-16 18:43:00 +02:00
mail Don't base64 encode attachments of type message/rfc822. 2013-09-03 19:52:11 -04:00
preferences Use named indices to get values from "visible refile actions" preference 2013-08-25 11:35:14 +01:00
provider Avoid NullPointerException (reported via Play Store) 2013-03-21 23:19:11 +01:00
remotecontrol astyle-d 2011-02-26 18:39:06 -06:00
search Convert OpenMode from an Enum to static ints for perf improvement. 2013-07-30 21:32:35 -04:00
service Convert theme setting value to an enum. 2013-02-08 15:24:03 +01:00
view Return to old style chips for accounts, folders and messages. 2013-08-22 20:56:55 -04:00
Account.java Make sure Account.getDescription() never returns null 2013-08-10 00:08:18 +02:00
AccountStats.java Grey out unavailable accounts. 2011-03-19 12:36:58 -05:00
BaseAccount.java astyle-d 2011-02-26 18:39:06 -06:00
EmailAddressAdapter.java Don't use EmailAddressAdapter as singleton 2012-04-11 03:26:45 +02:00
EmailAddressValidator.java astyle-d 2011-02-26 18:39:06 -06:00
FontSizes.java merge date and time font size preference into one 2013-02-11 13:05:52 +01:00
Identity.java astyle-d 2011-02-26 18:39:06 -06:00
K9.java Fix code style/formatting 2013-08-29 17:34:46 +02:00
NotificationSetting.java astyle-d 2011-02-26 18:39:06 -06:00
PRNGFixes.java add notes about the reason for https://github.com/k9mail/k-9/pull/367 2013-08-27 14:57:21 -04:00
Preferences.java Add code to remove references to LocalStore when deleting accounts 2013-08-30 03:02:50 +02:00