From:  Kari Hurtta <hurtta@klovni.keh.iki.fi>
Date:  16 Dec 2015 02:15:06 Hong Kong Time
Newsgroup:  news.alt119.net/comp.mail.elm
Subject:  

Elm ME+ 2.5 PLalpha39 RPM announcement

NNTP-Posting-Host:  89.27.35.245

Experimental RPM spec file for Elm ME+ 2.5 PLalpha39
exists on 
directory.

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.alpha39-1.spec
    RPM spec file                                        [Note 1]
  - http://www.elmme-mailer.org/rpm/elm-ME+2.5.alpha39-1.spec.elm-key-2013old.sig
  - http://www.elmme-mailer.org/rpm/elm-ME+2.5.alpha39-1.spec.elm-key-2013.sig
  - http://www.elmme-mailer.org/rpm/elm-ME+2.5.alpha39-1.spec.sig
  - http://www.elmme-mailer.org/rpm/elm-ME+2.5.alpha39-1.fdr19.src.rpm
    Source rpm                                           [Note 2]
  - http://www.elmme-mailer.org/rpm/elm-ME+2.5.alpha39-1.fdr19.src.rpm.elm-key-2013old.sig
  - http://www.elmme-mailer.org/rpm/elm-ME+2.5.alpha39-1.fdr19.src.rpm.sig

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

  - http://www.elmme-mailer.org/rpm/elm-ME+2.5.alpha39-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.alpha39-1.mdk7.2.i686.rpm.sig
  - http://www.elmme-mailer.org/rpm/elm-mod-ME+2.5.alpha39-1.mdk7.2.i686.rpm
    Package elm-mod binary RPM build on Linux Mandrake release 7.2  [Note 3]
  - http://www.elmme-mailer.org/rpm/elm-mod-ME+2.5.alpha39-1.mdk7.2.i686.rpm.sig
  - http://www.elmme-mailer.org/rpm/elm-tls-ME+2.5.alpha39-1.mdk7.2.i686.rpm
    Package elm-tls binary RPM build on Linux Mandrake release 7.2  [Note 3, Note 5]
  - http://www.elmme-mailer.org/rpm/elm-tls-ME+2.5.alpha39-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.alpha39-1.fdr19.i686.rpm
    Package elm binary RPM build on Fedora release 19               [Note 6]
  - http://www.elmme-mailer.org/rpm/elm-ME+2.5.alpha39-1.fdr19.i686.rpm.sig
  - http://www.elmme-mailer.org/rpm/elm-mod-ME+2.5.alpha39-1.fdr19.i686.rpm
    Package elm-mod binary RPM build on Fedora release 19           [Note 6]
  - http://www.elmme-mailer.org/rpm/elm-tls-ME+2.5.alpha39-1.fdr19.i686.rpm
    Package elm-tls binary RPM build on Fedora release 19           [Note 6]
  - http://www.elmme-mailer.org/rpm/elm-debuginfo-ME+2.5.alpha39-1.fdr19.i686.rpm
    Package elm-debuginfo binary RPM build on Fedora release 19     [Note 6, Note 7]

* Notes

Note 1:
  - rpmbuild elm-ME+2.5.alpha39-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.alpha39-1.fdr19.src.rpm is signed internally with 
    GPG key elm.key.2013.asc (A54BE3BC 2013-10-20).
Note 3:
  - elm-ME+2.5.alpha39-1.mdk7.2.i686.rpm and 
    elm-*-ME+2.5.alpha39-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.alpha39-1.mdk7.2.i686.rpm is compiled agaist 
    Sendmail 8.13 (not from Mandrake distribution).
Note 5:
  - elm-tls-ME+2.5.alpha39-1.mdk7.2.i686.rpm do not load/work on 
    Mandrake 7.2, because openssl library misses RAND_egd_bytes 
    function.
Note 6:
  - elm-ME+2.5.alpha39-1.fdr19.i686.rpm and 
    elm-*-ME+2.5.alpha39-1.fdr19.i686.rpm are signed internally 
    with GPG key elm.key.2013.asc (A54BE3BC 2013-10-20).
Note 7:
    elm-ME+2.5.alpha39-1.spec do not have %package debuginfo, but 
    rpmbuild -ba elm-ME+2.5.alpha39-1.spec build 
    elm-debuginfo-ME+2.5.alpha39-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)

* Installation

Package elm-mod includes libelmme-iconv.so and libelmme-smtp.so. 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
installed. 

* Configuration

Following files (if exists) are rewritten by elmconfwriter on
installation:


  - /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 

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
used:

  - /usr/local/lib/elm.rc 

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 

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
/usr/local/lib/aliases.text.OLD. 

On installation new values without merging are written to following
files:

  - /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 

SUMMARY: This release adds elmiso2022sets -command and installs global 
         elm.iso2022sets file. This release changes error handling on 
         Content-Type and Content-Disposition header -fields. This 
         release adds "Mail Sending Screen" for submission -mailer and
         "sending-display=yes" (or "...=no") -parameter to "mailer" 
         option of global elm.rc. "special-use-domains-blacklist" 
         -option is added to elmrc. Keywords "imaps", "pops" and 
         "smtps" are added to mail.services. This release adds some 
         support for non-standard imaps -URLs. This release adds SIZE 
         support to submission -mailer. Then also some other changes 
         and bug fixes are included.

Elm ME+ 2.5 PLalpha39 changelog

Changes on Elm ME+ 2.5 PLalpha39 compared with Elm ME+ 2.5 PLalpha38
--------------------------------------------------------------------

        SUMMARY: This release adds elmiso2022sets 
          -command and installs global elm.iso2022sets
          file. This release changes error handling on 
          Content-Type and Content-Disposition header 
          fields. This release adds "Mail Sending 
          Screen" for submission -mailer and
          "sending-display=yes" (or "...=no") -parameter
          to "mailer" option of global elm.rc.
          "special-use-domains-blacklist" -option is
          added to elmrc. Keywords "imaps", "pops"
          and "smtps" are added to mail.services.
          This release adds some support for
          non-standard imaps -URLs. This release
          adds SIZE support to submission -mailer.
          Then also some other changes and bug 
          fixes are included.

        - Possibly fixed case where last line of 
          ~/.elm/iso2022.sets  was not (always) parsed 
          if there was not newline on last line.

        - Do not free null pointer / string on
          browser_folder_from_imap(). Fixes crash
                SIGNAL PANIC in signals.c:144:segv_signal
                >>>

                Segment Violation signal!


                Call stack: 496D66 80E3A81 283400 170216 15FE2F
                 continues: 15CCF8 80A9D3C 80AA186 80B0C55 809072B
                 continues: 6EABF6 8060751
                backtrace: 
                /usr/local/lib/libelmme-base.so.1.1.38(panic+0x1e8)[0x496d66]
                elm(segv_signal+0x84)[0x80e3a81]
                [0x283400]
                /usr/local/lib/libelmme-mbox.so.1.1.38(+0x36216)[0x170216]
                /usr/local/lib/libelmme-mbox.so.1.1.38(+0x25e2f)[0x15fe2f]
                /usr/local/lib/libelmme-mbox.so.1.1.38(folder_from_dir_item+0x104)[0x15ccf8]
                elm[0x80a9d3c]
                elm(initialize_mailbox+0x390)[0x80aa186]
                elm(main_messages_menu+0xb1)[0x80b0c55]
                elm(main+0xbbd)[0x809072b]
                /lib/tls/i686/cmov/libc.so.6(__libc_start_main+0xe6)[0x6eabf6]
                elm[0x8060751]

        - Added elmiso2022sets -command. 

        - Added struct iso2022_map_conf
        - Changed calling convention of dump_iso2022_map()
        - parse_iso2022_map() now returns read
          map information as struct iso2022_map_conf

        - Added struct iso2022_mapinfo
        - Added free_iso2022_map_conf(), malloc_iso2022_map_conf()

        - Added refcounting to struct iso2022_mapinfo
        - Added free_iso2022_mapinfo(), inc_iso2022_mapinfo_refcount()

        - Added free_iso2022_map_list();

        - Changed some struct iso2022_setid matching rules on
          lib/iso2022.c (on give_iso2022_index(), 
          find_iso2022_map_spec() and loc_setid()).

        - Added call of free_aliases_map() to elmaliases-write
        - Added call of free_charset_map() to elmcharset
        - Added call of free_mlist_conf()  to elmmailinglists
        - Added call of free_mail_services_conf() to 
          elmmailservices
        - Added call of free_mime_types_map() to elmmimetypes
        - Added call of free_terminal_map() to elmterminal

        - Possible fix to read_map_format_a()

        - Moved dump_iso2022_map() from lib/iso2022.c to
          lib/misc/iso2022.c
        - Changed calling convention of dump_iso2022_map()

        - Fixed doc-info dependency on Makefile-1.SH or
          or info-list dependency on doc/Makefile.SH. This is
          used on cleanup-config target on Makefile-1.SH.

        - Possible fix to add_MIBenum()
        - Possible fix to iso2022_add_char()

        - Changed find_iso2022_map_spec so that it match
          map's with any bank if match with given bank 
          is not found.

        - Added doc/iso2022.sets with bank-94 4/10 
        - Added ISO-2022-JP to doc/mime.charsets (with
          incomplete map definition).
        - Added ISO-2022-JP-2 to doc/mime.charsets (with
          incomplete map definition).

        - "This problem has been around about as long as 
           I can remember. Occasionally when I try to forward 
           or bounce a message I get a segfault because something 
           goes wrong with elm reading the mime code."
         Reported by: Robert Brose 
        > Fixed error handling on remail_multipart(). 

        - Report error if type on Content-Type
          header field is empty.

        - Report error if major type or subtype
          on Content-Type header field is empty.

        - Changed unicode_is_special() so that '<' ,
          '@', '>' are always special, not only 
          when TOK_mail is given.
        - Changed unicode_is_special() so that '?'
          is special if TOK_mime is given

        - Report error if major type or subtype
          on Content-Type header field includes
          non-ascii, space, control or MIME
          special characters.

        - Report error if disposition on
          on Content-Disposition header field 
          includes non-ascii, space, control or MIME
          special characters, or if it is empty.

        - Report error if mime param name
          on Content-Type or Content-Disposition
          header field includes non-ascii, control 
          or MIME special characters.

        - Added display about failed addresses
          which is used with "mailer = submission".
        * This is "Mail Sending Screen" which is displayed
          when mail sending is in progress. This is
          incompatible with "background-wait-time" elmrc
          option (not used with "mailer = submission").
          This is enabled with "sending-display=yes" or
          disabled with "sending-display=no" option.
        - "sending-display" mailer option is available
          with mailer types "unknown", "sendmail", 
          "execmail", "submission" and "sendmail-bs".
          Per address status is only available with
          mailer types "submission" and "sendmail-bs".
        - "Mail Sending Screen" is enabled by default
          with mailer types "submission" and "sendmail-bs".
          This screen allows saving failed mail to
          ~/Canceled.mail.dir/ (if c)ancel mail
          is selected) or e)dit again (and resend).
          Pressing ENTER gives default action, which
          is same as  "Mail Sending Screen" is
          not enabled. Default action does not
          save failed mail to ~/Canceled.mail.dir/.
        - Page Up and Page Down and Cursor Up and Down
          keys changes recipient list on "Mail Sending 
          Screen" when question is prompted. And
          Ctrl-C (interrupt character) cancels
          (interrupts) sending of mail when question 
          is prompted on "Mail Sending Screen".

        - Changes return value of verify_transmission()
        - Changes mail()

        - Added indent to struct pager_range
        - Added get_pager_range_indent(),
          get_pager_range_change()
        - Changed state_add_simple_pager_range(),
          stringbuffer_add_simple_pager_range()

        - Added find_pg_wrap_info()

        - Allow NULL range on set_out_state_line_pager_range()

        - Changed give_commands_help(). Now command
          help uses indent from struct pager_range
          for command description column.
               
        - Fix for handle_common (on debug.c)

        - Removed split_word() from src/strings.c
        - Removed argv_from_to() from src/strings.c

        - Changed menu_print_center() on src/out_utils.c
        - Allow menu_header_change(..., header_current,
          HEADER_NO_CURRENT) as special case
        - Added missing menu_header_change_item() to
          src/screen/header.c

        - Added support for non-standard imaps 
          (IMAP over SSL) to  user's .elm/mail.services 
          or global elm.mailservices -file. 
          Normally Elm ME+ uses imap or pop
          on standard port and then possibly
          negotiates TLS. Keyword "imaps" on
          user's .elm/mail.services or global 
          elm.mailservices -file changes
          port and starts TLS (or SSL) first.
         NOTE: Keyword "imaps" should only used when
               regular imap -port is blocked.

        - Added support for non-standard pop3s 
          (POP over SSL) to  user's .elm/mail.services 
          or global elm.mailservices -file. 
          Normally Elm ME+ uses IMAP or POP
          on standard port and then possibly
          negotiates TLS. Keyword "pops" on
          user's .elm/mail.services or global 
          elm.mailservices -file changes
          port and starts TLS (or SSL) first.
         NOTE: Keyword "pops" should only used when
               regular pop3 -port is blocked.

        * Consider using "verify-tls-certificate" 
          (and "require-tls-peer-name") with
          "imap" / "imaps" and "pop" / "pops"-keywords, 
          if trust is required (with "imap" and "pop" 
          -keywords STARTTLS / STLS -command is used).
        > These requires that
             use-connect-library = tls
          is used.
        > Keywords "imaps", STARTLS of "imap" 
          "pops" and STLS of "pop" defaults
          to tls (not ssl). This can changed with
             tls:starttls-version=ssl
          or
             tls:tls-version=ssl
          ( tls:starttls-version=none disables
            usage of ssl and tls. )

        - Imap URLs like 
               imap://user@full.hostname/inbox
          do not match "imaps" -keyword on
          user's .elm/mail.services or 
          global elm.mailservices -file.

        - Unified common code from imap_STARTTLS_handler()
          of shared_libs/tls/imap.c, pop_STLS_handler()
          of shared_libs/tls/pop.c and smtp_STARTTLS_handler
          of shared_libs/tls/smtp.c to ra_wrap_tls()
          of shared_libs/tls/remote.c.

        - Added STFLAG_service_type() to lib/service_list.c 
        - Removed  IMAP_SERVICE, POP_SERVICE, SUBMISSION_SERVICE
          and SMTP_SERVICE from lib/service_list.c
        - Changed locate_from_cache() on lib/mbox/connection.c
        - Added is_similar_service_entry()  to lib/service_list.c 
        - Added give_service_entry2() to lib/service_list.c 
        - Fixed service entry selection on
          url_make_connection_imap()

        - "However, on a Suse Linux Enterprise Server 11 SP 3 
           (with installed 32-bit compatibility package 
            glibc-devel-32bit)  I encountered problems because 
           configure chose the 32-bit version of libcrypt instead 
           of the necessary 64-bit version, thus resulting in a 
           linker error:
           i386 architecture of input file 
           `/usr/lib/libcrypt.a(sha512.o)' is incompatible with
           i386:x86-64 output"
          Reported by: Dr. Rainer Kaluscha 
         > Added /usr/lib64 on search path if compiler
           produces 64-bit output
         * This also changes default shared library location.

        - Added support for non-standard smtps 
          (SMTP over SSL) to  user's .elm/mail.services 
          or global elm.mailservices -file. 
          Normally Elm ME+'s shared library 
          libelmme-smtp.so uses submission or smtp
          on standard port and then possibly
          negotiates TLS. Keyword "smtps" on
          user's .elm/mail.services or global 
          elm.mailservices -file requires
          explicit port definition and starts TLS 
          (or SSL) first.
         WARNING: Originally port 465 was reserved
                  for smtps, but this was revoked
                  and that port is now reserved for 
                  "URL Rendesvous Directory for SSM" 
                  instead.
        > Usually keywords "smtp" or "submission"
          are better here.
          
        - Added some support non-standard imaps -URLs.
          Support is similarly limited than is support
          of imap -URLs.  Basically only imap mailbox 
          can be specified, not individual message or 
          list of messages (search result).
          That is like
                imaps://user@full.hostname/inbox  
        - Imaps URLs do not match "imap" -keyword on
          user's .elm/mail.services or 
          global elm.mailservices -file.

        - Fixed imap: -URL handling so that
          capabilities are handled and therefore
          handle STARTTLS.

        - Free haliases -array on setup_names()
        - Simplified expand_dt_path()
        - Free pager_range -vector on sb_free_file()
        - Fix condition on cmd_on_statlist()
        - Free path element on dt_PATH_free_option()
        - Free mem element on sb_free_mem()
        - Free pager_range -vector on sb_free_mem()

        - Added support of SIZE extension to
          Elm ME+'s shared library libelmme-smtp.so.
          Now SIZE=xxx is added to MAIL -command's line
          if SIZE is mentioned on EHLO response.
        * If "Mail Sending Screen" is available
          when message size is bigger than allowed
          limit of SIZE on EHLO response, user
          is prompted. This allows saving
          mail to to ~/Canceled.mail.dir/ (if c)ancel 
          mail is selected) or e)dit again (and resend).
          Pressing ENTER gives default action, which
          is same as  "Mail Sending Screen" is
          not enabled. Default action tries
          send mail anyway.
        - Message size and possible size limit
          are shown on "Mail Sending Screen".

        - Added "special-use-domains-blacklist" elmrc option.
          Domain names given on list are not acceptable
          as server names or as mail addresses.

          RFC 6761: Special-Use Domain Names
        * If domain name is given as ".domain" then it
          blacklists names under that domain. If name
          is given as "domain" then also "domain"
          itself (and names under it) are blacklisted. 
        * Mail addresses with domain names given
          on "special-use-domains-blacklist" are removed
          from recipients list.

        New elmrc option:
           special-use-domains-blacklist

        New tools:
           elmiso2022sets

        New files:
           utils/elmiso2022sets.c
           lib/misc/iso2022.c
           doc/elmiso2022sets-info
           doc/iso2022.sets
           ConfTool/GenIso2022sets
           charset/MAPPINGS/JIS/JIS0201.TXT
           doc/elmiso2022sets.1
           src/snd_display.c
           src/def_sndmail.h
           shared_libs/tls/remote.c

/ Kari Hurtta