ELM 2.4 PL24 ME8

This is an announcement for Patchlevel ME8 for Elm 2.4pl24.

The most current version of this document is available via the web:
http://www.cs.hmc.edu/~me/elm/announce.html. You can also visit the "ME" home
page at http://www.cs.hmc.edu/~me/elm/me.html.
NOTE THAT THIS ADDRESS HAS CHANGED FROM THE PREVIOUS ANNOUNCEMENT!

What's new:

   * Anonymous remailer support (plus chaining, PGP encryption & MIME support)
   * mime.types file when guessing the content-type of an attachment.
   * Forwarded messages can be attached as MESSAGE/RFC822 data
   * Supports extraction of PGP public keys directly
   * Support for application/pgp type inside multipart/mixed and message/rfc822
     messages

Changes from ME7a:

   * Replying to MULTIPART messages now works correctly.
   * MESSAGE/RFC822 is now properly supported.
   * BINARY encoding is better supported.
   * Fixed bugs with BASE64 and QUOTED-PRINTABLE encodings.
   * Enhanced attachment menu
   * Improved interface for PGP encrypting messages

Where to get it:

   * ftp://cs.hmc.edu/pub/me/elm-2.4pl24me8.tar.Z
   * ftp://cs.hmc.edu/pub/me/elm-2.4pl24me8.tar.gz
   * ftp://cs.hmc.edu/pub/me/elm-2.4pl24me8.diffs.Z
   * ftp://cs.hmc.edu/pub/me/elm-2.4pl24me7a-8.diffs.Z

-OR-

   * ftp://uiarchive.cso.uiuc.edu/pub/packages/mail/elm/me/elm-2.4pl24me8.tar.Z
   * ftp://uiarchive.cso.uiuc.edu/pub/packages/mail/elm/me/elm-2.4pl24me8.tar.gz
   * ftp://uiarchive.cso.uiuc.edu/pub/packages/mail/elm/me/elm-2.4pl24me8.diffs.Z
   * ftp://uiarchive.cso.uiuc.edu/pub/packages/mail/elm/me/elm-2.4pl24me7a-8.diffs.Z

-------------------------------------------------------------------------------

STATUS

These patches are not an official release of Elm, and are not supported by the
Elm Development Group. Features included in this patch may or may not be
included in the next official release of Elm. I can say for certain that the
PGP portion will not. I am hoping that my MIME patches will be included in the
2.5 release, but that is still an open question. Should the 2.5 release appear
without these patches, I plan on "porting" them and using 2.5 as the base.
-------------------------------------------------------------------------------
And now on to the interesting stuff...

PGP SUPPORT

[This work was inspired by pgpelm which was started by Mic the Missing and
furthur developed by Ken Cox (kenc@viewlogic.com). This version is a complete
rewrite of that system but looks very similar.]

Features include: mark on folder menu showing PGP encrypted messages and public
key blocks, encryption/signing of outgoing messages, decrypting/signature
check, mailing public key blocks, and extracting public key blocks from
messages. Special feature allows you to have ELM keep track of your PGP
passphrase so you only need to enter it a minimal number of times.

I have written a primer for using PGP with this version of ELM which can be
found at http://www.cs.hmc.edu/~me/elm/pgp.html. It contains everything you
need to know about how to use PGP with ELM.

MIME SUPPORT

With this version of Elm, the need for metamail is much less since it can now
handle the MIME encodings and multipart/* messages internally. The only case in
which metamail is called is when there is a content-type which Elm does not
understand (eg. image/*, audio/*). In most cases you will probably only receive
this as attachments anyway, so you might still not require metamail.

   * Incoming Attachments

     Access to individual portions of a MIME mulitpart message can be accessed
     via the "Attachments" menu (type 'v' in the index menu). This brings up a
     menu listing the attachments for the current message. You then have the
     option of viewing or saving the attachment.

   * Outgoing Attachments

     In addition to using the "[include ..." construct when editing your
     message, there is now an "Attachments" menu accesible from the "Send" menu
     (it is abbreviated to "a)tt" because of space problems). Simply type "a"
     to get into the Attachments menu. You may then add/delete/edit/modify
     attachments. When possible, Elm will attempt to guess the correct
     Content-Type (based on file extension, see the "mime.types" section below)
     and Content-Transfer-Encoding.

   * Automatic encoding for outgoing messages.

     If Elm finds 8bit or control characters in text files to be attached, it
     will automatically encode them QUOTED-PRINTABLE if Elm has been compiled
     without the 8BITMIME option (meaning that your MTA isn't 8bit clean). This
     behavior can be overriden with the "noencoding" elmrc option (see below)
     in cases where your sendmail is 8bit clean, but doesn't support the
     -B8BITMIME option.

   * mime.types file

     Elm now mime.types file which maps filename extensions to Content-Type
     field when sending attachments via the new attachment menu. The format of
     these files is as follows:

     <extension> <content-type>

     A hash character ('#') may be used as a comment, but it must be in the
     first column of a line.

     Here is an example of mime.types file:

     # This is a commented line
     html    text/html
     tgz     application/octet-stream; type=tar; conversions="x-gzip"

     Note that the content-type field is not limited to just the type/subtype
     part; in can also include suplementary information.

     Elm first looks to see if the user has a ~/.elm/mime.types file. If there
     is no match, Elm will then try to read the system types file (typically
     /usr/local/lib/elm.mimetypes). Failing that, Elm has a few builtin types
     that it understands.

     You might want to pick up a copy of my mime.types file as a starting point
     for either your personal or system file at
     http://www.cs.hmc.edu/~me/elm/mime.types.

REMAILER SUPPORT

This version of Elm has the ability to prepare messages for use with anonymous
remailers (if you don't know what that is, read alt.privacy.anon-server for
more information).

Elm gets its information about anonymous servers by either fingering
"remailer-list@kiwi.cs.berkeley.edu" or by reading ~/.elm/remailers (if this
file exists, it overrides the "finger" so you can still use this feature even
if you are not directly net connected.)

To send an anonymous message, first compose your message as you normally would,
entering the name of the person who should ultimately receive the message as
the To: address. Then, at the "send" menu, you can type "r" to get into the
"remailer" menu.

There are several options in this menu: remail, chain, path and encrypt.
The "remail" option indicates whether or not the current message will be
remailed.

"chain" indicates how many servers this message should be sent through (the
higher chain is, the more secure, but the tradeoff is how long until the
receiver gets the message).

"path" is where you can specify which servers you would like this message to go
through (this overrides "chain"). You can specify a semi-colon (";") separated
list of server "nicknames" here.

"encrypt" means that Elm should encrypt your messages with the PGP public key
of server you are remailing through (note that if chain > 1 or there is more
that one server in "path", Elm will do the "right" thing and call PGP multiple
times for each hop).

Once the desired options are set, you can quit the menu and send the message.
What you see next will vary... If you are a PGP user and set encrypt=TRUE in
the remailer menu, you will see the call(s) to pgp flash across your screen.
Otherwise you will most likely just see the "Mail sent." message.

If you have MIME defined, it should be possible for you to include attachments
in your anonymous mail in the normal manner. Most servers these days support
the "hash" option which Elm makes use of to pass the proper MIME headers.

NEW ELMRC OPTIONS

   * usepgppass = [ ON | OFF ]
     Default: usepgppass = OFF
        o OFF: Elm does not keep your passphrase in memory. You must enter it
          each time you want to decrypt a pgp mail.
        o ON: Elm keep your passphrase in memory for "keeppassfor" seconds.
   * keeppassfor = <number>
     Default: keeppassfor = 0
        o keeppassfor>=0: Elm will keep your passphrase in memory for seconds
          after entering the passphrase.
        o keeppassfor<0: Elm will keep your passphrase in memory without
          clearing it from memory.
   * noencoding = <level>
     Default: noencoding = 0

     This control makes it possible to send raw 8bit or binary data when the
     MTA doesn't support 8BITMIME and the -B8BITMIME option or BINARYMIME and
     the -BBINARYMIME option.

     Possible values:
        o  0 : Always convert 8BIT and BINARY data to QUOTED-PRINTABLE if the
          MTA doesn't support the -B8BITMIME and -BBINARYMIME options.
        o  1 : Allow 8bit without -B8BITMIME, but binary data is encoded
        o  2+: Allow binary without -BBINARYMIME and and 8bit without
          -B8BITMIME
     It is STRONGLY recommended that it be left set to 0 unless you know what
     you are doing!!
   * showto = [ ON | OFF ]
     Default: showto = OFF
        o ON: Elm should show you who the message is addressed to rather than
          who it is from if the message is not addressed to you.
        o OFF: normal behavior
   * pagemultipart = [ ON | OFF ]
     Default: pagemultipart = ON
        o ON: Use the internal MIME support to display MULTIPART messages
          rather than calling metamail
        o OFF: display MULTIPART messages with metamail
   * mimeforward = [ ON | OFF ]
     Default: mimeforward = OFF
        o ON: When forwarding a message, Elm will attach as a MIME body part of
          type MESSAGE/RFC822.
        o OFF: Elm will include the forwarded message in your message, just
          like it always has.

BUILTIN++ PAGER

This pager looks a lot like more, but has some of the movement features of
less, most notably, paging backwards through your messages. Press '?' inside of
the pager for a list of valid keystroke commands.

TAGS

Use the keyword "tagged" in the "Delete messages with pattern" (invoked by ^D
in the index menu) to delete all tagged messages.

You can now use the keyword "all" to tag all visible messages.

LIMIT FUNCTIONALITY

   * Simple compound statements can be made using '|' (OR) and '&' (AND).
   * The "Cc:" field is now availible for search.
   * New keyword "tagged" for narrowing to only the currently tagged messages.

MISCELLANEOUS

'*' may be used as a wildcard in the "alternatives" list in the elmrc file. For
instance, "me@*.hmc.edu" would me to match the user "me" in all hosts from the
"hmc.edu" domain.

Elm will keep track of the messages which you have replied to with an 'r' mark
in the index menu.

Forwarded messages are encapsulated instead of quoted like replies:

        ----- Forwarded message from Joe User  -----
        [...]
        ----- End of forwarded message from Joe User  -----

You can effect an automatic Bcc: line by setting the address(es) in the "BCC"
environment variable. Note that this is non-standard, but provided as a means
of accomplishing the task.

BUGS

A list of known bugs can be found at
http://www.cs.hmc.edu/~elkins/elm/bugs.html.

AUTHOR

Michael Elkins <elkins@aero.org>
Home Page: http://www.cs.hmc.edu/~me/index.html

If you are interested in knowing what my future plans are, you can browse my
"TO DO" list at http://www.cs.hmc.edu/~me/elm/todo.html

THANKS

Kari Hurrta <Kari.Hurtta@fmi.fi> has contributed a great deal to the MIME
support (and fixed lots of my stupid bugs ;-)

I would also like to thank everyone who took the time to report bugs or suggest
improvements!
-------------------------------------------------------------------------------
Last updated Sept 21, 1995.
