Elm ME+ 2.5 PLalpha48 RPM announcement

Experimental RPM spec file for ELM ME+ 2.5 PLalpha48 
exists on <URL: http://www.elmme-mailer.org/rpm/elm-ME+2.5.html >

I do not know rpm, so please do not blame me, if
I wipe your hardisk...

Files are following

  - http://www.elmme-mailer.org/rpm/elm-ME+2.5.alpha48-1.spec
    RPM spec file                                        [Note 1]
  - http://www.elmme-mailer.org/rpm/elm-ME+2.5.alpha48-1.spec.elm-key-2013.sig
  - http://www.elmme-mailer.org/rpm/elm-ME+2.5.alpha48-1.spec.elm-key-2013old.sig
  - http://www.elmme-mailer.org/rpm/elm-ME+2.5.alpha48-1.spec.sig
  - http://www.elmme-mailer.org/rpm/elm-ME+2.5.alpha48-1.fdr19.src.rpm
    Source rpm                                           [Note 2]

* Compiled on Linux Mandrake release 7.2
  (Linux 2.2, glibc 2.1, Sendmail 8.13)

  - http://www.elmme-mailer.org/rpm/elm-ME+2.5.alpha48-1.mdk7.2.i686.rpm
    Package elm binary RPM build on Linux Mandrake release 7.2      [Note 3, Note 4]
  - http://www.elmme-mailer.org/rpm/elm-ME+2.5.alpha48-1.mdk7.2.i686.rpm.sig
  - http://www.elmme-mailer.org/rpm/elm-mod-ME+2.5.alpha48-1.mdk7.2.i686.rpm
    Package elm-mod binary RPM build on Linux Mandrake release 7.2  [Note 3, Note 5]
  - http://www.elmme-mailer.org/rpm/elm-mod-ME+2.5.alpha48-1.mdk7.2.i686.rpm.sig
  - http://www.elmme-mailer.org/rpm/elm-tls-ME+2.5.alpha48-1.mdk7.2.i686.rpm
    Package elm-tls binary RPM build on Linux Mandrake release 7.2  [Note 3, Note 6]
  - http://www.elmme-mailer.org/rpm/elm-tls-ME+2.5.alpha48-1.mdk7.2.i686.rpm.sig

* Compiled on Fedora release 19
  (Linux 3.14, glibc 2.17, Sendmail 8.14)

  - http://www.elmme-mailer.org/rpm/elm-ME+2.5.alpha48-1.fdr19.i686.rpm
    Package elm binary RPM build on Fedora release 19               [Note 7]
  - http://www.elmme-mailer.org/rpm/elm-ME+2.5.alpha48-1.fdr19.i686.rpm.sig
  - http://www.elmme-mailer.org/rpm/elm-mod-ME+2.5.alpha48-1.fdr19.i686.rpm
    Package elm-mod binary RPM build on Fedora release 19           [Note 7]
  - http://www.elmme-mailer.org/rpm/elm-mod-ME+2.5.alpha48-1.fdr19.i686.rpm.sig
  - http://www.elmme-mailer.org/rpm/elm-tls-ME+2.5.alpha48-1.fdr19.i686.rpm
    Package elm-tls binary RPM build on Fedora release 19           [Note 7]
  - http://www.elmme-mailer.org/rpm/elm-tls-ME+2.5.alpha48-1.fdr19.i686.rpm.sig
  - http://www.elmme-mailer.org/rpm/elm-debuginfo-ME+2.5.alpha48-1.fdr19.i686.rpm
    Package elm-debuginfo binary RPM build on Fedora release 19     [Note 7, Note 8]
  - http://www.elmme-mailer.org/rpm/elm-debuginfo-ME+2.5.alpha48-1.fdr19.i686.rpm.sig

* Notes

Note 1:
  - rpmbuild -ba elm-ME+2.5.alpha48-1.spec warns that "prereq is
    deprecated", but that is required on Linux Mandrake release 7.2
    where older rpm -package is build. 

Note 2:
  - elm-ME+2.5.alpha48-1.fdr19.src.rpm is signed internally with GPG key
    elm.key.2013.asc (A54BE3BC 2013-10-20). 

Note 3:
  - elm-ME+2.5.alpha48-1.mdk7.2.i686.rpm and
    elm-*-ME+2.5.alpha48-1.mdk7.2.i686.rpm are signed internally with
    GPG key elm.key.2013old.asc (825FDF78 2013-10-26). 

Note 4:
  - elm-ME+2.5.alpha48-1.mdk7.2.i686.rpm is compiled agaist Sendmail
    8.13 (not from Mandrake distribution). 

Note 5:
  - elm-mod-ME+2.5.alpha48-1.mdk7.2.i686.rpm does not include

Note 6:
  - elm-tls-ME+2.5.alpha48-1.mdk7.2.i686.rpm do not load/work on
    Mandrake 7.2, because openssl library misses RAND_egd_bytes

Note 7:
  - elm-ME+2.5.alpha48-1.fdr19.i686.rpm and
    elm-*-ME+2.5.alpha48-1.fdr19.i686.rpm are signed internally with GPG
    key elm.key.2013.asc (A54BE3BC 2013-10-20). 

Note 8:
  - elm-ME+2.5.alpha48-1.spec do not have %package debuginfo, but
    rpmbuild -ba elm-ME+2.5.alpha48-1.spec build
    elm-debuginfo-ME+2.5.alpha48-1.fdr19.i686.rpm anyway. 

* Signatures

{file}.sig                  PGP signature (old key pubkey.asc,      EA5A2379 1996-04-23)
{file}.elm-key-2013.sig     GPG signature (key elm.key.2013.asc,    A54BE3BC 2013-10-20, expires: 2018-10-19)
{file}.elm-key-2013old.sig  GPG signature (key elm.key.2013old.asc, 825FDF78 2013-10-26, expires: 2018-10-25)

* Configuration

Following files (if exists) are rewritten by elmconfwriter on

  - /usr/local/lib/elm.rc
  - /usr/local/lib/elm.mimecharsets
  - /usr/local/lib/elm.mimetypes
  - /usr/local/lib/elm.terminalinfo
  - /usr/local/lib/elm.iso2022sets
  - /usr/local/lib/elm.mailservices
  - /usr/local/lib/elm.aliases
  - /usr/local/lib/elm.mailinglists
  - /usr/local/lib/elm.hashmarks 

 Spec file compiles elm for binary distribution, so you must edit
 /usr/local/lib/elm.rc before using Elm ME+ 2.5. Following variables may
 need to be modified on elm.rc:

  - mailer
  - hostdomain (this is usually needed)
  - hostfullname
  - hostname (usually this is not needed)
  - mailname (default values is generated from other values)
    name-resolution (controls default values of hostdomain,
    hostfullname, hostname, mailname) 

For re-generation of following file, old information (if exists) is

  - /usr/local/lib/elm.rc 

WARNING: Check after installation that libraries are enabled. Global
elm.rc values are:

use-library =
use-base-library = iconv
use-config-library = resolv
use-connect-library = tls resolv
use-mailer-library = smtp resolv

Note that libelmme-resolv.so does not compile on all distributions. In
that case omit resolv from elm.rc.

After editing global elm.rc run /usr/local/lib/elmrc-write -GI for
fixing possible errors.

On installation following existing files are merged with new values:

  - /usr/local/lib/elm.terminalinfo
  - /usr/local/lib/elm.mimetypes
  - /usr/local/lib/elm.mimecharsets
  - /usr/local/lib/elm.mailservices
  - /usr/local/lib/elm.mailinglists
  - /usr/local/lib/elm.aliases
  - /usr/local/lib/elm.iso2022sets
  - /usr/local/lib/elm.hashmarks 

Old values from /usr/local/lib/aliases.text are converted to
/usr/local/lib/elm.aliases and /usr/local/lib/aliases.text is renamed to

On installation new values without merging are written to following

  - /usr/local/lib/elm.aliases.NEW
  - /usr/local/lib/elm.mailinglists.NEW
  - /usr/local/lib/elm.mailservices.NEW
  - /usr/local/lib/elm.mimecharsets.NEW
  - /usr/local/lib/elm.mimetypes.NEW
  - /usr/local/lib/elm.terminalinfo.NEW
  - /usr/local/lib/elm.iso2022sets.NEW
  - /usr/local/lib/elm.hashmarks.NEW 

Package elm-mod includes libelmme-iconv.so and libelmme-smtp.so. If
package elm-mod includes libelmme-resolv.so, this is noted. And package
elm-tls includes libelmme-tls.so.

Installation loses mailer = submission setting from global
/usr/local/lib/elm.rc, because when elm package rewrites elm.rc,
submission mailer is not available. It becomes from elm-mod package.

However failed values of /usr/local/lib/elm.rc are saved to
/usr/local/lib/elm.rc.old-values file during installation.

Global setting mailer = submission is restored from
/usr/local/lib/elm.rc.old-values file, when package elm-mod is

Also following directories are used:

  - /usr/local/lib/elm.map.txt/ (global setting map-text-dir =
  - /usr/local/lib/elm.map.bin/ (global setting map-bin-dir =
  - /usr/local/lib/elm.user.map/ (global setting user-map-dir =

Hashmark EXAMPLE uses file /usr/local/lib/elm.user.map/elm.usermap. 

SUMMARY: This release updates mime types list
	 and adds additional magic numbers
	 (byte sequence signatures) to
	 global elm.mimetypes file. Also
	 this release fixes panic when
	 s)aving to username@server. Now
	 this allows s)aving to #hashmark
	 if hashmark refers to IMAP server.
	 Also some other changes and some bug
	 fixes are included.

ELM ME+ 2.5 PLalpha48 changelog

Changes on Elm ME+ 2.5 PLalpha48 compared with Elm ME+ 2.5 PLalpha47

        SUMMARY: This release updates mime types list
		 and adds additional magic numbers
		 (byte sequence signatures) to
		 global elm.mimetypes file. Also
		 this release fixes panic when
		 s)aving to username@server. Now
		 this allows s)aving to #hashmark
		 if hashmark refers to IMAP server.
		 Also some other changes and some bug
		 fixes are included.

        - Updated subtypes of application
          on doc/mime.types
        - Added MIME_TYPE_FONT to enum mime_major_type
          at hdrs/misclib.h 
        - Added "font" to major_type [] at
        - Added MIME_TYPE_MODEL to enum mime_major_type
          hdrs/misclib.h  (model was already
          on major_type [] at  lib/misc/mediatype.c)
        - Added MIME_TYPE_EXAMPLE to enum mime_major_type
          at hdrs/misclib.h 
        - Added "example" to major_type [] at
          lib/misc/mediatype.c ("example" is treated
          like MIME_TYPE_UNKNOWN / "?unknown?" ).
        - Added "chemical" to major_type [] at
          lib/misc/mediatype.c (but no constant
          to  enum mime_major_type).
        - Updated subtypes of audio
          on doc/mime.types
        - Added subtypes of font
          to doc/mime.types
        - Removed image/t38 from  doc/mime.types
        - Updated subtypes of image
          on doc/mime.types
        - Updated subtypes of text
          on doc/mime.types
        - Updated subtypes of video
          on doc/mime.types

        - Added ignore_mime_types_map() to
          hdrs/misclib.h and lib/misc/mime_types.c
        - Added -I mapfile to elmmimetypes
          to specify list of mappings which
          are ignored.
        - Mapping for image/t38
          is removed during installation
        - Allowed several magic numbers
          (byte sequence signatures) on
          global {lib}/elm.mimetypes and
          user's .elm/mime.types. Magic
          numbers  (byte sequence signatures)
          must be on offset order and all
          magic numbers (byte sequence signatures)
          need match.
        - Added additional magic numbers
          (byte sequence signatures) to
           to doc/mime.types. However many of these seems
           to be incorrect.
        - Added safe_stralloc_append() to

        - Do not give error message
             Don't understand specifying a subject and no-one to send to!
          when called as
              elm -S -s subject
          (send only mode).
        - Also
              elm -s subject
          alone implies send only mode.

        - Fixed error where s)ave command for target
          username@server produces
        BROWSER PANIC in .../lib/mbox/savefolder.c:5705:prepare_write_folder
        >>>No selection
         Problem noted by: Laura Kataja
         ( But target username@server:INBOX works.)
        > Changed that change_folder_browser_type() does
          not clear selection, but frees only type
          specific type. 
        > If browser type supports hashmark data
          on selection, possible hashmark info is
        - Added support to to s)ave for target
          #hashmark. This is only supported
          if hashmark refers to IMAP server.
          In that case mail is saved to INBOX
          on IMAP server.
        - Changed implementation of
          browser_cat_hashmark() on hashmark

        - Fixed possible bug on showmsg_visit_mailbox_cmd()
        - Fixed possible bug on metapager()
        New file:


        - Not compiled with MMDF support defined, so probably it doesn't 
          work (or even compile).

        - This has not been tested much so there can be bad bugs. 

          Bug reports to: Kari E. Hurtta <elm@elmme-mailer.org>
                                     (was hurtta+elm@posti.FMI.FI)

        - Internationalized (ie. non-ASCII) domain names are not supported.

        - Support for multipart/signed and multipart/encrypted (specially: 
          support for PGP/MIME) only in reading side. There is no support 
          for attachments with multipart/encrypted.

        - HP's shoftkeys are no longer supported

        - DECNET addresses like host::user may be interpreted as phrase
          of group syntax or as route of source routed address.

        - Header editing screen now uses addresses in form phrase <address>, 
          but because it does not require using of comma (,), multiword 
          phrases must be entered in quotes. 

          For example:  "Kari Hurtta" <hurtta>

        - If address includes <> or comments (), they are not aliased 
          expanded. So aliases must be entered as bare words.

        - Addresses given as arguments to elm command should be given
          as one address per argument. Giving of sevaral addresses per 
          one argument causes that address is misparsed if header is 
          edited on header editing screen.

          That is:

                Use:    elm  '"Kari Hurtta" <hurtta>' 'Admin <root>'

          Don't use:    elm  'Kari Hurtta <hurtta>, Admin <root>'

        - p)rint command acts as P)rint text -command. So it
          is currently quite useless.
          p)rint command does that via readmsg -command. However
          P)rint text does actually same (without readmsg).

        - Some Linux libraries does not follow $LC_CTYPE when program is 
          setgid. Net result is that your locale is always C. That is 
          visible that $LC_CTYPE does not effect to locale printed by 
          'elm -vvvvv':

                Locale (LC_CTYPE):         C
                Display character-set:     US-ASCII
                Sending character-set:     US-ASCII

        - All refrences iso2022 maps are parsed and read to memory. 
          This may cause quite big memory consumption specially because 
          eastern (multibyte) sets tend to be lot of characters. That 
          mapping information should be shared between processes to 
          reduce memory consuption.

        - If display charset is produced by using mapping from locale 
          to charset where charset definition is later invalidated 
          ("removed") by setting explicit compatcharsets on user's 
          .elm/elmrc, that may  cause PANIC on elm's internal pager 
          or other problems. Invalidation happens if display charset 
          is on implicit compatcharsets list (because of charset 
          definition), but does not have explicit compatcharsets list 
          given by user. 

        - Neither Unicode didirectional algorithm nor Right-Left scripts 
          are supported.

        - In some situations two Status headers may be generated two 
          Status headers -- one by IMAP deamon and one from APPENDed 
        - When APPENDing message to IMAP folder (which is normal UNIX 
          mailbox format) original "From " separator line can not be 
          preserved -- specially it is not possible to pass envelope 
          sender address.
        - For UTF-8 charset Elm only knows printable characters from 
          Latin/1 range, if unicode database (see elmrc option "unidata")
          is not loaded.

        - For using of ISO2022 character sets it is required that mapping 
          them to unicode is know -- otherwise Elm ME+ does not know which 
          characters are printable.

        - UTF-16 surrogate pairs (D800-DFFF) are not supported on UTF-7 

        - Mixing of names using IMAP naming convention 
          (imap-naming-convention = yes)
          and names using imap-charset does not work very well...

        - "  Regarding my message (8 Aug 2000) regarding 'newmail' on 
           AIX 4.3.3 in an 'aixterm' window and the 'aixterm' did not 
          close, indeed the problem was NOT related to 'newmail' but an 
          AIX bug.

          IBM has release a patch, and the 'aixterm' in AIX 4.3.3 must
          be update with fileset X11.apps.aixterm. (PTF
          U473920) is solved to problem."
         From: Noam G. Nudelman  <noam@mail.biu.ac.il>

        - File /usr/share/locale/fi/charset gives charset name utf-8 on 
          Linux Mandrake 7.2. This causes that Configure generates 
                fi      utf-8
          to elm.mimecharsets. However that seems to have
          incorrect mapping. You may want change this to
                fi      ISO-8859-1

          ( however nl_langinfo(CODESET) gives charset ISO-8859-15
            but look following entry. )

        - Locale 'fi' seems to have charset ISO-8859-15 according
          of nl_langinfo(CODESET)  on Mandrake Linux 7.2 (and probaly 
          others with same glibc version). However for example gnome 
          terminal uses font 
          and not

          Also KDE's konsole program seems use iso8859-1 character set
          although locale is 'fi' which should have ISO-8859-15 according
          of nl_langinfo (selecting "unicode" from menu seems fix that.)
          Because of mismatch more correct locale is fi_FI.88591, which gives
          ISO-8859-1 character set according of nl_langinfo(CODESET).

          ( Locale seems come from /etc/sysconfig/i18n or $HOME/.i18n )

        > To enable handling of ISO-8859-1 and ISO-8859-15 character sets
          on linux console, read comments from doc/terminal.info file.

        - Mandrake Linux 7.2 seems set LD_PRELOAD to load 
          /usr/lib/libxalflaunch.so.0. That (xalf-0.4-2mdk) causes that 
          elm to crash on startup (actually before main() is reached.)

        - kterm on Mandrake Linux 7.2 seems have (at least on my test
          environment) seems get bad fontlist (*VT100*fontList) which 
          gives bad font for iso8859-1 -- therefore ISO-8859-1 characters 
          do not work.
          ("xrdb -query" seems report resource with name "*fontList"
           -- that probably overrides "*VT100*fontList" which comes
           from /usr/lib/X11/app-defaults/KTerm )

        - Also note that initially kterm does NOT default to
          ISO-8859-1 -- therefore ISO-8859-1 works only when
          elm explicity switch to ISO-8859-1 (for example
          with 'elm -D ISO-8859-1')

        - When assembling message/partial MIME (RFC 2046) 
          requires that all headers except Content-*, Subject, 
          MIME-Version, Message-ID and Encrypted are copied from
          initial enclosing message to assembled message. It also 
          requires that headers except Content-*, Subject,
          MIME-Version,  Message-ID and Encrypted  are ignored and
          dropped from enclosed  message.

          For now we copy only Received: -headers. Dropping extra
          headers from enclosed message makes assembly more 
          complicated  (and dropping of Received: -headers
          from enclosed message do not make sense.)

        - EXIF files are sometimes labeled with content-type
          image/jpeg. They also use .jpg filename extension. They are
          not accepted by Elm ME+ as image/jpeg because magic number 
          (and format) is different. It is unclear what is correct
          treatment. According of specification EXIF files may
          wrap also other file types than jpeg (JFIF).

        - mailer=sendmail; verify=yes works only when sendmail 
          is installed as setuid root. Use mailer=submission instead.
        * Starting from sendmail 8.12 sendmail is normally
          installed as setgid smmsp and not as setuid root.
        - However error message is printed only if 
          verify-local-address=yes is also set

        - IMAP connection is stalled some times. Reason is unknown.

        - From name option (-f) on fastmail is currently broken.

Collector of these patches

        Kari Hurtta <elm@elmme-mailer.org>
        Kari Hurtta <hurtta+elm@siilo.FMI.FI>