• Patch: Elm ME+ 2.5 PLalpha46 -> Elm ME+ 2.5 PLalpha47 [7/7] (1/3)

    From Kari Hurtta@21:1/5 to All on Sat Feb 10 14:47:48 2018
    XPost: alt.sources

    Archive-name: elmME+2.5/PLalpha47.7

    Elm ME+ 2.5 PLalpha47

    Before applying patch catenate parts 1 - 7 first.
    Also it should be possible to apply parts 1 - 7
    individually.

    Part 0 does not include patch.

    This patch is agaist Elm ME+ 2.5 PLalpha46

    ====================================== ( part 7/7 ) =========
    Index: elmME+.2.5.alpha47-cvs/shared_libs/smtp/smtp.c
    *** elmME+.2.5.alpha46/shared_libs/smtp/smtp.c 2017-09-13 19:32:05.000000000 +0300
    --- elmME+.2.5.alpha47-cvs/shared_libs/smtp/smtp.c 2017-12-30 13:44:59.000000000 +0200
    ***************
    *** 1,7 ****
    ! static char rcsid[] = "@(#)$Id: smtp.c,v 2.35 2017/08/28 11:50:52 hurtta Exp $";

    /******************************************************************************
    ! * The Elm (ME+) Mail System - $Revision: 2.35 $ $State: Exp $
    *
    * Author: Kari Hurtta <hurtta+elm@siilo.FMI.FI>
    * (was hurtta+elm@posti.FMI.FI, hurtta+elm@ozone.FMI.FI) --- 1,7 ----
    ! static char rcsid[] = "@(#)$Id: smtp.c,v 2.38 2017/12/30 11:44:59 hurtta Exp $";

    /******************************************************************************
    ! * The Elm (ME+) Mail System - $Revision: 2.38 $ $State: Exp $
    *
    * Author: Kari Hurtta <hurtta+elm@siilo.FMI.FI>
    * (was hurtta+elm@posti.FMI.FI, hurtta+elm@ozone.FMI.FI) ***************
    *** 3651,3658 ****
    return 0;
    }

    ! if (!tmp)
    return 0;

    if (SMTP_mailer_info_magic != I->p.p
  • From Kari Hurtta@21:1/5 to All on Sun Feb 11 14:28:56 2018
    Experimental RPM spec file for ELM ME+ 2.5 PLalpha47
    exists on <URL: http://www.elmme-mailer.org/rpm/elm-ME+2.5.html >
    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.alpha47-1.spec
    RPM spec file [Note 1]
    - http://www.elmme-mailer.org/rpm/elm-ME+2.5.alpha47-1.spec.elm-key-2013.sig
    - http://www.elmme-mailer.org/rpm/elm-ME+2.5.alpha47-1.spec.elm-key-2013old.sig
    - http://www.elmme-mailer.org/rpm/elm-ME+2.5.alpha47-1.spec.sig
    - http://www.elmme-mailer.org/rpm/elm-ME+2.5.alpha47-1.fdr19.src.rpm
    Source rpm [Note 2]
    - http://www.elmme-mailer.org/rpm/elm-ME+2.5.alpha47-1.fdr19.src.rpm.elm-key-2013old.sig
    - http://www.elmme-mailer.org/rpm/elm-ME+2.5.alpha47-1.fdr19.src.rpm.sig

    * 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.alpha47-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.alpha47-1.mdk7.2.i686.rpm.sig
    - http://www.elmme-mailer.org/rpm/elm-mod-ME+2.5.alpha47-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.alpha47-1.mdk7.2.i686.rpm.sig
    - http://www.elmme-mailer.org/rpm/elm-tls-ME+2.5.alpha47-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.alpha47-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.alpha47-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.alpha47-1.fdr19.i686.rpm.sig
    - http://www.elmme-mailer.org/rpm/elm-mod-ME+2.5.alpha47-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.alpha47-1.fdr19.i686.rpm.sig
    - http://www.elmme-mailer.org/rpm/elm-tls-ME+2.5.alpha47-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.alpha47-1.fdr19.i686.rpm.sig
    - http://www.elmme-mailer.org/rpm/elm-debuginfo-ME+2.5.alpha47-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.alpha47-1.fdr19.i686.rpm.sig

    * Notes

    Note 1:
    - rpmbuild -ba elm-ME+2.5.alpha47-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.alpha47-1.fdr19.src.rpm is signed internally with GPG key
    elm.key.2013.asc (A54BE3BC 2013-10-20).

    Note 3:
    - elm-ME+2.5.alpha47-1.mdk7.2.i686.rpm and
    elm-*-ME+2.5.alpha47-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.alpha47-1.mdk7.2.i686.rpm is compiled agaist Sendmail
    8.13 (not from Mandrake distribution).

    Note 5:
    - elm-mod-ME+2.5.alpha47-1.mdk7.2.i686.rpm does not include
    libelmme-resolv.so.

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

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

    Note 8:
    - elm-ME+2.5.alpha47-1.spec do not have %package debuginfo, but
    rpmbuild -ba elm-ME+2.5.alpha47-1.spec build
    elm-debuginfo-ME+2.5.alpha47-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
    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
    - /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
    used:

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

    Also following directories are used:

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

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

    SUMMARY: This release implements interruptible
    (with interrupt character, usually Ctrl-C)
    DNS queries on some systems when
    libelmme-resolv.so module is used. New
    elmrc options are "name-lookup-cache-time",
    "name-lookup-cancel",
    "special-use-domains-lookup" and
    "static-hosts-max-names" (and
    "query-mode" on "resolv:" section).
    This release includes some changes
    and fixes for elmrc parsing. Also some other
    changes and some bug fixes are included.

    ELM ME+ 2.5 PLalpha47 changelog

    Changes on Elm ME+ 2.5 PLalpha47 compared with Elm ME+ 2.5 PLalpha46 --------------------------------------------------------------------

    SUMMARY: This release implements interruptible
    (with interrupt character, usually Ctrl-C)
    DNS queries on some systems when
    libelmme-resolv.so module is used. New
    elmrc options are "name-lookup-cache-time",
    "name-lookup-cancel",
    "special-use-domains-lookup" and
    "static-hosts-max-names" (and
    "query-mode" on "resolv:" section).
    This release includes some changes
    and fixes for elmrc parsing. Also some other
    changes and some bug fixes are included.

    - Changed gethostdomain() on lib/opt_utils.c
    - Added check that domain name accepts only
    ASCII characters on gethostdomain().
    - Added gethostdomain() to read $LOCALDOMAIN
    environment variable before {lib}/domain
    file (and before using getdomainname()
    if "getdomainname" is given on "name-resolution"
    elmrc option.)
    - If $LOCALDOMAIN includes space separated list of domains,
    then first domain is used.
    - Changed generate_hostfullname() on lib/read_rc.c
    - Update doc/elmrc-info

    - If DNS answer is truncated and equal of buffer size then
    resolv -module retries query with bigger buffer
    (up to 65535 bytes) [when using query-mode = blocking].

    - Configure for resolv -module now tests if
    res_mkquery(), res_send() and related routines
    can be used to make DNS queries. Using
    these routines means that res_query() and
    specially res_search() is replaced with
    own code.
    - Configure for resolv -module now tests if
    socketpair(AF_UNIX,SOCK_SEQPACKET,0,pair)
    can be used.
    - This release adds "query-mode" elmrc option to
    resolv: -section. This option have values
    blocking This uses res_query()
    or res_search()
    non-blocking This uses res_mkquery() and runs
    res_send() on separate process.
    In that case resolv -module
    implements internally
    res_search() like search
    algorithm.
    > Parameter "helper=allow-interrupt" of "query-mode"
    elmrc option tells that interrupt character (Ctrl-C)
    is allowed kill res_send() helper processes.
    > Parameter "helper=ignore-interrupt" of "query-mode"
    elmrc option tells that interrupt character
    (Ctrl-C) is ignored (does not kill process).
    > Numeric value to "helper" of "query-mode"
    elmrc option parameter tells how many helper
    processes is considered for query.
    > Parameter "helper-skip-limit" of "query-mode"
    elmrc option tells how many busy helper processes
    are skipped and not considered for query.
    > Parameter "parallel-lookup-max-time" of "query-mode"
    elmrc option gives maximum time what is used to resolve DNS
    lookup when non-blocking mode is used.
    - Added add_foreign_background() to lib/syscall.c
    - Added wait_background_end() to lib/syscall.c
    - Changed maybe_background() on lib/syscall.c
    - Added wait_for_action_or_timeout_settime() to lib/schedule.c
    - Added wait_for_action_or_deadline_settime() to lib/schedule.c
    - Added wait_for_timeout_f() to lib/schedule.c
    - Small fix for real_wait_poll()

    - This release adds "name-lookup-cache-time" elmrc option
    which tells default cache time on seconds for mail service
    if it is cached (usually not). Default value is
    320 seconds. This replaces DEFAULT_CACHE_TIME constant
    from lib/service_list.c

    - Fixed error
    Enumerated values resolv:* ignored -- code not loaded
    I can't understand mail-services-lookup key "resolv:all-addresses"
    in line 54 in "(...)/lib/elm.rc" file
    - Changed set_dt_enumerate_as_str() on lib/rc_handle.c
    - Changed give_dt_enumerate_as_int() on lib/rc_handle.c
    - Changed give_dt_shared_value() on lib/rc_handle.c
    - Changed struct dt_enumerate_info on hdrs/save_opts.h
    - Fixed case-insensitive matching of tagged keyword
    on set_dt_enumerate_as_str()

    - Fixed error
    Keywords on section "resolv" ignored starting
    from line 419 on file (...)/lib/elm.rc

    - Added new warning of ignored elm.rc lines.
    - Added rc_eval_tail_cline() to lib/read_rc.c
    - Added rc_eval_tail_line() to lib/read_rc.c

    - Changed struct parsed_rc
    - Changed do_rc_parse(), do_rc_process()
    on lib/rc_parse.c
    - Changed shared_fill_dt_enumerate_values(),
    give_options() on lib/shared.c

    - Fixed frm and elmrc-write -command error
    Keywords on section "smtp" ignored starting
    from line 1889 on file .elm/elmrc
    - Changed frm -command option handling.
    - Added rc_DT_DELAYSHARED
    - Added some
    # Failed to convert charset of option ...
    comments to generated elm.rc or .elm/elmrc
    on error.
    - Changed do_rc_parse() so that empty line
    followed by comment line resets last option
    which is considered for continuation lines. This changes
    error messages like
    Key "@charset" does not accept continuation lines
    in line 119 in ".../elm.rc" file
    > Added error message
    Continuation line 119 on file ".../elm.rc"
    ignored: ...
    - Also comment lines starting with "### " resets
    last option which is considered for continuation lines.
    - Also section tag: lines resets last option which is
    considered for continuation lines.

    - Small change to mail_gets() and malloc_gets()

    - Fixed crash on smtp -module if submission/smtp
    server's name is not resolvable.

    - Made DNS query wait to be interruptible with Ctrl-C
    when
    query-mode=non-blocking
    is used on resolv -section with
    mail-services-lookup = resolv:addresses
    or
    mail-services-lookup = resolv:all-addresses
    - Also DNS query is interruptible with Ctrl-C
    when
    query-mode=non-blocking
    is used on resolv -section with
    verify-domain = resolv:mx-address
    or
    verify-domain = resolv:mx
    or
    verify-domain = resolv:any
    > NOTE: This uses actually interrupt signal
    which is usually generated with Ctrl-C
    but tty settings can vary.
    > NOTE: Also interrupt character (Ctrl-C) may kill
    res_send() helper process
    [when using helper=allow-interrupt].
    Otherwise
    DNS query is still completed (and resolv
    -module caches answer).
    > NOTE: If
    mail-services-lookup = hostname
    or
    mail-services-lookup = gethostbyname
    or
    mail-services-lookup = getaddrinfo
    is used, then DNS host lookup is not
    interruptible with Ctrl-C.
    > NOTE: If
    verify-domain = hostname
    is used, then DNS host lookup is not
    interruptible with Ctrl-C.
    > NOTE: Also DNS
    lookup is not interruptible with Ctrl-C
    if
    query-mode = blocking
    is used on resolv -section.
    - This release adds "name-lookup-cancel"
    elmrc option, which controls behaviour of
    Ctrl-C (interrupt character) on DNS lookup handling.
    This option have values
    disabled hostname / mail domain name
    lookups are not interruptible.
    enabled hostname / mail domain name
    lookups are assumed to be
    interruptible (but that is
    not likely not work with
    gethostbyname(), getaddrinfo(),
    res_query() and res_search()).
    auto hostname / mail domain names
    lookup result waiting is
    interruptible when res_send()
    helper process is used.
    Value "auto" is default. This may case that
    this is disabled (unless "mail-services-lookup"
    is modified). Also boolean ON, OFF, TRUE, FALSE, YES and NO
    values are allowed on elmrc option "name-lookup-cancel".
    - Added set_cancel_message()
    - Changed connect_remote_account(), make_remote_mbox(),
    give_service_entryS(), lookup_namei(),
    lookup_name()
    - Added give_service_entry_can(),
    give_service_entry4_can()
    - Added wait_for_action_or_timeout_settime_c() to lib/schedule.c
    - Added wait_for_action_or_deadline_settime_c() to lib/schedule.c

    - Changed that real_wait_select() and real_wait_poll()
    return -1 on error. Added enum wait_for_status.
    - Changed real_wait(), real_wait_check_timeout(),
    wait_for_something()
    - Some changes on my_wait()
    - Changed error_sleep() return type to be void (no value).

    - Changed SR_RawState()
    - Fixed crash on connect-mode -keyword parsing.
    - Added conf_split_param_value() to lib/remote_mbx.c

    - Added sigchld_handler() call to
    verify_transmission(), enter_helper(),
    attach_modify(), extended_command(),
    fbrowser(), edit_headers(),
    alias_modify(), ViewThreads()

    - Added lib/static-hosts.c, which parsed
    /etc/hosts file without using gethostent()
    function.
    - If elmrc option "special-use-domains-lookup"
    have value "static-hosts", names given on elmrc
    option "special-use-domains-blacklist"
    are directly read from /etc/hosts (only).
    > Names given on elmrc option
    "special-use-domain" are not looked up
    from DNS and are not looked up with elmrc
    option "mail-services-lookup".

    - If elmrc option "search-mail-service" on
    "resolv:" section is value "static-hosts-dotless-search-name",
    libelmme-resolv.so module search /etc/hosts first
    if name does not include dot (.), then lookups
    name from DNS with default search rules (res_search()).
    If name not found from DNS and name includes dot (.), then
    libelmme-resolv.so module search /etc/hosts.
    > libelmme-resolv.so module uses elmrc option
    "search-mail-service", when it searches names for
    addresses.
    - If elmrc option "search-mail-service" on
    "resolv:" section is value "static-hosts-dotless",
    libelmme-resolv.so module search /etc/hosts first
    if name does not include dot (.), then queries
    exact name from DNS (res_query()). If name not found
    from DNS and name includes dot (.), then
    libelmme-resolv.so module search /etc/hosts.

    - If "query-mode" on "resolv:" section have value
    "blocking", then default value of "search-mail-service"
    on "resolv:" section is "fallback-dotless-search-name".
    - If "query-mode" on "resolv:" section have value
    "non-blocking", then default value of "search-mail-service"
    on "resolv:" section is "static-hosts-dotless-search-name".

    - libelmme-resolv.so -module changes default value of
    "mail-services-lookup" if "query-mode" on "resolv:"
    section have "non-blocking" values and "use-config-library"
    includes "resolv". This is similar than libelmme-resolv.so
    -module's change of "verify-domain".

    - Changed wait_for_something(), real_wait_select() and
    real_wait_poll() on lib/schedule.c

    - Added "X-Autogenerated:" to default weedlist. This header
    is generated by Communigate Pro.
    - Added "Auto-Submitted:" to default weedlist. This is defined
    on RFC 3834.
    - Added "X-MS-Exchange-" to default weedlist (removed
    "X-MS-Exchange-Organization-").
    - Added "X-Originating-IP:" and "Accept-Language:" to
    default weedlist.
    - Added "Resent-Message-ID:" to default weedlist.

    - Added warning of magic values >= 256 to
    parse_magic() on lib/misc/mime_types.c
    - Added some fixes for magic values >= 256 to
    parse_magic() on lib/misc/mime_types.c
    - Changes error messages on load_mime_types_map()
    on lib/misc/mime_types.c

    New elmrc options:
    name-lookup-cache-time
    name-lookup-cancel
    special-use-domains-lookup
    static-hosts-max-names

    New files:
    shared_libs/resolv/resolvertest2.c
    shared_libs/resolv/resolvconf.h.SH
    shared_libs/resolv/query.c
    lib/static-hosts.c
    hdrs/service_imp.h

    Warnings
    --------

    - 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
    message.

    - 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
    charset.

    - 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.4.3.3.26 (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
    mapping
    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
    -misc-fixed-medium-r-normal--12-200-75-75-c-100-iso8859-1
    and not
    -misc-fixed-medium-r-normal--12-200-75-75-c-100-iso8859-15

    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>

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Kari Hurtta@21:1/5 to All on Mon Feb 12 20:09:26 2018
    Experimental DEB generator script for Elm ME+ 2.5 PLalpha47
    exists on <URL: http://www.elmme-mailer.org/deb/elm-ME+2.5.html >
    directory.

    Files are following

    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha47-1.gen_deb
    DEB generator script
    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha47-1.gen_deb.elm-key-2013.sig
    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha47-1.gen_deb.elm-key-2013old.sig
    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha47-1.gen_deb.sig

    A command

    elm-ME+2.5.alpha47-1.gen_deb {packager}

    generates package elmme with version 1.1.46-1.{distribution}.

    A command

    elm-ME+2.5.alpha47-1.gen_deb --nonew {packager}

    generates package elm with version ME+2.5.alpha47-1.{distribution}.

    Both commands produce package with filename elm-ME+2.5.alpha47-1.{distribution}.{arch}.deb.

    Module libelmme-resolv.so is included for all distributions below, but libelmme-resolv.so does not implement interruptible DNS queries on all distributions.

    == Old package names, i386

    Package elm with version ME+2.5.alpha47-1.{distribution} and
    architecture i386.

    * Compiled on Debian GNU/Linux 3.1
    (Linux 2.4, glibc 2.3, Exim 3.36)

    - http://www.elmme-mailer.org/deb/old/elm-ME+2.5.alpha47-1.Debian3.1.i386.deb
    Package elm binary DEB build on Debian GNU/Linux 3.1
    - http://www.elmme-mailer.org/deb/old/elm-ME+2.5.alpha47-1.Debian3.1.i386.deb.elm-key-2013.sig
    - http://www.elmme-mailer.org/deb/old/elm-ME+2.5.alpha47-1.Debian3.1.i386.deb.elm-key-2013old.sig
    - http://www.elmme-mailer.org/deb/old/elm-ME+2.5.alpha47-1.Debian3.1.i386.deb.sig

    Module libelmme-resolv.so does not implement interruptible DNS queries
    on Debian GNU/Linux 3.1.

    * Compiled on Ubuntu 6.06.2 LTS
    (Linux 2.6, glibc 2.3, Sendmail 8.13)

    - http://www.elmme-mailer.org/deb/old/elm-ME+2.5.alpha47-1.Ubuntu6.06.i386.deb
    Package elm binary DEB build on Ubuntu 6.06.2 LTS
    - http://www.elmme-mailer.org/deb/old/elm-ME+2.5.alpha47-1.Ubuntu6.06.i386.deb.elm-key-2013.sig
    - http://www.elmme-mailer.org/deb/old/elm-ME+2.5.alpha47-1.Ubuntu6.06.i386.deb.sig

    * Compiled on Ubuntu 10.04.4 LTS
    (Linux 2.6, glibc 2.11, Sendmail 8.14)

    - http://www.elmme-mailer.org/deb/old/elm-ME+2.5.alpha47-1.Ubuntu10.04.i386.deb
    Package elm binary DEB build on Ubuntu 10.04.4 LTS
    - http://www.elmme-mailer.org/deb/old/elm-ME+2.5.alpha47-1.Ubuntu10.04.i386.deb.elm-key-2013.sig
    - http://www.elmme-mailer.org/deb/old/elm-ME+2.5.alpha47-1.Ubuntu10.04.i386.deb.sig

    == New package names, i386

    Package elmme with version 1.1.47-1.{distribution} and architecture
    i386.

    * Compiled on Ubuntu 10.04.4 LTS
    (Linux 2.6, glibc 2.11, Sendmail 8.14)

    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha47-1.Ubuntu10.04.i386.deb
    Package elmme binary DEB build on Ubuntu 10.04.4 LTS
    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha47-1.Ubuntu10.04.i386.deb.elm-key-2013.sig
    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha47-1.Ubuntu10.04.i386.deb.sig

    * Compiled on Ubuntu 14.04.5 LTS
    (Linux 4.4, glibc 2.19, no MTA)

    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha47-1.Ubuntu14.04.i386.deb
    Package elmme binary DEB build on Ubuntu 14.04.5 LTS
    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha47-1.Ubuntu14.04.i386.deb.elm-key-2013.sig
    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha47-1.Ubuntu14.04.i386.deb.sig

    * Compiled on Ubuntu 16.04.3 LTS
    (Linux 4.4, glibc 2.23, no MTA)

    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha47-1.Ubuntu16.04.i386.deb
    Package elmme binary DEB build on Ubuntu 16.04.3 LTS
    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha47-1.Ubuntu16.04.i386.deb.elm-key-2013.sig
    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha47-1.Ubuntu16.04.i386.deb.sig

    == New package names, amd64 (x86_64)

    Package elmme with version 1.1.47-1.{distribution} and architecture
    amd64 (also known as x86_64).

    * Compiled on Ubuntu 16.04.3 LTS
    (Linux 4.4, glibc 2.23, Sendmail 8.15)

    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha47-1.Ubuntu16.04.amd64.deb
    Package elmme binary DEB build on Ubuntu 16.04.3 LTS
    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha47-1.Ubuntu16.04.amd64.deb.elm-key-2013.sig
    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha47-1.Ubuntu16.04.amd64.deb.sig

    == 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
    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
    - /usr/local/lib/elm.hashmarks

    Deb generator script 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)

    By default first value for mailname is read from /etc/mailname file.

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

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

    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 /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
    - /usr/local/lib/elm.hashmarks.NEW

    Also following directories are used:

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

    A command

    elm-{version}-{release}.gen_deb {packager}

    generates package elmme with version {library-version}-{release}.{distribution}. Note that a resulted
    filename of package is still elm-{version}-{release}.{arch}.deb. This
    version number is same than on files /usr/local/lib/libelmme-{module}.so.{library-version}. A filename of
    package is related to used source archive name, which is elm-{version}-{release}.tar.gz.

    A command

    elm-{version}-{release}.gen_deb --nonew {packager}

    generates package elm with version {version}-{release}.{distribution}.
    Also on this case a resulted filename of package is elm-{version}-{release}.{arch}.deb.

    SUMMARY: This release implements interruptible
    (with interrupt character, usually Ctrl-C)
    DNS queries on some systems when
    libelmme-resolv.so module is used. New
    elmrc options are "name-lookup-cache-time",
    "name-lookup-cancel",
    "special-use-domains-lookup" and
    "static-hosts-max-names" (and
    "query-mode" on "resolv:" section).
    This release includes some changes
    and fixes for elmrc parsing. Also some other
    changes and some bug fixes are included.

    ELM ME+ 2.5 PLalpha47 changelog

    Changes on Elm ME+ 2.5 PLalpha47 compared with Elm ME+ 2.5 PLalpha46 --------------------------------------------------------------------

    SUMMARY: This release implements interruptible
    (with interrupt character, usually Ctrl-C)
    DNS queries on some systems when
    libelmme-resolv.so module is used. New
    elmrc options are "name-lookup-cache-time",
    "name-lookup-cancel",
    "special-use-domains-lookup" and
    "static-hosts-max-names" (and
    "query-mode" on "resolv:" section).
    This release includes some changes
    and fixes for elmrc parsing. Also some other
    changes and some bug fixes are included.

    - Changed gethostdomain() on lib/opt_utils.c
    - Added check that domain name accepts only
    ASCII characters on gethostdomain().
    - Added gethostdomain() to read $LOCALDOMAIN
    environment variable before {lib}/domain
    file (and before using getdomainname()
    if "getdomainname" is given on "name-resolution"
    elmrc option.)
    - If $LOCALDOMAIN includes space separated list of domains,
    then first domain is used.
    - Changed generate_hostfullname() on lib/read_rc.c
    - Update doc/elmrc-info

    - If DNS answer is truncated and equal of buffer size then
    resolv -module retries query with bigger buffer
    (up to 65535 bytes) [when using query-mode = blocking].

    - Configure for resolv -module now tests if
    res_mkquery(), res_send() and related routines
    can be used to make DNS queries. Using
    these routines means that res_query() and
    specially res_search() is replaced with
    own code.
    - Configure for resolv -module now tests if
    socketpair(AF_UNIX,SOCK_SEQPACKET,0,pair)
    can be used.
    - This release adds "query-mode" elmrc option to
    resolv: -section. This option have values
    blocking This uses res_query()
    or res_search()
    non-blocking This uses res_mkquery() and runs
    res_send() on separate process.
    In that case resolv -module
    implements internally
    res_search() like search
    algorithm.
    > Parameter "helper=allow-interrupt" of "query-mode"
    elmrc option tells that interrupt character (Ctrl-C)
    is allowed kill res_send() helper processes.
    > Parameter "helper=ignore-interrupt" of "query-mode"
    elmrc option tells that interrupt character
    (Ctrl-C) is ignored (does not kill process).
    > Numeric value to "helper" of "query-mode"
    elmrc option parameter tells how many helper
    processes is considered for query.
    > Parameter "helper-skip-limit" of "query-mode"
    elmrc option tells how many busy helper processes
    are skipped and not considered for query.
    > Parameter "parallel-lookup-max-time" of "query-mode"
    elmrc option gives maximum time what is used to resolve DNS
    lookup when non-blocking mode is used.
    - Added add_foreign_background() to lib/syscall.c
    - Added wait_background_end() to lib/syscall.c
    - Changed maybe_background() on lib/syscall.c
    - Added wait_for_action_or_timeout_settime() to lib/schedule.c
    - Added wait_for_action_or_deadline_settime() to lib/schedule.c
    - Added wait_for_timeout_f() to lib/schedule.c
    - Small fix for real_wait_poll()

    - This release adds "name-lookup-cache-time" elmrc option
    which tells default cache time on seconds for mail service
    if it is cached (usually not). Default value is
    320 seconds. This replaces DEFAULT_CACHE_TIME constant
    from lib/service_list.c

    - Fixed error
    Enumerated values resolv:* ignored -- code not loaded
    I can't understand mail-services-lookup key "resolv:all-addresses"
    in line 54 in "(...)/lib/elm.rc" file
    - Changed set_dt_enumerate_as_str() on lib/rc_handle.c
    - Changed give_dt_enumerate_as_int() on lib/rc_handle.c
    - Changed give_dt_shared_value() on lib/rc_handle.c
    - Changed struct dt_enumerate_info on hdrs/save_opts.h
    - Fixed case-insensitive matching of tagged keyword
    on set_dt_enumerate_as_str()

    - Fixed error
    Keywords on section "resolv" ignored starting
    from line 419 on file (...)/lib/elm.rc

    - Added new warning of ignored elm.rc lines.
    - Added rc_eval_tail_cline() to lib/read_rc.c
    - Added rc_eval_tail_line() to lib/read_rc.c

    - Changed struct parsed_rc
    - Changed do_rc_parse(), do_rc_process()
    on lib/rc_parse.c
    - Changed shared_fill_dt_enumerate_values(),
    give_options() on lib/shared.c

    - Fixed frm and elmrc-write -command error
    Keywords on section "smtp" ignored starting
    from line 1889 on file .elm/elmrc
    - Changed frm -command option handling.
    - Added rc_DT_DELAYSHARED
    - Added some
    # Failed to convert charset of option ...
    comments to generated elm.rc or .elm/elmrc
    on error.
    - Changed do_rc_parse() so that empty line
    followed by comment line resets last option
    which is considered for continuation lines. This changes
    error messages like
    Key "@charset" does not accept continuation lines
    in line 119 in ".../elm.rc" file
    > Added error message
    Continuation line 119 on file ".../elm.rc"
    ignored: ...
    - Also comment lines starting with "### " resets
    last option which is considered for continuation lines.
    - Also section tag: lines resets last option which is
    considered for continuation lines.

    - Small change to mail_gets() and malloc_gets()

    - Fixed crash on smtp -module if submission/smtp
    server's name is not resolvable.

    - Made DNS query wait to be interruptible with Ctrl-C
    when
    query-mode=non-blocking
    is used on resolv -section with
    mail-services-lookup = resolv:addresses
    or
    mail-services-lookup = resolv:all-addresses
    - Also DNS query is interruptible with Ctrl-C
    when
    query-mode=non-blocking
    is used on resolv -section with
    verify-domain = resolv:mx-address
    or
    verify-domain = resolv:mx
    or
    verify-domain = resolv:any
    > NOTE: This uses actually interrupt signal
    which is usually generated with Ctrl-C
    but tty settings can vary.
    > NOTE: Also interrupt character (Ctrl-C) may kill
    res_send() helper process
    [when using helper=allow-interrupt].
    Otherwise
    DNS query is still completed (and resolv
    -module caches answer).
    > NOTE: If
    mail-services-lookup = hostname
    or
    mail-services-lookup = gethostbyname
    or
    mail-services-lookup = getaddrinfo
    is used, then DNS host lookup is not
    interruptible with Ctrl-C.
    > NOTE: If
    verify-domain = hostname
    is used, then DNS host lookup is not
    interruptible with Ctrl-C.
    > NOTE: Also DNS
    lookup is not interruptible with Ctrl-C
    if
    query-mode = blocking
    is used on resolv -section.
    - This release adds "name-lookup-cancel"
    elmrc option, which controls behaviour of
    Ctrl-C (interrupt character) on DNS lookup handling.
    This option have values
    disabled hostname / mail domain name
    lookups are not interruptible.
    enabled hostname / mail domain name
    lookups are assumed to be
    interruptible (but that is
    not likely not work with
    gethostbyname(), getaddrinfo(),
    res_query() and res_search()).
    auto hostname / mail domain names
    lookup result waiting is
    interruptible when res_send()
    helper process is used.
    Value "auto" is default. This may case that
    this is disabled (unless "mail-services-lookup"
    is modified). Also boolean ON, OFF, TRUE, FALSE, YES and NO
    values are allowed on elmrc option "name-lookup-cancel".
    - Added set_cancel_message()
    - Changed connect_remote_account(), make_remote_mbox(),
    give_service_entryS(), lookup_namei(),
    lookup_name()
    - Added give_service_entry_can(),
    give_service_entry4_can()
    - Added wait_for_action_or_timeout_settime_c() to lib/schedule.c
    - Added wait_for_action_or_deadline_settime_c() to lib/schedule.c

    - Changed that real_wait_select() and real_wait_poll()
    return -1 on error. Added enum wait_for_status.
    - Changed real_wait(), real_wait_check_timeout(),
    wait_for_something()
    - Some changes on my_wait()
    - Changed error_sleep() return type to be void (no value).

    - Changed SR_RawState()
    - Fixed crash on connect-mode -keyword parsing.
    - Added conf_split_param_value() to lib/remote_mbx.c

    - Added sigchld_handler() call to
    verify_transmission(), enter_helper(),
    attach_modify(), extended_command(),
    fbrowser(), edit_headers(),
    alias_modify(), ViewThreads()

    - Added lib/static-hosts.c, which parsed
    /etc/hosts file without using gethostent()
    function.
    - If elmrc option "special-use-domains-lookup"
    have value "static-hosts", names given on elmrc
    option "special-use-domains-blacklist"
    are directly read from /etc/hosts (only).
    > Names given on elmrc option
    "special-use-domain" are not looked up
    from DNS and are not looked up with elmrc
    option "mail-services-lookup".

    - If elmrc option "search-mail-service" on
    "resolv:" section is value "static-hosts-dotless-search-name",
    libelmme-resolv.so module search /etc/hosts first
    if name does not include dot (.), then lookups
    name from DNS with default search rules (res_search()).
    If name not found from DNS and name includes dot (.), then
    libelmme-resolv.so module search /etc/hosts.
    > libelmme-resolv.so module uses elmrc option
    "search-mail-service", when it searches names for
    addresses.
    - If elmrc option "search-mail-service" on
    "resolv:" section is value "static-hosts-dotless",
    libelmme-resolv.so module search /etc/hosts first
    if name does not include dot (.), then queries
    exact name from DNS (res_query()). If name not found
    from DNS and name includes dot (.), then
    libelmme-resolv.so module search /etc/hosts.

    - If "query-mode" on "resolv:" section have value
    "blocking", then default value of "search-mail-service"
    on "resolv:" section is "fallback-dotless-search-name".
    - If "query-mode" on "resolv:" section have value
    "non-blocking", then default value of "search-mail-service"
    on "resolv:" section is "static-hosts-dotless-search-name".

    - libelmme-resolv.so -module changes default value of
    "mail-services-lookup" if "query-mode" on "resolv:"
    section have "non-blocking" values and "use-config-library"
    includes "resolv". This is similar than libelmme-resolv.so
    -module's change of "verify-domain".

    - Changed wait_for_something(), real_wait_select() and
    real_wait_poll() on lib/schedule.c

    - Added "X-Autogenerated:" to default weedlist. This header
    is generated by Communigate Pro.
    - Added "Auto-Submitted:" to default weedlist. This is defined
    on RFC 3834.
    - Added "X-MS-Exchange-" to default weedlist (removed
    "X-MS-Exchange-Organization-").
    - Added "X-Originating-IP:" and "Accept-Language:" to
    default weedlist.
    - Added "Resent-Message-ID:" to default weedlist.

    - Added warning of magic values >= 256 to
    parse_magic() on lib/misc/mime_types.c
    - Added some fixes for magic values >= 256 to
    parse_magic() on lib/misc/mime_types.c
    - Changes error messages on load_mime_types_map()
    on lib/misc/mime_types.c

    New elmrc options:
    name-lookup-cache-time
    name-lookup-cancel
    special-use-domains-lookup
    static-hosts-max-names

    New files:
    shared_libs/resolv/resolvertest2.c
    shared_libs/resolv/resolvconf.h.SH
    shared_libs/resolv/query.c
    lib/static-hosts.c
    hdrs/service_imp.h

    Warnings
    --------

    - 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
    message.

    - 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
    charset.

    - 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.4.3.3.26 (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
    mapping
    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
    -misc-fixed-medium-r-normal--12-200-75-75-c-100-iso8859-1
    and not
    -misc-fixed-medium-r-normal--12-200-75-75-c-100-iso8859-15

    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>

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Kari Hurtta@21:1/5 to All on Fri Jun 1 20:13:21 2018
    XPost: alt.sources

    Archive-name: elmME+2.5/PLalpha48.0

    Elm ME+ 2.5 PLalpha48

    Before applying patch catenate parts 1 - 2 first.
    Also it should be possible to apply parts 1 - 2
    individually.

    Part 0 does not include patch.

    This patch is agaist Elm ME+ 2.5 PLalpha47

    ====================================== ( part 0/2 ) =========

    Elm ME+ 2.5 PLalpha48

    - Is available with
    <URL: http://www.elmme-mailer.org/elm-ME+2.5.PLalpha48.patch.gz >
    and <URL: http://www.elmme-mailer.org/elm-ME+2.5.alpha48.tar.gz >

    - Is available on ftp.funet.fi
    via anonymous ftp
    directory pub/mirrors/elmme-mailer.org/src/elm-ME+2.5/

    files elm-ME+2.5.PLalpha48.patch.gz
    and elm-ME+2.5.alpha48.tar.gz

    or is available with
    <URL: http://www.nic.funet.fi/pub/mirrors/elmme-mailer.org/src/elm-ME+2.5/elm-ME+2.5.PLalpha48.patch.gz >
    and <URL: http://www.nic.funet.fi/pub/mirrors/elmme-mailer.org/src/elm-ME+2.5/elm-ME+2.5.alpha48.tar.gz >

    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.

    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
    lib/misc/mediatype.c
    - 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
    application/vnd.etsi.asic-e+zip
    application/vnd.etsi.asic-s+zip
    application/epub+zip
    application/vnd.kde.kchart
    application/vnd.kde.kivio
    application/vnd.kde.karbon
    application/vnd.kde.kformula
    application/vnd.kde.kontour
    application/vnd.kde.kpresenter
    application/vnd.kde.kspread
    application/vnd.kde.kword
    application/vnd.oasis.opendocument.database
    application/vnd.oasis.opendocument.chart
    application/vnd.oasis.opendocument.formula
    application/vnd.oasis.opendocument.graphics
    application/vnd.oasis.opendocument.image
    application/vnd.oasis.opendocument.text-master
    application/vnd.oasis.opendocument.presentation
    application/vnd.oasis.opendocument.spreadsheet
    application/vnd.oasis.opendocument.text
    application/vnd.oasis.opendocument.chart-template
    application/vnd.oasis.opendocument.formula-template
    application/vnd.oasis.opendocument.graphics-template
    application/vnd.oasis.opendocument.text-web
    application/vnd.oasis.opendocument.image-template
    application/vnd.oasis.opendocument.presentation-template
    application/vnd.oasis.opendocument.spreadsheet-template
    application/vnd.oasis.opendocument.text-template
    application/vnd.collabio.xodocuments.presentation
    application/vnd.collabio.xodocuments.document
    application/vnd.collabio.xodocuments.spreadsheet
    application/vnd.collabio.xodocuments.presentation-template
    application/vnd.collabio.xodocuments.spreadsheet-template
    application/vnd.collabio.xodocuments.document-template
    audio/sp-midi
    audio/qcelp
    to doc/mime.types. However many of these seems
    to be incorrect.

    - Added safe_stralloc_append() to
    lib/safemalloc.c

    - 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
    copied.
    - 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
    browser.

    - Fixed possible bug on showmsg_visit_mailbox_cmd()
    - Fixed possible bug on metapager()

    New file:
    ConfTool/killmimetypes

    Warnings
    --------

    - 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
    message.

    - 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
    charset.

    - 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.4.3.3.26 (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
    mapping
    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
    -misc-fixed-medium-r-normal--12-200-75-75-c-100-iso8859-1
    and not
    -misc-fixed-medium-r-normal--12-200-75-75-c-100-iso8859-15

    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>


    ConfTool/killmimetypes | 5
    MANIFEST | 1
    Makefile-1.SH | 13
    README.ME+ | 383 +++++!!!!!!!!!
    doc/elmmimetypes-info | 15
    doc/elmmimetypes.1 | 9
    doc/mime.types | 1170 ++++++++++++++++++++++++++++++++---!!!!!!!!
    hdrs/elmlib.h | 9
    hdrs/hashmark.h | 17
    hdrs/hashmark_imp.h | 60 !!
    hdrs/mbx_imp.h | 92 !!!
    hdrs/misclib.h | 18
    hdrs/patchlevel.h | 10
    hdrs/s_elm.h | 2
    hdrs/s_me.h | 1
    lib/mbox/def_mbox.h | 19
    lib/mbox/hashmark.c | 101 +++
    lib/mbox/hashmark_browser.c | 148 +++!!
    lib/mbox/hashmark_local.c | 203 +++-!
    lib/mbox/hashmark_remote.c | 182 ++++++
    lib/mbox/imap.c | 10
    lib/mbox/localmbx.c | 58 +!
    lib/mbox/mbox_generic.c | 28 !
    lib/mbox/remote_server.c | 8
    lib/mbox/savefolder.c | 118 ++!!
    lib/misc/mediatype.c | 16
    lib/misc/mime_types.c | 797 ++++++++-!!!!!!!!!!!!!!!!!!!
    lib/safemalloc.c | 44 +
    nls/C/C/C/s_elm.m | 4
    nls/C/C/C/s_me.m | 2
    src/args.c | 14
    src/attach_menu.c | 40
    src/file.c | 34 !
    src/list/visit_mailbox.c | 16
    src/metapager.c | 6
    src/savecopy.c | 17
    src/showmsg_c.c | 8
    utils/elmmimetypes.c | 43 +
    38 files changed, 2008 insertions(+), 136 deletions(-), 1577 modifications(!)

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Kari Hurtta@21:1/5 to All on Fri Jun 1 20:14:14 2018
    XPost: alt.sources

    Archive-name: elmME+2.5/PLalpha48.1

    Elm ME+ 2.5 PLalpha48

    Before applying patch catenate parts 1 - 2 first.
    Also it should be possible to apply parts 1 - 2
    individually.

    Part 0 does not include patch.

    This patch is agaist Elm ME+ 2.5 PLalpha47

    ====================================== ( part 1/2 ) =========

    For applying thich patch use (on directory where Configure is)

    patch -p1 < {this-file}

    ------------------------------------------------------------------------------ Index: elmME+.2.5.alpha48-cvs/hdrs/patchlevel.h
    Prereq: 1540000000
    *** elmME+.2.5.alpha47/hdrs/patchlevel.h Sun Feb 4 21:36:28 2018
    --- elmME+.2.5.alpha48-cvs/hdrs/patchlevel.h Sun May 20 19:17:35 2018 ***************
    *** 1,12 ****
    ! #define PATCHLEVEL "alpha47"
    /* Used by Configure:
    ! SHAREDTAG: .1.1.47
    */
    ! #define LAST_REPORT_TIME 1540000000
    #define BUG_REPORT_ADDR "Kari Hurtta <elm@elmme-mailer.org>"
    ! #define VERS_DATE "Feb 2018" /* for elm -v option */
    #define WHAT_STRING \
    ! "@(#) Version ME+ 2.5, USENET supported version, released Feb 2018"

    /*
    * Local Variables:
    --- 1,12 ----
    ! #define PATCHLEVEL "alpha48"
    /* Used by Configure:
    ! SHAREDTAG: .1.1.48
    */
    ! #define LAST_REPORT_TIME 1550000000
    #define BUG_REPORT_ADDR "Kari Hurtta <elm@elmme-mailer.org>"
    ! #define VERS_DATE "Jun 2018" /* for elm -v option */
    #define WHAT_STRING \
    ! "@(#) Version ME+ 2.5, USENET supported version, released Jun 2018"

    /*
    * Local Variables:
    Index: elmME+.2.5.alpha48-cvs/README.ME+
    *** elmME+.2.5.alpha47/README.ME+ Sun Feb 4 21:36:28 2018
    --- elmME+.2.5.alpha48-cvs/README.ME
  • From Kari Hurtta@21:1/5 to All on Fri Jun 1 20:14:57 2018
    XPost: alt.sources

    Archive-name: elmME+2.5/PLalpha48.2

    Elm ME+ 2.5 PLalpha48

    Before applying patch catenate parts 1 - 2 first.
    Also it should be possible to apply parts 1 - 2
    individually.

    Part 0 does not include patch.

    This patch is agaist Elm ME+ 2.5 PLalpha47

    ====================================== ( part 2/2 ) =========

    Index: elmME+.2.5.alpha48-cvs/lib/mbox/remote_server.c
    *** elmME+.2.5.alpha47/lib/mbox/remote_server.c Sun Feb 4 21:36:28 2018
    --- elmME+.2.5.alpha48-cvs/lib/mbox/remote_server.c Thu May 10 13:39:46 2018
    ***************
    *** 1,7 ****
    ! static char rcsid[] = "@(#)$Id: remote_server.c,v 2.23 2017/12/03 12:28:59 hurtta Exp $";

    /******************************************************************************
    ! * The Elm (ME+) Mail System - $Revision: 2.23 $ $State: Exp $
    *
    * Author: Kari Hurtta <hurtta+elm@siilo.FMI.FI>
    * (was hurtta+elm@posti.FMI.FI)
    --- 1,7 ----
    ! static char rcsid[] = "@(#)$Id: remote_server.c,v 2.24 2018/05/10 10:39:46 hurtta Exp $";

    /******************************************************************************
    ! * The Elm (ME+) Mail System - $Revision: 2.24 $ $State: Exp $
    *
    * Author: Kari Hurtta <hurtta+elm@siilo.FMI.FI>
    * (was hurtta+elm@posti.FMI.FI)
    ***************
    *** 3772,3778 ****
    only on fbrowser (Elm 2.5 stype file browser) */
    browser_select_idx_generic,
    browser_line_idx_remote,
    ! browser_reload
  • From Kari Hurtta@21:1/5 to All on Sat Jun 2 09:25:30 2018
    Experimental RPM spec file for ELM ME+ 2.5 PLalpha48
    exists on <URL: http://www.elmme-mailer.org/rpm/elm-ME+2.5.html >
    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.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
    libelmme-resolv.so.

    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
    function.

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

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

    Also following directories are used:

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

    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
    lib/misc/mediatype.c
    - 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
    application/vnd.etsi.asic-e+zip
    application/vnd.etsi.asic-s+zip
    application/epub+zip
    application/vnd.kde.kchart
    application/vnd.kde.kivio
    application/vnd.kde.karbon
    application/vnd.kde.kformula
    application/vnd.kde.kontour
    application/vnd.kde.kpresenter
    application/vnd.kde.kspread
    application/vnd.kde.kword
    application/vnd.oasis.opendocument.database
    application/vnd.oasis.opendocument.chart
    application/vnd.oasis.opendocument.formula
    application/vnd.oasis.opendocument.graphics
    application/vnd.oasis.opendocument.image
    application/vnd.oasis.opendocument.text-master
    application/vnd.oasis.opendocument.presentation
    application/vnd.oasis.opendocument.spreadsheet
    application/vnd.oasis.opendocument.text
    application/vnd.oasis.opendocument.chart-template
    application/vnd.oasis.opendocument.formula-template
    application/vnd.oasis.opendocument.graphics-template
    application/vnd.oasis.opendocument.text-web
    application/vnd.oasis.opendocument.image-template
    application/vnd.oasis.opendocument.presentation-template
    application/vnd.oasis.opendocument.spreadsheet-template
    application/vnd.oasis.opendocument.text-template
    application/vnd.collabio.xodocuments.presentation
    application/vnd.collabio.xodocuments.document
    application/vnd.collabio.xodocuments.spreadsheet
    application/vnd.collabio.xodocuments.presentation-template
    application/vnd.collabio.xodocuments.spreadsheet-template
    application/vnd.collabio.xodocuments.document-template
    audio/sp-midi
    audio/qcelp
    to doc/mime.types. However many of these seems
    to be incorrect.

    - Added safe_stralloc_append() to
    lib/safemalloc.c

    - 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
    copied.
    - 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
    browser.

    - Fixed possible bug on showmsg_visit_mailbox_cmd()
    - Fixed possible bug on metapager()

    New file:
    ConfTool/killmimetypes

    Warnings
    --------

    - 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
    message.

    - 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
    charset.

    - 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.4.3.3.26 (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
    mapping
    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
    -misc-fixed-medium-r-normal--12-200-75-75-c-100-iso8859-1
    and not
    -misc-fixed-medium-r-normal--12-200-75-75-c-100-iso8859-15

    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>

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Kari Hurtta@21:1/5 to All on Sat Jun 2 14:17:22 2018
    Experimental DEB generator script for Elm ME+ 2.5 PLalpha48
    exists on <URL: http://www.elmme-mailer.org/deb/elm-ME+2.5.html >
    directory.

    Files are following

    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha48-1.gen_deb
    DEB generator script
    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha48-1.gen_deb.elm-key-2013.sig
    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha48-1.gen_deb.elm-key-2013old.sig
    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha48-1.gen_deb.sig

    A command

    elm-ME+2.5.alpha48-1.gen_deb {packager}

    generates package elmme with version 1.1.48-1.{distribution}.

    A command

    elm-ME+2.5.alpha48-1.gen_deb --nonew {packager}

    generates package elm with version ME+2.5.alpha48-1.{distribution}.

    Both commands produce package with filename elm-ME+2.5.alpha48-1.{distribution}.{arch}.deb.

    Module libelmme-resolv.so is included for all distributions below, but libelmme-resolv.so does not implement interruptible DNS queries on all distributions.

    == Old package names, i386

    Package elm with version ME+2.5.alpha48-1.{distribution} and
    architecture i386.

    * Compiled on Debian GNU/Linux 3.1
    (Linux 2.4, glibc 2.3, Exim 3.36)

    - http://www.elmme-mailer.org/deb/old/elm-ME+2.5.alpha48-1.Debian3.1.i386.deb
    Package elm binary DEB build on Debian GNU/Linux 3.1
    - http://www.elmme-mailer.org/deb/old/elm-ME+2.5.alpha48-1.Debian3.1.i386.deb.elm-key-2013.sig
    - http://www.elmme-mailer.org/deb/old/elm-ME+2.5.alpha48-1.Debian3.1.i386.deb.elm-key-2013old.sig
    - http://www.elmme-mailer.org/deb/old/elm-ME+2.5.alpha48-1.Debian3.1.i386.deb.sig

    Module libelmme-resolv.so does not implement interruptible DNS queries
    on Debian GNU/Linux 3.1.

    * Compiled on Ubuntu 6.06.2 LTS
    (Linux 2.6, glibc 2.3, Sendmail 8.13)

    - http://www.elmme-mailer.org/deb/old/elm-ME+2.5.alpha48-1.Ubuntu6.06.i386.deb
    Package elm binary DEB build on Ubuntu 6.06.2 LTS
    - http://www.elmme-mailer.org/deb/old/elm-ME+2.5.alpha48-1.Ubuntu6.06.i386.deb.elm-key-2013.sig
    - http://www.elmme-mailer.org/deb/old/elm-ME+2.5.alpha48-1.Ubuntu6.06.i386.deb.sig

    * Compiled on Ubuntu 10.04.4 LTS
    (Linux 2.6, glibc 2.11, Sendmail 8.14)

    - http://www.elmme-mailer.org/deb/old/elm-ME+2.5.alpha48-1.Ubuntu10.04.i386.deb
    Package elm binary DEB build on Ubuntu 10.04.4 LTS
    - http://www.elmme-mailer.org/deb/old/elm-ME+2.5.alpha48-1.Ubuntu10.04.i386.deb.elm-key-2013.sig
    - http://www.elmme-mailer.org/deb/old/elm-ME+2.5.alpha48-1.Ubuntu10.04.i386.deb.sig

    == New package names, i386

    Package elmme with version 1.1.48-1.{distribution} and architecture
    i386.

    * Compiled on Ubuntu 10.04.4 LTS
    (Linux 2.6, glibc 2.11, Sendmail 8.14)

    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha48-1.Ubuntu10.04.i386.deb
    Package elmme binary DEB build on Ubuntu 10.04.4 LTS
    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha48-1.Ubuntu10.04.i386.deb.elm-key-2013.sig
    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha48-1.Ubuntu10.04.i386.deb.sig

    * Compiled on Ubuntu 14.04.5 LTS
    (Linux 4.4, glibc 2.19, no MTA)

    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha48-1.Ubuntu14.04.i386.deb
    Package elmme binary DEB build on Ubuntu 14.04.5 LTS
    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha48-1.Ubuntu14.04.i386.deb.elm-key-2013.sig
    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha48-1.Ubuntu14.04.i386.deb.sig

    * Compiled on Ubuntu 16.04.4 LTS
    (Linux 4.4, glibc 2.23, no MTA)

    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha48-1.Ubuntu16.04.i386.deb
    Package elmme binary DEB build on Ubuntu 16.04.4 LTS
    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha48-1.Ubuntu16.04.i386.deb.elm-key-2013.sig
    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha48-1.Ubuntu16.04.i386.deb.sig

    == New package names, amd64 (x86_64)

    Package elmme with version 1.1.48-1.{distribution} and architecture
    amd64 (also known as x86_64).

    * Compiled on Ubuntu 16.04.4 LTS
    (Linux 4.4, glibc 2.23, Sendmail 8.15)

    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha48-1.Ubuntu16.04.amd64.deb
    Package elmme binary DEB build on Ubuntu 16.04.4 LTS
    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha48-1.Ubuntu16.04.amd64.deb.elm-key-2013.sig
    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha48-1.Ubuntu16.04.amd64.deb.sig

    == 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
    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
    - /usr/local/lib/elm.hashmarks

    Deb generator script 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)

    By default first value for mailname is read from /etc/mailname file.

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

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

    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 /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
    - /usr/local/lib/elm.hashmarks.NEW

    Also following directories are used:

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

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

    A command

    elm-{version}-{release}.gen_deb {packager}

    generates package elmme with version {library-version}-{release}.{distribution}. Note that a resulted
    filename of package is still elm-{version}-{release}.{arch}.deb. This
    version number is same than on files /usr/local/lib/libelmme-{module}.so.{library-version}. A filename of
    package is related to used source archive name, which is elm-{version}-{release}.tar.gz.

    A command

    elm-{version}-{release}.gen_deb --nonew {packager}

    generates package elm with version {version}-{release}.{distribution}.
    Also on this case a resulted filename of package is elm-{version}-{release}.{arch}.deb.

    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
    lib/misc/mediatype.c
    - 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
    application/vnd.etsi.asic-e+zip
    application/vnd.etsi.asic-s+zip
    application/epub+zip
    application/vnd.kde.kchart
    application/vnd.kde.kivio
    application/vnd.kde.karbon
    application/vnd.kde.kformula
    application/vnd.kde.kontour
    application/vnd.kde.kpresenter
    application/vnd.kde.kspread
    application/vnd.kde.kword
    application/vnd.oasis.opendocument.database
    application/vnd.oasis.opendocument.chart
    application/vnd.oasis.opendocument.formula
    application/vnd.oasis.opendocument.graphics
    application/vnd.oasis.opendocument.image
    application/vnd.oasis.opendocument.text-master
    application/vnd.oasis.opendocument.presentation
    application/vnd.oasis.opendocument.spreadsheet
    application/vnd.oasis.opendocument.text
    application/vnd.oasis.opendocument.chart-template
    application/vnd.oasis.opendocument.formula-template
    application/vnd.oasis.opendocument.graphics-template
    application/vnd.oasis.opendocument.text-web
    application/vnd.oasis.opendocument.image-template
    application/vnd.oasis.opendocument.presentation-template
    application/vnd.oasis.opendocument.spreadsheet-template
    application/vnd.oasis.opendocument.text-template
    application/vnd.collabio.xodocuments.presentation
    application/vnd.collabio.xodocuments.document
    application/vnd.collabio.xodocuments.spreadsheet
    application/vnd.collabio.xodocuments.presentation-template
    application/vnd.collabio.xodocuments.spreadsheet-template
    application/vnd.collabio.xodocuments.document-template
    audio/sp-midi
    audio/qcelp
    to doc/mime.types. However many of these seems
    to be incorrect.

    - Added safe_stralloc_append() to
    lib/safemalloc.c

    - 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
    copied.
    - 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
    browser.

    - Fixed possible bug on showmsg_visit_mailbox_cmd()
    - Fixed possible bug on metapager()

    New file:
    ConfTool/killmimetypes

    Warnings
    --------

    - 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
    message.

    - 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
    charset.

    - 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.4.3.3.26 (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
    mapping
    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
    -misc-fixed-medium-r-normal--12-200-75-75-c-100-iso8859-1
    and not
    -misc-fixed-medium-r-normal--12-200-75-75-c-100-iso8859-15

    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>

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Kari Hurtta@21:1/5 to All on Thu Jan 3 16:39:38 2019
    XPost: alt.sources

    Archive-name: elmME+2.5/PLalpha49.0

    Elm ME+ 2.5 PLalpha49

    Before applying patch catenate parts 1 - 9 first.
    Also it should be possible to apply parts 1 - 9
    individually.

    Part 0 does not include patch.

    This patch is agaist Elm ME+ 2.5 PLalpha48

    ====================================== ( part 0/9 ) =========

    Elm ME+ 2.5 PLalpha49

    - Is available with
    <URL: http://www.elmme-mailer.org/elm-ME+2.5.PLalpha49.patch.gz >
    and <URL: http://www.elmme-mailer.org/elm-ME+2.5.alpha49.tar.gz >

    - Is available on ftp.funet.fi
    via anonymous ftp
    directory pub/mirrors/elmme-mailer.org/src/elm-ME+2.5/

    files elm-ME+2.5.PLalpha49.patch.gz
    and elm-ME+2.5.alpha49.tar.gz

    or is available with
    <URL: http://www.nic.funet.fi/pub/mirrors/elmme-mailer.org/src/elm-ME+2.5/elm-ME+2.5.PLalpha49.patch.gz >
    and <URL: http://www.nic.funet.fi/pub/mirrors/elmme-mailer.org/src/elm-ME+2.5/elm-ME+2.5.alpha49.tar.gz >

    SUMMARY: This release changes date display on
    mail listing and adds separator lines
    to mail listing. Also this release changes
    Expires: and Sender: -header field
    generation. This release checks more
    email addresses for mail domain
    validity (when libelmme-resolv.so module
    is used). New elmrc options are
    "expires-have-time", "mail-menu-time",
    "verify-alias-domain" and "verify-local-domain".
    Also some other changes and some bug fixes are
    included.

    Changes on Elm ME+ 2.5 PLalpha49 compared with Elm ME+ 2.5 PLalpha48 --------------------------------------------------------------------

    SUMMARY: This release changes date display on
    mail listing and adds separator lines
    to mail listing. Also this release changes
    Expires: and Sender: -header field
    generation. This release checks more
    email addresses for mail domain
    validity (when libelmme-resolv.so module
    is used). New elmrc options are
    "expires-have-time", "mail-menu-time",
    "verify-alias-domain" and "verify-local-domain".
    Also some other changes and some bug
    fixes are included.

    * Change from Elm 2.5

    - Changed make_menu_date() to generate
    Elm 2.5 style local specific date
    (uses strftime).
    - Changed days_ahead[_tm]() to use Elm 2.5
    style algorithm where localtime()
    is used first and then day is
    incremented on instead of
    Elm 2.4 style algorithm where
    time_t values is incremented
    by days * 24 * 60 *60 and
    localtime() is used.
    - Changed days_ahead[_text]() to generate
    Elm 2.5 style local specific date
    (uses strftime) for hdrconfig. This
    is not used for actual Expires:
    header. However %Y (year with century)
    is used instead of %y (year with 2
    digits).
    - Changed elm_date_str() to generate
    Elm 2.5 style local specific date
    (uses strftime) for pager and
    phrase of in-reply-to (if
    "add-in-reply-to-phrase" is set). However
    %Y (year with century) is used
    instead of %y (year with 2 digits).

    - Added year to mail listing. This is controlled
    with new elmrc option "mail-menu-time". Year is
    included on separator line.
    - New elmrc option "mail-menu-time" knows following keywords
    none None of values are selected
    year-separator Show separator line with
    year on date -column.
    auto-separator Show separator line for
    some sorting orders when
    message list space is sufficient
    big (21 lines).
    today Show time as hh:mm on date
    column instead of date if
    date is today and timezone
    is same. Also shows separator
    with "today" if separator
    lines are shown.
    today-separator Show separator line for
    some sorting orders when
    message list space is sufficient
    big (6 lines). Also show separator
    when all messages are from
    current year.
    year-or-time Add either year or time as hh:mm
    on date column when date is shown.
    Time is shown when year is current and
    timezone is same.
    These options also accepts additive form where
    changes from compile time default (or changes from
    global elm.rc) are listed:
    +year-separator -year-separator
    +auto-separator -auto-separator
    +today -today
    +today-separator -today-separator
    +year-or-time -year-or-time
    - Separator line is not shown if all mail are from
    current year. In that case that does not add
    much information and just consumes one line from
    mail listing. Keyword "today-separator" is
    exception for this.
    - Keyword "auto-separator" on elmrc option "mail-menu-time"
    enables separator lines when sorting order is
    "sent", "received" or "mailbox". Or when sorting
    order is "reverse-" version of these. There must
    be at least 21 lines available for mail listing.
    - Keyword "today" on elmrc option "mail-menu-time"
    causes that sent time on form hh:mm is shown
    on date -column on mail listing if day, month and
    year is same as today date and timezone offset is same
    than on local timezone. Note that date column
    shows sending date on sender's timezone which
    may be different than local timezone.
    - Keyword "today" together with "year-separator"
    or "auto-separator" on elmrc option "mail-menu-time"
    causes that separator line with "today"
    on date -column. Mails are considered to
    be sent today if day, month and
    year is same as today date or sent time
    is between of local today date start and
    end.
    - Keyword "today-separator" on elmrc option "mail-menu-time"
    enables separator lines when sorting order is
    "sent", "received" or "mailbox". Or when sorting
    order is "reverse-" version of these. This
    keyword causes that separator line with "today"
    on date -column is used. If there is at least
    one mail which is considered to be send today,
    separators are send even when all mails are from
    current year. There must be at least 6 lines
    available for mail listing.
    - Keyword "year-or-time" on elmrc option
    "mail-menu-time" adds year or time after
    message date to date -column on mail listing.
    Time is added if year is same as on today date
    and timezone offset is same than on local timezone.
    Otherwise year of message is added to date column.
    If time of message is added because of "today"
    keyword, keyword "year-or-time" adds nothing
    to date column.
    - Keywords "auto-separator" and "today" are
    default values for "mail-menu-time".
    Separator lines is not shown if all mails
    are from current year.
    > Keyword "year-or-time" on elmrc option
    "mail-menu-time" may work better if
    "today" is disabled and keyword
    "today-separator" is used instead.
    That is:
    mail-menu-time = -today +year-or-time +today-separator

    - Added menu_header_change_page() to lib/screen/header.c
    - Changed prototype of new_menu_header()

    - Added hdr_line_separator_index(), hdr_show_separator(),
    hdr_init_separators(), hdr_setup_line()
    and hdr_setup_init() to src/screen.c
    - Added mcommon_init_separators(), mcommon_separator_count(),
    mcommon_screen_print_sep_line(), mcommon_get_separator_index(),
    mcommon_screen_setup_menu_init() and
    mcommon_screen_setup_menu_line()
    to src/menu_common/mcommon.c
    - Added give_menu_separator(), menu_separator_count(),
    menu_separator_init(), get_menu_separator_index(),
    get_today_info(), message_hdr_setup_init() and
    message_hdr_setup_line()
    to src/messages/messages.c
    - Changed prototype of build_alias_line()
    - Changed prototype of make_menu_date()
    - Required width for mail number and
    date columns are calculated before printing
    of mail list.

    - Also changed Elm 2.5 browser to use
    these header setup init/line routines
    to calculate width for date column.
    - Replaced fbrowser_mp_cur_page menu_param
    with cur_page on struct menu_anon_param.
    - Replaced fbrowser_mp_headers_per_page
    menu_param with headers_per_page
    on struct menu_anon_param.
    - Replaced fbrowser_mp_options menu_param
    with options on struct menu_anon_param.
    - Replaced fbrowser_mp_tlen menu_param
    with time_len on struct menu_anon_param.
    - Replaced fbrowser_mp_comcol menu_param
    with comment_column on struct menu_anon_param.

    - Added Configure test for mktime()

    * Tried check that gmtime() and localtime()
    returns non-NULL result. These can fail if
    time_t is 64-bit and values does not fit
    to struct tm for example.
    - Added some fixes to src/date.c
    - Added some fixes to lib/get_tz.c
    - Added some fixes to lib/getarpdate.c
    - Added some fixes to src/thread.c
    - Added some fixes to src/elm.c
    - Added some fixes to lib/mbox/imap.c

    - Some changes to lib/strftime.c

    - Changed parse_date_time() so it detect if
    time_t overflows.
    - Changed make_gmttime() return LONG_MAX
    (or LONG_MIN) on overflow
    - Changed parse_date_time() to return
    *time_result as time_MAX on overflow or
    *time_result as 0 if result is negative
    (before year 1970).
    - Changed prototype of parse_date_time()
    - If parse_date_time() detects overflow
    (or negative (before year 1970) result)
    only year is printed on date -column on
    mail listing.
    - If time_sent is stored as time_MAX or
    0 then just stored year is used for sent
    time sorting.
    - Also only year is printed on
    on date -column thread view if there
    was overflow (or negative (before year
    1970) result) on some mails of thread.

    - Small fix to compare_thread() on src/sort.c

    - Moved most of days_ahead() on src/date.c
    to days_ahead_tm() on lib/addr/date.c
    - Moved days_ahead() as textual output
    for hdrconfig to days_ahead_text().
    This part uses strftime as on Elm 2.5.
    - Moved Elm 2.4 style formatting of
    days_ahead() to days_ahead_hdrval()
    on lib/addr/date.c

    - Added write_expires_header() to lib/addr/write_hdr.c
    - Added lib/addr/outexpires.c with new_expanded_expires(),
    free_expanded_expire(), get_expanded_expires_textual(),
    set_expanded_expires_textual(),
    get_expanded_expires_value(), get_expanded_expires_days_ahead(),
    get_expanded_expires_print_time(),
    get_expanded_expires_cached_time()
    - Changed static struct header_info header_types[]
    on lib/addr/headers.c so that Expires: is also
    allowed on .elm/elmheaders (although that is not very
    useful).
    > If Expires: -header on .elm/elmheaders includes time,
    time is included to Expires: -header on outgoing mail.
    Note however that time zone is not correctly handled
    and mostly ignored.
    - Moved part of parse_date_time() from lib/mbox/parsarpdat.c
    to new parse_parts_date_time()
    on lib/addr/parsarpdat.c
    - Moved lib/mbox/getword.c to lib/addr/getword.c
    - If new elmrc option "expires-have-time" have set, then
    time is included to Expires: -header on outgoing mail
    when header is generated from Message Header Edit Screen.

    - Added overflow checking to aton()

    - Changed prototype (including return type) of elm_date_str()

    - Changed thread view to generate
    local specific date (uses strftime).
    - Required width for thread number
    and date columns are calculated
    before printing of thread list.

    - Possible fix for sort_threads()
    and correspond change for ViewThreads()
    on src/thread.c

    - Added useful_mailname() to lib/addr/split_addr.c
    - If interface addresses are added to "mailname"
    global elm.rc option and they are only names
    added, then add "(none)" as first value
    of "mailname" global elm.rc option.
    - If first value of "mailname" global elm.rc option
    is "(none)" or does not include '.' then use
    "hostfullname" elmrc option when sending mail.

    - Small fix for smtp_run_ehlo()

    - Added MI_REMOTE_MAILER to enum MI_query for
    query_mailer_info()
    - Added same_SOCKADDR_ptr() to lib/remobe_mbx.c
    - Added elmrc option "verify-local-domain".
    Values are:
    no Do not verify mail domain
    given on "mailname" or
    "hostfullname" when sending
    mail.
    yes Use "verify-domain" setting
    for mail domain given on "mailname"
    or "hostfullname" when sending
    mail.
    if-remote-mailer Use "verify-domain" setting
    for mail domain given on "mailname"
    or "hostfullname" when sending
    mail if mailer is remote
    (mailer=submission and "server" is
    not local).
    Also boolean ON, OFF, TRUE, FALSE, YES and NO values are allowed
    on elmrc option "verify-local-domain".
    - Keyword "if-remote-mailer" is default value for
    "verify-local-domain". Therefore local domain (as given
    on "mailname" elmrc option) is verified with
    "verify-domain" setting setting when "mailer"
    global elm.rc option have value "submission" (and
    "server" is set to something other than local host).
    - Added elmrc option "verify-alias-domain". If this is
    set (default), then also domain of alias expanded
    address is verified (uses "verify-domain" setting).

    - "special-use-domains-blacklist" elmrc option also
    applies to autofilled "mailname" / "hostfullname" and these
    case local recipient is not allowed (unless
    "valid-domains" elmrc option overrides this).
    - "special-use-domains-blacklist" elmrc option also
    applies to domain of alias expanded address
    (unless "valid-domains" elmrc option overrides this).

    - Changed prototype of get_alias_address_expanded(),
    aliases_expand_alias(), alias_stack_lookup_f(),
    alias_simple_lookup(), lookup_local(),
    lookup_dummy()

    - Moved some code of build_address_l() to separate functions.
    - build_address_l() no longer return 1 (indicating
    alias expansion), when local address is handled.
    This fixes -c (check alias) output so that
    that "elm -c {userid}" does not claim successful
    alias expansion.
    - Small change to clear_error() and do_check_only()
    - Added build_address_classify_domain(),
    build_address_classify_message(),
    build_address_is_local() and need_verify_ldomain()
    to src/addr_util.c
    - Also exported build_address_cancel_mode() and
    verify_mail_domain_util() from src/addr_util.c

    - Changed return type of mailer_restarted()
    to enum restart_mailer_status.
    - Changed return type of mailer_info_verify_addr()
    to enum mi_vrfyaddr_mailer_status.

    - Changed envelope sender handling on submission mailer.
    - Added mailer_env_from_verified(),
    mailer_env_from_domain(), and
    mailer_env_from_angleaddr()
    to lib/mailer/mailer.c
    - Renamed env_from_changed() to mailer_env_from_changed()
    on lib/mailer/mailer.c
    - Changed prototype of mailer_info_set_ef()
    - Show Return-Path (envelope sender) on
    "Mail Pre-Send Screen" even when
    userlevel = beginner if it is changed
    (for example via ~/.elm/elmheaders).
    - Changed prototype of mailer_env_from_change()
    - Changed mailer_env_from_change() on lib/mailer/mailer.c
    - "special-use-domains-blacklist" elmrc option also
    applies to domain of envelope sender address (shown as
    Return-Path: -header; unless submission mailer is
    returned 250 for VRFY of that address or unless
    "valid-domains" elmrc option overrides this). In
    that case envelope sender address is changed to
    null address (<>).
    NOTE: "special-use-domains-blacklist" elmrc option does
    not prevent using of mailer option verify=yes
    option for envelope sender address.
    - "verify-domain" and "verify-local-domain" elmrc
    options also applies to domain of envelope sender
    address (shown as Return-Path: -header; unless
    submission mailer is returned 250 for VRFY of
    that address or unless "valid-domains" elmrc option
    overrides this).
    > If NULL MX is returned, envelope sender address is changed to
    null address (<>).
    RFC 7505: "Null MX" No Service Resource Record
    for Domains That Accept No Mail
    > If domain does not found, just message is given (but
    envelope sender address is not changed). If submission
    mailer is used sending mail probably fails later
    when domain of envelope sender address does not found.
    - If there is errors on envelope sender (also known as
    Return-Path) and 'allow-set-sender=yes' is set on
    "mailer" global elm.rc option, then prompt on
    "Mail Pre-Send Screen" defaults to R)eturn-path command.

    - Also b)ounce -command checks envelope sender.
    - Added rp_classify_domain_message() and
    env_from_classify_domain(), prompt_mailmsg_page_interactive(),
    mail_env_from_presend(), mail_show_env_from(),
    mail_env_from_def_edit(), mail_edit_return_path()
    to src/mailmsg2.c
    - Changed remail() on src/remail.c
    - Changed import_mailheaders() on lib/addr/outheaders.c
    - Changed show_presend_headers(), presend_action()
    - Added "Bounce Pre-Send Screen" to b)ounce command.
    This is used, when there is Return-Path set or
    editable. This is similar than "Mail Pre-Send Screen"
    on m)ail command.
    - Added error message in for case where
    importing .elm/elmheaders header field fails.
    - If header field name on .elm/elmheaders
    start with '#', it is ignored. Also
    `backticked` command on .elm/elmheaders
    is not executed in that case.
    Output of `backticked` command is not
    checked for '#' character on header field name.
    - Added check that addresses with domain given on
    "special-use-domains-blacklist" elmrc option
    are dot imported (unless "valid-domains" elmrc
    option overrides this). If there is blacklisted
    domain on "From:", "To:", "Cc:" "Bcc:" or
    "Reply-To:" -header field, whole .elm/elmheaders
    line is ignored and error message is given.

    - Changed add_from_hdr(), add_to_hdr(),
    add_cc_hdr(), add_bcc_hdr(),
    add_replyto_hdr(), add_env_from_hdr()
    on lib/addr/outheaders.c

    - Moved addr_is_user() from lib/okay_addr.c
    to lib/addr/okay_addr.c
    - Moved split_internet_address() from lib/okay_addr.c
    to lib/addr/split_addr.c
    - Moved clear_split_addr() from lib/okay_addr.c
    to lib/addr/split_addr.c
    - Moved match_splitted_addr() from lib/okay_addr.c
    to lib/addr/split_addr.c
    - Moved match_local_addr() from lib/okay_addr.c
    to lib/addr/split_addr.c

    - Changed that shared_libs/resolv/resolvertest2.c
    returns 3 when connection is refused
    (errno == ECONNREFUSED) and not only on
    timeout (errno == ETIMEDOUT).

    - Changed ConfTool/Makefile
    - Changed lib/mailer/Makefile.SH
    - Changed lib/Makefile.SH
    - Changed shared_libs/tls/Makefile.SH
    - Changed shared_libs/smtp/Makefile.SH
    - Changed shared_libs/resolv/Makefile.SH
    - Changed shared_libs/iconv/Makefile.SH
    - Changed utils/readmsg/Makefile.SH
    - Changed utils/Makefile.SH
    - Changed src/url/Makefile.SH
    - Changed src/messages/Makefile.SH
    - Changed src/command/Makefile.SH
    - Changed src/aliases/Makefile.SH
    - Changed src/list/Makefile.SH
    - Changed src/screen/Makefile.SH
    - Changed src/pager/Makefile.SH
    - Changed src/menu_common/Makefile.SH
    - Changed src/block/Makefile.SH
    - Changed src/Makefile.SH
    - Changed lib/addr/Makefile.SH
    - Changed lib/alias/Makefile.SH
    - Changed lib/mbox/Makefile.SH
    - Changed lib/misc/Makefile.SH
    - Changed melib/Makefile.SH
    - Changed nls/gencat/Makefile.SH

    - Fixed valgrind reported memory leak:
    294 bytes in 2 blocks are definitely lost in loss record 246 of 280
    at 0x4C2DB8F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
    by 0x5C3B0CC: safe_malloc (lib/safemalloc.c:60)
    by 0x52B5674: browser_local_do_stat_2 (lib/mbox/localmbx.c:603)
    by 0x52B6517: browser_local_do_stat_1 (lib/mbox/localmbx.c:875)
    by 0x52BBF16: fbrowser_give_entry (lib/mbox/localmbx.c:2931)
    by 0x467011: fbrowser_scan_directory (src/fbrowser.c:1243)
    by 0x467EAF: fbrowser (src/fbrowser.c:1628)
    by 0x469F7A: fbrowser_hook_enter (src/fbrowser.c:2508)
    by 0x44AD78: gen_browser (src/browser.c:3366)
    by 0x47BA63: arg_to_folder (src/init.c:182)
    by 0x47D70B: initialize_mailbox (src/init.c:928)
    by 0x484A39: main_messages_menu (src/mailbox.c:762)
    - Fixed valgrind reported memory leak:
    70 (24 direct, 46 indirect) bytes in 1 blocks are definitely lost in loss record 70 of 151
    at 0x4C2DB8F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
    by 0x5C3B1F8: safe_zero_alloc (safemalloc.c:85)
    by 0x5C76E4A: malloc_string (string.c:85)
    by 0x5C784CD: cat_strings_internal (string.c:553)
    by 0x5C80BF4: string_copy_character (string.c:3371)
    by 0x5780454: unquote_string (parsestring.c:596)
    by 0x531BBA7: hashtype_parse_kw_value_remote (hashmark_remote.c:1622)
    by 0x531076B: parse_hash_mark_entries (hashmark.c:1462)
    by 0x52AD5C1: hashmark_read_rc_file (init.c:147)
    by 0x5C29ABD: read_rc_file (read_rc.c:4918)
    by 0x47C58C: initialize (init.c:464)
    by 0x45E94B: main (elm.c:1221)
    - Fixed valgrind reported memory leak:
    42 bytes in 1 blocks are definitely lost in loss record 173 of 283
    at 0x4C2DB8F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
    by 0x5C3BA55: safe_strdup (lib/safemalloc.c:277)
    by 0x52C0A7D: mbx_init_spool (lib/mbox/localmbx.c:4561)
    by 0x52F71DD: real_folder_from_local (lib/mbox/common_local.c:295)
    by 0x52B9F6D: browser_folder_from_local (lib/mbox/localmbx.c:2137)
    by 0x52D8C70: folder_from_dir_item (lib/mbox/savefolder.c:5705)
    by 0x47C153: arg_to_folder (src/init.c:288)
    by 0x47DA29: initialize_mailbox (src/init.c:928)
    by 0x484D57: main_messages_menu (src/mailbox.c:762)
    by 0x45F546: main (src/elm.c:1489)

    - Fixed segmentation fault on start up when
    certain interfaces are present. Specially
    allow ifa_addr pointer on struct ifaddrs to
    be NULL.
    Problem noted by: Jeffrey H. Johnson

    - Possible fix for mailer_get_env_from()

    - Changed global elm.rc option "add-sender"
    to type struct dt_enumerate_info.
    This option have values
    no Add Sender: header only when there is
    more than one address on From: -header.
    yes Add Sender: header also when user
    specifies From: -header or user changes
    changes envelope sender address (aka Return-Path).
    auto If mailer is local or mail domain can
    be verified (or verify is disabled), add
    Sender: header when user
    specifies From: -header or user changes
    changes envelope sender address (aka Return-Path).
    Value "auto" is default. Also boolean ON, OFF, TRUE, FALSE, YES and NO
    values are allowed on global elm.rc option "add-sender".
    If there is more than one address on From: -header,
    Sender: -header is always added.
    NOTE: Value "auto" of elm.rc option "add-sender" also adds Sender:
    -header if DNS query fails (does not get positive or negative answer).
    Sender: header is not added if DNS query succeed and mail domain does
    not found (or if mail domain does not accept mail) and there is
    just one address on From: -header.
    - When elm.rc option "add-sender" have value of "auto", domain of
    Sender address may be rewritten.
    - If Sender: address uses domain from "special-use-domains-blacklist"
    elmrc option and global elm.rc option "add-sender" causes Sender:
    header to be added, m)ail and other similar commands refuse
    to send mail (unless "valid-domains" elmrc option overrides this).
    - Changed prototype of from_addr_literal() and
    from_addr_literal1().
    - On some cases "self-cc" and "self-bcc" keyword
    on hashmarks file is not used if keyword
    uses domain from "special-use-domains-blacklist" elmrc option
    (unless "valid-domains" elmrc option overrides this).

    - If Sender: address for b)ounce command uses
    domain from "special-use-domains-blacklist" elmrc option,
    b)ounce command is refused (unless "valid-domains"
    elmrc option overrides this).

    - Moved "valid-domains" elmrc option from mailerlib
    to addrlib.

    - "However, a more serious problem is that as soon as there is a
    blank line before the first alias in the file, not a single alias
    is processed." (on OLD .elm/aliases.text file)
    Problem noted by: Dirk Craeynest
    * Possibly fixed get_line() on lib/alias/oldaliases.c

    - Added small fix to "elm -h" text.
    - Added small fix to prompt menu text of Mail Preview Screen.

    - Changed make_from_addr() to check "special-use-domains-blacklist"
    elmrc option (unless "valid-domains" elmrc option overrides this).
    make_from_addr() returns status of that check.
    - Changed prototype of make_from_addr().
    - Domain of make_from_addr() result is checked on
    m)ail and r)eply -commands (and similar commands
    which use mail()) with elmrc options "verify-local-domain"
    and "verify-domain" settings. If verify fails, confirmation is
    asked with "Continue send or preview message?" -prompt.
    - Added force_from_addr() to lib/mailer/outheaders.c
    - Changed add_commands_help_merge() on src/command/command.c

    - Added fcntl(fd,F_SETFD,FD_CLOEXEC) calls to socket
    file descriptions created by socket() and socketpair().
    - Added pid to debug output.
    - Added clear_other_actions() to lib/schedule.c
    - Clear actions on subprocess at give_resolv_process()
    on shared_libs/resolv/query.c
    - Clear actions on subprocess at metapager()
    on src/metapager.c
    * Fixed error where IMAP (or POP) connection state
    was messed when external pager was used.
    Problem noted by: Dirk Craeynest
    - Changed change_action(), set_schedule_action() and
    clear_action() on lib/schedule.c
    - Replaced change_action() with change_action2()
    * Added badpid_action_f * badpid_act
    to change_action.
    - Small fix for wait_for_something()
    - Added ConfigStream0(), ConfigStream2()
    - Added FreeStreamStack0(), FreeStreamStack2()
    - Added setup_actions0(), clear_action0()
    - Added clear_remote_account0()

    - Changed Metamail text of Configure.

    - "I should report that on OpenBSD, at least recent OpenBSD,
    there is no sys/timeb.h include file."
    Problem noted by: Jeffrey H. Johnson
    > Elm ME+ have some

    #ifdef BSD_TYPE
    # include <sys/timeb.h>
    #endif

    But <sys/timeb.h> gives only struct timeb
    on Linux and that is not used by Elm ME+.
    Function ftime() uses struct timeb but
    that system call is not used. Removed

    #ifdef BSD_TYPE
    # include <sys/timeb.h>
    #endif

    from Configure, src/date.c, src/elm.c

    - Added -I option to elmconfwriter -command.
    This is used together with -l to
    ignore missing shared libraries
    (given on use-library and use-*-library
    elmrc options) and some other missing
    data.
    - Changed prototype of init_addrlib(),
    init_aliaslib(), read_rc_file(),
    post_init_check(), parse_elmrc(),
    mailerfunc(), init_default_mailer(),
    init_mboxlib(), init_misclib(),
    do_rc_parse(), do_rc_process(),
    process_delayed_blocks(), delay_lib_reg(),
    do_set(), rc_eval_tail(), rc_eval_tail_cline(),
    rc_eval_tail_line(), expand_dt_path(),

    [continued in next message]

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Kari Hurtta@21:1/5 to All on Thu Jan 3 16:40:46 2019
    XPost: alt.sources

    Archive-name: elmME+2.5/PLalpha49.1

    Elm ME+ 2.5 PLalpha49

    Before applying patch catenate parts 1 - 9 first.
    Also it should be possible to apply parts 1 - 9
    individually.

    Part 0 does not include patch.

    This patch is agaist Elm ME+ 2.5 PLalpha48

    ====================================== ( part 1/9 ) =========

    For applying thich patch use (on directory where Configure is)

    patch -p1 < {this-file}

    Then check that removed files do not exists or are empty

    ls -la `cat OBSOLETE `

    If that lists non-empty files, patch failed.

    Then remove emty files with command

    rm `cat OBSOLETE ` ----------------------------------------------------------------------------- Index: elmME+.2.5.alpha49-cvs/hdrs/patchlevel.h
    Prereq: 1550000000
    *** elmME+.2.5.alpha48/hdrs/patchlevel.h Sun May 20 19:35:33 2018
    --- elmME+.2.5.alpha49-cvs/hdrs/patchlevel.h Sat Dec 22 11:03:51 2018 ***************
    *** 1,12 ****
    ! #define PATCHLEVEL "alpha48"
    /* Used by Configure:
    ! SHAREDTAG: .1.1.48
    */
    ! #define LAST_REPORT_TIME 1550000000
    #define BUG_REPORT_ADDR "Kari Hurtta <elm@elmme-mailer.org>"
    ! #define VERS_DATE "Jun 2018" /* for elm -v option */
    #define WHAT_STRING \
    ! "@(#) Version ME+ 2.5, USENET supported version, released Jun 2018"

    /*
    * Local Variables:
    --- 1,12 ----
    ! #define PATCHLEVEL "alpha49"
    /* Used by Configure:
    ! SHAREDTAG: .1.1.49
    */
    ! #define LAST_REPORT_TIME 1570000000
    #define BUG_REPORT_ADDR "Kari Hurtta <elm@elmme-mailer.org>"
    ! #define VERS_DATE "Jan 2019" /* for elm -v option */
    #define WHAT_STRING \
    ! "@(#) Version ME+ 2.5, USENET supported version, released Jan 2019"

    /*
    * Local Variables:
    Index: elmME+.2.5.alpha49-cvs/README.ME+
    *** elmME+.2.5.alpha48/README.ME+ Sun May 20 19:35:33 2018
    --- elmME+.2.5.alpha49-cvs/README.ME
  • From Kari Hurtta@21:1/5 to All on Thu Jan 3 16:41:31 2019
    XPost: alt.sources

    Archive-name: elmME+2.5/PLalpha49.2

    Elm ME+ 2.5 PLalpha49

    Before applying patch catenate parts 1 - 9 first.
    Also it should be possible to apply parts 1 - 9
    individually.

    Part 0 does not include patch.

    This patch is agaist Elm ME+ 2.5 PLalpha48

    ====================================== ( part 2/9 ) =========

    Index: elmME+.2.5.alpha49-cvs/hdrs/s_command.h
    *** elmME+.2.5.alpha48/hdrs/s_command.h Wed Nov 16 20:04:18 2016
    --- elmME+.2.5.alpha49-cvs/hdrs/s_command.h Sat Nov 17 14:07:53 2018 ***************
    *** 402,404 ****
    --- 402,409 ----
    #define CommandBuiltinQuitPager0 0x1a2
    #define CommandSendPreviewMsgAllHdr 0x1a3
    #define CommandPreviewDisplayMsgAllHdr 0x1a4
    + #define CommandCFKeyTitle 0x1a5
    + #define CommandCFDescTitle 0x1a6
    + #define CommandCFContinue 0x1a7
    + #define CommandCFforget 0x1a8
    + #define CommandCFPreviewMenu 0x1a9
    Index: elmME+.2.5.alpha49-cvs/hdrs/s_elm.h
    *** elmME+.2.5.alpha48/hdrs/s_elm.h Sun May 20 19:35:33 2018
    --- elmME+.2.5.alpha49-cvs/hdrs/s_elm.h Sat Nov 17 14:07:53 2018 ***************
    *** 1401,1403 ****
    --- 1401,1429 ----
    #define ElmIgnoredLineElmrc 0x6ad
    #define ElmContLineIgnored 0x6ae
    #define ElmCannotSaveMessage0 0x6af
    + #define ElmSepOther 0x6b0
    + #define ElmSepToday 0x6b1
    + #define ElmDefineMailname 0x6b2
    + #define ElmBadEnvelopeSenderAddress 0x6b3
    + #define ElmEnvSendChanged 0x6b4
    + #define ElmEnvSendBadDomain 0x6b5
    + #define ElmEnvSendUnknownDomain 0x6b
  • From Kari Hurtta@21:1/5 to All on Thu Jan 3 16:42:07 2019
    XPost: alt.sources

    Archive-name: elmME+2.5/PLalpha49.3

    Elm ME+ 2.5 PLalpha49

    Before applying patch catenate parts 1 - 9 first.
    Also it should be possible to apply parts 1 - 9
    individually.

    Part 0 does not include patch.

    This patch is agaist Elm ME+ 2.5 PLalpha48

    ====================================== ( part 3/9 ) =========

    Index: elmME+.2.5.alpha49-cvs/lib/mailer/outheaders.c
    *** elmME+.2.5.alpha48/lib/mailer/outheaders.c Wed Sep 13 19:32:05 2017
    --- elmME+.2.5.alpha49-cvs/lib/mailer/outheaders.c Sat Nov 17 14:07:53 2018
    ***************
    *** 1,7 ****
    ! static char rcsid[] = "@(#)$Id: outheaders.c,v 2.10 2017/09/03 10:53:02 hurtta Exp $";

    /******************************************************************************
    ! * The Elm (ME+) Mail System - $Revision: 2.10 $ $State: Exp $
    *
    * Author: Kari Hurtta <hurtta+elm@siilo.FMI.FI>
    * (was hurtta+elm@posti.FMI.FI, hurtta+elm@ozone.FMI.FI) --- 1,7 ----
    ! static char rcsid[] = "@(#)$Id: outheaders.c,v 2.15 2018/11/17 12:07:53 hurtta Exp $";

    /******************************************************************************
    ! * The Elm (ME+) Mail System - $Revision: 2.15 $ $State: Exp $
    *
    * Author: Kari Hurtta <hurtta+elm@siilo.FMI.FI>
    * (was hurtta+elm@posti.FMI.FI, hurtta+elm@ozone.FMI.FI) ***************
    *** 27,34 ****
    return (unsigned char *)str;
    }

    ! char * from_addr_literal1(add_dom)
    ! int add_dom;
  • From Kari Hurtta@21:1/5 to All on Thu Jan 3 16:42:46 2019
    XPost: alt.sources

    Archive-name: elmME+2.5/PLalpha49.4

    Elm ME+ 2.5 PLalpha49

    Before applying patch catenate parts 1 - 9 first.
    Also it should be possible to apply parts 1 - 9
    individually.

    Part 0 does not include patch.

    This patch is agaist Elm ME+ 2.5 PLalpha48

    ====================================== ( part 4/9 ) =========

    Index: elmME+.2.5.alpha49-cvs/lib/remote_mbx.c
    *** elmME+.2.5.alpha48/lib/remote_mbx.c Sun Feb 4 21:36:28 2018
    --- elmME+.2.5.alpha49-cvs/lib/remote_mbx.c Fri Dec 21 13:21:42 2018 ***************
    *** 1,7 ****
    ! static char rcsid[] = "@(#)$Id: remote_mbx.c,v 2.50 2018/02/02 20:34:54 hurtta Exp $";

    /******************************************************************************
    ! * The Elm (ME+) Mail System - $Revision: 2.50 $ $State: Exp $
    *
    * Author: Kari Hurtta <hurtta+elm@siilo.FMI.FI>
    * (was hurtta+elm@posti.FMI.FI, hurtta+elm@ozone.FMI.FI) --- 1,7 ----
    ! static char rcsid[] = "@(#)$Id: remote_mbx.c,v 2.57 2018/12/21 11:21:42 hurtta Exp $";

    /******************************************************************************
    ! * The Elm (ME+) Mail System - $Revision: 2.57 $ $State: Exp $
    *
    * Author: Kari Hurtta <hurtta+elm@siilo.FMI.FI>
    * (was hurtta+elm@posti.FMI.FI, hurtta+elm@ozone.FMI.FI) ***************
    *** 622,632 ****
    #ifdef ANSI_C
    option_func connect_mode_func;
    #endif
    ! int connect_mode_func(value,enter,lineno,file
  • From Kari Hurtta@21:1/5 to All on Thu Jan 3 16:43:16 2019
    XPost: alt.sources

    Archive-name: elmME+2.5/PLalpha49.5

    Elm ME+ 2.5 PLalpha49

    Before applying patch catenate parts 1 - 9 first.
    Also it should be possible to apply parts 1 - 9
    individually.

    Part 0 does not include patch.

    This patch is agaist Elm ME+ 2.5 PLalpha48

    ====================================== ( part 5/9 ) =========

    Index: elmME+.2.5.alpha49-cvs/shared_libs/resolv/resolvertest2.c
    *** elmME+.2.5.alpha48/shared_libs/resolv/resolvertest2.c Sun Feb 4 21:36:29 2018
    --- elmME+.2.5.alpha49-cvs/shared_libs/resolv/resolvertest2.c Sun Jul 29 20:54:21 2018
    ***************
    *** 1,7 ****
    ! static char rcsid[] = "@(#)$Id: resolvertest2.c,v 1.2 2017/11/11 12:37:28 hurtta Exp $";

    /******************************************************************************
    ! * The Elm (ME+) Mail System - $Revision: 1.2 $ $State: Exp $
    *
    * Author: Kari Hurtta <hurtta+elm@siilo.FMI.FI>
    * or Kari Hurtta <elm@elmme-mailer.org>
    --- 1,7 ----
    ! static char rcsid[] = "@(#)$Id: resolvertest2.c,v 1.3 2018/07/29 17:54:21 hurtta Exp $";

    /******************************************************************************
    ! * The Elm (ME+) Mail System - $Revision: 1.3 $ $State: Exp $
    *
    * Author: Kari Hurtta <hurtta+elm@siilo.FMI.FI>
    * or Kari Hurtta <elm@elmme-mailer.org>
    ***************
    *** 590,596 ****
    }

    if (err == ECONNREFUSED)
    ! r = -1;
    else if (err == ETIMEDOUT)
    r = -3;
    else if (TRY_AGAIN == h_errno
  • From Kari Hurtta@21:1/5 to All on Thu Jan 3 16:43:54 2019
    XPost: alt.sources

    Archive-name: elmME+2.5/PLalpha49.6

    Elm ME+ 2.5 PLalpha49

    Before applying patch catenate parts 1 - 9 first.
    Also it should be possible to apply parts 1 - 9
    individually.

    Part 0 does not include patch.

    This patch is agaist Elm ME+ 2.5 PLalpha48

    ====================================== ( part 6/9 ) =========

    Index: elmME+.2.5.alpha49-cvs/shared_libs/tls/Makefile.SH
    *** elmME+.2.5.alpha48/shared_libs/tls/Makefile.SH Wed Sep 13 19:32:05 2017
    --- elmME+.2.5.alpha49-cvs/shared_libs/tls/Makefile.SH Wed Aug 1 12:36:26 2018
    ***************
    *** 52,58 ****
    $cat >Makefile <<!GROK!THIS!
    #!$make
    #
    ! # $Id: Makefile.SH,v 2.13 2017/07/09 10:47:32 hurtta Exp $
    #
    # Makefile for the ELM (ME+) mail program.
    #
    --- 52,58 ----
    $cat >Makefile <<!GROK!THIS!
    #!$make
    #
    ! # $Id: Makefile.SH,v 2.14 2018/08/01 09:36:26 hurtta Exp $
    #
    # Makefile for the ELM (ME+) mail program.
    #
    ***************
    *** 133,148 ****

    $(IHDR)/elmshared.h: $(IHDR2)/elm_defs.h $(INCLDIR2)/patchlevel.h \
    $(INCLDIR)/shared.h
    ! $(CHMOD) u+w $@
    $(TOUCH) $@

    $(IHDR2)/elm_defs.h: $(IHDR2)/defs_major.h $(INCLDIR2)/elm_nl_types.h \
    $(INCLDIR2)/hdrs/elmlib.h
    ! $(CHMOD) u+w $@
    $(TOUCH) $@

    $(IHDR2)/defs_major.h: ../../config.h $(IHDR2)/sysdefs.h
    ! $(CHMOD) u+w $@
    $(TOUCH) $@

    Makefile: Makefile.SH ../../config.sh config.res
    --- 133,148 ----

    $(IHDR)/elmshared.h: $(IHDR2)/elm_defs.h $(INCLDIR2)/patchlevel.h \
    $(I
  • From Kari Hurtta@21:1/5 to All on Thu Jan 3 16:44:26 2019
    XPost: alt.sources

    Archive-name: elmME+2.5/PLalpha49.7

    Elm ME+ 2.5 PLalpha49

    Before applying patch catenate parts 1 - 9 first.
    Also it should be possible to apply parts 1 - 9
    individually.

    Part 0 does not include patch.

    This patch is agaist Elm ME+ 2.5 PLalpha48

    ====================================== ( part 7/9 ) =========

    Index: elmME+.2.5.alpha49-cvs/src/file.c
    *** elmME+.2.5.alpha48/src/file.c Sun May 20 19:35:33 2018
    --- elmME+.2.5.alpha49-cvs/src/file.c Thu Jun 28 10:37:39 2018 ***************
    *** 1,7 ****
    ! static char rcsid[] = "@(#)$Id: file.c,v 2.11 2018/05/10 10:39:46 hurtta Exp $";

    /**************************************************************************** ! * The Elm (ME+) Mail System - $Revision: 2.11 $ $State: Exp $
    *
    * Modified by: Kari Hurtta <hurtta+elm@siilo.FMI.FI>
    * (was hurtta+elm@posti.FMI.FI,
    --- 1,7 ----
    ! static char rcsid[] = "@(#)$Id: file.c,v 2.13 2018/06/28 07:37:39 hurtta Exp $";

    /**************************************************************************** ! * The Elm (ME+) Mail System - $Revision: 2.13 $ $State: Exp $
    *
    * Modified by: Kari Hurtta <hurtta+elm@siilo.FMI.FI>
    * (was hurtta+elm@posti.FMI.FI,
    Index: elmME+.2.5.alpha49-cvs/src/hdrconfg.c
    *** elmME+.2.5.alpha48/src/hdrconfg.c Sun Feb 4 21:36:29 2018
    --- elmME+.2.5.alpha49-cvs/src/hdrconfg.c Mon Sep 24 19:52:25 2018 ***************
  • From Kari Hurtta@21:1/5 to All on Thu Jan 3 16:45:45 2019
    XPost: alt.sources

    Archive-name: elmME+2.5/PLalpha49.8

    Elm ME+ 2.5 PLalpha49

    Before applying patch catenate parts 1 - 9 first.
    Also it should be possible to apply parts 1 - 9
    individually.

    Part 0 does not include patch.

    This patch is agaist Elm ME+ 2.5 PLalpha48

    ====================================== ( part 8/9 ) =========

    Index: elmME+.2.5.alpha49-cvs/src/messages/Makefile.SH
    *** elmME+.2.5.alpha48/src/messages/Makefile.SH Wed Sep 13 19:32:05 2017
    --- elmME+.2.5.alpha49-cvs/src/messages/Makefile.SH Wed Aug 1 12:36:26 2018
    ***************
    *** 33,39 ****
    cat >Makefile <<!GROK!THIS!
    #!$make
    #
    ! # $Id: Makefile.SH,v 2.8 2017/08/16 18:54:52 hurtta Exp $
    #
    # Makefile for the ELM (ME+) mail program.
    #
    --- 33,39 ----
    cat >Makefile <<!GROK!THIS!
    #!$make
    #
    ! # $Id: Makefile.SH,v 2.10 2018/08/01 09:36:26 hurtta Exp $
    #
    # Makefile for the ELM (ME+) mail program.
    #
    ***************
    *** 88,98 ****

    $(IHDR)/elm_defs.h: $(IHDR)/defs_major.h $(INCLDIR)/elm_nl_types.h \
    $(INCLDIR)/elmlib.h
    ! $(CHMOD) u+w $@
    $(TOUCH) $@

    $(IHDR)/defs_major.h: ../../config.h $(IHDR)/sysdefs.h
    ! $(CHMOD) u+w $@
    $(TOUCH) $@

    def_messages.h: $(IHDR)/elm_defs.h $(IHDR)/me.h \
    --- 88,98 ----

    $(IHDR)/elm_defs.h: $(IHDR)/defs_major.h $(INCLDIR)/elm_nl_types.h \
    $(INCLDIR)/elmlib.h
    ! -$(CHMOD) -f u+w $@
    $(TOUCH) $@

    $(IHDR)/defs_major.h: ../../config.h $(IHDR)/sysdefs.h
    ! -$(CHMOD) -f u+w
  • From Kari Hurtta@21:1/5 to All on Thu Jan 3 16:46:15 2019
    XPost: alt.sources

    Archive-name: elmME+2.5/PLalpha49.9

    Elm ME+ 2.5 PLalpha49

    Before applying patch catenate parts 1 - 9 first.
    Also it should be possible to apply parts 1 - 9
    individually.

    Part 0 does not include patch.

    This patch is agaist Elm ME+ 2.5 PLalpha48

    ====================================== ( part 9/9 ) =========

    Index: elmME+.2.5.alpha49-cvs/src/syscall.c
    *** elmME+.2.5.alpha48/src/syscall.c Sun Feb 4 21:36:29 2018
    --- elmME+.2.5.alpha49-cvs/src/syscall.c Thu Jun 28 10:37:39 2018 ***************
    *** 1,7 ****
    ! static char rcsid[] = "@(#)$Id: syscall.c,v 2.15 2017/11/18 16:49:27 hurtta Exp $";

    /******************************************************************************
    ! * The Elm (ME+) Mail System - $Revision: 2.15 $ $State: Exp $
    *
    * Modified by: Kari Hurtta <hurtta+elm@siilo.FMI.FI>
    * (was hurtta+elm@posti.FMI.FI. hurtta+elm@ozone.FMI.FI)
    --- 1,7 ----
    ! static char rcsid[] = "@(#)$Id: syscall.c,v 2.17 2018/06/28 07:37:39 hurtta Exp $";

    /******************************************************************************
    ! * The Elm (ME+) Mail System - $Revision: 2.17 $ $State: Exp $
    *
    * Modified by: Kari Hurtta <hurtta+elm@siilo.FMI.FI>
    * (was hurtta+elm@posti.FMI.FI. hurtta+elm@ozone.FMI.FI)
    Index: elmME+.2.5.alpha49-cvs/src/thread.c
    *** elmME+.2.5.alpha48/src/thread.c Sun Feb 4 21:36:29 2018
    --- elmME+.2.5.alpha49-cvs
  • From Kari Hurtta@21:1/5 to All on Fri Jan 4 19:44:04 2019
    Experimental RPM spec file for ELM ME+ 2.5 PLalpha49
    exists on <URL: http://www.elmme-mailer.org/rpm/elm-ME+2.5.html >
    directory.

    Files are following

    - http://www.elmme-mailer.org/rpm/elm-ME+2.5.alpha49-2.spec
    RPM spec file [Note 1]
    - http://www.elmme-mailer.org/rpm/elm-ME+2.5.alpha49-2.spec.elm-key-2018.sig
    - http://www.elmme-mailer.org/rpm/elm-ME+2.5.alpha49-2.spec.sig
    - http://www.elmme-mailer.org/rpm/elm-ME+2.5.alpha49-2.mdk7.2.src.rpm
    Source rpm [Note 2]
    - http://www.elmme-mailer.org/rpm/elm-ME+2.5.alpha49-2.mdk7.2.src.rpm.sig

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

    * Notes

    Note 1:
    - rpmbuild -ba elm-ME+2.5.alpha49-2.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.alpha49-2.mdk7.2.src.rpm, elm-ME+2.5.alpha49-2.*.i686.rpm
    and elm-*-ME+2.5.alpha49-2.*.i686.rpm are signed internally with GPG
    key elm.key.2018.asc (44FC796B 2018-12-01).

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

    Note 4:
    - elm-mod-ME+2.5.alpha49-2.mdk7.2.i686.rpm does not include
    libelmme-resolv.so.

    Note 5:
    - elm-tls-ME+2.5.alpha49-2.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.alpha49-2.spec do not have %package debuginfo, but
    rpmbuild -ba elm-ME+2.5.alpha49-2.spec build
    elm-debuginfo-ME+2.5.alpha49-2.fdr19.i686.rpm anyway.

    * Signatures

    {file}.sig PGP signature (old key pubkey.asc, EA5A2379 1996-04-23)
    {file}.elm-key-2018.sig GPG signature (key elm.key.2018.asc, 44FC796B 2018-12-01, expires: 2028-11-28)

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

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

    Also following directories are used:

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

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

    SUMMARY: This release changes date display on
    mail listing and adds separator lines
    to mail listing. Also this release changes
    Expires: and Sender: -header field
    generation. This release checks more
    email addresses for mail domain
    validity (when libelmme-resolv.so module
    is used). New elmrc options are
    "expires-have-time", "mail-menu-time",
    "verify-alias-domain" and "verify-local-domain".
    Also some other changes and some bug
    fixes are included.

    Elm ME+ 2.5 PLalpha49 changelog

    Changes on Elm ME+ 2.5 PLalpha49 compared with Elm ME+ 2.5 PLalpha48 --------------------------------------------------------------------

    SUMMARY: This release changes date display on
    mail listing and adds separator lines
    to mail listing. Also this release changes
    Expires: and Sender: -header field
    generation. This release checks more
    email addresses for mail domain
    validity (when libelmme-resolv.so module
    is used). New elmrc options are
    "expires-have-time", "mail-menu-time",
    "verify-alias-domain" and "verify-local-domain".
    Also some other changes and some bug
    fixes are included.

    * Change from Elm 2.5

    - Changed make_menu_date() to generate
    Elm 2.5 style local specific date
    (uses strftime).
    - Changed days_ahead[_tm]() to use Elm 2.5
    style algorithm where localtime()
    is used first and then day is
    incremented on instead of
    Elm 2.4 style algorithm where
    time_t values is incremented
    by days * 24 * 60 *60 and
    localtime() is used.
    - Changed days_ahead[_text]() to generate
    Elm 2.5 style local specific date
    (uses strftime) for hdrconfig. This
    is not used for actual Expires:
    header. However %Y (year with century)
    is used instead of %y (year with 2
    digits).
    - Changed elm_date_str() to generate
    Elm 2.5 style local specific date
    (uses strftime) for pager and
    phrase of in-reply-to (if
    "add-in-reply-to-phrase" is set). However
    %Y (year with century) is used
    instead of %y (year with 2 digits).

    - Added year to mail listing. This is controlled
    with new elmrc option "mail-menu-time". Year is
    included on separator line.
    - New elmrc option "mail-menu-time" knows following keywords
    none None of values are selected
    year-separator Show separator line with
    year on date -column.
    auto-separator Show separator line for
    some sorting orders when
    message list space is sufficient
    big (21 lines).
    today Show time as hh:mm on date
    column instead of date if
    date is today and timezone
    is same. Also shows separator
    with "today" if separator
    lines are shown.
    today-separator Show separator line for
    some sorting orders when
    message list space is sufficient
    big (6 lines). Also show separator
    when all messages are from
    current year.
    year-or-time Add either year or time as hh:mm
    on date column when date is shown.
    Time is shown when year is current and
    timezone is same.
    These options also accepts additive form where
    changes from compile time default (or changes from
    global elm.rc) are listed:
    +year-separator -year-separator
    +auto-separator -auto-separator
    +today -today
    +today-separator -today-separator
    +year-or-time -year-or-time
    - Separator line is not shown if all mail are from
    current year. In that case that does not add
    much information and just consumes one line from
    mail listing. Keyword "today-separator" is
    exception for this.
    - Keyword "auto-separator" on elmrc option "mail-menu-time"
    enables separator lines when sorting order is
    "sent", "received" or "mailbox". Or when sorting
    order is "reverse-" version of these. There must
    be at least 21 lines available for mail listing.
    - Keyword "today" on elmrc option "mail-menu-time"
    causes that sent time on form hh:mm is shown
    on date -column on mail listing if day, month and
    year is same as today date and timezone offset is same
    than on local timezone. Note that date column
    shows sending date on sender's timezone which
    may be different than local timezone.
    - Keyword "today" together with "year-separator"
    or "auto-separator" on elmrc option "mail-menu-time"
    causes that separator line with "today"
    on date -column. Mails are considered to
    be sent today if day, month and
    year is same as today date or sent time
    is between of local today date start and
    end.
    - Keyword "today-separator" on elmrc option "mail-menu-time"
    enables separator lines when sorting order is
    "sent", "received" or "mailbox". Or when sorting
    order is "reverse-" version of these. This
    keyword causes that separator line with "today"
    on date -column is used. If there is at least
    one mail which is considered to be send today,
    separators are send even when all mails are from
    current year. There must be at least 6 lines
    available for mail listing.
    - Keyword "year-or-time" on elmrc option
    "mail-menu-time" adds year or time after
    message date to date -column on mail listing.
    Time is added if year is same as on today date
    and timezone offset is same than on local timezone.
    Otherwise year of message is added to date column.
    If time of message is added because of "today"
    keyword, keyword "year-or-time" adds nothing
    to date column.
    - Keywords "auto-separator" and "today" are
    default values for "mail-menu-time".
    Separator lines is not shown if all mails
    are from current year.
    > Keyword "year-or-time" on elmrc option
    "mail-menu-time" may work better if
    "today" is disabled and keyword
    "today-separator" is used instead.
    That is:
    mail-menu-time = -today +year-or-time +today-separator

    - Added menu_header_change_page() to lib/screen/header.c
    - Changed prototype of new_menu_header()

    - Added hdr_line_separator_index(), hdr_show_separator(),
    hdr_init_separators(), hdr_setup_line()
    and hdr_setup_init() to src/screen.c
    - Added mcommon_init_separators(), mcommon_separator_count(),
    mcommon_screen_print_sep_line(), mcommon_get_separator_index(),
    mcommon_screen_setup_menu_init() and
    mcommon_screen_setup_menu_line()
    to src/menu_common/mcommon.c
    - Added give_menu_separator(), menu_separator_count(),
    menu_separator_init(), get_menu_separator_index(),
    get_today_info(), message_hdr_setup_init() and
    message_hdr_setup_line()
    to src/messages/messages.c
    - Changed prototype of build_alias_line()
    - Changed prototype of make_menu_date()
    - Required width for mail number and
    date columns are calculated before printing
    of mail list.

    - Also changed Elm 2.5 browser to use
    these header setup init/line routines
    to calculate width for date column.
    - Replaced fbrowser_mp_cur_page menu_param
    with cur_page on struct menu_anon_param.
    - Replaced fbrowser_mp_headers_per_page
    menu_param with headers_per_page
    on struct menu_anon_param.
    - Replaced fbrowser_mp_options menu_param
    with options on struct menu_anon_param.
    - Replaced fbrowser_mp_tlen menu_param
    with time_len on struct menu_anon_param.
    - Replaced fbrowser_mp_comcol menu_param
    with comment_column on struct menu_anon_param.

    - Added Configure test for mktime()

    * Tried check that gmtime() and localtime()
    returns non-NULL result. These can fail if
    time_t is 64-bit and values does not fit
    to struct tm for example.
    - Added some fixes to src/date.c
    - Added some fixes to lib/get_tz.c
    - Added some fixes to lib/getarpdate.c
    - Added some fixes to src/thread.c
    - Added some fixes to src/elm.c
    - Added some fixes to lib/mbox/imap.c

    - Some changes to lib/strftime.c

    - Changed parse_date_time() so it detect if
    time_t overflows.
    - Changed make_gmttime() return LONG_MAX
    (or LONG_MIN) on overflow
    - Changed parse_date_time() to return
    *time_result as time_MAX on overflow or
    *time_result as 0 if result is negative
    (before year 1970).
    - Changed prototype of parse_date_time()
    - If parse_date_time() detects overflow
    (or negative (before year 1970) result)
    only year is printed on date -column on
    mail listing.
    - If time_sent is stored as time_MAX or
    0 then just stored year is used for sent
    time sorting.
    - Also only year is printed on
    on date -column thread view if there
    was overflow (or negative (before year
    1970) result) on some mails of thread.

    - Small fix to compare_thread() on src/sort.c

    - Moved most of days_ahead() on src/date.c
    to days_ahead_tm() on lib/addr/date.c
    - Moved days_ahead() as textual output
    for hdrconfig to days_ahead_text().
    This part uses strftime as on Elm 2.5.
    - Moved Elm 2.4 style formatting of
    days_ahead() to days_ahead_hdrval()
    on lib/addr/date.c

    - Added write_expires_header() to lib/addr/write_hdr.c
    - Added lib/addr/outexpires.c with new_expanded_expires(),
    free_expanded_expire(), get_expanded_expires_textual(),
    set_expanded_expires_textual(),
    get_expanded_expires_value(), get_expanded_expires_days_ahead(),
    get_expanded_expires_print_time(),
    get_expanded_expires_cached_time()
    - Changed static struct header_info header_types[]
    on lib/addr/headers.c so that Expires: is also
    allowed on .elm/elmheaders (although that is not very
    useful).
    > If Expires: -header on .elm/elmheaders includes time,
    time is included to Expires: -header on outgoing mail.
    Note however that time zone is not correctly handled
    and mostly ignored.
    - Moved part of parse_date_time() from lib/mbox/parsarpdat.c
    to new parse_parts_date_time()
    on lib/addr/parsarpdat.c
    - Moved lib/mbox/getword.c to lib/addr/getword.c
    - If new elmrc option "expires-have-time" have set, then
    time is included to Expires: -header on outgoing mail
    when header is generated from Message Header Edit Screen.

    - Added overflow checking to aton()

    - Changed prototype (including return type) of elm_date_str()

    - Changed thread view to generate
    local specific date (uses strftime).
    - Required width for thread number
    and date columns are calculated
    before printing of thread list.

    - Possible fix for sort_threads()
    and correspond change for ViewThreads()
    on src/thread.c

    - Added useful_mailname() to lib/addr/split_addr.c
    - If interface addresses are added to "mailname"
    global elm.rc option and they are only names
    added, then add "(none)" as first value
    of "mailname" global elm.rc option.
    - If first value of "mailname" global elm.rc option
    is "(none)" or does not include '.' then use
    "hostfullname" elmrc option when sending mail.

    - Small fix for smtp_run_ehlo()

    - Added MI_REMOTE_MAILER to enum MI_query for
    query_mailer_info()
    - Added same_SOCKADDR_ptr() to lib/remobe_mbx.c
    - Added elmrc option "verify-local-domain".
    Values are:
    no Do not verify mail domain
    given on "mailname" or
    "hostfullname" when sending
    mail.
    yes Use "verify-domain" setting
    for mail domain given on "mailname"
    or "hostfullname" when sending
    mail.
    if-remote-mailer Use "verify-domain" setting
    for mail domain given on "mailname"
    or "hostfullname" when sending
    mail if mailer is remote
    (mailer=submission and "server" is
    not local).
    Also boolean ON, OFF, TRUE, FALSE, YES and NO values are allowed
    on elmrc option "verify-local-domain".
    - Keyword "if-remote-mailer" is default value for
    "verify-local-domain". Therefore local domain (as given
    on "mailname" elmrc option) is verified with
    "verify-domain" setting setting when "mailer"
    global elm.rc option have value "submission" (and
    "server" is set to something other than local host).
    - Added elmrc option "verify-alias-domain". If this is
    set (default), then also domain of alias expanded
    address is verified (uses "verify-domain" setting).

    - "special-use-domains-blacklist" elmrc option also
    applies to autofilled "mailname" / "hostfullname" and these
    case local recipient is not allowed (unless
    "valid-domains" elmrc option overrides this).
    - "special-use-domains-blacklist" elmrc option also
    applies to domain of alias expanded address
    (unless "valid-domains" elmrc option overrides this).

    - Changed prototype of get_alias_address_expanded(),
    aliases_expand_alias(), alias_stack_lookup_f(),
    alias_simple_lookup(), lookup_local(),
    lookup_dummy()

    - Moved some code of build_address_l() to separate functions.
    - build_address_l() no longer return 1 (indicating
    alias expansion), when local address is handled.
    This fixes -c (check alias) output so that
    that "elm -c {userid}" does not claim successful
    alias expansion.
    - Small change to clear_error() and do_check_only()
    - Added build_address_classify_domain(),
    build_address_classify_message(),
    build_address_is_local() and need_verify_ldomain()
    to src/addr_util.c
    - Also exported build_address_cancel_mode() and
    verify_mail_domain_util() from src/addr_util.c

    - Changed return type of mailer_restarted()
    to enum restart_mailer_status.
    - Changed return type of mailer_info_verify_addr()
    to enum mi_vrfyaddr_mailer_status.

    - Changed envelope sender handling on submission mailer.
    - Added mailer_env_from_verified(),
    mailer_env_from_domain(), and
    mailer_env_from_angleaddr()
    to lib/mailer/mailer.c
    - Renamed env_from_changed() to mailer_env_from_changed()
    on lib/mailer/mailer.c
    - Changed prototype of mailer_info_set_ef()
    - Show Return-Path (envelope sender) on
    "Mail Pre-Send Screen" even when
    userlevel = beginner if it is changed
    (for example via ~/.elm/elmheaders).
    - Changed prototype of mailer_env_from_change()
    - Changed mailer_env_from_change() on lib/mailer/mailer.c
    - "special-use-domains-blacklist" elmrc option also
    applies to domain of envelope sender address (shown as
    Return-Path: -header; unless submission mailer is
    returned 250 for VRFY of that address or unless
    "valid-domains" elmrc option overrides this). In
    that case envelope sender address is changed to
    null address (<>).
    NOTE: "special-use-domains-blacklist" elmrc option does
    not prevent using of mailer option verify=yes
    option for envelope sender address.
    - "verify-domain" and "verify-local-domain" elmrc
    options also applies to domain of envelope sender
    address (shown as Return-Path: -header; unless
    submission mailer is returned 250 for VRFY of
    that address or unless "valid-domains" elmrc option
    overrides this).
    > If NULL MX is returned, envelope sender address is changed to
    null address (<>).
    RFC 7505: "Null MX" No Service Resource Record
    for Domains That Accept No Mail
    > If domain does not found, just message is given (but
    envelope sender address is not changed). If submission
    mailer is used sending mail probably fails later
    when domain of envelope sender address does not found.
    - If there is errors on envelope sender (also known as
    Return-Path) and 'allow-set-sender=yes' is set on
    "mailer" global elm.rc option, then prompt on
    "Mail Pre-Send Screen" defaults to R)eturn-path command.

    - Also b)ounce -command checks envelope sender.
    - Added rp_classify_domain_message() and
    env_from_classify_domain(), prompt_mailmsg_page_interactive(),
    mail_env_from_presend(), mail_show_env_from(),
    mail_env_from_def_edit(), mail_edit_return_path()
    to src/mailmsg2.c
    - Changed remail() on src/remail.c
    - Changed import_mailheaders() on lib/addr/outheaders.c
    - Changed show_presend_headers(), presend_action()
    - Added "Bounce Pre-Send Screen" to b)ounce command.
    This is used, when there is Return-Path set or
    editable. This is similar than "Mail Pre-Send Screen"
    on m)ail command.
    - Added error message in for case where
    importing .elm/elmheaders header field fails.
    - If header field name on .elm/elmheaders
    start with '#', it is ignored. Also
    `backticked` command on .elm/elmheaders
    is not executed in that case.
    Output of `backticked` command is not
    checked for '#' character on header field name.
    - Added check that addresses with domain given on
    "special-use-domains-blacklist" elmrc option
    are dot imported (unless "valid-domains" elmrc
    option overrides this). If there is blacklisted
    domain on "From:", "To:", "Cc:" "Bcc:" or
    "Reply-To:" -header field, whole .elm/elmheaders
    line is ignored and error message is given.

    - Changed add_from_hdr(), add_to_hdr(),
    add_cc_hdr(), add_bcc_hdr(),
    add_replyto_hdr(), add_env_from_hdr()
    on lib/addr/outheaders.c

    - Moved addr_is_user() from lib/okay_addr.c
    to lib/addr/okay_addr.c
    - Moved split_internet_address() from lib/okay_addr.c
    to lib/addr/split_addr.c
    - Moved clear_split_addr() from lib/okay_addr.c
    to lib/addr/split_addr.c
    - Moved match_splitted_addr() from lib/okay_addr.c
    to lib/addr/split_addr.c
    - Moved match_local_addr() from lib/okay_addr.c
    to lib/addr/split_addr.c

    - Changed that shared_libs/resolv/resolvertest2.c
    returns 3 when connection is refused
    (errno == ECONNREFUSED) and not only on
    timeout (errno == ETIMEDOUT).

    - Changed ConfTool/Makefile
    - Changed lib/mailer/Makefile.SH
    - Changed lib/Makefile.SH
    - Changed shared_libs/tls/Makefile.SH
    - Changed shared_libs/smtp/Makefile.SH
    - Changed shared_libs/resolv/Makefile.SH
    - Changed shared_libs/iconv/Makefile.SH
    - Changed utils/readmsg/Makefile.SH
    - Changed utils/Makefile.SH
    - Changed src/url/Makefile.SH
    - Changed src/messages/Makefile.SH
    - Changed src/command/Makefile.SH
    - Changed src/aliases/Makefile.SH
    - Changed src/list/Makefile.SH
    - Changed src/screen/Makefile.SH
    - Changed src/pager/Makefile.SH
    - Changed src/menu_common/Makefile.SH
    - Changed src/block/Makefile.SH
    - Changed src/Makefile.SH
    - Changed lib/addr/Makefile.SH
    - Changed lib/alias/Makefile.SH
    - Changed lib/mbox/Makefile.SH
    - Changed lib/misc/Makefile.SH
    - Changed melib/Makefile.SH
    - Changed nls/gencat/Makefile.SH

    - Fixed valgrind reported memory leak:
    294 bytes in 2 blocks are definitely lost in loss record 246 of 280
    at 0x4C2DB8F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
    by 0x5C3B0CC: safe_malloc (lib/safemalloc.c:60)
    by 0x52B5674: browser_local_do_stat_2 (lib/mbox/localmbx.c:603)
    by 0x52B6517: browser_local_do_stat_1 (lib/mbox/localmbx.c:875)
    by 0x52BBF16: fbrowser_give_entry (lib/mbox/localmbx.c:2931)
    by 0x467011: fbrowser_scan_directory (src/fbrowser.c:1243)
    by 0x467EAF: fbrowser (src/fbrowser.c:1628)
    by 0x469F7A: fbrowser_hook_enter (src/fbrowser.c:2508)
    by 0x44AD78: gen_browser (src/browser.c:3366)
    by 0x47BA63: arg_to_folder (src/init.c:182)
    by 0x47D70B: initialize_mailbox (src/init.c:928)
    by 0x484A39: main_messages_menu (src/mailbox.c:762)
    - Fixed valgrind reported memory leak:
    70 (24 direct, 46 indirect) bytes in 1 blocks are definitely lost in loss record 70 of 151
    at 0x4C2DB8F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
    by 0x5C3B1F8: safe_zero_alloc (safemalloc.c:85)
    by 0x5C76E4A: malloc_string (string.c:85)
    by 0x5C784CD: cat_strings_internal (string.c:553)
    by 0x5C80BF4: string_copy_character (string.c:3371)
    by 0x5780454: unquote_string (parsestring.c:596)
    by 0x531BBA7: hashtype_parse_kw_value_remote (hashmark_remote.c:1622)
    by 0x531076B: parse_hash_mark_entries (hashmark.c:1462)
    by 0x52AD5C1: hashmark_read_rc_file (init.c:147)
    by 0x5C29ABD: read_rc_file (read_rc.c:4918)
    by 0x47C58C: initialize (init.c:464)
    by 0x45E94B: main (elm.c:1221)
    - Fixed valgrind reported memory leak:
    42 bytes in 1 blocks are definitely lost in loss record 173 of 283
    at 0x4C2DB8F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
    by 0x5C3BA55: safe_strdup (lib/safemalloc.c:277)
    by 0x52C0A7D: mbx_init_spool (lib/mbox/localmbx.c:4561)
    by 0x52F71DD: real_folder_from_local (lib/mbox/common_local.c:295)
    by 0x52B9F6D: browser_folder_from_local (lib/mbox/localmbx.c:2137)
    by 0x52D8C70: folder_from_dir_item (lib/mbox/savefolder.c:5705)
    by 0x47C153: arg_to_folder (src/init.c:288)
    by 0x47DA29: initialize_mailbox (src/init.c:928)
    by 0x484D57: main_messages_menu (src/mailbox.c:762)
    by 0x45F546: main (src/elm.c:1489)

    - Fixed segmentation fault on start up when
    certain interfaces are present. Specially
    allow ifa_addr pointer on struct ifaddrs to
    be NULL.
    Problem noted by: Jeffrey H. Johnson

    - Possible fix for mailer_get_env_from()

    - Changed global elm.rc option "add-sender"
    to type struct dt_enumerate_info.

    [continued in next message]

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Kari Hurtta@21:1/5 to All on Sat Jan 5 17:29:54 2019
    Experimental DEB generator script for Elm ME+ 2.5 PLalpha49
    exists on <URL: http://www.elmme-mailer.org/deb/elm-ME+2.5.html >
    directory.

    Files are following

    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha49-2.gen_deb
    DEB generator script
    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha49-2.gen_deb.elm-key-2018.sig
    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha49-2.gen_deb.sig

    A command

    elm-ME+2.5.alpha49-2.gen_deb {packager}

    generates package elmme with version 1.1.49-2.{distribution}.

    A command

    elm-ME+2.5.alpha49-2.gen_deb --nonew {packager}

    generates package elm with version ME+2.5.alpha49-2.{distribution}.

    Both commands produce package with filename elm-ME+2.5.alpha49-2.{distribution}.{arch}.deb.

    Module libelmme-resolv.so is included for all distributions below, but libelmme-resolv.so does not implement interruptible DNS queries on all distributions.

    == Old package names, i386

    Package elm with version ME+2.5.alpha49-2.{distribution} and
    architecture i386.

    * Compiled on Debian GNU/Linux 3.1
    (Linux 2.4, glibc 2.3, Exim 3.36)

    - http://www.elmme-mailer.org/deb/old/elm-ME+2.5.alpha49-2.Debian3.1.i386.deb
    Package elm binary DEB build on Debian GNU/Linux 3.1
    - http://www.elmme-mailer.org/deb/old/elm-ME+2.5.alpha49-2.Debian3.1.i386.deb.elm-key-2018.sig
    - http://www.elmme-mailer.org/deb/old/elm-ME+2.5.alpha49-2.Debian3.1.i386.deb.sig

    * Compiled on Ubuntu 6.06.2 LTS
    (Linux 2.6, glibc 2.3, Sendmail 8.13)

    - http://www.elmme-mailer.org/deb/old/elm-ME+2.5.alpha49-2.Ubuntu6.06.i386.deb
    Package elm binary DEB build on Ubuntu 6.06.2 LTS
    - http://www.elmme-mailer.org/deb/old/elm-ME+2.5.alpha49-2.Ubuntu6.06.i386.deb.elm-key-2018.sig
    - http://www.elmme-mailer.org/deb/old/elm-ME+2.5.alpha49-2.Ubuntu6.06.i386.deb.sig

    * Compiled on Ubuntu 10.04.4 LTS
    (Linux 2.6, glibc 2.11, Sendmail 8.14)

    - http://www.elmme-mailer.org/deb/old/elm-ME+2.5.alpha49-2.Ubuntu10.04.i386.deb
    Package elm binary DEB build on Ubuntu 10.04.4 LTS
    - http://www.elmme-mailer.org/deb/old/elm-ME+2.5.alpha49-2.Ubuntu10.04.i386.deb.elm-key-2018.sig
    - http://www.elmme-mailer.org/deb/old/elm-ME+2.5.alpha49-2.Ubuntu10.04.i386.deb.sig

    == New package names, i386

    Package elmme with version 1.1.49-2.{distribution} and architecture
    i386.

    * Compiled on Ubuntu 10.04.4 LTS
    (Linux 2.6, glibc 2.11, Sendmail 8.14)

    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha49-2.Ubuntu10.04.i386.deb
    Package elmme binary DEB build on Ubuntu 10.04.4 LTS
    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha49-2.Ubuntu10.04.i386.deb.elm-key-2018.sig
    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha49-2.Ubuntu10.04.i386.deb.sig

    * Compiled on Ubuntu 14.04.5 LTS
    (Linux 4.4, glibc 2.19, no MTA)

    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha49-2.Ubuntu14.04.i386.deb
    Package elmme binary DEB build on Ubuntu 14.04.5 LTS
    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha49-2.Ubuntu14.04.i386.deb.elm-key-2018.sig
    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha49-2.Ubuntu14.04.i386.deb.sig

    * Compiled on Ubuntu 16.04.5 LTS
    (Linux 4.4, glibc 2.23, no MTA)

    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha49-2.Ubuntu16.04.i386.deb
    Package elmme binary DEB build on Ubuntu 16.04.5 LTS
    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha49-2.Ubuntu16.04.i386.deb.elm-key-2018.sig
    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha49-2.Ubuntu16.04.i386.deb.sig

    == New package names, amd64 (x86_64)

    Package elmme with version 1.1.49-2.{distribution} and architecture
    amd64 (also known as x86_64).

    * Compiled on Ubuntu 16.04.5 LTS
    (Linux 4.4, glibc 2.23, Sendmail 8.15)

    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha49-2.Ubuntu16.04.amd64.deb
    Package elmme binary DEB build on Ubuntu 16.04.5 LTS
    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha49-2.Ubuntu16.04.amd64.deb.elm-key-2018.sig
    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha49-2.Ubuntu16.04.amd64.deb.sig

    == Signatures

    {file}.sig PGP signature (old key pubkey.asc, EA5A2379 1996-04-23)
    {file}.elm-key-2018.sig GPG signature (key elm.key.2018.asc, 44FC796B 2018-12-01, expires: 2028-11-28)

    == 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
    - /usr/local/lib/elm.hashmarks

    Deb generator script 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)

    By default first value for mailname is read from /etc/mailname file.

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

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

    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 /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
    - /usr/local/lib/elm.hashmarks.NEW

    Also following directories are used:

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

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

    A command

    elm-{version}-{release}.gen_deb {packager}

    generates package elmme with version {library-version}-{release}.{distribution}. Note that a resulted
    filename of package is still elm-{version}-{release}.{arch}.deb. This
    version number is same than on files /usr/local/lib/libelmme-{module}.so.{library-version}. A filename of
    package is related to used source archive name, which is elm-{version}-{release}.tar.gz.

    A command

    elm-{version}-{release}.gen_deb --nonew {packager}

    generates package elm with version {version}-{release}.{distribution}.
    Also on this case a resulted filename of package is elm-{version}-{release}.{arch}.deb.

    SUMMARY: This release changes date display on
    mail listing and adds separator lines
    to mail listing. Also this release changes
    Expires: and Sender: -header field
    generation. This release checks more
    email addresses for mail domain
    validity (when libelmme-resolv.so module
    is used). New elmrc options are
    "expires-have-time", "mail-menu-time",
    "verify-alias-domain" and "verify-local-domain".
    Also some other changes and some bug
    fixes are included.

    Elm ME+ 2.5 PLalpha49 changelog

    Changes on Elm ME+ 2.5 PLalpha49 compared with Elm ME+ 2.5 PLalpha48 --------------------------------------------------------------------

    SUMMARY: This release changes date display on
    mail listing and adds separator lines
    to mail listing. Also this release changes
    Expires: and Sender: -header field
    generation. This release checks more
    email addresses for mail domain
    validity (when libelmme-resolv.so module
    is used). New elmrc options are
    "expires-have-time", "mail-menu-time",
    "verify-alias-domain" and "verify-local-domain".
    Also some other changes and some bug
    fixes are included.

    * Change from Elm 2.5

    - Changed make_menu_date() to generate
    Elm 2.5 style local specific date
    (uses strftime).
    - Changed days_ahead[_tm]() to use Elm 2.5
    style algorithm where localtime()
    is used first and then day is
    incremented on instead of
    Elm 2.4 style algorithm where
    time_t values is incremented
    by days * 24 * 60 *60 and
    localtime() is used.
    - Changed days_ahead[_text]() to generate
    Elm 2.5 style local specific date
    (uses strftime) for hdrconfig. This
    is not used for actual Expires:
    header. However %Y (year with century)
    is used instead of %y (year with 2
    digits).
    - Changed elm_date_str() to generate
    Elm 2.5 style local specific date
    (uses strftime) for pager and
    phrase of in-reply-to (if
    "add-in-reply-to-phrase" is set). However
    %Y (year with century) is used
    instead of %y (year with 2 digits).

    - Added year to mail listing. This is controlled
    with new elmrc option "mail-menu-time". Year is
    included on separator line.
    - New elmrc option "mail-menu-time" knows following keywords
    none None of values are selected
    year-separator Show separator line with
    year on date -column.
    auto-separator Show separator line for
    some sorting orders when
    message list space is sufficient
    big (21 lines).
    today Show time as hh:mm on date
    column instead of date if
    date is today and timezone
    is same. Also shows separator
    with "today" if separator
    lines are shown.
    today-separator Show separator line for
    some sorting orders when
    message list space is sufficient
    big (6 lines). Also show separator
    when all messages are from
    current year.
    year-or-time Add either year or time as hh:mm
    on date column when date is shown.
    Time is shown when year is current and
    timezone is same.
    These options also accepts additive form where
    changes from compile time default (or changes from
    global elm.rc) are listed:
    +year-separator -year-separator
    +auto-separator -auto-separator
    +today -today
    +today-separator -today-separator
    +year-or-time -year-or-time
    - Separator line is not shown if all mail are from
    current year. In that case that does not add
    much information and just consumes one line from
    mail listing. Keyword "today-separator" is
    exception for this.
    - Keyword "auto-separator" on elmrc option "mail-menu-time"
    enables separator lines when sorting order is
    "sent", "received" or "mailbox". Or when sorting
    order is "reverse-" version of these. There must
    be at least 21 lines available for mail listing.
    - Keyword "today" on elmrc option "mail-menu-time"
    causes that sent time on form hh:mm is shown
    on date -column on mail listing if day, month and
    year is same as today date and timezone offset is same
    than on local timezone. Note that date column
    shows sending date on sender's timezone which
    may be different than local timezone.
    - Keyword "today" together with "year-separator"
    or "auto-separator" on elmrc option "mail-menu-time"
    causes that separator line with "today"
    on date -column. Mails are considered to
    be sent today if day, month and
    year is same as today date or sent time
    is between of local today date start and
    end.
    - Keyword "today-separator" on elmrc option "mail-menu-time"
    enables separator lines when sorting order is
    "sent", "received" or "mailbox". Or when sorting
    order is "reverse-" version of these. This
    keyword causes that separator line with "today"
    on date -column is used. If there is at least
    one mail which is considered to be send today,
    separators are send even when all mails are from
    current year. There must be at least 6 lines
    available for mail listing.
    - Keyword "year-or-time" on elmrc option
    "mail-menu-time" adds year or time after
    message date to date -column on mail listing.
    Time is added if year is same as on today date
    and timezone offset is same than on local timezone.
    Otherwise year of message is added to date column.
    If time of message is added because of "today"
    keyword, keyword "year-or-time" adds nothing
    to date column.
    - Keywords "auto-separator" and "today" are
    default values for "mail-menu-time".
    Separator lines is not shown if all mails
    are from current year.
    > Keyword "year-or-time" on elmrc option
    "mail-menu-time" may work better if
    "today" is disabled and keyword
    "today-separator" is used instead.
    That is:
    mail-menu-time = -today +year-or-time +today-separator

    - Added menu_header_change_page() to lib/screen/header.c
    - Changed prototype of new_menu_header()

    - Added hdr_line_separator_index(), hdr_show_separator(),
    hdr_init_separators(), hdr_setup_line()
    and hdr_setup_init() to src/screen.c
    - Added mcommon_init_separators(), mcommon_separator_count(),
    mcommon_screen_print_sep_line(), mcommon_get_separator_index(),
    mcommon_screen_setup_menu_init() and
    mcommon_screen_setup_menu_line()
    to src/menu_common/mcommon.c
    - Added give_menu_separator(), menu_separator_count(),
    menu_separator_init(), get_menu_separator_index(),
    get_today_info(), message_hdr_setup_init() and
    message_hdr_setup_line()
    to src/messages/messages.c
    - Changed prototype of build_alias_line()
    - Changed prototype of make_menu_date()
    - Required width for mail number and
    date columns are calculated before printing
    of mail list.

    - Also changed Elm 2.5 browser to use
    these header setup init/line routines
    to calculate width for date column.
    - Replaced fbrowser_mp_cur_page menu_param
    with cur_page on struct menu_anon_param.
    - Replaced fbrowser_mp_headers_per_page
    menu_param with headers_per_page
    on struct menu_anon_param.
    - Replaced fbrowser_mp_options menu_param
    with options on struct menu_anon_param.
    - Replaced fbrowser_mp_tlen menu_param
    with time_len on struct menu_anon_param.
    - Replaced fbrowser_mp_comcol menu_param
    with comment_column on struct menu_anon_param.

    - Added Configure test for mktime()

    * Tried check that gmtime() and localtime()
    returns non-NULL result. These can fail if
    time_t is 64-bit and values does not fit
    to struct tm for example.
    - Added some fixes to src/date.c
    - Added some fixes to lib/get_tz.c
    - Added some fixes to lib/getarpdate.c
    - Added some fixes to src/thread.c
    - Added some fixes to src/elm.c
    - Added some fixes to lib/mbox/imap.c

    - Some changes to lib/strftime.c

    - Changed parse_date_time() so it detect if
    time_t overflows.
    - Changed make_gmttime() return LONG_MAX
    (or LONG_MIN) on overflow
    - Changed parse_date_time() to return
    *time_result as time_MAX on overflow or
    *time_result as 0 if result is negative
    (before year 1970).
    - Changed prototype of parse_date_time()
    - If parse_date_time() detects overflow
    (or negative (before year 1970) result)
    only year is printed on date -column on
    mail listing.
    - If time_sent is stored as time_MAX or
    0 then just stored year is used for sent
    time sorting.
    - Also only year is printed on
    on date -column thread view if there
    was overflow (or negative (before year
    1970) result) on some mails of thread.

    - Small fix to compare_thread() on src/sort.c

    - Moved most of days_ahead() on src/date.c
    to days_ahead_tm() on lib/addr/date.c
    - Moved days_ahead() as textual output
    for hdrconfig to days_ahead_text().
    This part uses strftime as on Elm 2.5.
    - Moved Elm 2.4 style formatting of
    days_ahead() to days_ahead_hdrval()
    on lib/addr/date.c

    - Added write_expires_header() to lib/addr/write_hdr.c
    - Added lib/addr/outexpires.c with new_expanded_expires(),
    free_expanded_expire(), get_expanded_expires_textual(),
    set_expanded_expires_textual(),
    get_expanded_expires_value(), get_expanded_expires_days_ahead(),
    get_expanded_expires_print_time(),
    get_expanded_expires_cached_time()
    - Changed static struct header_info header_types[]
    on lib/addr/headers.c so that Expires: is also
    allowed on .elm/elmheaders (although that is not very
    useful).
    > If Expires: -header on .elm/elmheaders includes time,
    time is included to Expires: -header on outgoing mail.
    Note however that time zone is not correctly handled
    and mostly ignored.
    - Moved part of parse_date_time() from lib/mbox/parsarpdat.c
    to new parse_parts_date_time()
    on lib/addr/parsarpdat.c
    - Moved lib/mbox/getword.c to lib/addr/getword.c
    - If new elmrc option "expires-have-time" have set, then
    time is included to Expires: -header on outgoing mail
    when header is generated from Message Header Edit Screen.

    - Added overflow checking to aton()

    - Changed prototype (including return type) of elm_date_str()

    - Changed thread view to generate
    local specific date (uses strftime).
    - Required width for thread number
    and date columns are calculated
    before printing of thread list.

    - Possible fix for sort_threads()
    and correspond change for ViewThreads()
    on src/thread.c

    - Added useful_mailname() to lib/addr/split_addr.c
    - If interface addresses are added to "mailname"
    global elm.rc option and they are only names
    added, then add "(none)" as first value
    of "mailname" global elm.rc option.
    - If first value of "mailname" global elm.rc option
    is "(none)" or does not include '.' then use
    "hostfullname" elmrc option when sending mail.

    - Small fix for smtp_run_ehlo()

    - Added MI_REMOTE_MAILER to enum MI_query for
    query_mailer_info()
    - Added same_SOCKADDR_ptr() to lib/remobe_mbx.c
    - Added elmrc option "verify-local-domain".
    Values are:
    no Do not verify mail domain
    given on "mailname" or
    "hostfullname" when sending
    mail.
    yes Use "verify-domain" setting
    for mail domain given on "mailname"
    or "hostfullname" when sending
    mail.
    if-remote-mailer Use "verify-domain" setting
    for mail domain given on "mailname"
    or "hostfullname" when sending
    mail if mailer is remote
    (mailer=submission and "server" is
    not local).
    Also boolean ON, OFF, TRUE, FALSE, YES and NO values are allowed
    on elmrc option "verify-local-domain".
    - Keyword "if-remote-mailer" is default value for
    "verify-local-domain". Therefore local domain (as given
    on "mailname" elmrc option) is verified with
    "verify-domain" setting setting when "mailer"
    global elm.rc option have value "submission" (and
    "server" is set to something other than local host).
    - Added elmrc option "verify-alias-domain". If this is
    set (default), then also domain of alias expanded
    address is verified (uses "verify-domain" setting).

    - "special-use-domains-blacklist" elmrc option also
    applies to autofilled "mailname" / "hostfullname" and these
    case local recipient is not allowed (unless
    "valid-domains" elmrc option overrides this).
    - "special-use-domains-blacklist" elmrc option also
    applies to domain of alias expanded address
    (unless "valid-domains" elmrc option overrides this).

    - Changed prototype of get_alias_address_expanded(),
    aliases_expand_alias(), alias_stack_lookup_f(),
    alias_simple_lookup(), lookup_local(),
    lookup_dummy()

    - Moved some code of build_address_l() to separate functions.
    - build_address_l() no longer return 1 (indicating
    alias expansion), when local address is handled.
    This fixes -c (check alias) output so that
    that "elm -c {userid}" does not claim successful
    alias expansion.
    - Small change to clear_error() and do_check_only()
    - Added build_address_classify_domain(),
    build_address_classify_message(),
    build_address_is_local() and need_verify_ldomain()
    to src/addr_util.c
    - Also exported build_address_cancel_mode() and
    verify_mail_domain_util() from src/addr_util.c

    - Changed return type of mailer_restarted()
    to enum restart_mailer_status.
    - Changed return type of mailer_info_verify_addr()
    to enum mi_vrfyaddr_mailer_status.

    - Changed envelope sender handling on submission mailer.
    - Added mailer_env_from_verified(),
    mailer_env_from_domain(), and
    mailer_env_from_angleaddr()
    to lib/mailer/mailer.c
    - Renamed env_from_changed() to mailer_env_from_changed()
    on lib/mailer/mailer.c
    - Changed prototype of mailer_info_set_ef()
    - Show Return-Path (envelope sender) on
    "Mail Pre-Send Screen" even when
    userlevel = beginner if it is changed
    (for example via ~/.elm/elmheaders).
    - Changed prototype of mailer_env_from_change()
    - Changed mailer_env_from_change() on lib/mailer/mailer.c
    - "special-use-domains-blacklist" elmrc option also
    applies to domain of envelope sender address (shown as
    Return-Path: -header; unless submission mailer is
    returned 250 for VRFY of that address or unless
    "valid-domains" elmrc option overrides this). In
    that case envelope sender address is changed to
    null address (<>).
    NOTE: "special-use-domains-blacklist" elmrc option does
    not prevent using of mailer option verify=yes
    option for envelope sender address.
    - "verify-domain" and "verify-local-domain" elmrc
    options also applies to domain of envelope sender
    address (shown as Return-Path: -header; unless
    submission mailer is returned 250 for VRFY of
    that address or unless "valid-domains" elmrc option
    overrides this).
    > If NULL MX is returned, envelope sender address is changed to
    null address (<>).
    RFC 7505: "Null MX" No Service Resource Record
    for Domains That Accept No Mail
    > If domain does not found, just message is given (but
    envelope sender address is not changed). If submission
    mailer is used sending mail probably fails later
    when domain of envelope sender address does not found.
    - If there is errors on envelope sender (also known as
    Return-Path) and 'allow-set-sender=yes' is set on
    "mailer" global elm.rc option, then prompt on
    "Mail Pre-Send Screen" defaults to R)eturn-path command.

    - Also b)ounce -command checks envelope sender.
    - Added rp_classify_domain_message() and
    env_from_classify_domain(), prompt_mailmsg_page_interactive(),
    mail_env_from_presend(), mail_show_env_from(),
    mail_env_from_def_edit(), mail_edit_return_path()
    to src/mailmsg2.c
    - Changed remail() on src/remail.c
    - Changed import_mailheaders() on lib/addr/outheaders.c
    - Changed show_presend_headers(), presend_action()
    - Added "Bounce Pre-Send Screen" to b)ounce command.
    This is used, when there is Return-Path set or
    editable. This is similar than "Mail Pre-Send Screen"
    on m)ail command.
    - Added error message in for case where
    importing .elm/elmheaders header field fails.
    - If header field name on .elm/elmheaders
    start with '#', it is ignored. Also
    `backticked` command on .elm/elmheaders
    is not executed in that case.
    Output of `backticked` command is not
    checked for '#' character on header field name.
    - Added check that addresses with domain given on
    "special-use-domains-blacklist" elmrc option
    are dot imported (unless "valid-domains" elmrc
    option overrides this). If there is blacklisted
    domain on "From:", "To:", "Cc:" "Bcc:" or
    "Reply-To:" -header field, whole .elm/elmheaders
    line is ignored and error message is given.

    - Changed add_from_hdr(), add_to_hdr(),
    add_cc_hdr(), add_bcc_hdr(),
    add_replyto_hdr(), add_env_from_hdr()
    on lib/addr/outheaders.c

    - Moved addr_is_user() from lib/okay_addr.c
    to lib/addr/okay_addr.c
    - Moved split_internet_address() from lib/okay_addr.c
    to lib/addr/split_addr.c
    - Moved clear_split_addr() from lib/okay_addr.c
    to lib/addr/split_addr.c
    - Moved match_splitted_addr() from lib/okay_addr.c
    to lib/addr/split_addr.c
    - Moved match_local_addr() from lib/okay_addr.c
    to lib/addr/split_addr.c

    - Changed that shared_libs/resolv/resolvertest2.c
    returns 3 when connection is refused
    (errno == ECONNREFUSED) and not only on
    timeout (errno == ETIMEDOUT).

    - Changed ConfTool/Makefile
    - Changed lib/mailer/Makefile.SH
    - Changed lib/Makefile.SH
    - Changed shared_libs/tls/Makefile.SH
    - Changed shared_libs/smtp/Makefile.SH
    - Changed shared_libs/resolv/Makefile.SH
    - Changed shared_libs/iconv/Makefile.SH
    - Changed utils/readmsg/Makefile.SH
    - Changed utils/Makefile.SH
    - Changed src/url/Makefile.SH
    - Changed src/messages/Makefile.SH
    - Changed src/command/Makefile.SH
    - Changed src/aliases/Makefile.SH
    - Changed src/list/Makefile.SH
    - Changed src/screen/Makefile.SH
    - Changed src/pager/Makefile.SH
    - Changed src/menu_common/Makefile.SH
    - Changed src/block/Makefile.SH
    - Changed src/Makefile.SH
    - Changed lib/addr/Makefile.SH
    - Changed lib/alias/Makefile.SH
    - Changed lib/mbox/Makefile.SH
    - Changed lib/misc/Makefile.SH
    - Changed melib/Makefile.SH
    - Changed nls/gencat/Makefile.SH

    - Fixed valgrind reported memory leak:
    294 bytes in 2 blocks are definitely lost in loss record 246 of 280
    at 0x4C2DB8F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
    by 0x5C3B0CC: safe_malloc (lib/safemalloc.c:60)
    by 0x52B5674: browser_local_do_stat_2 (lib/mbox/localmbx.c:603)
    by 0x52B6517: browser_local_do_stat_1 (lib/mbox/localmbx.c:875)
    by 0x52BBF16: fbrowser_give_entry (lib/mbox/localmbx.c:2931)
    by 0x467011: fbrowser_scan_directory (src/fbrowser.c:1243)
    by 0x467EAF: fbrowser (src/fbrowser.c:1628)
    by 0x469F7A: fbrowser_hook_enter (src/fbrowser.c:2508)
    by 0x44AD78: gen_browser (src/browser.c:3366)
    by 0x47BA63: arg_to_folder (src/init.c:182)
    by 0x47D70B: initialize_mailbox (src/init.c:928)
    by 0x484A39: main_messages_menu (src/mailbox.c:762)
    - Fixed valgrind reported memory leak:
    70 (24 direct, 46 indirect) bytes in 1 blocks are definitely lost in loss record 70 of 151
    at 0x4C2DB8F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
    by 0x5C3B1F8: safe_zero_alloc (safemalloc.c:85)
    by 0x5C76E4A: malloc_string (string.c:85)
    by 0x5C784CD: cat_strings_internal (string.c:553)
    by 0x5C80BF4: string_copy_character (string.c:3371)
    by 0x5780454: unquote_string (parsestring.c:596)
    by 0x531BBA7: hashtype_parse_kw_value_remote (hashmark_remote.c:1622)
    by 0x531076B: parse_hash_mark_entries (hashmark.c:1462)
    by 0x52AD5C1: hashmark_read_rc_file (init.c:147)
    by 0x5C29ABD: read_rc_file (read_rc.c:4918)
    by 0x47C58C: initialize (init.c:464)
    by 0x45E94B: main (elm.c:1221)
    - Fixed valgrind reported memory leak:
    42 bytes in 1 blocks are definitely lost in loss record 173 of 283
    at 0x4C2DB8F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
    by 0x5C3BA55: safe_strdup (lib/safemalloc.c:277)
    by 0x52C0A7D: mbx_init_spool (lib/mbox/localmbx.c:4561)
    by 0x52F71DD: real_folder_from_local (lib/mbox/common_local.c:295)
    by 0x52B9F6D: browser_folder_from_local (lib/mbox/localmbx.c:2137)
    by 0x52D8C70: folder_from_dir_item (lib/mbox/savefolder.c:5705)

    [continued in next message]

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Kari Hurtta@21:1/5 to All on Mon Jun 10 20:43:59 2019
    XPost: alt.sources

    Archive-name: elmME+2.5/PLalpha50.0

    Elm ME+ 2.5 PLalpha50

    Before applying patch catenate parts 1 - 7 first.
    Also it should be possible to apply parts 1 - 7
    individually.

    Part 0 does not include patch.

    This patch is agaist Elm ME+ 2.5 PLalpha47

    ====================================== ( part 0/7 ) =========
    Elm ME+ 2.5 PLalpha50

    - Is available with
    <URL: http://www.elmme-mailer.org/elm-ME+2.5.PLalpha50.patch.gz >
    and <URL: http://www.elmme-mailer.org/elm-ME+2.5.alpha50.tar.gz >

    - This seems NOT to be mirrored to ftp.funet.fi
    so this is not available via anonymous ftp,
    directory pub/mirrors/elmme-mailer.org/src/elm-ME+2.5/

    SUMMARY: This release adds new magic numbers for
    JPG (EXIF), better reconnection handling
    for broken IMAP connections and 'Er'
    (reconnect) command. This release allows
    interrupting stalled connection with
    interrupt character (Ctrl-C) on new mail
    check and 'X' (Quick Exit) command. Other
    commands still are stuck if connection
    is stalled. Also some other changes and
    fixes are included.

    Changes on Elm ME+ 2.5 PLalpha50 compared with Elm ME+ 2.5 PLalpha49 --------------------------------------------------------------------

    SUMMARY: This release adds new magic numbers for
    JPG (EXIF), better reconnection handling
    for broken IMAP connections and 'Er'
    (reconnect) command. This release allows
    interrupting stalled connection with
    interrupt character (Ctrl-C) on new mail
    check and 'X' (Quick Exit) command. Other
    commands still are stuck if connection
    is stalled. Also some other changes and
    fixes are included.

    - Changed magic number of image/jpeg on
    lib/misc/mime_types.c

    RFC 2046 says: "An initial subtype is "jpeg" for the JPEG format
    using JFIF encoding [JPEG]."

    > Also adds Digital camera JPG using
    Exchangeable Image File Format (EXIF) as
    image/jpeg.

    - Exported wday_from_year_month_day()
    from lib/addr/outheaders.c
    - Changed that lib/mbox/imap.c generates
    real weekday name to From -separator line
    (was using "XXX" as weekday name).

    - Changed mbx_copy_envelope_pop() to use
    return_path_to_env_from_1() for generating From
    -separator address as mbx_copy_envelope_imap()
    is using.

    - Changed screen update on read_headers()

    - Changed header allocation on read_headers()
    - Added malloc_header_rec() and free_header_rec()
    to src/messages/header_alloc.c

    - Fixed handling of mails which arrive to
    IMAP mailbox when mailbox is read (opened).
    - Changed prototype of copy_envelope_end_folder(),
    mbx_copy_envelope_end_folder()
    - Changed parse_body_routine() on src/newmbox.c

    - If IMAP mailbox connection is broken,
    after reconnection different
    temp folder is used when mails
    are read from mailbox.
    * If different temp folder is used
    all mails are no longer included
    as new mails to mail listing with mails
    before connection was broken.
    - When POP connection is re$yncronized
    different temp folder is used.
    (POP mailbox also always reopen
    connection when mailbox is
    re$yncronized).
    - If messages are EXPUNGEd from IMAP
    folder, different temp folder is used
    when mail is re$yncronized.
    - If skipped mail is later loaded
    from IMAP folder, different temp folder
    is used when mail is re$yncronized.

    - Added 'Er' command for reconnect broken
    mailbox connections.
    - Added update_selected_counter(),
    found_disconnected(), ReconnectMailbox() and
    ReconnectMailboxPost() to src/reconnect.c

    - If IMAP / POP mailbox connection is
    broken, some hint from
    Use 'X' for Quick Exit
    XXX disconnected and failed. Use 'Er' for reconnecting or 'X' for Quick Exit
    XXX disconnected. Use 'Er' for reconnecting broken connection
    XXX failed. Use 'X' for Quick Exit
    is given, where XXX is some from
    POP mailbox
    IMAP mailbox
    IMAP folder
    Read-only IMAP folder
    > However re$yncronize command may try reconnect
    IMAP or POP mailbox connection.

    - Changed prototype of
    prepare_read_folder(), end_read_folder(),
    copy_envelope_folder(), sessionlock_folder(),
    open_folder_lock(), new_mail_check(),
    flush_folder()

    - Changed prototype of mbx_prepare_read_folder(),
    mbx_end_read_folder(), mbx_sessionlock_folder(),
    mbx_flush_folder(), mbx_flush_temp()
    - Added search_previous_header(),
    copy_previous_mail(), free_reconnect_mode(),
    malloc_reconnect_mode() to lib/mbox/mbox.c

    - Added
    unsigned int was_reconnected :1;
    unsigned int got_skipped_mail :1;
    to struct folder_info
    - Added
    int uidvalidity;
    unsigned int got_EXPUNGE :1;
    to struct IMAP_MBX

    - Changed prototype of end_edit_folder()
    - Changed prototype of mbx_end_edit_folder()

    - Changed sync_mbox(), usr1_signal(), usr2_signal(),
    resync(), visit_mailbox_loop(), change_file()
    - Added reconnect_mails() to src/newmbox.c

    - Changed prototype of newmbox_1()
    - Changed prototype of file_bytes()
    - Changed prototype of show_last_error()

    - Changed file_bytes() on lib/file_util.c

    - Fixed error message on check_mailfile_size()

    - Fixed error where re$yncronizing
    POP mailbox shows ridiculous
    large percents when loading mails.

    - Added sessionlock_create_tempfolder()
    to lib/mbox/mbox_generic.c
    - Added mbx_prepare_read_reconnect()
    to lib/mbox/remote_mbx.c
    - Changed mbx_sessionlock_pop(),
    mbx_sessionlock_spool(), mbx_sessionlock_imap()
    - Added mbx_comp_prev_hdr_folder(),
    mbx_update_prev_hdr_folder()
    - Added mbx_comp_prev_hdr_default(),
    mbx_update_prev_hdr_default () to
    lib/mbox/mbox_generic.c
    - Exported adjust_content_remaining from
    lib/mbox/localmbx.c
    - Added struct copy_previous_rs * reconnect_copy_previous
    to struct read_folder_state.
    - Changed copy_header_folder(),
    copy_body_folder(), copy_envelope_end_folder()
    on lib/mbox/mbox.c

    - Changed new_mail_on_folder(), new_mail_check(),
    main_messages_loop()

    - Moved addr_is_same() from src/messages/duplicate.c
    to lib/addr/duplicate.c as addr_list_is_same()
    - Added message_id_to_string() to
    lib/addr/message-id.c
    - Added references_to_string() to
    lib/addr/references.c

    - Fix for debug_message() on src/elm.c

    - Message
    Checking new mail...
    is shown on new mail check after
    0.5 second delay when checking remote mailbox
    (IMAP mailbox). Check may be cancelable with
    interrupt character (Ctrl-C) but remote
    mailbox connection may be disconnected.
    - Added start_imap_command_c(), imap_command_ok_c(),
    imap_clear_command_c() to lib/mbox/con_imap.c

    - Message
    Leaving mailbox ...
    is shown on eXiting main mailbox
    screen after 2 second delay if remote
    mailbox is stalled. Wait may be cancelable with
    interrupt character (Ctrl-C).
    - Changed prototype of free_mailbox(), free_storage(),
    leave_old_folder(), close_folder(),
    close_connection(), free_connection(),
    free_mailbox(), free_all_mailboxes(),
    free_connection(), close_cached_connections()
    - Changed prototype of mbx_close_folder(),
    cache_close_connection(), mt_free_mailbox(),
    mbx_free_folder()

    - Take account artificial "From " separator line
    when estimating IMAP mailfile size (temp
    folder size). This affects percent display
    when reading mailbox.

    New files:
    lib/addr/duplicate.c
    src/reconnect.c

    Warnings
    --------

    - 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
    message.

    - 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
    charset.

    - 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.4.3.3.26 (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
    mapping
    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
    -misc-fixed-medium-r-normal--12-200-75-75-c-100-iso8859-1
    and not
    -misc-fixed-medium-r-normal--12-200-75-75-c-100-iso8859-15

    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.)

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


    MANIFEST | 2
    README.ME+ | 202 +++
    doc/elm.1 | 2
    doc/elmalias.1 | 2
    doc/elmhashmarks.1 | 2
    doc/fastmail.1 | 2
    doc/frm.1 | 2
    doc/newalias.1 | 2
    doc/newmail.1 | 2
    doc/readmsg.1 | 2
    hdrs/addrlib.h | 18
    hdrs/connection_imp.h | 21
    hdrs/elm_defs.h | 17
    hdrs/elmlib.h | 8
    hdrs/mboxlib.h | 158 !!
    hdrs/mbx_imp.h | 109 !
    hdrs/mbximap_imp.h | 30
    hdrs/me.h | 69 !
    hdrs/patchlevel.h | 10
    hdrs/readmsg.h | 4
    hdrs/s_command.h | 1
    hdrs/s_elm.h | 34
    hdrs/s_from.h | 1
    hdrs/s_me.h | 4
    lib/MAGIC | 2
    lib/addr/Makefile.SH | 5
    lib/addr/def_addr.h | 10
    lib/addr/duplicate.c | 91 +
    lib/addr/message-id.c | 49
    lib/addr/outheaders.c | 7
    lib/addr/parsestring.c | 8
    lib/addr/references.c | 91 +
    lib/cancel.c | 5
    lib/file_util.c | 71
    lib/mbox/common_local.c | 9
    lib/mbox/con_imap.c | 712 ++++++!!!!
    lib/mbox/connection.c | 55
    lib/mbox/def_mbox.h | 42
    lib/mbox/hashmark_remote.c | 70
    lib/mbox/headers.c | 11
    lib/mbox/imap.c | 1353 ++++++++++-!!!!!!!!!!!
    lib/mbox/localmbx.c | 1502 ++++-!!!!!!!!!!!!!!!!!!
    lib/mbox/mbox.c | 2461 +++++++++-!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    lib/mbox/mbox_generic.c | 148 ++
    lib/mbox/pop.c | 1233 ++++++++++-!!!!!!!!
    lib/mbox/remote_mbx.c | 144 ++
    lib/misc/mime_types.c | 51
    lib/schedule.c | 140 !!
    lib/streamsched.c | 11
    nls/C/C/C/s_command.m | 2
    nls/C/C/C/s_elm.m | 70 !
    nls/C/C/C/s_from.m | 2
    nls/C/C/C/s_me.m | 8
    src/Makefile.SH | 5
    src/args.c | 8
    src/canceled.c | 6
    src/command/extendedcmd.c | 17
    src/digest.c | 32
    src/duplicate_removal.c | 52
    src/edit.c | 26
    src/elm.c | 306 +!!!!
    src/extended.c | 46
    src/file_util.c | 20
    src/in_utils.c | 40
    src/init.c | 198 !!!
    src/leavembox.c | 409 ++!!!
    src/list/info.c | 61 !
    src/list/visit_mailbox.c | 255 +!!!
    src/mailbox.c | 264 !!!!
    src/messages/canceled_mail.c | 62
    src/messages/def_messages.h | 9
    src/messages/digest.c | 17
    src/messages/duplicate.c | 94 -
    src/messages/header_alloc.c | 39
    src/messages/mailfile.c | 18
    src/messages/messages.c | 59
    src/messages/partial.c | 36
    src/messages/status_common.c | 14
    src/messages/storage.c | 45
    src/messages/thread_messages.c | 17
    src/newmbox.c | 1409 ++++-!!!!!!!!!!!!!!!!
    src/openmailbox.c | 75
    src/out_utils.c | 36
    src/partial.c | 54
    src/quit.c | 290 +!!!
    src/reconnect.c | 150 ++
    src/savecopy.c | 57
    src/showmsg_1.c | 11
    src/signals.c | 108 !
    src/thread.c | 6
    src/utils.c | 183 !!!
    src/view_folder.c | 6
    src/view_one_thread.c | 29
    utils/from.c | 138 !!
    utils/newmail.c | 397 !!!!!
    utils/readmsg/folder.c | 132 !!
    96 files changed, 4774 insertions(+), 333 deletions(-), 9196 modifications(!)

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Kari Hurtta@21:1/5 to All on Mon Jun 10 20:49:27 2019
    XPost: alt.sources

    Archive-name: elmME+2.5/PLalpha50.0

    Elm ME+ 2.5 PLalpha50

    Before applying patch catenate parts 1 - 7 first.
    Also it should be possible to apply parts 1 - 7
    individually.

    Part 0 does not include patch.

    This patch is agaist Elm ME+ 2.5 PLalpha49

    ====================================== ( part 0/7 ) =========
    Elm ME+ 2.5 PLalpha50

    - Is available with
    <URL: http://www.elmme-mailer.org/elm-ME+2.5.PLalpha50.patch.gz >
    and <URL: http://www.elmme-mailer.org/elm-ME+2.5.alpha50.tar.gz >

    - This seems NOT to be mirrored to ftp.funet.fi
    so this is not available via anonymous ftp,
    directory pub/mirrors/elmme-mailer.org/src/elm-ME+2.5/

    SUMMARY: This release adds new magic numbers for
    JPG (EXIF), better reconnection handling
    for broken IMAP connections and 'Er'
    (reconnect) command. This release allows
    interrupting stalled connection with
    interrupt character (Ctrl-C) on new mail
    check and 'X' (Quick Exit) command. Other
    commands still are stuck if connection
    is stalled. Also some other changes and
    fixes are included.

    Changes on Elm ME+ 2.5 PLalpha50 compared with Elm ME+ 2.5 PLalpha49 --------------------------------------------------------------------

    SUMMARY: This release adds new magic numbers for
    JPG (EXIF), better reconnection handling
    for broken IMAP connections and 'Er'
    (reconnect) command. This release allows
    interrupting stalled connection with
    interrupt character (Ctrl-C) on new mail
    check and 'X' (Quick Exit) command. Other
    commands still are stuck if connection
    is stalled. Also some other changes and
    fixes are included.

    - Changed magic number of image/jpeg on
    lib/misc/mime_types.c

    RFC 2046 says: "An initial subtype is "jpeg" for the JPEG format
    using JFIF encoding [JPEG]."

    > Also adds Digital camera JPG using
    Exchangeable Image File Format (EXIF) as
    image/jpeg.

    - Exported wday_from_year_month_day()
    from lib/addr/outheaders.c
    - Changed that lib/mbox/imap.c generates
    real weekday name to From -separator line
    (was using "XXX" as weekday name).

    - Changed mbx_copy_envelope_pop() to use
    return_path_to_env_from_1() for generating From
    -separator address as mbx_copy_envelope_imap()
    is using.

    - Changed screen update on read_headers()

    - Changed header allocation on read_headers()
    - Added malloc_header_rec() and free_header_rec()
    to src/messages/header_alloc.c

    - Fixed handling of mails which arrive to
    IMAP mailbox when mailbox is read (opened).
    - Changed prototype of copy_envelope_end_folder(),
    mbx_copy_envelope_end_folder()
    - Changed parse_body_routine() on src/newmbox.c

    - If IMAP mailbox connection is broken,
    after reconnection different
    temp folder is used when mails
    are read from mailbox.
    * If different temp folder is used
    all mails are no longer included
    as new mails to mail listing with mails
    before connection was broken.
    - When POP connection is re$yncronized
    different temp folder is used.
    (POP mailbox also always reopen
    connection when mailbox is
    re$yncronized).
    - If messages are EXPUNGEd from IMAP
    folder, different temp folder is used
    when mail is re$yncronized.
    - If skipped mail is later loaded
    from IMAP folder, different temp folder
    is used when mail is re$yncronized.

    - Added 'Er' command for reconnect broken
    mailbox connections.
    - Added update_selected_counter(),
    found_disconnected(), ReconnectMailbox() and
    ReconnectMailboxPost() to src/reconnect.c

    - If IMAP / POP mailbox connection is
    broken, some hint from
    Use 'X' for Quick Exit
    XXX disconnected and failed. Use 'Er' for reconnecting or 'X' for Quick Exit
    XXX disconnected. Use 'Er' for reconnecting broken connection
    XXX failed. Use 'X' for Quick Exit
    is given, where XXX is some from
    POP mailbox
    IMAP mailbox
    IMAP folder
    Read-only IMAP folder
    > However re$yncronize command may try reconnect
    IMAP or POP mailbox connection.

    - Changed prototype of
    prepare_read_folder(), end_read_folder(),
    copy_envelope_folder(), sessionlock_folder(),
    open_folder_lock(), new_mail_check(),
    flush_folder()

    - Changed prototype of mbx_prepare_read_folder(),
    mbx_end_read_folder(), mbx_sessionlock_folder(),
    mbx_flush_folder(), mbx_flush_temp()
    - Added search_previous_header(),
    copy_previous_mail(), free_reconnect_mode(),
    malloc_reconnect_mode() to lib/mbox/mbox.c

    - Added
    unsigned int was_reconnected :1;
    unsigned int got_skipped_mail :1;
    to struct folder_info
    - Added
    int uidvalidity;
    unsigned int got_EXPUNGE :1;
    to struct IMAP_MBX

    - Changed prototype of end_edit_folder()
    - Changed prototype of mbx_end_edit_folder()

    - Changed sync_mbox(), usr1_signal(), usr2_signal(),
    resync(), visit_mailbox_loop(), change_file()
    - Added reconnect_mails() to src/newmbox.c

    - Changed prototype of newmbox_1()
    - Changed prototype of file_bytes()
    - Changed prototype of show_last_error()

    - Changed file_bytes() on lib/file_util.c

    - Fixed error message on check_mailfile_size()

    - Fixed error where re$yncronizing
    POP mailbox shows ridiculous
    large percents when loading mails.

    - Added sessionlock_create_tempfolder()
    to lib/mbox/mbox_generic.c
    - Added mbx_prepare_read_reconnect()
    to lib/mbox/remote_mbx.c
    - Changed mbx_sessionlock_pop(),
    mbx_sessionlock_spool(), mbx_sessionlock_imap()
    - Added mbx_comp_prev_hdr_folder(),
    mbx_update_prev_hdr_folder()
    - Added mbx_comp_prev_hdr_default(),
    mbx_update_prev_hdr_default () to
    lib/mbox/mbox_generic.c
    - Exported adjust_content_remaining from
    lib/mbox/localmbx.c
    - Added struct copy_previous_rs * reconnect_copy_previous
    to struct read_folder_state.
    - Changed copy_header_folder(),
    copy_body_folder(), copy_envelope_end_folder()
    on lib/mbox/mbox.c

    - Changed new_mail_on_folder(), new_mail_check(),
    main_messages_loop()

    - Moved addr_is_same() from src/messages/duplicate.c
    to lib/addr/duplicate.c as addr_list_is_same()
    - Added message_id_to_string() to
    lib/addr/message-id.c
    - Added references_to_string() to
    lib/addr/references.c

    - Fix for debug_message() on src/elm.c

    - Message
    Checking new mail...
    is shown on new mail check after
    0.5 second delay when checking remote mailbox
    (IMAP mailbox). Check may be cancelable with
    interrupt character (Ctrl-C) but remote
    mailbox connection may be disconnected.
    - Added start_imap_command_c(), imap_command_ok_c(),
    imap_clear_command_c() to lib/mbox/con_imap.c

    - Message
    Leaving mailbox ...
    is shown on eXiting main mailbox
    screen after 2 second delay if remote
    mailbox is stalled. Wait may be cancelable with
    interrupt character (Ctrl-C).
    - Changed prototype of free_mailbox(), free_storage(),
    leave_old_folder(), close_folder(),
    close_connection(), free_connection(),
    free_mailbox(), free_all_mailboxes(),
    free_connection(), close_cached_connections()
    - Changed prototype of mbx_close_folder(),
    cache_close_connection(), mt_free_mailbox(),
    mbx_free_folder()

    - Take account artificial "From " separator line
    when estimating IMAP mailfile size (temp
    folder size). This affects percent display
    when reading mailbox.

    New files:
    lib/addr/duplicate.c
    src/reconnect.c

    Warnings
    --------

    - 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
    message.

    - 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
    charset.

    - 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.4.3.3.26 (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
    mapping
    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
    -misc-fixed-medium-r-normal--12-200-75-75-c-100-iso8859-1
    and not
    -misc-fixed-medium-r-normal--12-200-75-75-c-100-iso8859-15

    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.)

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


    MANIFEST | 2
    README.ME+ | 202 +++
    doc/elm.1 | 2
    doc/elmalias.1 | 2
    doc/elmhashmarks.1 | 2
    doc/fastmail.1 | 2
    doc/frm.1 | 2
    doc/newalias.1 | 2
    doc/newmail.1 | 2
    doc/readmsg.1 | 2
    hdrs/addrlib.h | 18
    hdrs/connection_imp.h | 21
    hdrs/elm_defs.h | 17
    hdrs/elmlib.h | 8
    hdrs/mboxlib.h | 158 !!
    hdrs/mbx_imp.h | 109 !
    hdrs/mbximap_imp.h | 30
    hdrs/me.h | 69 !
    hdrs/patchlevel.h | 10
    hdrs/readmsg.h | 4
    hdrs/s_command.h | 1
    hdrs/s_elm.h | 34
    hdrs/s_from.h | 1
    hdrs/s_me.h | 4
    lib/MAGIC | 2
    lib/addr/Makefile.SH | 5
    lib/addr/def_addr.h | 10
    lib/addr/duplicate.c | 91 +
    lib/addr/message-id.c | 49
    lib/addr/outheaders.c | 7
    lib/addr/parsestring.c | 8
    lib/addr/references.c | 91 +
    lib/cancel.c | 5
    lib/file_util.c | 71
    lib/mbox/common_local.c | 9
    lib/mbox/con_imap.c | 712 ++++++!!!!
    lib/mbox/connection.c | 55
    lib/mbox/def_mbox.h | 42
    lib/mbox/hashmark_remote.c | 70
    lib/mbox/headers.c | 11
    lib/mbox/imap.c | 1353 ++++++++++-!!!!!!!!!!!
    lib/mbox/localmbx.c | 1502 ++++-!!!!!!!!!!!!!!!!!!
    lib/mbox/mbox.c | 2461 +++++++++-!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    lib/mbox/mbox_generic.c | 148 ++
    lib/mbox/pop.c | 1233 ++++++++++-!!!!!!!!
    lib/mbox/remote_mbx.c | 144 ++
    lib/misc/mime_types.c | 51
    lib/schedule.c | 140 !!
    lib/streamsched.c | 11
    nls/C/C/C/s_command.m | 2
    nls/C/C/C/s_elm.m | 70 !
    nls/C/C/C/s_from.m | 2
    nls/C/C/C/s_me.m | 8
    src/Makefile.SH | 5
    src/args.c | 8
    src/canceled.c | 6
    src/command/extendedcmd.c | 17
    src/digest.c | 32
    src/duplicate_removal.c | 52
    src/edit.c | 26
    src/elm.c | 306 +!!!!
    src/extended.c | 46
    src/file_util.c | 20
    src/in_utils.c | 40
    src/init.c | 198 !!!
    src/leavembox.c | 409 ++!!!
    src/list/info.c | 61 !
    src/list/visit_mailbox.c | 255 +!!!
    src/mailbox.c | 264 !!!!
    src/messages/canceled_mail.c | 62
    src/messages/def_messages.h | 9
    src/messages/digest.c | 17
    src/messages/duplicate.c | 94 -
    src/messages/header_alloc.c | 39
    src/messages/mailfile.c | 18
    src/messages/messages.c | 59
    src/messages/partial.c | 36
    src/messages/status_common.c | 14
    src/messages/storage.c | 45
    src/messages/thread_messages.c | 17
    src/newmbox.c | 1409 ++++-!!!!!!!!!!!!!!!!
    src/openmailbox.c | 75
    src/out_utils.c | 36
    src/partial.c | 54
    src/quit.c | 290 +!!!
    src/reconnect.c | 150 ++
    src/savecopy.c | 57
    src/showmsg_1.c | 11
    src/signals.c | 108 !
    src/thread.c | 6
    src/utils.c | 183 !!!
    src/view_folder.c | 6
    src/view_one_thread.c | 29
    utils/from.c | 138 !!
    utils/newmail.c | 397 !!!!!
    utils/readmsg/folder.c | 132 !!
    96 files changed, 4774 insertions(+), 333 deletions(-), 9196 modifications(!)

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Kari Hurtta@21:1/5 to All on Mon Jun 10 20:44:54 2019
    XPost: alt.sources

    Archive-name: elmME+2.5/PLalpha50.1

    Elm ME+ 2.5 PLalpha50

    Before applying patch catenate parts 1 - 7 first.
    Also it should be possible to apply parts 1 - 7
    individually.

    Part 0 does not include patch.

    This patch is agaist Elm ME+ 2.5 PLalpha47

    ====================================== ( part 1/7 ) =========
    For applying thich patch use (on directory where Configure is)

    patch -p1 < {this-file}

    ------------------------------------------------------------------------
    Index: elmME+.2.5.alpha50-cvs/hdrs/patchlevel.h
    Prereq: 1570000000
    *** elmME+.2.5.alpha49/hdrs/patchlevel.h Tue Dec 25 20:13:54 2018
    --- elmME+.2.5.alpha50-cvs/hdrs/patchlevel.h Mon Jun 3 19:21:04 2019 ***************
    *** 1,12 ****
    ! #define PATCHLEVEL "alpha49"
    /* Used by Configure:
    ! SHAREDTAG: .1.1.49
    */
    ! #define LAST_REPORT_TIME 1570000000
    #define BUG_REPORT_ADDR "Kari Hurtta <elm@elmme-mailer.org>"
    ! #define VERS_DATE "Jan 2019" /* for elm -v option */
    #define WHAT_STRING \
    ! "@(#) Version ME+ 2.5, USENET supported version, released Jan 2019"

    /*
    * Local Variables:
    --- 1,12 ----
    ! #define PATCHLEVEL "alpha50"
    /* Used by Configure:
    ! SHAREDTAG: .1.1.50
    */
    ! #define LAST_REPORT_TIME 1590000000
    #define BUG_REPORT_ADDR "Kari Hurtta <elm@elmme-mailer.org>"
    ! #define VERS_DATE "Jun 2019" /* for elm -v option */
    #define WHAT_STRING \
    ! "@(#) Version ME+ 2.5, USENET supported version, released Jun 2019"

    /*
    * Local Variables:
    Index: elmME+.2.5.alpha50-cvs/README.ME+
    *** elmME+.2.5.alpha49/README.ME+ Tue Dec 25 20:13:54 2018
    --- elmME+.2.5.alpha50-cvs/README.ME
  • From Kari Hurtta@21:1/5 to All on Mon Jun 10 20:51:29 2019
    XPost: alt.sources

    Archive-name: elmME+2.5/PLalpha50.1

    Elm ME+ 2.5 PLalpha50

    Before applying patch catenate parts 1 - 7 first.
    Also it should be possible to apply parts 1 - 7
    individually.

    Part 0 does not include patch.

    This patch is agaist Elm ME+ 2.5 PLalpha49

    ====================================== ( part 1/7 ) =========
    For applying thich patch use (on directory where Configure is)

    patch -p1 < {this-file}

    ------------------------------------------------------------------------
    Index: elmME+.2.5.alpha50-cvs/hdrs/patchlevel.h
    Prereq: 1570000000
    *** elmME+.2.5.alpha49/hdrs/patchlevel.h Tue Dec 25 20:13:54 2018
    --- elmME+.2.5.alpha50-cvs/hdrs/patchlevel.h Mon Jun 3 19:21:04 2019 ***************
    *** 1,12 ****
    ! #define PATCHLEVEL "alpha49"
    /* Used by Configure:
    ! SHAREDTAG: .1.1.49
    */
    ! #define LAST_REPORT_TIME 1570000000
    #define BUG_REPORT_ADDR "Kari Hurtta <elm@elmme-mailer.org>"
    ! #define VERS_DATE "Jan 2019" /* for elm -v option */
    #define WHAT_STRING \
    ! "@(#) Version ME+ 2.5, USENET supported version, released Jan 2019"

    /*
    * Local Variables:
    --- 1,12 ----
    ! #define PATCHLEVEL "alpha50"
    /* Used by Configure:
    ! SHAREDTAG: .1.1.50
    */
    ! #define LAST_REPORT_TIME 1590000000
    #define BUG_REPORT_ADDR "Kari Hurtta <elm@elmme-mailer.org>"
    ! #define VERS_DATE "Jun 2019" /* for elm -v option */
    #define WHAT_STRING \
    ! "@(#) Version ME+ 2.5, USENET supported version, released Jun 2019"

    /*
    * Local Variables:
    Index: elmME+.2.5.alpha50-cvs/README.ME+
    *** elmME+.2.5.alpha49/README.ME+ Tue Dec 25 20:13:54 2018
    --- elmME+.2.5.alpha50-cvs/README.ME
  • From Kari Hurtta@21:1/5 to All on Mon Jun 10 20:53:28 2019
    XPost: alt.sources

    Archive-name: elmME+2.5/PLalpha50.3

    Elm ME+ 2.5 PLalpha50

    Before applying patch catenate parts 1 - 7 first.
    Also it should be possible to apply parts 1 - 7
    individually.

    Part 0 does not include patch.

    This patch is agaist Elm ME+ 2.5 PLalpha49

    ====================================== ( part 3/7 ) =========
    Index: elmME+.2.5.alpha50-cvs/lib/mbox/mbox.c
    *** elmME+.2.5.alpha49/lib/mbox/mbox.c Sun Feb 4 21:36:28 2018
    --- elmME+.2.5.alpha50-cvs/lib/mbox/mbox.c Sat May 11 18:54:00 2019 ***************
    *** 1,7 ****
    ! static char rcsid[] = "@(#)$Id: mbox.c,v 2.25 2017/11/18 16:49:26 hurtta Exp $";

    /******************************************************************************
    ! * The Elm (ME+) Mail System - $Revision: 2.25 $ $State: Exp $
    *
    * Author: Kari Hurtta <hurtta+elm@siilo.FMI.FI>
    * (was hurtta+elm@posti.FMI.FI, hurtta+elm@ozone.FMI.FI) --- 1,7 ----
    ! static char rcsid[] = "@(#)$Id: mbox.c,v 2.30 2019/05/11 15:54:00 hurtta Exp $";

    /******************************************************************************
    ! * The Elm (ME+) Mail System - $Revision: 2.30 $ $State: Exp $
    *
    * Author: Kari Hurtta <hurtta+elm@siilo.FMI.FI>
    * (was hurtta+elm@posti.FMI.FI, hurtta+elm@ozone.FMI.FI) ***************
    *** 30,35 ****
    --- 30,41 ----
    extern int errno;
    #endif

    + static unsigned char * s2us P_((char *str));
    + static unsigned char * s
  • From Kari Hurtta@21:1/5 to All on Mon Jun 10 20:52:35 2019
    XPost: alt.sources

    Archive-name: elmME+2.5/PLalpha50.2

    Elm ME+ 2.5 PLalpha50

    Before applying patch catenate parts 1 - 7 first.
    Also it should be possible to apply parts 1 - 7
    individually.

    Part 0 does not include patch.

    This patch is agaist Elm ME+ 2.5 PLalpha49

    ====================================== ( part 2/7 ) =========
    Index: elmME+.2.5.alpha50-cvs/lib/mbox/hashmark_remote.c
    *** elmME+.2.5.alpha49/lib/mbox/hashmark_remote.c Tue Dec 25 20:13:54 2018
    --- elmME+.2.5.alpha50-cvs/lib/mbox/hashmark_remote.c Tue May 7 20:49:09 2019
    ***************
    *** 1,7 ****
    ! static char rcsid[] = "@(#)$Id: hashmark_remote.c,v 2.8 2018/07/28 11:20:08 hurtta Exp $";

    /******************************************************************************
    ! * The Elm (ME+) Mail System - $Revision: 2.8 $ $State: Exp $
    *
    * Author: Kari Hurtta <hurtta+elm@siilo.FMI.FI>
    * or Kari Hurtta <elm@elmme-mailer.org>
    --- 1,7 ----
    ! static char rcsid[] = "@(#)$Id: hashmark_remote.c,v 2.9 2019/05/07 17:49:09 hurtta Exp $";

    /******************************************************************************
    ! * The Elm (ME+) Mail System - $Revision: 2.9 $ $State: Exp $
    *
    * Author: Kari Hurtta <hurtta+elm@siilo.FMI.FI>
    * or Kari Hurtta <elm@elmme-mailer.org>
    ***************
    *** 3114,3122 ****
    return;
    }

    ! if ((*rdata)->CX)
    ! free_connection(& ((*rdata)->CX));

    if ((*rdata)->ra)
    free_remote_account(&
  • From Kari Hurtta@21:1/5 to All on Mon Jun 10 20:54:31 2019
    XPost: alt.sources

    Archive-name: elmME+2.5/PLalpha50.4

    Elm ME+ 2.5 PLalpha50

    Before applying patch catenate parts 1 - 7 first.
    Also it should be possible to apply parts 1 - 7
    individually.

    Part 0 does not include patch.

    This patch is agaist Elm ME+ 2.5 PLalpha49

    ====================================== ( part 4/7 ) =========
    Index: elmME+.2.5.alpha50-cvs/lib/mbox/pop.c
    *** elmME+.2.5.alpha49/lib/mbox/pop.c Tue Dec 25 20:13:54 2018
    --- elmME+.2.5.alpha50-cvs/lib/mbox/pop.c Tue May 7 20:49:09 2019 ***************
    *** 1,7 ****
    ! static char rcsid[] = "@(#)$Id: pop.c,v 2.27 2018/12/01 08:19:44 hurtta Exp $";

    /******************************************************************************
    ! * The Elm (ME+) Mail System - $Revision: 2.27 $ $State: Exp $
    *
    * Author: Kari Hurtta <hurtta+elm@siilo.FMI.FI>
    * (was hurtta+elm@posti.FMI.FI, hurtta+elm@ozone.FMI.FI) --- 1,7 ----
    ! static char rcsid[] = "@(#)$Id: pop.c,v 2.32 2019/05/07 17:49:09 hurtta Exp $";

    /******************************************************************************
    ! * The Elm (ME+) Mail System - $Revision: 2.32 $ $State: Exp $
    *
    * Author: Kari Hurtta <hurtta+elm@siilo.FMI.FI>
    * (was hurtta+elm@posti.FMI.FI, hurtta+elm@ozone.FMI.FI) ***************
    *** 37,42 ****
    --- 37,48 ----



    + #if ANSI_C
    + #define S_(x) static x;
    + #else
    + #define S_(x)
    + #endif
    +


    struct uidl_entry
  • From Kari Hurtta@21:1/5 to All on Mon Jun 10 20:55:12 2019
    XPost: alt.sources

    Archive-name: elmME+2.5/PLalpha50.5

    Elm ME+ 2.5 PLalpha50

    Before applying patch catenate parts 1 - 7 first.
    Also it should be possible to apply parts 1 - 7
    individually.

    Part 0 does not include patch.

    This patch is agaist Elm ME+ 2.5 PLalpha49

    ====================================== ( part 5/7 ) =========
    Index: elmME+.2.5.alpha50-cvs/src/elm.c
    *** elmME+.2.5.alpha49/src/elm.c Tue Dec 25 20:13:54 2018
    --- elmME+.2.5.alpha50-cvs/src/elm.c Tue May 7 20:49:09 2019 ***************
    *** 1,7 ****
    ! static char rcsid[] = "@(#)$Id: elm.c,v 2.40 2018/12/13 18:01:46 hurtta Exp $";

    /*****************************************************************************
    ! * The Elm (ME+) Mail System - $Revision: 2.40 $ $State: Exp $
    *
    * Modified by: Kari Hurtta <hurtta+elm@siilo.FMI.FI>
    * (was hurtta+elm@posti.FMI.FI, hurtta+elm@ozone.FMI.FI)
    --- 1,7 ----
    ! static char rcsid[] = "@(#)$Id: elm.c,v 2.46 2019/05/07 17:49:09 hurtta Exp $";

    /*****************************************************************************
    ! * The Elm (ME+) Mail System - $Revision: 2.46 $ $State: Exp $
    *
    * Modified by: Kari Hurtta <hurtta+elm@siilo.FMI.FI>
    * (was hurtta+elm@posti.FMI.FI, hurtta+elm@ozone.FMI.FI)
    ***************
    *** 93,98 ****
    --- 93,99 ----

    void forget_passphrase()
    {
    +

    if (use_PGP &&
    pgp_void_passphrase())
    ********
  • From Kari Hurtta@21:1/5 to All on Mon Jun 10 20:56:34 2019
    XPost: alt.sources

    Archive-name: elmME+2.5/PLalpha50.7

    Elm ME+ 2.5 PLalpha50

    Before applying patch catenate parts 1 - 7 first.
    Also it should be possible to apply parts 1 - 7
    individually.

    Part 0 does not include patch.

    This patch is agaist Elm ME+ 2.5 PLalpha49

    ====================================== ( part 7/7 ) =========
    Index: elmME+.2.5.alpha50-cvs/src/thread.c
    *** elmME+.2.5.alpha49/src/thread.c Tue Dec 25 20:13:54 2018
    --- elmME+.2.5.alpha50-cvs/src/thread.c Mon Mar 11 20:23:56 2019 ***************
    *** 1,7 ****
    ! static char rcsid[] = "@(#)$Id: thread.c,v 2.16 2018/08/01 09:36:26 hurtta Exp $";

    /******************************************************************************
    ! * The Elm (ME+) Mail System - $Revision: 2.16 $ $State: Exp $
    *
    * Author: Kari Hurtta <hurtta+elm@siilo.FMI.FI> (was hurtta+elm@posti.FMI.FI)
    * or Kari Hurtta <elm@elmme-mailer.org>
    --- 1,7 ----
    ! static char rcsid[] = "@(#)$Id: thread.c,v 2.17 2019/03/11 18:23:56 hurtta Exp $";

    /******************************************************************************
    ! * The Elm (ME+) Mail System - $Revision: 2.17 $ $State: Exp $
    *
    * Author: Kari Hurtta <hurtta+elm@siilo.FMI.FI> (was hurtta+elm@posti.FMI.FI)
    * or Kari Hurtta <elm@elmme-mailer.org>
    ***************
    *** 1176,1182 ****
    update = 1;
    }

    ! new_mail_check(mailbox, page, &LOC);

    if (update_view(mailbox)) {
    upda
  • From Kari Hurtta@21:1/5 to All on Mon Jun 10 20:55:53 2019
    XPost: alt.sources

    Archive-name: elmME+2.5/PLalpha50.6

    Elm ME+ 2.5 PLalpha50

    Before applying patch catenate parts 1 - 7 first.
    Also it should be possible to apply parts 1 - 7
    individually.

    Part 0 does not include patch.

    This patch is agaist Elm ME+ 2.5 PLalpha49

    ====================================== ( part 6/7 ) =========
    Index: elmME+.2.5.alpha50-cvs/src/messages/partial.c
    *** elmME+.2.5.alpha49/src/messages/partial.c Sat May 21 10:02:24 2016
    --- elmME+.2.5.alpha50-cvs/src/messages/partial.c Tue May 7 20:49:09 2019
    ***************
    *** 1,7 ****
    ! static char rcsid[] = "@(#)$Id: partial.c,v 2.12 2016/03/21 20:26:15 hurtta Exp $";

    /******************************************************************************
    ! * The Elm (ME+) Mail System - $Revision: 2.12 $ $State: Exp $
    *
    * Author: Kari Hurtta <hurtta+elm@siilo.FMI.FI>
    * (was hurtta+elm@posti.FMI.FI, hurtta+elm@ozone.FMI.FI) --- 1,7 ----
    ! static char rcsid[] = "@(#)$Id: partial.c,v 2.13 2019/05/07 17:49:09 hurtta Exp $";

    /******************************************************************************
    ! * The Elm (ME+) Mail System - $Revision: 2.13 $ $State: Exp $
    *
    * Author: Kari Hurtta <hurtta+elm@siilo.FMI.FI>
    * (was hurtta+elm@posti.FMI.FI, hurtta+elm@ozone.FMI.FI) ***************
    *** 67,77 ****


    S_(mt_free_mailbox mt_free_partial)
    ! static void mt_free_partial P_((struct MailboxView *mbx));
    ! sta
  • From Kari Hurtta@21:1/5 to All on Tue Jun 18 16:11:00 2019
    XPost: alt.sources

    Archive-name: elmME+2.5/PLalpha50a

    Elm ME+ 2.5 PLalpha50a patch is available with

    <URL: http://www.elmme-mailer.org/elm-ME+2.5/PLalpha50br/elm-ME+2.5.PLalpha50a.patch.gz >

    SUMMARY: This patch fixes "frm", "newmail" and "readmsg"
    -commands crash on startup when prepare_read_folder() is called.


    This patch is agaist Elm ME+ 2.5 PLalpha50

    For applying thich patch use (on directory where Configure is)

    patch -p1 < {this-file}

    ------------------------------------------------------------------------
    Index: elmME+.2.5.alpha50a-cvs/hdrs/patchlevel.h
    Prereq: 1590000000
    *** elmME+.2.5.alpha50/hdrs/patchlevel.h Thu Jun 6 21:00:46 2019
    --- elmME+.2.5.alpha50a-cvs/hdrs/patchlevel.h Thu Jun 13 21:26:58 2019 ***************
    *** 1,8 ****
    ! #define PATCHLEVEL "alpha50"
    /* Used by Configure:
    ! SHAREDTAG: .1.1.50
    */
    ! #define LAST_REPORT_TIME 1590000000
    #define BUG_REPORT_ADDR "Kari Hurtta <elm@elmme-mailer.org>"
    #define VERS_DATE "Jun 2019" /* for elm -v option */
    #define WHAT_STRING \
    --- 1,8 ----
    ! #define PATCHLEVEL "alpha50a"
    /* Used by Configure:
    ! SHAREDTAG: .1.1.50.1
    */
    ! #define LAST_REPORT_TIME 1591000000
    #define BUG_REPORT_ADDR "Kari Hurtta <elm@elmme-mailer.org>"
    #define VERS_DATE "Jun 2019" /* for elm -v option */
    #define WHAT_STRING \
    Index: elmME+.2.5.alpha50a-cvs/README.ME+
    *** elmME+.2.5.alpha50/README.ME+ Thu Jun 6 21:00:46 2019
    --- elmME+.2.5.alpha50a-cvs/README.ME+ Thu Jun 13 21:26:58 2019 ***************
    *** 1,4 ****
    ! $Header: /home/users/hurtta/cvsroot/mail/elmme+/README.ME+,v 2.928 2019/06/03 16:21:04 hurtta Exp $

    Version Elm2.4ME+ PL0 (25) is based
  • From Kari Hurtta@21:1/5 to All on Wed Jun 26 19:15:46 2019
    Experimental RPM spec file for ELM ME+ 2.5 PLalpha50a
    exists on <URL: http://www.elmme-mailer.org/rpm/elm-ME+2.5.html >
    directory.

    Files are following

    - http://www.elmme-mailer.org/rpm/elm-ME+2.5.alpha50a-1.spec
    RPM spec file
    - http://www.elmme-mailer.org/rpm/elm-ME+2.5.alpha50a-1.spec.elm-key-2018.sig
    - http://www.elmme-mailer.org/rpm/elm-ME+2.5.alpha50a-1.spec.sig
    - http://www.elmme-mailer.org/rpm/elm-ME+2.5.alpha50a-1.fdr19.src.rpm
    Source rpm

    ** Notes

    - rpmbuild -ba elm-ME+2.5.alpha50a-1.spec or rpmbuild --rebuild
    elm-ME+2.5.alpha50a-1.fdr19.src.rpm warns that "prereq is
    deprecated", but that is required on Linux Mandrake release 7.2
    where older rpm -package is build.
    - elm-ME+2.5.alpha50a-1.fdr19.src.rpm is signed internally with GPG
    key elm.key.2018.asc (44FC796B 2018-12-01).

    * 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.alpha50a-1.mdk7.2.i686.rpm
    Package elm binary RPM build on Linux Mandrake release 7.2
    - http://www.elmme-mailer.org/rpm/elm-ME+2.5.alpha50a-1.mdk7.2.i686.rpm.sig
    - http://www.elmme-mailer.org/rpm/elm-mod-ME+2.5.alpha50a-1.mdk7.2.i686.rpm
    Package elm-mod binary RPM build on Linux Mandrake release 7.2
    - http://www.elmme-mailer.org/rpm/elm-tls-ME+2.5.alpha50a-1.mdk7.2.i686.rpm
    Package elm-tls binary RPM build on Linux Mandrake release 7.2
    - http://www.elmme-mailer.org/rpm/elm-tls-ME+2.5.alpha50a-1.mdk7.2.i686.rpm.sig

    ** Notes

    - elm-ME+2.5.alpha50a-1.mdk7.2.i686.rpm and
    elm-*-ME+2.5.alpha50a-1.mdk7.2.i686.rpm are signed internally with
    GPG key elm.key.2018.asc (44FC796B 2018-12-01).
    - elm-ME+2.5.alpha50a-1.mdk7.2.i686.rpm is compiled agaist Sendmail
    8.13 (not from Mandrake distribution).
    - elm-mod-ME+2.5.alpha50a-1.mdk7.2.i686.rpm does not include
    libelmme-resolv.so.
    - elm-tls-ME+2.5.alpha50a-1.mdk7.2.i686.rpm do not load/work on
    Mandrake 7.2, because openssl library misses RAND_egd_bytes
    function.

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

    - http://www.elmme-mailer.org/rpm/elm-ME+2.5.alpha50a-1.fdr19.i686.rpm
    Package elm binary RPM build on Fedora release 19
    - http://www.elmme-mailer.org/rpm/elm-ME+2.5.alpha50a-1.fdr19.i686.rpm.sig
    - http://www.elmme-mailer.org/rpm/elm-debuginfo-ME+2.5.alpha50a-1.fdr19.i686.rpm
    Package elm-debuginfo binary RPM build on Fedora release 19
    - http://www.elmme-mailer.org/rpm/elm-mod-ME+2.5.alpha50a-1.fdr19.i686.rpm
    Package elm-mod binary RPM build on Fedora release 19
    - http://www.elmme-mailer.org/rpm/elm-mod-ME+2.5.alpha50a-1.fdr19.i686.rpm.sig
    - http://www.elmme-mailer.org/rpm/elm-tls-ME+2.5.alpha50a-1.fdr19.i686.rpm
    Package elm-tls binary RPM build on Fedora release 19
    - http://www.elmme-mailer.org/rpm/elm-tls-ME+2.5.alpha50a-1.fdr19.i686.rpm.sig

    ** Notes

    - elm-ME+2.5.alpha50a-1.fdr19.i686.rpm and
    elm-*-ME+2.5.alpha50a-1.fdr19.i686.rpm are signed internally with
    GPG key elm.key.2018.asc (44FC796B 2018-12-01).
    - elm-ME+2.5.alpha50a-1.spec do not have %package debuginfo, but
    rpmbuild -ba elm-ME+2.5.alpha50a-1.spec build
    elm-debuginfo-ME+2.5.alpha50a-1.fdr19.i686.rpm anyway.

    * Signatures

    {file}.sig PGP signature (old key pubkey.asc, EA5A2379 1996-04-23)
    {file}.elm-key-2018.sig GPG signature (key elm.key.2018.asc, 44FC796B 2018-12-01, expires: 2028-11-28)

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

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

    Also following directories are used:

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

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

    Elm ME+ 2.5 PLalpha50a changelog

    Changes on Elm ME+ 2.5 PLalpha50a compared with Elm ME+ 2.5 PLalpha50 ---------------------------------------------------------------------

    [ This patch is branch from the main line. ]

    SUMMARY: This patch fixes "frm", "newmail" and "readmsg"
    -commands crash on startup when
    prepare_read_folder() is called.

    - "newmail core dumps in elmME+.2.5.alpha50 on CentOS 7."
    Reported by: Noam G. Nudelman
    > Fixed crash on prepare_read_folder()
    when called from "frm", "newmail" or
    "readmsg".

    Changes on Elm ME+ 2.5 PLalpha50 compared with Elm ME+ 2.5 PLalpha49 --------------------------------------------------------------------

    SUMMARY: This release adds new magic numbers for
    JPG (EXIF), better reconnection handling
    for broken IMAP connections and 'Er'
    (reconnect) command. This release allows
    interrupting stalled connection with
    interrupt character (Ctrl-C) on new mail
    check and 'X' (Quick Exit) command. Other
    commands still are stuck if connection
    is stalled. Also some other changes and
    fixes are included.

    - Changed magic number of image/jpeg on
    lib/misc/mime_types.c

    RFC 2046 says: "An initial subtype is "jpeg" for the JPEG format
    using JFIF encoding [JPEG]."

    > Also adds Digital camera JPG using
    Exchangeable Image File Format (EXIF) as
    image/jpeg.

    - Exported wday_from_year_month_day()
    from lib/addr/outheaders.c
    - Changed that lib/mbox/imap.c generates
    real weekday name to From -separator line
    (was using "XXX" as weekday name).

    - Changed mbx_copy_envelope_pop() to use
    return_path_to_env_from_1() for generating From
    -separator address as mbx_copy_envelope_imap()
    is using.

    - Changed screen update on read_headers()

    - Changed header allocation on read_headers()
    - Added malloc_header_rec() and free_header_rec()
    to src/messages/header_alloc.c

    - Fixed handling of mails which arrive to
    IMAP mailbox when mailbox is read (opened).
    - Changed prototype of copy_envelope_end_folder(),
    mbx_copy_envelope_end_folder()
    - Changed parse_body_routine() on src/newmbox.c

    - If IMAP mailbox connection is broken,
    after reconnection different
    temp folder is used when mails
    are read from mailbox.
    * If different temp folder is used
    all mails are no longer included
    as new mails to mail listing with mails
    before connection was broken.
    - When POP connection is re$yncronized
    different temp folder is used.
    (POP mailbox also always reopen
    connection when mailbox is
    re$yncronized).
    - If messages are EXPUNGEd from IMAP
    folder, different temp folder is used
    when mail is re$yncronized.
    - If skipped mail is later loaded
    from IMAP folder, different temp folder
    is used when mail is re$yncronized.

    - Added 'Er' command for reconnect broken
    mailbox connections.
    - Added update_selected_counter(),
    found_disconnected(), ReconnectMailbox() and
    ReconnectMailboxPost() to src/reconnect.c

    - If IMAP / POP mailbox connection is
    broken, some hint from
    Use 'X' for Quick Exit
    XXX disconnected and failed. Use 'Er' for reconnecting or 'X' for Quick Exit
    XXX disconnected. Use 'Er' for reconnecting broken connection
    XXX failed. Use 'X' for Quick Exit
    is given, where XXX is some from
    POP mailbox
    IMAP mailbox
    IMAP folder
    Read-only IMAP folder
    > However re$yncronize command may try reconnect
    IMAP or POP mailbox connection.

    - Changed prototype of
    prepare_read_folder(), end_read_folder(),
    copy_envelope_folder(), sessionlock_folder(),
    open_folder_lock(), new_mail_check(),
    flush_folder()

    - Changed prototype of mbx_prepare_read_folder(),
    mbx_end_read_folder(), mbx_sessionlock_folder(),
    mbx_flush_folder(), mbx_flush_temp()
    - Added search_previous_header(),
    copy_previous_mail(), free_reconnect_mode(),
    malloc_reconnect_mode() to lib/mbox/mbox.c

    - Added
    unsigned int was_reconnected :1;
    unsigned int got_skipped_mail :1;
    to struct folder_info
    - Added
    int uidvalidity;
    unsigned int got_EXPUNGE :1;
    to struct IMAP_MBX

    - Changed prototype of end_edit_folder()
    - Changed prototype of mbx_end_edit_folder()

    - Changed sync_mbox(), usr1_signal(), usr2_signal(),
    resync(), visit_mailbox_loop(), change_file()
    - Added reconnect_mails() to src/newmbox.c

    - Changed prototype of newmbox_1()
    - Changed prototype of file_bytes()
    - Changed prototype of show_last_error()

    - Changed file_bytes() on lib/file_util.c

    - Fixed error message on check_mailfile_size()

    - Fixed error where re$yncronizing
    POP mailbox shows ridiculous
    large percents when loading mails.

    - Added sessionlock_create_tempfolder()
    to lib/mbox/mbox_generic.c
    - Added mbx_prepare_read_reconnect()
    to lib/mbox/remote_mbx.c
    - Changed mbx_sessionlock_pop(),
    mbx_sessionlock_spool(), mbx_sessionlock_imap()
    - Added mbx_comp_prev_hdr_folder(),
    mbx_update_prev_hdr_folder()
    - Added mbx_comp_prev_hdr_default(),
    mbx_update_prev_hdr_default () to
    lib/mbox/mbox_generic.c
    - Exported adjust_content_remaining from
    lib/mbox/localmbx.c
    - Added struct copy_previous_rs * reconnect_copy_previous
    to struct read_folder_state.
    - Changed copy_header_folder(),
    copy_body_folder(), copy_envelope_end_folder()
    on lib/mbox/mbox.c

    - Changed new_mail_on_folder(), new_mail_check(),
    main_messages_loop()

    - Moved addr_is_same() from src/messages/duplicate.c
    to lib/addr/duplicate.c as addr_list_is_same()
    - Added message_id_to_string() to
    lib/addr/message-id.c
    - Added references_to_string() to
    lib/addr/references.c

    - Fix for debug_message() on src/elm.c

    - Message
    Checking new mail...
    is shown on new mail check after
    0.5 second delay when checking remote mailbox
    (IMAP mailbox). Check may be cancelable with
    interrupt character (Ctrl-C) but remote
    mailbox connection may be disconnected.
    - Added start_imap_command_c(), imap_command_ok_c(),
    imap_clear_command_c() to lib/mbox/con_imap.c

    - Message
    Leaving mailbox ...
    is shown on eXiting main mailbox
    screen after 2 second delay if remote
    mailbox is stalled. Wait may be cancelable with
    interrupt character (Ctrl-C).
    - Changed prototype of free_mailbox(), free_storage(),
    leave_old_folder(), close_folder(),
    close_connection(), free_connection(),
    free_mailbox(), free_all_mailboxes(),
    free_connection(), close_cached_connections()
    - Changed prototype of mbx_close_folder(),
    cache_close_connection(), mt_free_mailbox(),
    mbx_free_folder()

    - Take account artificial "From " separator line
    when estimating IMAP mailfile size (temp
    folder size). This affects percent display
    when reading mailbox.

    New files:
    lib/addr/duplicate.c
    src/reconnect.c

    Warnings
    --------

    - 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
    message.

    - 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
    charset.

    - 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.4.3.3.26 (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
    mapping
    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
    -misc-fixed-medium-r-normal--12-200-75-75-c-100-iso8859-1
    and not
    -misc-fixed-medium-r-normal--12-200-75-75-c-100-iso8859-15

    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.)

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

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Kari Hurtta@21:1/5 to All on Fri Jun 28 09:49:05 2019
    Experimental DEB generator script for ELM ME+ 2.5 PLalpha50a
    exists on <URL: http://www.elmme-mailer.org/deb/elm-ME+2.5.html >
    directory.

    Files are following

    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha50a-1.gen_deb
    DEB generator script
    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha50a-1.gen_deb.elm-key-2018.sig
    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha50a-1.gen_deb.sig

    A command

    elm-ME+2.5.alpha50a-1.gen_deb {packager}

    generates package elmme with version 1.1.50.1-1.{distribution}.

    A command

    elm-ME+2.5.alpha50a-1.gen_deb --nonew {packager}

    generates package elm with version ME+2.5.alpha50a-1.{distribution}.

    Both commands produce package with filename elm-ME+2.5.alpha50a-1.{distribution}.{arch}.deb.

    Module libelmme-resolv.so is included for all distributions below, but libelmme-resolv.so does not implement interruptible DNS queries on all distributions.

    == Old package names, i386

    Package elm with version ME+2.5.alpha50a-1.{distribution} and
    architecture i386.

    * Compiled on Debian GNU/Linux 3.1
    (Linux 2.4, glibc 2.3, Exim 3.36)

    - http://www.elmme-mailer.org/deb/old/elm-ME+2.5.alpha50a-1.Debian3.1.i386.deb
    Package elm binary DEB build on Debian GNU/Linux 3.1
    - http://www.elmme-mailer.org/deb/old/elm-ME+2.5.alpha50a-1.Debian3.1.i386.deb.elm-key-2018.sig
    - http://www.elmme-mailer.org/deb/old/elm-ME+2.5.alpha50a-1.Debian3.1.i386.deb.sig

    Module libelmme-resolv.so does not implement interruptible DNS queries
    on Debian GNU/Linux 3.1.

    * Compiled on Ubuntu 6.06.2 LTS
    (Linux 2.6, glibc 2.3, Sendmail 8.13)

    - http://www.elmme-mailer.org/deb/old/elm-ME+2.5.alpha50a-1.Ubuntu6.06.i386.deb
    Package elm binary DEB build on Ubuntu 6.06.2 LTS
    - http://www.elmme-mailer.org/deb/old/elm-ME+2.5.alpha50a-1.Ubuntu6.06.i386.deb.elm-key-2018.sig
    - http://www.elmme-mailer.org/deb/old/elm-ME+2.5.alpha50a-1.Ubuntu6.06.i386.deb.sig

    * Compiled on Ubuntu 10.04.4 LTS
    (Linux 2.6, glibc 2.11, Sendmail 8.14)

    - http://www.elmme-mailer.org/deb/old/elm-ME+2.5.alpha50a-1.Ubuntu10.04.i386.deb
    Package elm binary DEB build on Ubuntu 10.04.4 LTS
    - http://www.elmme-mailer.org/deb/old/elm-ME+2.5.alpha50a-1.Ubuntu10.04.i386.deb.elm-key-2018.sig
    - http://www.elmme-mailer.org/deb/old/elm-ME+2.5.alpha50a-1.Ubuntu10.04.i386.deb.sig

    == New package names, i386

    Package elmme with version 1.1.50.1-1.{distribution} and architecture
    i386.

    * Compiled on Ubuntu 10.04.4 LTS
    (Linux 2.6, glibc 2.11, Sendmail 8.14)

    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha50a-1.Ubuntu10.04.i386.deb
    Package elmme binary DEB build on Ubuntu 10.04.4 LTS
    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha50a-1.Ubuntu10.04.i386.deb.elm-key-2018.sig
    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha50a-1.Ubuntu10.04.i386.deb.sig

    * Compiled on Ubuntu 14.04.5 LTS
    (Linux 4.4, glibc 2.19, no MTA)

    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha50a-1.Ubuntu14.04.i386.deb
    Package elmme binary DEB build on Ubuntu 14.04.5 LTS
    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha50a-1.Ubuntu14.04.i386.deb.elm-key-2018.sig
    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha50a-1.Ubuntu14.04.i386.deb.sig

    * Compiled on Ubuntu 16.04.6 LTS
    (Linux 4.4, glibc 2.23, no MTA)

    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha50a-1.Ubuntu16.04.i386.deb
    Package elmme binary DEB build on Ubuntu 16.04.6 LTS
    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha50a-1.Ubuntu16.04.i386.deb.elm-key-2018.sig
    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha50a-1.Ubuntu16.04.i386.deb.sig

    == New package names, amd64 (x86_64)

    Package elmme with version 1.1.50.1-1.{distribution} and architecture
    amd64 (also known as x86_64).

    * Compiled on Ubuntu 16.04.6 LTS
    (Linux 4.4, glibc 2.23, Sendmail 8.15)

    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha50a-1.Ubuntu16.04.amd64.deb
    Package elmme binary DEB build on Ubuntu 16.04.6 LTS
    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha50a-1.Ubuntu16.04.amd64.deb.elm-key-2018.sig
    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha50a-1.Ubuntu16.04.amd64.deb.sig

    == Signatures

    {file}.sig PGP signature (old key pubkey.asc, EA5A2379 1996-04-23)
    {file}.elm-key-2018.sig GPG signature (key elm.key.2018.asc, 44FC796B 2018-12-01, expires: 2028-11-28)

    == 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
    - /usr/local/lib/elm.hashmarks

    Deb generator script 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)

    By default first value for mailname is read from /etc/mailname file.

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

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

    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 /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
    - /usr/local/lib/elm.hashmarks.NEW

    Also following directories are used:

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

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

    A command

    elm-{version}-{release}.gen_deb {packager}

    generates package elmme with version {library-version}-{release}.{distribution}. Note that a resulted
    filename of package is still elm-{version}-{release}.{arch}.deb. This
    version number is same than on files /usr/local/lib/libelmme-{module}.so.{library-version}. A filename of
    package is related to used source archive name, which is elm-{version}-{release}.tar.gz.

    A command

    elm-{version}-{release}.gen_deb --nonew {packager}

    generates package elm with version {version}-{release}.{distribution}.
    Also on this case a resulted filename of package is elm-{version}-{release}.{arch}.deb.

    Elm ME+ 2.5 PLalpha50a changelog

    Changes on Elm ME+ 2.5 PLalpha50a compared with Elm ME+ 2.5 PLalpha50 ---------------------------------------------------------------------

    [ This patch is branch from the main line. ]

    SUMMARY: This patch fixes "frm", "newmail" and "readmsg"
    -commands crash on startup when
    prepare_read_folder() is called.

    - "newmail core dumps in elmME+.2.5.alpha50 on CentOS 7."
    Reported by: Noam G. Nudelman
    > Fixed crash on prepare_read_folder()
    when called from "frm", "newmail" or
    "readmsg".

    Changes on Elm ME+ 2.5 PLalpha50 compared with Elm ME+ 2.5 PLalpha49 --------------------------------------------------------------------

    SUMMARY: This release adds new magic numbers for
    JPG (EXIF), better reconnection handling
    for broken IMAP connections and 'Er'
    (reconnect) command. This release allows
    interrupting stalled connection with
    interrupt character (Ctrl-C) on new mail
    check and 'X' (Quick Exit) command. Other
    commands still are stuck if connection
    is stalled. Also some other changes and
    fixes are included.

    - Changed magic number of image/jpeg on
    lib/misc/mime_types.c

    RFC 2046 says: "An initial subtype is "jpeg" for the JPEG format
    using JFIF encoding [JPEG]."

    > Also adds Digital camera JPG using
    Exchangeable Image File Format (EXIF) as
    image/jpeg.

    - Exported wday_from_year_month_day()
    from lib/addr/outheaders.c
    - Changed that lib/mbox/imap.c generates
    real weekday name to From -separator line
    (was using "XXX" as weekday name).

    - Changed mbx_copy_envelope_pop() to use
    return_path_to_env_from_1() for generating From
    -separator address as mbx_copy_envelope_imap()
    is using.

    - Changed screen update on read_headers()

    - Changed header allocation on read_headers()
    - Added malloc_header_rec() and free_header_rec()
    to src/messages/header_alloc.c

    - Fixed handling of mails which arrive to
    IMAP mailbox when mailbox is read (opened).
    - Changed prototype of copy_envelope_end_folder(),
    mbx_copy_envelope_end_folder()
    - Changed parse_body_routine() on src/newmbox.c

    - If IMAP mailbox connection is broken,
    after reconnection different
    temp folder is used when mails
    are read from mailbox.
    * If different temp folder is used
    all mails are no longer included
    as new mails to mail listing with mails
    before connection was broken.
    - When POP connection is re$yncronized
    different temp folder is used.
    (POP mailbox also always reopen
    connection when mailbox is
    re$yncronized).
    - If messages are EXPUNGEd from IMAP
    folder, different temp folder is used
    when mail is re$yncronized.
    - If skipped mail is later loaded
    from IMAP folder, different temp folder
    is used when mail is re$yncronized.

    - Added 'Er' command for reconnect broken
    mailbox connections.
    - Added update_selected_counter(),
    found_disconnected(), ReconnectMailbox() and
    ReconnectMailboxPost() to src/reconnect.c

    - If IMAP / POP mailbox connection is
    broken, some hint from
    Use 'X' for Quick Exit
    XXX disconnected and failed. Use 'Er' for reconnecting or 'X' for Quick Exit
    XXX disconnected. Use 'Er' for reconnecting broken connection
    XXX failed. Use 'X' for Quick Exit
    is given, where XXX is some from
    POP mailbox
    IMAP mailbox
    IMAP folder
    Read-only IMAP folder
    > However re$yncronize command may try reconnect
    IMAP or POP mailbox connection.

    - Changed prototype of
    prepare_read_folder(), end_read_folder(),
    copy_envelope_folder(), sessionlock_folder(),
    open_folder_lock(), new_mail_check(),
    flush_folder()

    - Changed prototype of mbx_prepare_read_folder(),
    mbx_end_read_folder(), mbx_sessionlock_folder(),
    mbx_flush_folder(), mbx_flush_temp()
    - Added search_previous_header(),
    copy_previous_mail(), free_reconnect_mode(),
    malloc_reconnect_mode() to lib/mbox/mbox.c

    - Added
    unsigned int was_reconnected :1;
    unsigned int got_skipped_mail :1;
    to struct folder_info
    - Added
    int uidvalidity;
    unsigned int got_EXPUNGE :1;
    to struct IMAP_MBX

    - Changed prototype of end_edit_folder()
    - Changed prototype of mbx_end_edit_folder()

    - Changed sync_mbox(), usr1_signal(), usr2_signal(),
    resync(), visit_mailbox_loop(), change_file()
    - Added reconnect_mails() to src/newmbox.c

    - Changed prototype of newmbox_1()
    - Changed prototype of file_bytes()
    - Changed prototype of show_last_error()

    - Changed file_bytes() on lib/file_util.c

    - Fixed error message on check_mailfile_size()

    - Fixed error where re$yncronizing
    POP mailbox shows ridiculous
    large percents when loading mails.

    - Added sessionlock_create_tempfolder()
    to lib/mbox/mbox_generic.c
    - Added mbx_prepare_read_reconnect()
    to lib/mbox/remote_mbx.c
    - Changed mbx_sessionlock_pop(),
    mbx_sessionlock_spool(), mbx_sessionlock_imap()
    - Added mbx_comp_prev_hdr_folder(),
    mbx_update_prev_hdr_folder()
    - Added mbx_comp_prev_hdr_default(),
    mbx_update_prev_hdr_default () to
    lib/mbox/mbox_generic.c
    - Exported adjust_content_remaining from
    lib/mbox/localmbx.c
    - Added struct copy_previous_rs * reconnect_copy_previous
    to struct read_folder_state.
    - Changed copy_header_folder(),
    copy_body_folder(), copy_envelope_end_folder()
    on lib/mbox/mbox.c

    - Changed new_mail_on_folder(), new_mail_check(),
    main_messages_loop()

    - Moved addr_is_same() from src/messages/duplicate.c
    to lib/addr/duplicate.c as addr_list_is_same()
    - Added message_id_to_string() to
    lib/addr/message-id.c
    - Added references_to_string() to
    lib/addr/references.c

    - Fix for debug_message() on src/elm.c

    - Message
    Checking new mail...
    is shown on new mail check after
    0.5 second delay when checking remote mailbox
    (IMAP mailbox). Check may be cancelable with
    interrupt character (Ctrl-C) but remote
    mailbox connection may be disconnected.
    - Added start_imap_command_c(), imap_command_ok_c(),
    imap_clear_command_c() to lib/mbox/con_imap.c

    - Message
    Leaving mailbox ...
    is shown on eXiting main mailbox
    screen after 2 second delay if remote
    mailbox is stalled. Wait may be cancelable with
    interrupt character (Ctrl-C).
    - Changed prototype of free_mailbox(), free_storage(),
    leave_old_folder(), close_folder(),
    close_connection(), free_connection(),
    free_mailbox(), free_all_mailboxes(),
    free_connection(), close_cached_connections()
    - Changed prototype of mbx_close_folder(),
    cache_close_connection(), mt_free_mailbox(),
    mbx_free_folder()

    - Take account artificial "From " separator line
    when estimating IMAP mailfile size (temp
    folder size). This affects percent display
    when reading mailbox.

    New files:
    lib/addr/duplicate.c
    src/reconnect.c

    Warnings
    --------

    - 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
    message.

    - 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
    charset.

    - 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.4.3.3.26 (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
    mapping
    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
    -misc-fixed-medium-r-normal--12-200-75-75-c-100-iso8859-1
    and not
    -misc-fixed-medium-r-normal--12-200-75-75-c-100-iso8859-15

    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.)

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

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Kari Hurtta@21:1/5 to All on Tue Feb 11 20:01:57 2020
    XPost: alt.sources

    Archive-name: elmME+2.5/PLalpha51.0

    Elm ME+ 2.5 PLalpha51

    Before applying this patch catenate parts 1 - 6 first.
    Also it should be possible to apply parts 1 - 6
    individually.

    Undo Elm ME+ 2.5 PLalpha50a patch before applying
    this patch.

    Part 0 does not include patch.

    This patch is agaist Elm ME+ 2.5 PLalpha50

    ====================================== ( part 0/6 ) =========
    Elm ME+ 2.5 PLalpha51

    Undo Elm ME+ 2.5 PLalpha50a patch before applying this patch.

    - Is available with
    <URL: http://www.elmme-mailer.org/elm-ME+2.5.PLalpha51.patch.gz >
    and <URL: http://www.elmme-mailer.org/elm-ME+2.5.alpha51.7f66dac3d5980f20f22cd3087d23c858.tar.gz >
    via http.

    - Is available with
    <URL: https://hurtta.kapsi.fi/elm-ME+2.5/elm-ME+2.5.PLalpha51.patch.gz >
    and <URL: https://hurtta.kapsi.fi/elm-ME+2.5/elm-ME+2.5.alpha51.7f66dac3d5980f20f22cd3087d23c858.tar.gz >
    via https.

    - Is available on ftp.funet.fi
    via anonymous ftp
    directory pub/mirrors/elmme-mailer.org/src/elm-ME+2.5/

    files elm-ME+2.5.PLalpha51.patch.gz
    and elm-ME+2.5.alpha51.7f66dac3d5980f20f22cd3087d23c858.tar.gz

    or is available with
    <URL: https://nic.funet.fi/pub/mirrors/elmme-mailer.org/src/elm-ME+2.5/elm-ME+2.5.PLalpha51.patch.gz >
    and <URL: https://nic.funet.fi/pub/mirrors/elmme-mailer.org/src/elm-ME+2.5/elm-ME+2.5.alpha51.7f66dac3d5980f20f22cd3087d23c858.tar.gz >
    via https.

    SUMMARY: This release collects patch Elm ME+ 2.5 PLalpha50a,
    fixes crash when mailbox is opened with -Oimaps://...
    option, supports IMAP quotas (RFC 2087), delays
    deletion of temp files used by intern mailcap,
    if view command completes too fast. New elmrc options
    are "show-mail-quota" and "mailcap-tempfile-lifetime".
    This releases adds new command 'Eu' to show mail quota
    (not affected by elmrc option "show-mail-quota").
    Also some other changes and fixes are included.

    Changes on Elm ME+ 2.5 PLalpha51 compared with Elm ME+ 2.5 PLalpha50 --------------------------------------------------------------------

    Undo Elm ME+ 2.5 PLalpha50a patch before applying this patch.

    SUMMARY: This release collects patch Elm ME+ 2.5 PLalpha50a,
    fixes crash when mailbox is opened with -Oimaps://...
    option, supports IMAP quotas (RFC 2087), delays
    deletion of temp files used by intern mailcap,
    if view command completes too fast. New elmrc options
    are "show-mail-quota" and "mailcap-tempfile-lifetime".
    This releases adds new command 'Eu' to show mail quota
    (not affected by elmrc option "show-mail-quota").
    Also some other changes and fixes are included.

    - "newmail core dumps in elmME+.2.5.alpha50 on CentOS 7."
    Reported by: Noam G. Nudelman
    > Fixed crash on prepare_read_folder()
    when called from "frm", "newmail" or
    "readmsg".

    - Small fix for span_line() and span_words()
    on src/pager/span_line.c
    - Small fix for span_helper()
    on src/pager/span_range.c

    - Fixed error where opening folder with
    elm -Oimaps://username@server/INBOX
    produces

    SCREEN PANIC in .../src/screen/menu_param.c:30:mp_lookup_any1
    >>>Bad type
    Call stack: B7514D11 812D83C 812D970 813AF41 813761C
    continues: 8105015 812FB88 8130EBA 8119377 80C3D5F
    continues: 80C5AF3 809F466 B72B5AF3 805EE91
    backtrace:
    /usr/local/lib/libelmme-base.so.1.1.50.1(panic+0x180)[0xb7514d11]
    elm[0x812d83c]
    elm(mp_lookup_integer+0x26)[0x812d970]
    elm(mc_screen_print_mbx_line+0x44)[0x813af41]
    elm(mcommon_screen_print_menu_line+0x3b)[0x813761c]
    elm(hdr_show_current+0x154)[0x8105015]
    elm[0x812fb88]
    elm(menu_header_change+0x1fc)[0x8130eba]
    elm(get_page+0xf1)[0x8119377]
    elm[0x80c3d5f]
    elm(url_messages_menu+0xf1)[0x80c5af3]
    elm(main+0x905)[0x809f466]
    /lib/i386-linux-gnu/libc.so.6(__libc_start_main+0xf3)[0xb72b5af3]

    - Added elmrc option "show-mail-quota".
    - Check IMAP quota when mailbox is opened if
    elmrc option "show-mail-quota" have value
    "on-open".

    RFC 2087: IMAP4 QUOTA extension

    - Option "show-mail-quota" values are:
    off Does not show mail quota on
    mailbox open (command 'Eu'
    still works).
    on-open Shows mail quota (if supported)
    on mailbox open (default).
    - Note that mailbox may have a mail quota even
    when it is not displayed.
    - Mail quota display does not show unit of
    mail usage or quota. That is not available.

    - Command 'Eu' shows quota usage. This is available
    also when "show-mail-quota" have value "off".

    - Added connection_set_reset_quota() to lib/mbox/connection.c
    - Added free_mail_quota(), free_mail_quotaroot_list(),
    free_mail_quotaroot(), free_mail_quota_item(),
    inc_mail_quota_refcount(), inc_mail_quotaroot_list_refcount(),
    quotaroot_list_len(), quotaroot_list_item(),
    quotaroot_list_mquota(), quotaroot_name(),
    quotaroot_item_count(), quotaroot_item(), quota_item_name(),
    quota_item_values(), mail_quota_unlink_con(),
    inc_mail_quotaroot_refcount(), inc_mail_quota_item_refcount()
    to lib/mbox/quota.c
    - Added give_folder_quotaroot_l(), have_folder_quota()
    to lib/mbox/mbox.c

    - Added menu_redraw_done() to src/screen/context.c

    - Message
    Checking mailbox ...
    is shown on screen when mailbox quota is read
    after 0.5 second delay if remote mailbox is stalled.

    - Removed some emergency_exit() calls from change_file()
    on src/quit.c
    - Added some prototypes to nls/gencat/genlib.c and nls/gencat/gencat.h
    - Changed newmbox_1() do not call rm_temps_exit()
    when reading of new mailbox fails (however on resync
    still calls rm_temps_exit() when reading of mailbox
    fails).

    - Added struct menu_context * page; to struct counter_data
    on src/newmbox.c
    - Fix cleanup of struct counter_data on failure.
    - Fixed EOF handling on verify_remote_url()

    - Use conv_from_imap_name() on imap_open_connection()
    at lib/mbox/imap.c

    - Added '%zu' to parse_format_args() and
    convert_number() on lib/output.c (for size_t)
    - Added '%zu' to SKIP_WIDTH() on lib/debug.c
    - Replaced int long_f with enum width_type long_f
    on struct format_elem

    - Replaced
    long len_or_value;
    with
    uint32 value;
    size_t str_len;
    on struct imap_token. 'number' on
    RFC 1730 (IMAP) is unsigned 32-bit integer.
    - Replaced
    long literal_len;
    with
    uint32 wanted_literal_len;
    on struct IMAP_CON
    - Exported
    const size_t size_MAX
    from lib/safemalloc.c;
    - Replaced
    int read_len;
    with
    size_t read_len;
    on
    struct Read_Buffer
    - Changed prototype of cut_line() to use size_t
    - Changed tokenize() to not use
    safe_malloc() to allocate literal.
    - Changed ReadFromSocket() to not use
    safe_realloc() to allocate buffer
    - Close connection, if literal len >= INT_MAX
    when reading from IMAP connection
    - Changed tokenize() to not use strtol()
    to parse literal length or other imap numbers.
    Added parse_imap_number() for that.
    - Added safe_array_size() to lib/safemalloc.c
    - Changed parse_response() to not use
    safe_array_realloc() when handling
    EXISTS response.
    - Changed debug_level_check() so that -d{class}:{level}
    have preference over -d{level} command line flag.

    - Do not call eval_condition() from
    signal handler on loc_info(), added
    int maybe_signal parameter
    > However if wait_can_signal is set,
    memory allocation is still safe.
    - Added int maybe_signal parameter
    to terminal_can_switch(), give_display_charsets(),
    switch_display_charset(), set_display_charset(),
    terminal_switch_to(), terminal_can_switch_to()

    - get_charset_MIME_name() may be called from signal
    handler

    - Added "mailcap-tempfile-lifetime" elmrc option which
    specifies minimum time on seconds which
    temporary file is kept before it is deleted
    when using internal mailcap. This is only available
    if system supports poll() or select(). If mailcap view
    commands exits before "mailcap-tempfile-lifetime" seconds,
    deletion of temporary file is delayed. This assumes that
    mailcap view command is used only to launch actual
    viewing application, that file is opened later.
    If system supports poll() or select(), default value
    is 5 seconds.
    - Added alloc_delay_unlink(), free_delay_unlink(),
    delay_unlink_add_name(), delay_unlink_mark_done(),
    inc_delay_unlink_recount to lib/delay_unlink.c
    - Added delay_unlink_from_state_decode() to
    melib/state_decode.c
    - Added struct delay_unlink * timer_unlink
    to struct in_state_decode
    - Changed const int * conditional_option_p
    on struct rc_save_info_rec to union.
    - Changed prototype of run_mailcap_view()
    - Changed free_timed_task_handle()
    - Added free_schedule() and
    timed_task_alter_cleanup() to lib/schedule.c
    - Changed freeing order on leave(),
    rm_temps_exit(), silently_exit(),
    leave_locked(), main() of Elm

    - Moved
    Closing connections...
    Leaving mailbox ...
    Checking mailbox ...
    to
    setup_mbx_cancel_message()
    on src/network.c

    - Prompt "Press a <enter> to abort or <enter> to exit: "
    on panic(). This is used only when /dev/tty is open
    and current pid is same that when /dev/tty opened.

    - Added message
    ---- Debug output truncated ----
    Lost XXXX characters.
    to debug file if all debug output was not buffered
    successfully.

    - Changed debug so that source file information is printed
    to debug after debug file is established (so that does not fill
    debug buffer on initial debug output).

    New elmrc options:
    show-mail-quota
    mailcap-tempfile-lifetime

    New files:
    lib/mbox/quota.c
    hdrs/quota_imp.h
    src/quotadisp.c
    lib/mbox/imap_quota.c
    src/command/quota_dispcmd.c
    lib/delay_unlink.c
    src/network.c


    Warnings
    --------

    - 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
    message.

    - 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
    charset.

    - 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.4.3.3.26 (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
    mapping
    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
    -misc-fixed-medium-r-normal--12-200-75-75-c-100-iso8859-1
    and not
    -misc-fixed-medium-r-normal--12-200-75-75-c-100-iso8859-15

    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.)

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


    diffstat:

    MANIFEST | 7
    README.ME+ | 248 ++
    doc/elm.1 | 2
    doc/elmalias.1 | 2
    doc/elmaliases-write.1 | 2
    doc/elmbindata.1 | 2
    doc/elmcharset.1 | 2
    doc/elmconfwriter.1 | 2
    doc/elmhashmarks.1 | 2
    doc/elmiso2022sets.1 | 2
    doc/elmlibregister.1 | 2
    doc/elmmailinglists.1 | 2
    doc/elmmailservices.1 | 2
    doc/elmmimetypes.1 | 2
    doc/elmrc-info | 21
    doc/elmrc-write.1 | 2
    doc/elmrc.samp | 21
    doc/elmstringconvert.1 | 2
    doc/elmterminal.1 | 2
    doc/elmunidata.1 | 2
    doc/fastmail.1 | 2
    doc/frm.1 | 2
    doc/newalias.1 | 2
    doc/newmail.1 | 2
    doc/readmsg.1 | 2
    hdrs/connection_imp.h | 10
    hdrs/elm_defs.h | 6
    hdrs/elmlib.h | 55
    hdrs/mboxlib.h | 133 !
    hdrs/mbx_imp.h | 18
    hdrs/mbximap_imp.h | 18
    hdrs/me.h | 129 !
    hdrs/melib.h | 14
    hdrs/misclib.h | 12
    hdrs/pager.h | 7
    hdrs/patchlevel.h | 10
    hdrs/quota_imp.h | 218 ++
    hdrs/readmsg.h | 4
    hdrs/s_command.h | 7
    hdrs/s_elm.h | 3
    hdrs/s_me.h | 22
    hdrs/save_opts.h | 111 !
    hdrs/schedule_time.h | 10
    lib/MAGIC | 12
    lib/Makefile.SH | 5
    lib/charset.c | 8
    lib/debug.c | 387 !!!
    lib/delay_unlink.c | 812 ++++++++
    lib/mbox/Makefile.SH | 9
    lib/mbox/con_imap.c | 759 +!!!!
    lib/mbox/connection.c | 30
    lib/mbox/def_mbox.h | 31
    lib/mbox/imap.c | 34
    lib/mbox/imap_quota.c | 1772 +++++++++++++++++
    lib/mbox/localmbx.c | 17
    lib/mbox/mbox.c | 137 +
    lib/mbox/mbox_generic.c | 24
    lib/mbox/pop.c | 8
    lib/mbox/quota.c | 1068 ++++++++++
    lib/misc/terminal.c | 162 !
    lib/output.c | 43
    lib/panic.c | 78
    lib/read_rc.c | 31
    lib/remote_mbx.c | 120 !
    lib/safemalloc.c | 85
    lib/schedule.c | 279 ++
    lib/streamsched.c | 9
    melib/def_melib.h | 5
    melib/mailcap.c | 21
    melib/mime_selector.c | 21
    melib/state_decode.c | 89
    nls/C/C/C/s_command.m | 14
    nls/C/C/C/s_elm.m | 6
    nls/C/C/C/s_me.m | 44
    nls/gencat/dumpmsg.c | 2
    nls/gencat/gencat.h | 1
    nls/gencat/genlib.c | 4
    src/Makefile.SH | 10
    src/args.c | 8
    src/attach_menu.c | 8
    src/command/Makefile.SH | 6
    src/command/extendedcmd.c | 9
    src/command/quota_dispcmd.c | 97
    src/command/sendcmd.c | 6
    src/digest.c | 14
    src/duplicate_removal.c | 14
    src/edit.c | 10
    src/elm.c | 33
    src/extended.c | 234 +!
    src/in_utils.c | 15
    src/init.c | 368 +-
    src/leavembox.c | 46
    src/list/def_list.h | 7
    src/list/info.c | 182
    src/list/visit_mailbox.c | 26
    src/mailbox.c | 123
    src/metapager.c | 8
    src/network.c | 106 +
    src/newmbox.c | 395 +!!
    src/openmailbox.c | 155 !
    src/pager/span_line.c | 10
    src/pager/span_range.c | 7
    src/partial.c | 12
    src/quit.c | 209 -
    src/quotadisp.c | 4442 ++++++++++++++++++++++++++++++++++++++++++++
    src/screen.c | 7
    src/screen/context.c | 181 +
    src/screen/curses.c | 52
    src/screen/screen.c | 20
    src/screen/termcharset.c | 50
    src/url/def_url.h | 11
    src/url/http.c | 13
    src/url/imap.c | 38
    src/url/mailto.c | 10
    src/url/no_url.c | 11
    src/url/url.c | 20
    src/utils.c | 131
    src/view_one_thread.c | 12
    118 files changed, 10871 insertions(+), 165 deletions(-), 3333 modifications(!)

    --
    / Kari Hurtta

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Kari Hurtta@21:1/5 to All on Tue Feb 11 20:04:52 2020
    XPost: alt.sources

    Archive-name: elmME+2.5/PLalpha51.3

    Elm ME+ 2.5 PLalpha51

    Before applying this patch catenate parts 1 - 6 first.
    Also it should be possible to apply parts 1 - 6
    individually.

    Undo Elm ME+ 2.5 PLalpha50a patch before applying
    this patch.

    Part 0 does not include patch.

    This patch is agaist Elm ME+ 2.5 PLalpha50

    ====================================== ( part 3/6 ) =========
    Index: elmME+.2.5.alpha51-cvs/lib/mbox/localmbx.c
    *** elmME+.2.5.alpha50/lib/mbox/localmbx.c Thu Jun 6 21:00:46 2019
    --- elmME+.2.5.alpha51-cvs/lib/mbox/localmbx.c Sat Jan 18 22:07:41 2020 ***************
    *** 1,7 ****
    ! static char rcsid[] = "@(#)$Id: localmbx.c,v 2.70 2019/06/06 17:53:45 hurtta Exp $";

    /******************************************************************************
    ! * The Elm (ME+) Mail System - $Revision: 2.70 $ $State: Exp $
    *
    * Author: Kari Hurtta <hurtta+elm@siilo.FMI.FI>
    * (was hurtta+elm@posti.FMI.FI, hurtta+elm@ozone.FMI.FI) --- 1,7 ----
    ! static char rcsid[] = "@(#)$Id: localmbx.c,v 2.71 2020/01/18 20:07:41 hurtta Exp $";

    /******************************************************************************
    ! * The Elm (ME+) Mail System - $Revision: 2.71 $ $State: Exp $
    *
    * Author: Kari Hurtta <hurtta+elm@siilo.FMI.FI>
    * (was hurtta+elm@posti.FMI.FI, hurtta+elm@ozone.FMI.FI) ***************
    *** 8811,8817 ****
    mbx_get_read_only_mode,
    mbx_give_normal_server,
    mbx_comp_prev_hdr_default,
    ! m
  • From Kari Hurtta@21:1/5 to All on Tue Feb 11 20:02:55 2020
    XPost: alt.sources

    Archive-name: elmME+2.5/PLalpha51.1

    Elm ME+ 2.5 PLalpha51

    Before applying this patch catenate parts 1 - 6 first.
    Also it should be possible to apply parts 1 - 6
    individually.

    Undo Elm ME+ 2.5 PLalpha50a patch before applying
    this patch.

    Part 0 does not include patch.

    This patch is agaist Elm ME+ 2.5 PLalpha50

    ====================================== ( part 1/6 ) =========
    For applying thich patch use (on directory where Configure is)

    patch -p1 < {this-file}

    ------------------------------------------------------------------------
    Index: elmME+.2.5.alpha51-cvs/hdrs/patchlevel.h
    Prereq: 1590000000
    *** elmME+.2.5.alpha50/hdrs/patchlevel.h Thu Jun 6 21:00:46 2019
    --- elmME+.2.5.alpha51-cvs/hdrs/patchlevel.h Sat Feb 8 09:46:28 2020 ***************
    *** 1,12 ****
    ! #define PATCHLEVEL "alpha50"
    /* Used by Configure:
    ! SHAREDTAG: .1.1.50
    */
    ! #define LAST_REPORT_TIME 1590000000
    #define BUG_REPORT_ADDR "Kari Hurtta <elm@elmme-mailer.org>"
    ! #define VERS_DATE "Jun 2019" /* for elm -v option */
    #define WHAT_STRING \
    ! "@(#) Version ME+ 2.5, USENET supported version, released Jun 2019"

    /*
    * Local Variables:
    --- 1,12 ----
    ! #define PATCHLEVEL "alpha51"
    /* Used by Configure:
    ! SHAREDTAG: .1.1.51
    */
    ! #define LAST_REPORT_TIME 1610000000
    #define BUG_REPORT_ADDR "Kari Hurtta <elm@elmme-mailer.org>"
    ! #define VERS_DATE "Feb 2020" /* for elm -v option */
    #define WHAT_STRING \
    ! "@(#) Version ME+ 2.5, USENET supported version, released Feb 2020"

    /*
    * Local Variables:
    Index: elmME+.2.5.alpha51-cvs/README.ME+
    *** elmME+.2.5.alpha50/README.ME+ Thu Jun 6 21:00:46 2019
    --- elmME+.2.5.alpha51-cvs/README.ME
  • From Kari Hurtta@21:1/5 to All on Tue Feb 11 20:03:57 2020
    XPost: alt.sources

    Archive-name: elmME+2.5/PLalpha51.2

    Elm ME+ 2.5 PLalpha51

    Before applying this patch catenate parts 1 - 6 first.
    Also it should be possible to apply parts 1 - 6
    individually.

    Undo Elm ME+ 2.5 PLalpha50a patch before applying
    this patch.

    Part 0 does not include patch.

    This patch is agaist Elm ME+ 2.5 PLalpha50

    ====================================== ( part 2/6 ) =========
    Index: elmME+.2.5.alpha51-cvs/lib/delay_unlink.c
    *** /tmp/9791-very-long-file-name/NULL-9791-comes-in-here--XXXXXXXXX Sat Feb 8 13:09:17 2020
    --- elmME+.2.5.alpha51-cvs/lib/delay_unlink.c Sat Feb 1 13:13:46 2020 ***************
    *** 0 ****
    --- 1,812 ----
    + static char rcsid[] = "@(#)$Id: delay_unlink.c,v 2.2 2020/02/01 11:13:46 hurtta Exp $";
    +
    + /******************************************************************************
    + * The Elm (ME+) Mail System - $Revision: 2.2 $ $State: Exp $
    + *
    + * Author: Kari Hurtta <hurtta+elm@siilo.FMI.FI>
    + * or Kari Hurtta <elm@elmme-mailer.org>
    + *****************************************************************************/
    +
    +
    + #include "elm_defs.h"
    + #include "schedule_time.h"
    + #include "s_me.h"
    +
    + DEBUG_VAR(Debug,__FILE__,"file");
    +
    + #if ANSI_C
    + #define S_(x) static x;
    + #else
    + #define S_(x)
    + #endif
    +
    + #define DELAY_UNLINK_magic 0xF103
    +
    +
    + static void timed_task_free_du P_((struct timed_task **task));
    + static void inc_timed_task_du_refcount P_((struct timed_task *task));
    + static enum timed_task_r timed_task_action_du
    + P_((struct timed_task *tas
  • From Kari Hurtta@21:1/5 to All on Tue Feb 11 20:05:51 2020
    XPost: alt.sources

    Archive-name: elmME+2.5/PLalpha51.4

    Elm ME+ 2.5 PLalpha51

    Before applying this patch catenate parts 1 - 6 first.
    Also it should be possible to apply parts 1 - 6
    individually.

    Undo Elm ME+ 2.5 PLalpha50a patch before applying
    this patch.

    Part 0 does not include patch.

    This patch is agaist Elm ME+ 2.5 PLalpha50

    ====================================== ( part 4/6 ) =========
    Index: elmME+.2.5.alpha51-cvs/nls/C/C/C/s_elm.m
    *** elmME+.2.5.alpha50/nls/C/C/C/s_elm.m Thu Jun 6 21:00:46 2019
    --- elmME+.2.5.alpha51-cvs/nls/C/C/C/s_elm.m Wed Jan 29 18:20:24 2020 ***************
    *** 3052,3060 ****
    1766 |Checking new mail...|
    $ #CheckNewMailCanceled
    1767 |Checking new mail canceled (%s)|
    - $ #LeavingMailbox
    - 1768 |Leaving mailbox ...|
    - $ #ClosingConnections
    - 1769 |Closing connections...|
    - $ #CheckingMailbox
    - 1770 |Checking mailbox ...|
    --- 3052,3054 ----
    Index: elmME+.2.5.alpha51-cvs/nls/C/C/C/s_me.m
    *** elmME+.2.5.alpha50/nls/C/C/C/s_me.m Thu Jun 6 21:00:46 2019
    --- elmME+.2.5.alpha51-cvs/nls/C/C/C/s_me.m Wed Jan 29 18:20:24 2020 ***************
    *** 1808,1810 ****
    --- 1808,1854 ----
    966 |No disconnected mailboxes found|
    $ #LeavingMailbox
    967 |Leaving mailbox ...|
    + $ #CheckingMailbox
    + 968 |Checking mailbox ...|
    + $ #QuotaScreenTitle
    + 969 |Mail Quota Screen [ELM %s]|
    + $ #MailQuota
    + 970 |Mail quota|
    + $ #QuotaFor
    + 971 | for |
    + $ #QuotaNotAvailable
    + 972 |Mail quota not available|
    + $ #MQFailedParse
    + 973 |Failed to parse quota root resource limi
  • From Kari Hurtta@21:1/5 to All on Tue Feb 11 20:07:11 2020
    XPost: alt.sources

    Archive-name: elmME+2.5/PLalpha51.6

    Elm ME+ 2.5 PLalpha51

    Before applying this patch catenate parts 1 - 6 first.
    Also it should be possible to apply parts 1 - 6
    individually.

    Undo Elm ME+ 2.5 PLalpha50a patch before applying
    this patch.

    Part 0 does not include patch.

    This patch is agaist Elm ME+ 2.5 PLalpha50

    ====================================== ( part 6/6 ) =========
    Index: elmME+.2.5.alpha51-cvs/src/screen.c
    *** elmME+.2.5.alpha50/src/screen.c Tue Dec 25 20:13:54 2018
    --- elmME+.2.5.alpha51-cvs/src/screen.c Sat Jan 18 22:07:41 2020 ***************
    *** 1,7 ****
    ! static char rcsid[] = "@(#)$Id: screen.c,v 2.13 2018/07/01 12:22:53 hurtta Exp $";

    /******************************************************************************
    ! * The Elm (ME+) Mail System - $Revision: 2.13 $ $State: Exp $
    *
    * Modified by: Kari Hurtta <hurtta+elm@siilo.FMI.FI>
    * (was hurtta+elm@posti.FMI.FI, hurtta+elm@ozone.FMI.FI)
    --- 1,7 ----
    ! static char rcsid[] = "@(#)$Id: screen.c,v 2.14 2020/01/18 20:07:41 hurtta Exp $";

    /******************************************************************************
    ! * The Elm (ME+) Mail System - $Revision: 2.14 $ $State: Exp $
    *
    * Modified by: Kari Hurtta <hurtta+elm@siilo.FMI.FI>
    * (was hurtta+elm@posti.FMI.FI, hurtta+elm@ozone.FMI.FI)
    ***************
    *** 28,36 ****

    #define minimum(a,b) ((a) < (b) ? (a) : (b))

    - extern char version_buff[];
    -
    -
    static cha
  • From Kari Hurtta@21:1/5 to All on Tue Feb 11 20:06:30 2020
    XPost: alt.sources

    Archive-name: elmME+2.5/PLalpha51.5

    Elm ME+ 2.5 PLalpha51

    Before applying this patch catenate parts 1 - 6 first.
    Also it should be possible to apply parts 1 - 6
    individually.

    Undo Elm ME+ 2.5 PLalpha50a patch before applying
    this patch.

    Part 0 does not include patch.

    This patch is agaist Elm ME+ 2.5 PLalpha50

    ====================================== ( part 5/6 ) =========
    Index: elmME+.2.5.alpha51-cvs/src/openmailbox.c
    *** elmME+.2.5.alpha50/src/openmailbox.c Thu Jun 6 21:00:46 2019
    --- elmME+.2.5.alpha51-cvs/src/openmailbox.c Wed Jan 29 18:20:24 2020 ***************
    *** 1,7 ****
    ! static char rcsid[] = "@(#)$Id: openmailbox.c,v 2.10 2019/05/07 17:49:09 hurtta Exp $";

    /******************************************************************************
    ! * The Elm (ME+) Mail System - $Revision: 2.10 $ $State: Exp $
    *
    * Author: Kari Hurtta <hurtta+elm@siilo.FMI.FI>
    * (was hurtta+elm@posti.FMI.FI)
    --- 1,7 ----
    ! static char rcsid[] = "@(#)$Id: openmailbox.c,v 2.13 2020/01/29 16:20:24 hurtta Exp $";

    /******************************************************************************
    ! * The Elm (ME+) Mail System - $Revision: 2.13 $ $State: Exp $
    *
    * Author: Kari Hurtta <hurtta+elm@siilo.FMI.FI>
    * (was hurtta+elm@posti.FMI.FI)
    ***************
    *** 22,34 ****
    DEBUG_VAR(Debug,__FILE__,"ELM");

    /* Opens new mailbox to current mailbox view without closing current mailbox */
    ! void OpenMailbox(mailbox,aview,pag
  • From Kari Hurtta@21:1/5 to All on Sun Feb 16 18:54:07 2020
    Experimental DEB generator script for Elm ME+ 2.5 PLalpha51
    exists on <URL: http://www.elmme-mailer.org/deb/elm-ME+2.5.html >
    directory.

    Files are following

    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha51-1.gen_deb
    DEB generator script
    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha51-1.gen_deb.elm-key-2018.sig
    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha51-1.gen_deb.sig

    A command

    elm-ME+2.5.alpha51-1.gen_deb {packager}

    generates package elmme with version 1.1.51-1.{distribution}.

    A command

    elm-ME+2.5.alpha51-1.gen_deb --nonew {packager}

    generates package elm with version ME+2.5.alpha51-1.{distribution}.

    Both commands produce package with filename elm-ME+2.5.alpha51-1.{distribution}.{arch}.deb.

    Module libelmme-resolv.so is included for all distributions below, but libelmme-resolv.so does not implement interruptible DNS queries on all distributions.

    == Old package names, i386

    Package elm with version ME+2.5.alpha51-1.{distribution} and
    architecture i386.

    * Compiled on Debian GNU/Linux 3.1
    (Linux 2.4, glibc 2.3, Exim 3.36)

    - http://www.elmme-mailer.org/deb/old/elm-ME+2.5.alpha51-1.Debian3.1.i386.deb
    Package elm binary DEB build on Debian GNU/Linux 3.1
    - http://www.elmme-mailer.org/deb/old/elm-ME+2.5.alpha51-1.Debian3.1.i386.deb.elm-key-2018.sig
    - http://www.elmme-mailer.org/deb/old/elm-ME+2.5.alpha51-1.Debian3.1.i386.deb.sig

    Module libelmme-resolv.so does not implement interruptible DNS queries
    on Debian GNU/Linux 3.1.

    * Compiled on Ubuntu 6.06.2 LTS
    (Linux 2.6, glibc 2.3, Sendmail 8.13)

    - http://www.elmme-mailer.org/deb/old/elm-ME+2.5.alpha51-1.Ubuntu6.06.i386.deb
    Package elm binary DEB build on Ubuntu 6.06.2 LTS
    - http://www.elmme-mailer.org/deb/old/elm-ME+2.5.alpha51-1.Ubuntu6.06.i386.deb.elm-key-2018.sig
    - http://www.elmme-mailer.org/deb/old/elm-ME+2.5.alpha51-1.Ubuntu6.06.i386.deb.sig

    * Compiled on Ubuntu 10.04.4 LTS
    (Linux 2.6, glibc 2.11, Sendmail 8.14)

    - http://www.elmme-mailer.org/deb/old/elm-ME+2.5.alpha51-1.Ubuntu10.04.i386.deb
    Package elm binary DEB build on Ubuntu 10.04.4 LTS
    - http://www.elmme-mailer.org/deb/old/elm-ME+2.5.alpha51-1.Ubuntu10.04.i386.deb.elm-key-2018.sig
    - http://www.elmme-mailer.org/deb/old/elm-ME+2.5.alpha51-1.Ubuntu10.04.i386.deb.sig

    == New package names, i386

    Package elmme with version 1.1.51-1.{distribution} and architecture
    i386.

    * Compiled on Ubuntu 10.04.4 LTS
    (Linux 2.6, glibc 2.11, Sendmail 8.14)

    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha51-1.Ubuntu10.04.i386.deb
    Package elmme binary DEB build on Ubuntu 10.04.4 LTS
    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha51-1.Ubuntu10.04.i386.deb.elm-key-2018.sig
    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha51-1.Ubuntu10.04.i386.deb.sig

    * Compiled on Ubuntu 14.04.6 LTS
    (Linux 4.4, glibc 2.19, no MTA)

    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha51-1.Ubuntu14.04.i386.deb
    Package elmme binary DEB build on Ubuntu 14.04.6 LTS
    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha51-1.Ubuntu14.04.i386.deb.elm-key-2018.sig
    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha51-1.Ubuntu14.04.i386.deb.sig

    == New package names, amd64 (x86_64)

    Package elmme with version 1.1.51-1.{distribution} and architecture
    amd64 (also known as x86_64).

    * Compiled on Ubuntu 16.04.6 LTS
    (Linux 4.4, glibc 2.23, Sendmail 8.15)

    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha51-1.Ubuntu16.04.amd64.deb
    Package elmme binary DEB build on Ubuntu 16.04.6 LTS
    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha51-1.Ubuntu16.04.amd64.deb.elm-key-2018.sig
    -
    http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha51-1.Ubuntu16.04.amd64.deb.sig

    == Signatures

    {file}.sig PGP signature (old key pubkey.asc, EA5A2379 1996-04-23)
    {file}.elm-key-2018.sig GPG signature (key elm.key.2018.asc, 44FC796B 2018-12-01, expires: 2028-11-28)

    == 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
    - /usr/local/lib/elm.hashmarks

    Deb generator script 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)

    By default first value for mailname is read from /etc/mailname file.

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

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

    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 /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
    - /usr/local/lib/elm.hashmarks.NEW

    Also following directories are used:

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

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

    A command

    elm-{version}-{release}.gen_deb {packager}

    generates package elmme with version {library-version}-{release}.{distribution}. Note that a resulted
    filename of package is still elm-{version}-{release}.{arch}.deb. This
    version number is same than on files /usr/local/lib/libelmme-{module}.so.{library-version}. A filename of
    package is related to used source archive name, which is elm-{version}-{release}.tar.gz.

    A command

    elm-{version}-{release}.gen_deb --nonew {packager}

    generates package elm with version {version}-{release}.{distribution}.
    Also on this case a resulted filename of package is elm-{version}-{release}.{arch}.deb.

    SUMMARY: This release collects patch Elm ME+ 2.5 PLalpha50a,
    fixes crash when mailbox is opened with -Oimaps://...
    option, supports IMAP quotas (RFC 2087), delays
    deletion of temp files used by internal mailcap,
    if view command completes too fast. New elmrc options
    are "show-mail-quota" and "mailcap-tempfile-lifetime".
    This releases adds new command 'Eu' to show mail quota
    (not affected by elmrc option "show-mail-quota").
    Also some other changes and fixes are included.

    Elm ME+ 2.5 PLalpha51 changelog

    Changes on Elm ME+ 2.5 PLalpha51 compared with Elm ME+ 2.5 PLalpha50 --------------------------------------------------------------------

    Undo Elm ME+ 2.5 PLalpha50a patch before applying this patch.

    SUMMARY: This release collects patch Elm ME+ 2.5 PLalpha50a,
    fixes crash when mailbox is opened with -Oimaps://...
    option, supports IMAP quotas (RFC 2087), delays
    deletion of temp files used by internal mailcap,
    if view command completes too fast. New elmrc options
    are "show-mail-quota" and "mailcap-tempfile-lifetime".
    This releases adds new command 'Eu' to show mail quota
    (not affected by elmrc option "show-mail-quota").
    Also some other changes and fixes are included.

    - "newmail core dumps in elmME+.2.5.alpha50 on CentOS 7."
    Reported by: Noam G. Nudelman
    > Fixed crash on prepare_read_folder()
    when called from "frm", "newmail" or
    "readmsg".

    - Small fix for span_line() and span_words()
    on src/pager/span_line.c
    - Small fix for span_helper()
    on src/pager/span_range.c

    - Fixed error where opening folder with
    elm -Oimaps://username@server/INBOX
    produces

    SCREEN PANIC in .../src/screen/menu_param.c:30:mp_lookup_any1
    >>>Bad type
    Call stack: B7514D11 812D83C 812D970 813AF41 813761C
    continues: 8105015 812FB88 8130EBA 8119377 80C3D5F
    continues: 80C5AF3 809F466 B72B5AF3 805EE91
    backtrace:
    /usr/local/lib/libelmme-base.so.1.1.50.1(panic+0x180)[0xb7514d11]
    elm[0x812d83c]
    elm(mp_lookup_integer+0x26)[0x812d970]
    elm(mc_screen_print_mbx_line+0x44)[0x813af41]
    elm(mcommon_screen_print_menu_line+0x3b)[0x813761c]
    elm(hdr_show_current+0x154)[0x8105015]
    elm[0x812fb88]
    elm(menu_header_change+0x1fc)[0x8130eba]
    elm(get_page+0xf1)[0x8119377]
    elm[0x80c3d5f]
    elm(url_messages_menu+0xf1)[0x80c5af3]
    elm(main+0x905)[0x809f466]
    /lib/i386-linux-gnu/libc.so.6(__libc_start_main+0xf3)[0xb72b5af3]

    - Added elmrc option "show-mail-quota".
    - Check IMAP quota when mailbox is opened if
    elmrc option "show-mail-quota" have value
    "on-open".

    RFC 2087: IMAP4 QUOTA extension

    - Option "show-mail-quota" values are:
    off Does not show mail quota on
    mailbox open (command 'Eu'
    still works).
    on-open Shows mail quota (if supported)
    on mailbox open (default).
    - Note that mailbox may have a mail quota even
    when it is not displayed.
    - Mail quota display does not show unit of
    mail usage or quota. That is not available.

    - Command 'Eu' shows quota usage. This is available
    also when "show-mail-quota" have value "off".

    - Added connection_set_reset_quota() to lib/mbox/connection.c
    - Added free_mail_quota(), free_mail_quotaroot_list(),
    free_mail_quotaroot(), free_mail_quota_item(),
    inc_mail_quota_refcount(), inc_mail_quotaroot_list_refcount(),
    quotaroot_list_len(), quotaroot_list_item(),
    quotaroot_list_mquota(), quotaroot_name(),
    quotaroot_item_count(), quotaroot_item(), quota_item_name(),
    quota_item_values(), mail_quota_unlink_con(),
    inc_mail_quotaroot_refcount(), inc_mail_quota_item_refcount()
    to lib/mbox/quota.c
    - Added give_folder_quotaroot_l(), have_folder_quota()
    to lib/mbox/mbox.c

    - Added menu_redraw_done() to src/screen/context.c

    - Message
    Checking mailbox ...
    is shown on screen when mailbox quota is read
    after 0.5 second delay if remote mailbox is stalled.

    - Removed some emergency_exit() calls from change_file()
    on src/quit.c
    - Added some prototypes to nls/gencat/genlib.c and nls/gencat/gencat.h
    - Changed newmbox_1() do not call rm_temps_exit()
    when reading of new mailbox fails (however on resync
    still calls rm_temps_exit() when reading of mailbox
    fails).

    - Added struct menu_context * page; to struct counter_data
    on src/newmbox.c
    - Fix cleanup of struct counter_data on failure.
    - Fixed EOF handling on verify_remote_url()

    - Use conv_from_imap_name() on imap_open_connection()
    at lib/mbox/imap.c

    - Added '%zu' to parse_format_args() and
    convert_number() on lib/output.c (for size_t)
    - Added '%zu' to SKIP_WIDTH() on lib/debug.c
    - Replaced int long_f with enum width_type long_f
    on struct format_elem

    - Replaced
    long len_or_value;
    with
    uint32 value;
    size_t str_len;
    on struct imap_token. 'number' on
    RFC 1730 (IMAP) is unsigned 32-bit integer.
    - Replaced
    long literal_len;
    with
    uint32 wanted_literal_len;
    on struct IMAP_CON
    - Exported
    const size_t size_MAX
    from lib/safemalloc.c;
    - Replaced
    int read_len;
    with
    size_t read_len;
    on
    struct Read_Buffer
    - Changed prototype of cut_line() to use size_t
    - Changed tokenize() to not use
    safe_malloc() to allocate literal.
    - Changed ReadFromSocket() to not use
    safe_realloc() to allocate buffer
    - Close connection, if literal len >= INT_MAX
    when reading from IMAP connection
    - Changed tokenize() to not use strtol()
    to parse literal length or other imap numbers.
    Added parse_imap_number() for that.
    - Added safe_array_size() to lib/safemalloc.c
    - Changed parse_response() to not use
    safe_array_realloc() when handling
    EXISTS response.
    - Changed debug_level_check() so that -d{class}:{level}
    have preference over -d{level} command line flag.

    - Do not call eval_condition() from
    signal handler on loc_info(), added
    int maybe_signal parameter
    > However if wait_can_signal is set,
    memory allocation is still safe.
    - Added int maybe_signal parameter
    to terminal_can_switch(), give_display_charsets(),
    switch_display_charset(), set_display_charset(),
    terminal_switch_to(), terminal_can_switch_to()

    - get_charset_MIME_name() may be called from signal
    handler

    - Added "mailcap-tempfile-lifetime" elmrc option which
    specifies minimum time on seconds which
    temporary file is kept before it is deleted
    when using internal mailcap. This is only available
    if system supports poll() or select(). If mailcap view
    commands exits before "mailcap-tempfile-lifetime" seconds,
    deletion of temporary file is delayed. This assumes that
    mailcap view command is used only to launch actual
    viewing application, that file is opened later.
    If system supports poll() or select(), default value
    is 5 seconds.
    - Added alloc_delay_unlink(), free_delay_unlink(),
    delay_unlink_add_name(), delay_unlink_mark_done(),
    inc_delay_unlink_recount to lib/delay_unlink.c
    - Added delay_unlink_from_state_decode() to
    melib/state_decode.c
    - Added struct delay_unlink * timer_unlink
    to struct in_state_decode
    - Changed const int * conditional_option_p
    on struct rc_save_info_rec to union.
    - Changed prototype of run_mailcap_view()
    - Changed free_timed_task_handle()
    - Added free_schedule() and
    timed_task_alter_cleanup() to lib/schedule.c
    - Changed freeing order on leave(),
    rm_temps_exit(), silently_exit(),
    leave_locked(), main() of Elm

    - Moved
    Closing connections...
    Leaving mailbox ...
    Checking mailbox ...
    to
    setup_mbx_cancel_message()
    on src/network.c

    - Prompt "Press a <enter> to abort or <enter> to exit: "
    on panic(). This is used only when /dev/tty is open
    and current pid is same that when /dev/tty opened.

    - Added message
    ---- Debug output truncated ----
    Lost XXXX characters.
    to debug file if all debug output was not buffered
    successfully.

    - Changed debug so that source file information is printed
    to debug after debug file is established (so that does not fill
    debug buffer on initial debug output).

    New elmrc options:
    show-mail-quota
    mailcap-tempfile-lifetime

    New files:
    lib/mbox/quota.c
    hdrs/quota_imp.h
    src/quotadisp.c
    lib/mbox/imap_quota.c
    src/command/quota_dispcmd.c
    lib/delay_unlink.c
    src/network.c

    Warnings
    --------

    - 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
    message.

    - 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
    charset.

    - 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.4.3.3.26 (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
    mapping
    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
    -misc-fixed-medium-r-normal--12-200-75-75-c-100-iso8859-1
    and not
    -misc-fixed-medium-r-normal--12-200-75-75-c-100-iso8859-15

    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.)

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

    --
    / Kari Hurtta

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Kari Hurtta@21:1/5 to All on Sun Feb 16 18:35:21 2020
    Experimental RPM spec file for ELM ME+ 2.5 PLalpha51
    exists on <URL: http://www.elmme-mailer.org/rpm/elm-ME+2.5.html >
    directory.

    Files are following

    - http://www.elmme-mailer.org/rpm/elm-ME+2.5.alpha51-1.spec
    RPM spec file
    - http://www.elmme-mailer.org/rpm/elm-ME+2.5.alpha51-1.spec.elm-key-2018.sig
    - http://www.elmme-mailer.org/rpm/elm-ME+2.5.alpha51-1.spec.sig
    - http://www.elmme-mailer.org/rpm/elm-ME+2.5.alpha51-1.mdk7.2.src.rpm
    Source rpm
    - http://www.elmme-mailer.org/rpm/elm-ME+2.5.alpha51-1.mdk7.2.src.rpm.sig

    ** Notes

    - elm-ME+2.5.alpha51-1.mdk7.1.src.rpm is signed internally with GPG
    key elm.key.2018.asc (44FC796B 2018-12-01).

    * 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.alpha51-1.mdk7.2.i686.rpm
    Package elm binary RPM build on Linux Mandrake release 7.2
    - http://www.elmme-mailer.org/rpm/elm-ME+2.5.alpha51-1.mdk7.2.i686.rpm.sig
    - http://www.elmme-mailer.org/rpm/elm-mod-ME+2.5.alpha51-1.mdk7.2.i686.rpm
    Package elm-mod binary RPM build on Linux Mandrake release 7.2
    - http://www.elmme-mailer.org/rpm/elm-mod-ME+2.5.alpha51-1.mdk7.2.i686.rpm.sig
    - http://www.elmme-mailer.org/rpm/elm-tls-ME+2.5.alpha51-1.mdk7.2.i686.rpm
    Package elm-tls binary RPM build on Linux Mandrake release 7.2
    - http://www.elmme-mailer.org/rpm/elm-tls-ME+2.5.alpha51-1.mdk7.2.i686.rpm.sig

    ** Notes

    - elm-ME+2.5.alpha51-1.mdk7.2.i686.rpm and
    elm-*-ME+2.5.alpha51-1.mdk7.2.i686.rpm are signed internally with
    GPG key elm.key.2018.asc (44FC796B 2018-12-01).
    - elm-ME+2.5.alpha51-1.mdk7.2.i686.rpm is compiled agaist Sendmail
    8.13 (not from Mandrake distribution).
    - elm-mod-ME+2.5.alpha51-1.mdk7.2.i686.rpm does not include
    libelmme-resolv.so.
    - elm-tls-ME+2.5.alpha51-1.mdk7.2.i686.rpm do not load/work on
    Mandrake 7.2, because openssl library misses RAND_egd_bytes
    function.

    * Signatures

    {file}.sig PGP signature (old key pubkey.asc, EA5A2379 1996-04-23)
    {file}.elm-key-2018.sig GPG signature (key elm.key.2018.asc, 44FC796B 2018-12-01, expires: 2028-11-28)

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

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

    Also following directories are used:

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

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

    SUMMARY: This release collects patch Elm ME+ 2.5 PLalpha50a,
    fixes crash when mailbox is opened with -Oimaps://...
    option, supports IMAP quotas (RFC 2087), delays
    deletion of temp files used by internal mailcap,
    if view command completes too fast. New elmrc options
    are "show-mail-quota" and "mailcap-tempfile-lifetime".
    This releases adds new command 'Eu' to show mail quota
    (not affected by elmrc option "show-mail-quota").
    Also some other changes and fixes are included.

    Elm ME+ 2.5 PLalpha51 changelog

    Changes on Elm ME+ 2.5 PLalpha51 compared with Elm ME+ 2.5 PLalpha50 --------------------------------------------------------------------

    Undo Elm ME+ 2.5 PLalpha50a patch before applying this patch.

    SUMMARY: This release collects patch Elm ME+ 2.5 PLalpha50a,
    fixes crash when mailbox is opened with -Oimaps://...
    option, supports IMAP quotas (RFC 2087), delays
    deletion of temp files used by internal mailcap,
    if view command completes too fast. New elmrc options
    are "show-mail-quota" and "mailcap-tempfile-lifetime".
    This releases adds new command 'Eu' to show mail quota
    (not affected by elmrc option "show-mail-quota").
    Also some other changes and fixes are included.

    - "newmail core dumps in elmME+.2.5.alpha50 on CentOS 7."
    Reported by: Noam G. Nudelman
    > Fixed crash on prepare_read_folder()
    when called from "frm", "newmail" or
    "readmsg".

    - Small fix for span_line() and span_words()
    on src/pager/span_line.c
    - Small fix for span_helper()
    on src/pager/span_range.c

    - Fixed error where opening folder with
    elm -Oimaps://username@server/INBOX
    produces

    SCREEN PANIC in .../src/screen/menu_param.c:30:mp_lookup_any1
    >>>Bad type
    Call stack: B7514D11 812D83C 812D970 813AF41 813761C
    continues: 8105015 812FB88 8130EBA 8119377 80C3D5F
    continues: 80C5AF3 809F466 B72B5AF3 805EE91
    backtrace:
    /usr/local/lib/libelmme-base.so.1.1.50.1(panic+0x180)[0xb7514d11]
    elm[0x812d83c]
    elm(mp_lookup_integer+0x26)[0x812d970]
    elm(mc_screen_print_mbx_line+0x44)[0x813af41]
    elm(mcommon_screen_print_menu_line+0x3b)[0x813761c]
    elm(hdr_show_current+0x154)[0x8105015]
    elm[0x812fb88]
    elm(menu_header_change+0x1fc)[0x8130eba]
    elm(get_page+0xf1)[0x8119377]
    elm[0x80c3d5f]
    elm(url_messages_menu+0xf1)[0x80c5af3]
    elm(main+0x905)[0x809f466]
    /lib/i386-linux-gnu/libc.so.6(__libc_start_main+0xf3)[0xb72b5af3]

    - Added elmrc option "show-mail-quota".
    - Check IMAP quota when mailbox is opened if
    elmrc option "show-mail-quota" have value
    "on-open".

    RFC 2087: IMAP4 QUOTA extension

    - Option "show-mail-quota" values are:
    off Does not show mail quota on
    mailbox open (command 'Eu'
    still works).
    on-open Shows mail quota (if supported)
    on mailbox open (default).
    - Note that mailbox may have a mail quota even
    when it is not displayed.
    - Mail quota display does not show unit of
    mail usage or quota. That is not available.

    - Command 'Eu' shows quota usage. This is available
    also when "show-mail-quota" have value "off".

    - Added connection_set_reset_quota() to lib/mbox/connection.c
    - Added free_mail_quota(), free_mail_quotaroot_list(),
    free_mail_quotaroot(), free_mail_quota_item(),
    inc_mail_quota_refcount(), inc_mail_quotaroot_list_refcount(),
    quotaroot_list_len(), quotaroot_list_item(),
    quotaroot_list_mquota(), quotaroot_name(),
    quotaroot_item_count(), quotaroot_item(), quota_item_name(),
    quota_item_values(), mail_quota_unlink_con(),
    inc_mail_quotaroot_refcount(), inc_mail_quota_item_refcount()
    to lib/mbox/quota.c
    - Added give_folder_quotaroot_l(), have_folder_quota()
    to lib/mbox/mbox.c

    - Added menu_redraw_done() to src/screen/context.c

    - Message
    Checking mailbox ...
    is shown on screen when mailbox quota is read
    after 0.5 second delay if remote mailbox is stalled.

    - Removed some emergency_exit() calls from change_file()
    on src/quit.c
    - Added some prototypes to nls/gencat/genlib.c and nls/gencat/gencat.h
    - Changed newmbox_1() do not call rm_temps_exit()
    when reading of new mailbox fails (however on resync
    still calls rm_temps_exit() when reading of mailbox
    fails).

    - Added struct menu_context * page; to struct counter_data
    on src/newmbox.c
    - Fix cleanup of struct counter_data on failure.
    - Fixed EOF handling on verify_remote_url()

    - Use conv_from_imap_name() on imap_open_connection()
    at lib/mbox/imap.c

    - Added '%zu' to parse_format_args() and
    convert_number() on lib/output.c (for size_t)
    - Added '%zu' to SKIP_WIDTH() on lib/debug.c
    - Replaced int long_f with enum width_type long_f
    on struct format_elem

    - Replaced
    long len_or_value;
    with
    uint32 value;
    size_t str_len;
    on struct imap_token. 'number' on
    RFC 1730 (IMAP) is unsigned 32-bit integer.
    - Replaced
    long literal_len;
    with
    uint32 wanted_literal_len;
    on struct IMAP_CON
    - Exported
    const size_t size_MAX
    from lib/safemalloc.c;
    - Replaced
    int read_len;
    with
    size_t read_len;
    on
    struct Read_Buffer
    - Changed prototype of cut_line() to use size_t
    - Changed tokenize() to not use
    safe_malloc() to allocate literal.
    - Changed ReadFromSocket() to not use
    safe_realloc() to allocate buffer
    - Close connection, if literal len >= INT_MAX
    when reading from IMAP connection
    - Changed tokenize() to not use strtol()
    to parse literal length or other imap numbers.
    Added parse_imap_number() for that.
    - Added safe_array_size() to lib/safemalloc.c
    - Changed parse_response() to not use
    safe_array_realloc() when handling
    EXISTS response.
    - Changed debug_level_check() so that -d{class}:{level}
    have preference over -d{level} command line flag.

    - Do not call eval_condition() from
    signal handler on loc_info(), added
    int maybe_signal parameter
    > However if wait_can_signal is set,
    memory allocation is still safe.
    - Added int maybe_signal parameter
    to terminal_can_switch(), give_display_charsets(),
    switch_display_charset(), set_display_charset(),
    terminal_switch_to(), terminal_can_switch_to()

    - get_charset_MIME_name() may be called from signal
    handler

    - Added "mailcap-tempfile-lifetime" elmrc option which
    specifies minimum time on seconds which
    temporary file is kept before it is deleted
    when using internal mailcap. This is only available
    if system supports poll() or select(). If mailcap view
    commands exits before "mailcap-tempfile-lifetime" seconds,
    deletion of temporary file is delayed. This assumes that
    mailcap view command is used only to launch actual
    viewing application, that file is opened later.
    If system supports poll() or select(), default value
    is 5 seconds.
    - Added alloc_delay_unlink(), free_delay_unlink(),
    delay_unlink_add_name(), delay_unlink_mark_done(),
    inc_delay_unlink_recount to lib/delay_unlink.c
    - Added delay_unlink_from_state_decode() to
    melib/state_decode.c
    - Added struct delay_unlink * timer_unlink
    to struct in_state_decode
    - Changed const int * conditional_option_p
    on struct rc_save_info_rec to union.
    - Changed prototype of run_mailcap_view()
    - Changed free_timed_task_handle()
    - Added free_schedule() and
    timed_task_alter_cleanup() to lib/schedule.c
    - Changed freeing order on leave(),
    rm_temps_exit(), silently_exit(),
    leave_locked(), main() of Elm

    - Moved
    Closing connections...
    Leaving mailbox ...
    Checking mailbox ...
    to
    setup_mbx_cancel_message()
    on src/network.c

    - Prompt "Press a <enter> to abort or <enter> to exit: "
    on panic(). This is used only when /dev/tty is open
    and current pid is same that when /dev/tty opened.

    - Added message
    ---- Debug output truncated ----
    Lost XXXX characters.
    to debug file if all debug output was not buffered
    successfully.

    - Changed debug so that source file information is printed
    to debug after debug file is established (so that does not fill
    debug buffer on initial debug output).

    New elmrc options:
    show-mail-quota
    mailcap-tempfile-lifetime

    New files:
    lib/mbox/quota.c
    hdrs/quota_imp.h
    src/quotadisp.c
    lib/mbox/imap_quota.c
    src/command/quota_dispcmd.c
    lib/delay_unlink.c
    src/network.c

    Warnings
    --------

    - 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
    message.

    - 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
    charset.

    - 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.4.3.3.26 (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
    mapping
    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
    -misc-fixed-medium-r-normal--12-200-75-75-c-100-iso8859-1
    and not
    -misc-fixed-medium-r-normal--12-200-75-75-c-100-iso8859-15

    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.)

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

    --
    / Kari Hurtta

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Kari Hurtta@21:1/5 to All on Sun Mar 22 09:14:09 2020
    XPost: alt.sources

    Archive-name: elmME+2.5/PLalpha51a

    Elm ME+ 2.5 PLalpha51a patch is available with

    <URL: http://www.elmme-mailer.org/elm-ME+2.5/PLalpha51br/elm-ME+2.5.PLalpha51a.patch.gz >

    SUMMARY: This patch fixes crash on f)ilename command
    on Elm 2.5 style file browser which occurs
    on x86_64 (amd64) architecture on Linux.

    This patch is agaist Elm ME+ 2.5 PLalpha51

    For applying thich patch use (on directory where Configure is)

    patch -p1 < {this-file}

    ------------------------------------------------------------------------
    Index: elmME+.2.5.alpha51a-cvs/hdrs/patchlevel.h
    Prereq: 1610000000
    *** elmME+.2.5.alpha51/hdrs/patchlevel.h Sat Feb 8 14:34:18 2020
    --- elmME+.2.5.alpha51a-cvs/hdrs/patchlevel.h Sat Mar 21 16:10:26 2020 ***************
    *** 1,12 ****
    ! #define PATCHLEVEL "alpha51"
    /* Used by Configure:
    ! SHAREDTAG: .1.1.51
    */
    ! #define LAST_REPORT_TIME 1610000000
    #define BUG_REPORT_ADDR "Kari Hurtta <elm@elmme-mailer.org>"
    ! #define VERS_DATE "Feb 2020" /* for elm -v option */
    #define WHAT_STRING \
    ! "@(#) Version ME+ 2.5, USENET supported version, released Feb 2020"

    /*
    * Local Variables:
    --- 1,12 ----
    ! #define PATCHLEVEL "alpha51a"
    /* Used by Configure:
    ! SHAREDTAG: .1.1.51.1
    */
    ! #define LAST_REPORT_TIME 1616000000
    #define BUG_REPORT_ADDR "Kari Hurtta <elm@elmme-mailer.org>"
    ! #define VERS_DATE "Mar 2020" /* for elm -v option */
    #define WHAT_STRING \
    ! "@(#) Version ME+ 2.5, USENET supported version, released Mar 2020"

    /*
    * Local Variables:
    Index: elmME+.2.5.alpha51a-cvs/README.ME+
    *** elmME+.2.5.alpha51/README.ME+ Sat Feb 8 14:34:18 2020
    --- elmME+.2.5.alpha51a-cvs/REA
  • From Kari Hurtta@21:1/5 to All on Tue Mar 24 08:20:35 2020
    Experimental DEB generator script for Elm ME+ 2.5 PLalpha51a
    exists on <URL: http://www.elmme-mailer.org/deb/elm-ME+2.5.html >
    directory.

    Files are following

    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha51a-1.gen_deb
    DEB generator script
    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha51a-1.gen_deb.elm-key-2018.sig
    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha51a-1.gen_deb.sig

    A command

    elm-ME+2.5.alpha51a-1.gen_deb {packager}

    generates package elmme with version 1.1.51.1-1.{distribution}.

    A command

    elm-ME+2.5.alpha51a-1.gen_deb --nonew {packager}

    generates package elm with version ME+2.5.alpha51a-1.{distribution}.

    Both commands produce package with filename elm-ME+2.5.alpha51a-1.{distribution}.{arch}.deb.

    Elm ME+ 2.5 PLalpha51a -patch fixes crash on f)ilename -command on Elm
    2.5 style file browser which occurs on amd64 (x86_64) -architecture on
    Linux. A crash does not occur on i386 -architecture on Linux.

    == New package names, amd64 (x86_64)

    Package elmme with version 1.1.51.1-1.{distribution} and architecture
    amd64 (also known as x86_64).

    * Compiled on Ubuntu 16.04.6 LTS
    (Linux 4.4, glibc 2.23, Sendmail 8.15)

    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha51a-1.Ubuntu16.04.amd64.deb
    Package elmme binary DEB build on Ubuntu 16.04.6 LTS
    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha51a-1.Ubuntu16.04.amd64.deb.elm-key-2018.sig
    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha51a-1.Ubuntu16.04.amd64.deb.sig

    == Signatures

    {file}.sig PGP signature (old key pubkey.asc, EA5A2379 1996-04-23)
    {file}.elm-key-2018.sig GPG signature (key elm.key.2018.asc, 44FC796B 2018-12-01, expires: 2028-11-28)

    == 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
    - /usr/local/lib/elm.hashmarks

    Deb generator script 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)

    By default first value for mailname is read from /etc/mailname file.

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

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

    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 /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
    - /usr/local/lib/elm.hashmarks.NEW

    Also following directories are used:

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

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

    A command

    elm-{version}-{release}.gen_deb {packager}

    generates package elmme with version {library-version}-{release}.{distribution}. Note that a resulted
    filename of package is still elm-{version}-{release}.{arch}.deb. This
    version number is same than on files /usr/local/lib/libelmme-{module}.so.{library-version}. A filename of
    package is related to used source archive name, which is elm-{version}-{release}.tar.gz.

    A command

    elm-{version}-{release}.gen_deb --nonew {packager}

    generates package elm with version {version}-{release}.{distribution}.
    Also on this case a resulted filename of package is elm-{version}-{release}.{arch}.deb.

    SUMMARY: This patch fixes crash on f)ilename command
    on Elm 2.5 style file browser which occurs
    on x86_64 (amd64) architecture on Linux.

    Elm ME+ 2.5 PLalpha51a changelog

    Changes on Elm ME+ 2.5 PLalpha51a compared with Elm ME+ 2.5 PLalpha51 --------------------------------------------------------------------

    [ This patch is branch from the main line. ]

    SUMMARY: This patch fixes crash on f)ilename command
    on Elm 2.5 style file browser which occurs
    on x86_64 (amd64) architecture on Linux.

    - Changed Va_start() / va_end() usage on gen_browser()
    > This fixes crash on f)ilename command on
    Elm 2.5 style file browser:
    SIGNAL PANIC in signals.c:144:segv_signal
    >>>

    Segment Violation signal!


    Call stack: 7FBC6A31301E 4F108B 7FBC69AAACB0 7FBC69AFCDFA 7FBC6A30C337
    continues: 44D2EE 4502A0 47372E 46470A 490DE5
    continues: 4925FE 466D3A 7FBC69A95F45 41F1A9
    backtrace:
    /usr/local/lib/libelmme-base.so.1.1.51(panic+0x1de)[0x7fbc6a31301e]
    elm(segv_signal+0x80)[0x4f108b]
    /lib/x86_64-linux-gnu/libc.so.6(+0x36cb0)[0x7fbc69aaacb0]
    /lib/x86_64-linux-gnu/libc.so.6(strlen+0x2a)[0x7fbc69afcdfa]
    /usr/local/lib/libelmme-base.so.1.1.51(elm_smessage+0x1025)[0x7fbc6a30c337]
    elm[0x44d2ee]
    elm(gen_browser+0x73b)[0x4502a0]
    elm(save+0x834)[0x47372e]
    elm(mailbox_command+0x1cae)[0x46470a]
    elm[0x490de5]
    elm(main_messages_menu+0x165)[0x4925fe]
    elm(main+0xf13)[0x466d3a]
    /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf5)[0x7fbc69a95f45]
    elm[0x41f1a9]
    Press a <enter> to abort or <enter> to exit:
    Crash occurs on x86_64 (amd64) architecture on Linux.
    Crash does not occur on i386 architecture on Linux.
    - Changed Va_start() / va_end() usage on folder_browser()

    Warnings
    --------

    - 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
    message.

    - 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
    charset.

    - 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.4.3.3.26 (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
    mapping
    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
    -misc-fixed-medium-r-normal--12-200-75-75-c-100-iso8859-1
    and not
    -misc-fixed-medium-r-normal--12-200-75-75-c-100-iso8859-15

    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.)

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

    --
    / Kari Hurtta

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Kari Hurtta@21:1/5 to All on Mon Jun 8 19:44:01 2020
    XPost: alt.sources

    Archive-name: elmME+2.5/PLalpha52.0

    Before applying this patch catenate parts 1 - 7 first.
    Also it should be possible to apply parts 1 - 7
    individually.

    Undo Elm ME+ 2.5 PLalpha51a patch before applying
    this patch.

    Part 0 does not include patch.

    This patch is agaist Elm ME+ 2.5 PLalpha51

    ====================================== ( part 0/7 ) =========
    Elm ME+ 2.5 PLalpha52

    Undo Elm ME+ 2.5 PLalpha51a patch before applying this patch.

    - Is available with
    <URL: http://www.elmme-mailer.org/elm-ME+2.5.PLalpha52.patch.gz >
    and <URL: http://www.elmme-mailer.org/elm-ME+2.5.alpha52.1064e7434a25434de195c340c86e037f.tar.gz >
    via http.

    - Is available with
    <URL: https://hurtta.kapsi.fi/elm-ME+2.5/elm-ME+2.5.PLalpha52.patch.gz >
    and <URL: https://hurtta.kapsi.fi/elm-ME+2.5/elm-ME+2.5.alpha52.1064e7434a25434de195c340c86e037f.tar.gz >
    via https.

    - Is available on ftp.funet.fi
    via anonymous ftp
    directory pub/mirrors/elmme-mailer.org/src/elm-ME+2.5/

    files elm-ME+2.5.PLalpha52.patch.gz
    and elm-ME+2.5.alpha52.1064e7434a25434de195c340c86e037f.tar.gz

    or is available with
    <URL: ftp://ftp.funet.fi/pub/mirrors/elmme-mailer.org/src/elm-ME+2.5/elm-ME+2.5.PLalpha52.patch.gz >
    and <URL: ftp://ftp.funet.fi/pub/mirrors/elmme-mailer.org/src/elm-ME+2.5/elm-ME+2.5.alpha52.1064e7434a25434de195c340c86e037f.tar.gz >
    via https.

    SUMMARY: This release collects patch Elm ME+ 2.5 PLalpha51a,
    adds generation of "Message-ID:" -header field,
    adds "Message-ID:", "Expires:", "Date:",
    "In-reply-to:", and "References:" -header fields
    to 'invoke e(d)itor' buffer on header editing screen
    and adds --messages={file} and --transaction={file}
    arguments to command line of elm. This release changes
    pager date and time display on pager title line and
    changes fastmail -command. This release adds TLS 1.1
    and 1.2 alternatives to libelmme-tls module. New elmrc
    options are "valid-msg-id-domains", "generate-message-id",
    "pager-time-display" and "address-lookup". Also
    added "default-tls-version" elmrc option to "tls:" section.
    Also some other changes and fixes are included.

    Changes on Elm ME+ 2.5 PLalpha52 compared with Elm ME+ 2.5 PLalpha51 --------------------------------------------------------------------

    Undo Elm ME+ 2.5 PLalpha51a patch before applying this patch.

    SUMMARY: This release collects patch Elm ME+ 2.5 PLalpha51a,
    adds generation of "Message-ID:" -header field,
    adds "Message-ID:", "Expires:", "Date:",
    "In-reply-to:", and "References:" -header fields
    to 'invoke e(d)itor' buffer on header editing screen
    and adds --messages={file} and --transaction={file}
    arguments to command line of elm. This release changes
    pager date and time display on pager title line and
    changes fastmail -command. This release adds TLS 1.1
    and 1.2 alternatives to libelmme-tls module. New elmrc
    options are "valid-msg-id-domains", "generate-message-id",
    "pager-time-display" and "address-lookup". Also
    added "default-tls-version" elmrc option to "tls:" section.
    Also some other changes and fixes are included.

    - Changed Va_start() / va_end() usage on gen_browser()
    > This fixes crash on f)ilename command on
    Elm 2.5 style file browser:
    SIGNAL PANIC in signals.c:144:segv_signal
    >>>

    Segment Violation signal!


    Call stack: 7FBC6A31301E 4F108B 7FBC69AAACB0 7FBC69AFCDFA 7FBC6A30C337
    continues: 44D2EE 4502A0 47372E 46470A 490DE5
    continues: 4925FE 466D3A 7FBC69A95F45 41F1A9
    backtrace:
    /usr/local/lib/libelmme-base.so.1.1.51(panic+0x1de)[0x7fbc6a31301e]
    elm(segv_signal+0x80)[0x4f108b]
    /lib/x86_64-linux-gnu/libc.so.6(+0x36cb0)[0x7fbc69aaacb0]
    /lib/x86_64-linux-gnu/libc.so.6(strlen+0x2a)[0x7fbc69afcdfa]
    /usr/local/lib/libelmme-base.so.1.1.51(elm_smessage+0x1025)[0x7fbc6a30c337]
    elm[0x44d2ee]
    elm(gen_browser+0x73b)[0x4502a0]
    elm(save+0x834)[0x47372e]
    elm(mailbox_command+0x1cae)[0x46470a]
    elm[0x490de5]
    elm(main_messages_menu+0x165)[0x4925fe]
    elm(main+0xf13)[0x466d3a]
    /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf5)[0x7fbc69a95f45]
    elm[0x41f1a9]
    Press a <enter> to abort or <enter> to exit:
    Crash occurs on x86_64 (amd64) architecture on Linux.
    Crash does not occur on i386 architecture on Linux.
    - Changed Va_start() / va_end() usage on folder_browser()

    - Added
    struct message_id * message_id;
    struct digest_proc * message_digest;
    struct expanded_date * date;
    to struct mailing_headers on hdrs/addrlib.h
    - Added write_msgid_header(), write_date_header()
    to lib/addr/write_hdr.c and hdrs/addrlib.h

    NOTE: A header fields Date: and Message-ID: are generated
    before "Mail Preview Screen" entered. Therefore Date:
    header field does not reflect mail sending time. A header
    fields Date: and Message-ID: are always same on
    "Mail Preview Screen", on sent mail and on saved copy.

    - Changed static struct header_info header_types[]
    on lib/addr/headers.c so that Message-ID: is also
    allowed on .elm/elmheaders (although that is not very
    useful) or on 'invoke e(d)itor' buffer on
    header editing screen.

    - Added
    Message-ID:
    to edit buffer used by 'invoke e(d)itor' on
    header editing screen. This is supported on
    static struct header_info header_types[]
    on lib/addr/headers.c.

    - Added is_whitelisted_msgid_domain() to
    to lib/addr/outheaders.h and to hdrs/addrlib.h
    - Added elmrc option "valid-msg-id-domains" to
    lib/addr/init.c
    - Added elmrc option "generate-message-id" to
    lib/mailer/init.c

    - Elm ME+ generates message-id header field
    when sending mail. This is controller by
    new elmrc option "generate-message-id".
    Message-id domain part is checked from
    DNS when
    use-mailer-library = smtp resolv
    is used. Id domain part of message-id
    header field is listed on new elmrc option
    "valid-msg-id-domains", then domain part is
    accepted without DNS check.

    See also chapter "Message-ID generation"

    - Configure now asks fall back domain name for
    message-id. msg-id.elmme-mailer.org is suggested.

    - Added check_domain_name() to shared_libs/resolv/resolv.c

    - Added "RSA Data Security, Inc. MD5 Message-Digest
    Algorithm" from
    RFC 1321: The MD5 Message-Digest Algorithm
    and modified that to work on 64-bit machine. Test
    suite on original code produces wrong hashes.

    - Possible fix to RC_fill_enum_values() on
    shared_libs/resolv/resolv.c
    - Possible fix to verify_mail_domain2() on
    shared_libs/resolv/resolv.c

    - Added macros DEBUG_CHECK_INIT() and DEBUG_CHECK()
    to hdrs/elmlib.h

    - Changed handling of valid-domains elmrc option.
    Even when some item on list starts with dot (.),
    name stated with dot (.) does not have accepted.
    When .domain is given on valid-domains elmrc option
    it marks {anything}.domain as valid domain, but
    {anything} can not be empty.

    - Moved message_id_domain() and message_id_left()
    from lib/addr/def_addr.h to hdrs/addrlib.h

    - Added free_digest_proc(), inc_digest_proc_refcount(),
    start_digest_proc(), feed_digest_proc(),
    len_digest_proc(), mode_digest_proc(),
    end_digest_proc(), result_digest_proc()
    digest_proc_equal(), malloc_digest_proc(),
    digest_type()
    to hdrs/elmlib.h and lib/digest_wrapper.c

    - Exported name_ok() from lib/service_list.c
    as host_name_ok().

    - Changed mail() on src/mailmsg2.c

    - Added digest_feed_string() to hdrs/elmlib.h and
    lib/string.c
    - Added cs_digest_feed_from_string() to hdrs/cs_imp.h
    - Added digest_feed_str(), digest_feed_references(),
    digest_feed_message_id(), digest_feed_addrs(),
    digest_feed_expires_hdr()
    to hdrs/addrlib.h and lib/addr/digest.c

    - Added query_s_mailer_info() to hdrs/mailerlib.h
    and lib/mailer/mailer.c
    - Added mailer_info_s_query_hook() to hdrs/mailer_imp.h
    - Added Configure test for getsockname()

    - Added set_address_from_gen_helper2() to hdrs/connection_imp.h
    and lib/remote_mbx.c
    - Added local socket address (result of
    getsockaname()) to struct remote_account
    - local address (result of getsockaname())
    is now included to transcript file
    (file given with -X option).
    - Submission mailer's check for MI_REMOTE_MAILER
    implementation for query_mailer_info() now
    also check that local and remote address
    of socket is same.

    - Added verify_library_prefix() to lib/shared.c and hdrs/shared_imp.h
    - Added shared_check_dname() and mailerdom_verify_lib_status()
    to lib/mailer/shared_mailer.c and hdrs/mailerlib.h

    - Added new_expanded_date(), free_expanded_date(),
    get_expanded_date_value(), get_expanded_date_cached_time(),
    get_expanded_date_source()
    to lib/addr/outdate.c and hdrs/addrlib.h
    - Added date_hdrval() to lib/addr/date.c and
    hdrs/addrlib.h
    - Added digest_feed_date_hdr() to lib/addr/digest.c
    and hdrs/addrlib.h
    - Added expanded_time_hdrval() to lib/addr/date.c
    and hdrs/addrlib.h

    - Changed add_expires_hdr()
    - Changed parsing of Expires: -header on .elm/elmheaders
    - Added
    Expires:
    to edit buffer used by 'invoke e(d)itor' on
    header editing screen. This is supported on
    static struct header_info header_types[]
    on lib/addr/headers.c.
    - Allow "x days" as value for Expires: -header
    on edit buffer.
    - Possible fix for expval_expires()

    - Added add_date_hdr() to lib/addr/outheaders.h
    - Changed static struct header_info header_types[]
    on lib/addr/headers.c so that Date: is also
    allowed on .elm/elmheaders (although that is not very
    useful).

    - Added
    Date:
    to edit buffer used by 'invoke e(d)itor' on
    header editing screen. This is supported on
    static struct header_info header_types[]
    on lib/addr/headers.c.
    - Fixed skipping of comments between headers
    on edit buffer used by 'invoke e(d)itor' on
    header editing screen.

    - Fix for parse_parts_date_time(), wday number was
    returned wrongly.

    - Avoid
    "Failed to leave folder: Try to quit again ? ([P]anic/y/n) n"
    when
    "Move read messages to "received" folder? (y/n)"
    is canceled with ctrl-C
    - Added to sync_mbox() return status sync_mbox_cancel (-4).

    - Changed sync_mbox() so that it does not
    call emergency_exit() when EOF is send from user input.
    - Added to sync_mbox() return status sync_mbox_EOF (-5).

    - Changed real_save() so that it does not
    call emergency_exit() when end_keep_folder()
    fails. Also real_save() does not close folder
    when end_keep_folder() fails.

    - Added --messages={file} argument to elm.
    This logs some messages (usually errors)
    shown.
    - Added open_messages_log(), close_messages_log()
    to hdrs/me.h and src/out_utils.c

    - Added --transaction={file} argument to elm.
    This is same than -X {file} option.
    - Added free_transaction_file() to hdrs/elmlib.h
    and lib/remote_mbx.c
    - free_transaction_file() is called from
    free_rc_options().

    - Changed some time() calls.

    - Check on can_open() that userid and groupid have set.

    - Set close-on-exec flag on set_transaction_file() and
    init_debug().

    - Avoid
    Failed to leave folder!
    and then
    Failed to leave folder: Try to quit again ? ([P]anic/y/n) n
    on closing/leaving folders
    when several folders are open and some of them
    are read only. If just read only folder was open
    that produced already
    Folder XXXXXX is read-only and unchanged.

    - Added "-X transcript/transaction file" parameter
    to fastmail. This is useful when mailer=submission
    is used. Same option is also on elm, newmail and frm
    (on these cases transcript/transaction file will
    include passwords). Currently mailer=submission
    does not support SMTP AUTH, so there is no passwords
    on transcript/transaction file on that case now.

    - Added Message-ID: -generation to fastmail.

    - Use DEFAULT_BATCH_SUBJECT also on fastmail.

    - Added write_common_mailing_headers() to
    lib/mailer/write_common.c and hdrs/mailerlib.h
    - Used that on elm's src/mailmsg2.c and
    on fastmail.
    Note: If nohdrencoding is set on elmrc, now
    also fastmail (as elm does) adds
    X-ELM-OSV: no-hdr-encoding=1
    to outgoing mails.

    - Moved add_parameter() from src/mime_encode.c
    to lib/mailer/mime_encode.c

    - Added feed_common_mailing_headers() to
    lib/mailer/feed_common.c and hdrs/mailerlib.h
    - Used that on elm's src/mailmsg2.c and
    on fastmail

    - Added -H option to fastmail. If set, only
    Return-Path: -header field is read from
    ~/.elm/elmheaders file and other header fields
    are ignored.

    - Added similar generation of From: and Sender:
    header fields to fastmail than it is on
    elm -command. Global elm.rc option "add-sender"
    is now used also on fastmail.

    - Added sndhelper_get_sender(),
    sndhelper_handle_sender() to
    lib/mailer/senderhelper.c and hdrs/mailerlib.h
    - Used that on elm's src/mailmsg2.c and
    on fastmail

    - Moved build_address_classify_domain(),
    build_address_classify_message(),
    build_address_cancel_mode(),
    verify_mail_domain_util() from
    hdrs/me.h and src/addr_util.c to
    lib/mailer/senderhelper.c and hdrs/mailerlib.h

    - Changed static struct header_info header_types[]
    on lib/addr/headers.c so that In-reply-to: and
    References: are also allowed on .elm/elmheaders
    (although that is not very useful) or on 'invoke
    e(d)itor' buffer on header editing screen.

    - Added In-reply-to: and References: to
    'invoke e(d)itor' buffer on header editing
    screen. This is supported on
    static struct header_info header_types[]
    on lib/addr/headers.c.

    - Moved print_edit_string(), add_addr_header(),
    add_string_header(), edit_headers_on_editor()
    from src/hdrconfg.h to src/edithdr.c

    - strftime() format specifier %r (The time in
    a.m. or p.m. notation) produces 12-hour clock
    without AM/PM notification on fi_FI.UTF-8
    locale (also %p produces empty result).
    > Changed default to 24-hour clock (without
    seconds).
    - Added elmrc option "pager-time-display".
    Option have values
    legacy (same than month-day-year-12h)
    default (same than month-day-year-HH-MM)
    month-day-year-12h month day, Year 12h (am/pm)
    strftime %b %d, %Y %r
    month-day-year-24h month day, Year 24h
    strftime %b %d, %Y %T
    month-day-year-HH-MM month day, Year HH:MH
    strftime %b %d, %Y %R
    preferred Local preferred format
    strftime %c
    day-month-year-12h day month year 12h (am/pm)
    strftime %d %b %Y %r
    day-month-year-24h day month year 24h
    strftime %d %b %Y %T
    day-month-year-HH-MM day month year HH:MM
    strftime %d %b %Y %R
    YYYY-MM-DD-HH-MM numeric YYYY-MM-DD HH:MM
    YYYY-MM-DD-HH-MM-SS numeric YYYY-MM-DD HH:MM:SS
    Sender's timezone is appended to time.
    This option controls how pager show message
    date and time on title line (top line) when "titles"
    elmrc option have value ON (default).
    - If Date: is unparsable, pager no longer show dummy
    date and time on title line.
    - If Date: is parsable, but year is too early or
    year is too late (time_t overflows on 32-bit
    systems), pager shows text "year " and year number
    on place of date and time on title line (top line).

    - Replaced elm_date_str() with elm_date_text().
    - elm_date_text() will report "year xxxx" if date value
    is unsupported or overflow, but year is available
    (from time_menu_year at struct header_rec)

    - Changed that setting add-in-reply-to-phrase does not
    use elm_date_str()'s or elm_date_text()'s strftime
    for phrase time used on in-reply-to reply header field. Result
    of that is locale dependent. Changed that this
    uses date: -header format on phrase (actually
    implemented via elm_date_text(), but not available as
    "pager-time-display" value).

    - Added give_name_from_sockaddr() to lib/service_list.c
    and hdrs/connection_imp.h
    - Added elmrc option "address-lookup".
    Possible values are:
    normal Currently same than
    "gethostbyaddr"
    gethostbyaddr Use getgostbyaddr()
    getnameinfo Use getnameinfo()

    This option specifies how translation from ip-address
    to hostname is done. Default value "normal" specifies
    that normal address -lookup API (that is gethostbyaddr())
    is done.
    Both gethostbyaddr() and getnameinfo() works
    also with IPv6 (on Linux). getnameinfo() is newer
    interface, but it can return only one name. gethostbyaddr()
    may return several names. Seems that getnameinfo()
    returns first name from /etc/hosts even
    when this is not best choice.

    This is currently only used when "generate-message-id"
    have {domainspec} value "default" and "mailer"
    is "submission" and that connection is not local.

    - Added give_SOCKADDR_ptr_as_string() to
    lib/service_list.c and hdrs/connection_imp.h

    - Do not ask
    Can I test if your mailer supports DSN options: -N -R -V?
    on Configure if selected mailer is "none".

    - Changed Configure (actually shared_libs/tls/config)
    so that it detects also on Ubuntu 18.4
    that OpenSSL is available on system directory.

    - OpenSSL seems not include RAND_egd_bytes() on Ubuntu 18.4.
    Now Configure (actually shared_libs/tls/config) tests
    that RAND_egd_bytes() can be linked.

    - libelmme-tls module only used SSLv23_client_method() and
    TLSv1_client_method(). Added Configure (actually shared_libs/tls/config)
    test that
    SSLv23_client_method()
    TLS_client_method()
    TLSv1_client_method()
    TLSv1_1_client_method()
    TLSv1_2_client_method()
    can be linked.
    - Changed prototype of create_TLS_stream()
    - Changed libelmme-tls module handle more protocol versions.
    - "tls:starttls-version" and "tls:tls-version" parameters
    of global elm.mailservices and user's ~/.elm/mail.services
    file now accepts new values:
    tls-1 TLS 1 protocol
    tls-1.1 TLS 1.1 protocol
    tls-1.2 TLS 1.2 protocol
    These "tls:starttls-version" and "tls:tls-version" parameters
    also accepts old values:
    none disables STLS or STARTTLS
    ssl SSL or TLS, semantic varies
    tls TLS, semantic varies (default)
    See details from shared_libs/tls/README.ME+ file.

    Default "tls" means that protocol TLS 1 is used or with
    OpenSSL 1.1 that protocol TLS 1 or newer is used. Value
    "ssl" probably means with OpenSSL 1.0 or older that
    SSL 2 client hello packet is used.

    NOTE: Configure (actually shared_libs/tls/config) disables
    by default
    TLSv1_client_method(),
    TLSv1_1_client_method(), and
    TLSv1_2_client_method()
    on Ubuntu 18.4 because them are deprecated. This assumes
    that compiler gives "is deprecated" message and user agrees
    disabling on Configure prompt.

    ( However SSLv23_client_method() seems not produce
    "is deprecated" message. )

    - Added "default-tls-version" elmrc option
    to "tls:" section. This option accepts values:
    ssl SSL or TLS, semantic varies
    tls TLS, semantic varies (default)
    tls-1 TLS 1 protocol
    tls-1.1 TLS 1.1 protocol
    tls-1.2 TLS 1.2 protocol
    This is used, if "tls:starttls-version" and
    "tls:tls-version" parameters does not exists on
    global elm.mailservices or user's ~/.elm/mail.services
    file for particular host and service.

    - Changed that Configure puts UU directory to build-directory when
    -O option is used and not source directory when checking
    that package is complete

    - Added $dummydomain to Configure. This is used if Configure
    defaults to placeholder domain. That is '.localdomain'.
    - Added matches_dummy_domain() to lib/mailer/senderhelper.c
    and hdrs/mailerlib.h. That returns ".localdomain" if domain
    ends .localdomain and Configure or setup_names() selected that
    for placeholder domain. This is used for avoiding DNS
    lookup.

    New elmrc option:
    address-lookup
    generate-message-id
    valid-msg-id-domains
    pager-time-display
    tls:default-tls-version

    New files:
    lib/addr/md5_global.h
    lib/addr/md5.h
    lib/addr/md5c.c
    lib/addr/md5_wrapper.c
    lib/digest_wrapper.c
    hdrs/digest_imp.h
    lib/mailer/message-id.c
    lib/addr/digest.c
    lib/addr/outdate.c
    lib/mailer/write_common.c
    lib/mailer/feed_common.c
    lib/mailer/senderhelper.c
    src/edithdr.c
    shared_libs/tls/tlsconf.h.SH

    Message-ID generation
    ---------------------

    elm.rc option option "generate-message-id" tells
    how message-id should be generated for outgoing
    mail. Elm ME+ does not generate Message-ID
    header field if "generate-message-id" have
    value "none" or if Elm ME+ can't select
    "good" domain name to domain part (right
    side from '@') of message-id.

    Value of "generate-message-id" optios is either

    none Message-ID: -header field is not generated

    or value have form

    {localspec}@{domainspec}; {parameter}={value}...

    or

    {localspec}@domain.name; {parameter}={value}...

    {localspec} values includes:

    none Message-ID: -header field is not generated
    md5 Use 16 octets md5 hash value from message
    content for generating local part of message-id.
    /dev/urandom Use 16 octets from /dev/urandom for
    generating local part of message-id.
    /proc/sys/kernel/random/uuid Use content from /proc/sys/kernel/random/uuid
    as local part of message-id.

    Local part of message-id is generated from 16 octets same way on both
    md5 and /dev/urandom cases. Result includes 2 or 4 "words" which are
    separated by '.' characters (on 64-bit architecture result includes
    2 "words" and 32-bit architecture result includes 4 shorter "words").

    {domainspec} values includes:

    default Try following as domain part of message id
    1) value of "hostfullname" elmrc option
    2) mailer specific value (name of local
    address of connected socket on "submission"
    mailer, if connection is remote)
    3) First value from "mailname" elmrc option
    hostfullname Try value of "hostfullname" elmrc option as
    domain part of message id
    maildomain Try first value from "mailname" elmrc option as
    domain part of message id

    'domain.name' is any dns name which is tried as domain part of message id. This
    must include at least one dot ('.'). Without dot ('.') it is interpreted as
    {domainspec} keyword.

    {parameter} values includes:

    fallback-domain Overrides possible compile time default
    domain for domain part of message id
    default-cache-timeout Default timeout for cached results
    of dns check for domain part of message id.
    May include unit: "s" for seconds, "m"
    for minutes, "h" for hours or "d" for days.
    Without unit gives default cache timeout on
    seconds.

    check-domain Value "none" indicates that dns check is not
    done and "valid-msg-id-domains" elmrc option
    must be used.

    check-domain Value "shared" indicates that shared routine
    (resolv -module) is used for dns check.

    min-domain-labels Minimun number of domain labels (0-9) separated
    by '.' characters required for dns check.
    Value zero (0) disables counting of labels
    and rfc 822 special characters and whitespace
    are not checked.
    Note that '\.' does not count as label separator.

    With elmrc option
    use-mailer-library = resolv
    possible {parameter} value includes:

    check-domain Value "resolv" indicates that shared routine
    from resolv -module is used for dns check.

    {value} may be quoted string for "fallback-domain" and "check-domain".

    A domain part of message-id either must be listed on
    "valid-msg-id-domains" elmrc option or resolv -module must check that
    given dns name exists. If a domain part of message-id is listed
    "special-use-domains-blacklist", dns check is not done and domain part
    is not accepted.

    Warnings
    --------

    - 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
    message.

    - 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

    [continued in next message]

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Kari Hurtta@21:1/5 to All on Mon Jun 8 19:46:06 2020
    XPost: alt.sources

    Archive-name: elmME+2.5/PLalpha52.2

    Before applying this patch catenate parts 1 - 7 first.
    Also it should be possible to apply parts 1 - 7
    individually.

    Undo Elm ME+ 2.5 PLalpha51a patch before applying
    this patch.

    Part 0 does not include patch.

    This patch is agaist Elm ME+ 2.5 PLalpha51

    ====================================== ( part 2/7 ) =========
    Index: elmME+.2.5.alpha52-cvs/hdrs/shared_imp.h
    *** elmME+.2.5.alpha51/hdrs/shared_imp.h Sun Feb 4 21:36:28 2018
    --- elmME+.2.5.alpha52-cvs/hdrs/shared_imp.h Tue May 12 21:18:18 2020 ***************
    *** 1,7 ****
    ! /* $Id: shared_imp.h,v 2.11 2017/12/30 11:44:58 hurtta Exp $ */

    /******************************************************************************
    ! * The Elm (ME+) Mail System - $Revision: 2.11 $ $State: Exp $
    *
    * Author: Kari Hurtta <hurtta+elm@siilo.FMI.FI>
    * (was hurtta+elm@posti.FMI.FI, hurtta+elm@ozone.FMI.FI) --- 1,7 ----
    ! /* $Id: shared_imp.h,v 2.12 2020/05/12 18:18:18 hurtta Exp $ */

    /******************************************************************************
    ! * The Elm (ME+) Mail System - $Revision: 2.12 $ $State: Exp $
    *
    * Author: Kari Hurtta <hurtta+elm@siilo.FMI.FI>
    * (was hurtta+elm@posti.FMI.FI, hurtta+elm@ozone.FMI.FI) ***************
    *** 116,121 ****
    --- 116,131 ----
    struct dt_shared_info *var));
    extern int give_rnum P_((struct ImpInfo * I, struct dt_shared_info *var));

    + extern enum ver
  • From Kari Hurtta@21:1/5 to All on Mon Jun 8 19:45:13 2020
    XPost: alt.sources

    Archive-name: elmME+2.5/PLalpha52.1

    Before applying this patch catenate parts 1 - 7 first.
    Also it should be possible to apply parts 1 - 7
    individually.

    Undo Elm ME+ 2.5 PLalpha51a patch before applying
    this patch.

    Part 0 does not include patch.

    This patch is agaist Elm ME+ 2.5 PLalpha51

    ====================================== ( part 1/7 ) =========
    For applying thich patch use (on directory where Configure is)

    patch -p1 < {this-file}

    ------------------------------------------------------------------------
    Index: elmME+.2.5.alpha52-cvs/hdrs/patchlevel.h
    Prereq: 1610000000
    *** elmME+.2.5.alpha51/hdrs/patchlevel.h Sat Feb 8 14:34:18 2020
    --- elmME+.2.5.alpha52-cvs/hdrs/patchlevel.h Sat Jun 6 10:57:01 2020 ***************
    *** 1,12 ****
    ! #define PATCHLEVEL "alpha51"
    /* Used by Configure:
    ! SHAREDTAG: .1.1.51
    */
    ! #define LAST_REPORT_TIME 1610000000
    #define BUG_REPORT_ADDR "Kari Hurtta <elm@elmme-mailer.org>"
    ! #define VERS_DATE "Feb 2020" /* for elm -v option */
    #define WHAT_STRING \
    ! "@(#) Version ME+ 2.5, USENET supported version, released Feb 2020"

    /*
    * Local Variables:
    --- 1,12 ----
    ! #define PATCHLEVEL "alpha52"
    /* Used by Configure:
    ! SHAREDTAG: .1.1.52
    */
    ! #define LAST_REPORT_TIME 1620000000
    #define BUG_REPORT_ADDR "Kari Hurtta <elm@elmme-mailer.org>"
    ! #define VERS_DATE "Jun 2020" /* for elm -v option */
    #define WHAT_STRING \
    ! "@(#) Version ME+ 2.5, USENET supported version, released Jun 2020"

    /*
    * Local Variables:
    Index: elmME+.2.5.alpha52-cvs/README.ME+
    *** elmME+.2.5.alpha51/README.ME+ Sat Feb 8 14:34:18 2020
    --- elmME+.2.5.alpha52-cvs/README.ME
  • From Kari Hurtta@21:1/5 to All on Mon Jun 8 19:47:03 2020
    XPost: alt.sources

    Archive-name: elmME+2.5/PLalpha52.3

    Before applying this patch catenate parts 1 - 7 first.
    Also it should be possible to apply parts 1 - 7
    individually.

    Undo Elm ME+ 2.5 PLalpha51a patch before applying
    this patch.

    Part 0 does not include patch.

    This patch is agaist Elm ME+ 2.5 PLalpha51

    ====================================== ( part 3/7 ) =========
    Index: elmME+.2.5.alpha52-cvs/lib/cs_iso2022.c
    *** elmME+.2.5.alpha51/lib/cs_iso2022.c Sat May 21 10:02:23 2016
    --- elmME+.2.5.alpha52-cvs/lib/cs_iso2022.c Tue May 12 21:18:18 2020 ***************
    *** 1,7 ****
    ! static char rcsid[] = "@(#)$Id: cs_iso2022.c,v 2.9 2016/03/21 20:26:13 hurtta Exp $";

    /******************************************************************************
    ! * The Elm (ME+) Mail System - $Revision: 2.9 $ $State: Exp $
    *
    * Author: Kari Hurtta <hurtta+elm@siilo.FMI.FI>
    * (was hurtta+elm@posti.FMI.FI, hurtta+elm@ozone.FMI.FI) --- 1,7 ----
    ! static char rcsid[] = "@(#)$Id: cs_iso2022.c,v 2.10 2020/05/12 18:18:18 hurtta Exp $";

    /******************************************************************************
    ! * The Elm (ME+) Mail System - $Revision: 2.10 $ $State: Exp $
    *
    * Author: Kari Hurtta <hurtta+elm@siilo.FMI.FI>
    * (was hurtta+elm@posti.FMI.FI, hurtta+elm@ozone.FMI.FI) ***************
    *** 4376,4381 ****
    --- 4376,4382 ----
    cs_estimate_clip_iso2022,
    cs_iso2022_info_set_iso2022,
  • From Kari Hurtta@21:1/5 to All on Mon Jun 8 19:48:59 2020
    XPost: alt.sources

    Archive-name: elmME+2.5/PLalpha52.5

    Before applying this patch catenate parts 1 - 7 first.
    Also it should be possible to apply parts 1 - 7
    individually.

    Undo Elm ME+ 2.5 PLalpha51a patch before applying
    this patch.

    Part 0 does not include patch.

    This patch is agaist Elm ME+ 2.5 PLalpha51

    ====================================== ( part 5/7 ) =========
    Index: elmME+.2.5.alpha52-cvs/lib/shared.c
    *** elmME+.2.5.alpha51/lib/shared.c Tue Dec 25 20:13:54 2018
    --- elmME+.2.5.alpha52-cvs/lib/shared.c Tue May 12 21:18:18 2020 ***************
    *** 1,4 ****
    ! static char rcsid[] = "@(#)$Id: shared.c,v 2.23 2018/12/21 11:21:42 hurtta Exp $";

    /******************************************************************************
    *
    --- 1,4 ----
    ! static char rcsid[] = "@(#)$Id: shared.c,v 2.24 2020/05/12 18:18:18 hurtta Exp $";

    /******************************************************************************
    *
    ***************
    *** 654,659 ****
    --- 654,767 ----
    libraries_loaded = 1;
    }

    + enum verlib_status verify_library_prefix(prefix,var,read_flags)
    + const char *prefix;
    + struct dt_shared_info *var;
    + int read_flags /* READ_FLAG_IGNORE_MISSING */;
    + {
    + enum verlib_status ret = verlib_not_loaded;
    + int i;
    + int found = 0;
    +
    +
    + DPRINT(Debug,9,(&Debug,
    + "verify_library_prefix: Checking [var %p] for prefix %s ...\n",
    + var,prefix));
    +
    + for (i = 0; i < var->shared_list_len; i++) {
    +
  • From Kari Hurtta@21:1/5 to All on Mon Jun 8 19:51:10 2020
    Archive-name: elmME+2.5/PLalpha52.4

    Before applying this patch catenate parts 1 - 7 first.
    Also it should be possible to apply parts 1 - 7
    individually.

    Undo Elm ME+ 2.5 PLalpha51a patch before applying
    this patch.

    Part 0 does not include patch.

    This patch is agaist Elm ME+ 2.5 PLalpha51

    ====================================== ( part 4/7 ) =========
    Index: elmME+.2.5.alpha52-cvs/lib/mailer/mime_encode.c
    *** elmME+.2.5.alpha51/lib/mailer/mime_encode.c Wed Dec 10 22:19:12 2014
    --- elmME+.2.5.alpha52-cvs/lib/mailer/mime_encode.c Thu May 21 05:58:29 2020
    ***************
    *** 1,13 ****
    ! static char rcsid[] = "@(#)$Id: mime_encode.c,v 2.2 2014/11/15 11:00:24 hurtta Exp $";

    /******************************************************************************
    ! * The Elm (ME+) Mail System - $Revision: 2.2 $ $State: Exp $
    *
    * Modified by: Kari Hurtta <hurtta+elm@siilo.FMI.FI>
    * or Kari Hurtta <elm@elmme-mailer.org>
    *
    * Moved base64_encode(), line_quoted_printable_encode() and
    ! * quoted_printable_encode() from src/mime_encode.c
    *
    * Initially written by: Michael Elkins <elkins@aero.org>, 1995
    *****************************************************************************/
    --- 1,13 ----
    ! static char rcsid[] = "@(#)$Id: mime_encode.c,v 2.3 2020/05/21 02:58:29 hurtta Exp $";

    /******************************************************************************
    ! * The Elm (ME+) Mail System - $Revision: 2.3 $ $State: Exp $
    *
  • From Kari Hurtta@21:1/5 to All on Mon Jun 8 19:53:03 2020
    XPost: alt.sources

    Archive-name: elmME+2.5/PLalpha52.7

    Before applying this patch catenate parts 1 - 7 first.
    Also it should be possible to apply parts 1 - 7
    individually.

    Undo Elm ME+ 2.5 PLalpha51a patch before applying
    this patch.

    Part 0 does not include patch.

    This patch is agaist Elm ME+ 2.5 PLalpha51

    ====================================== ( part 7/7 ) =========
    Index: elmME+.2.5.alpha52-cvs/src/messages/Makefile.SH
    *** elmME+.2.5.alpha51/src/messages/Makefile.SH Tue Dec 25 20:13:54 2018
    --- elmME+.2.5.alpha52-cvs/src/messages/Makefile.SH Thu May 21 05:58:29 2020
    ***************
    *** 33,39 ****
    cat >Makefile <<!GROK!THIS!
    #!$make
    #
    ! # $Id: Makefile.SH,v 2.10 2018/08/01 09:36:26 hurtta Exp $
    #
    # Makefile for the ELM (ME+) mail program.
    #
    --- 33,39 ----
    cat >Makefile <<!GROK!THIS!
    #!$make
    #
    ! # $Id: Makefile.SH,v 2.11 2020/05/21 02:58:29 hurtta Exp $
    #
    # Makefile for the ELM (ME+) mail program.
    #
    ***************
    *** 97,103 ****

    def_messages.h: $(IHDR)/elm_defs.h $(IHDR)/me.h \
    $(INCLDIR)/mailerlib.h $(INCLDIR)/mboxlib.h \
    ! $(INCLDIR)/mboxlib.h $(INCLDIR)/schedule_time.h
    cmp $(SRC)/$@ $@ 2>/dev/null || $(CP) $(SRC)/$@ $@
    $(CHMOD) u+w $@
    $(TOUCH) $@
    --- 97,103 ----

    def_messages.h: $(IHDR)/elm_defs.h $(IHDR)/me.h \
    $(INCLDIR)/mailerlib.h $(INCLDIR)/mboxlib.h \
    ! $(INCLDIR)/mboxlib.h $(INCLDIR)/schedule_time.h
    cmp $(SRC)/$@ $@ 2>/dev/null || $(CP) $(SRC)/$@ $@
    $(CHMOD) u+w $@
    $(TOUCH) $@
    In
  • From Kari Hurtta@21:1/5 to All on Mon Jun 8 19:52:22 2020
    XPost: alt.sources

    Archive-name: elmME+2.5/PLalpha52.6

    Before applying this patch catenate parts 1 - 7 first.
    Also it should be possible to apply parts 1 - 7
    individually.

    Undo Elm ME+ 2.5 PLalpha51a patch before applying
    this patch.

    Part 0 does not include patch.

    This patch is agaist Elm ME+ 2.5 PLalpha51

    ====================================== ( part 6/7 ) =========
    Index: elmME+.2.5.alpha52-cvs/shared_libs/tls/tlsconf.h.SH
    *** /tmp/1554-very-long-file-name/NULL-1554-comes-in-here--XXXXXXXXX Sat Jun 6 13:58:09 2020
    --- elmME+.2.5.alpha52-cvs/shared_libs/tls/tlsconf.h.SH Sun May 31 14:57:36 2020
    ***************
    *** 0 ****
    --- 1,68 ----
    + case $CONFIG in
    + '')
    + if test ! -f config.sh; then
    + ln ../config.sh . || \
    + ln ../../config.sh . || \
    + ln ../../../config.sh . || \
    + (echo "Can't find config.sh."; exit 1)
    + fi
    + . ./config.sh
    +
    + ;;
    + esac
    +
    + case "$subdir" in
    + '')
    + case "$0" in
    + */*) cd `expr X$0 : 'X\(.*\)/'` ;;
    + esac
    +
    + ;;
    + *)
    +
    + ;;
    + esac
    +
    +
    + echo "Extracting shared_libs/tls/tlsconf.h (with variable substitutions)"
    +
    + sed <<!GROK!THIS! >tlsconf.h -e 's!^#undef!/\*#undef!' -e 's!/\*\(.*\)/\*!/\*\1!'
    + /* Config file for resolver routines
    + *
    + * $Id: tlsconf.h.SH,v 2.1 2020/05/31 11:57:36 hurtta Exp $
    + */
    +
    + /* TLS_HAVE_EGD:
    + May use RAND_egd_bytes()
    + */
    + #$tls_have_egd TLS_HAVE_EGD /**/
    +
    + /* TLS_HAVE_SSLv23_METHOD:
    + May use SSLv23_client_method()
    + */
    + #$tls_have_SSLv23 TLS_HAVE_SSLv23_METHO
  • From Kari Hurtta@21:1/5 to Kari Hurtta on Tue Jun 9 19:19:59 2020
    XPost: alt.sources

    Kari Hurtta <hurtta@kasvihuone.keh.iki.fi> writes:

    Archive-name: elmME+2.5/PLalpha52.0

    Before applying this patch catenate parts 1 - 7 first.
    Also it should be possible to apply parts 1 - 7
    individually.

    Undo Elm ME+ 2.5 PLalpha51a patch before applying
    this patch.

    Part 0 does not include patch.

    This patch is agaist Elm ME+ 2.5 PLalpha51

    ====================================== ( part 0/7 ) =========
    Elm ME+ 2.5 PLalpha52

    Undo Elm ME+ 2.5 PLalpha51a patch before applying this patch.

    - Is available with
    <URL: http://www.elmme-mailer.org/elm-ME+2.5.PLalpha52.patch.gz >
    and <URL: http://www.elmme-mailer.org/elm-ME+2.5.alpha52.1064e7434a25434de195c340c86e037f.tar.gz >
    via http.

    - Is available with
    <URL: https://hurtta.kapsi.fi/elm-ME+2.5/elm-ME+2.5.PLalpha52.patch.gz >
    and <URL: https://hurtta.kapsi.fi/elm-ME+2.5/elm-ME+2.5.alpha52.1064e7434a25434de195c340c86e037f.tar.gz >
    via https.

    - Is available on ftp.funet.fi
    via anonymous ftp
    directory pub/mirrors/elmme-mailer.org/src/elm-ME+2.5/

    files elm-ME+2.5.PLalpha52.patch.gz
    and elm-ME+2.5.alpha52.1064e7434a25434de195c340c86e037f.tar.gz

    or is available with
    <URL: ftp://ftp.funet.fi/pub/mirrors/elmme-mailer.org/src/elm-ME+2.5/elm-ME+2.5.PLalpha52.patch.gz >
    and <URL: ftp://ftp.funet.fi/pub/mirrors/elmme-mailer.org/src/elm-ME+2.5/elm-ME+2.5.alpha52.1064e7434a25434de195c340c86e037f.tar.gz >
    via https.

    Should be:

    or is available with
    <URL: https://nic.funet.fi/pub/mirrors/elmme-mailer.org/src/elm-ME+2.5/elm-ME+2.5.PLalpha52.patch.gz >
    and <URL: https://nic.funet.fi/pub/mirrors/elmme-mailer.org/src/elm-ME+2.5/elm-ME+2.5.alpha52.1064e7434a25434de195c340c86e037f.tar.gz >
    via https.

    SUMMARY: This release collects patch Elm ME+ 2.5 PLalpha51a,
    adds generation of "Message-ID:" -header field,
    adds "Message-ID:", "Expires:", "Date:",
    "In-reply-to:", and "References:" -header fields
    to 'invoke e(d)itor' buffer on header editing screen
    and adds --messages={file} and --transaction={file}
    arguments to command line of elm. This release changes
    pager date and time display on pager title line and
    changes fastmail -command. This release adds TLS 1.1
    and 1.2 alternatives to libelmme-tls module. New elmrc
    options are "valid-msg-id-domains", "generate-message-id",
    "pager-time-display" and "address-lookup". Also
    added "default-tls-version" elmrc option to "tls:" section.
    Also some other changes and fixes are included.

    / Kari Hurtta

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Kari Hurtta@21:1/5 to All on Wed Jun 10 19:02:00 2020
    Experimental RPM spec file for ELM ME+ 2.5 PLalpha52
    exists on <URL: http://www.elmme-mailer.org/rpm/elm-ME+2.5.html >
    directory.

    Files are following

    - http://www.elmme-mailer.org/rpm/elm-ME+2.5.alpha52-1.spec
    RPM spec file
    - http://www.elmme-mailer.org/rpm/elm-ME+2.5.alpha52-1.spec.elm-key-2018.sig
    - http://www.elmme-mailer.org/rpm/elm-ME+2.5.alpha52-1.spec.sig

    ** Notes

    - elm-ME+2.5.alpha52-1.mdk7.1.src.rpm is signed internally with GPG
    key elm.key.2018.asc (44FC796B 2018-12-01).

    * 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.alpha52-1.mdk7.2.i686.rpm
    Package elm binary RPM build on Linux Mandrake release 7.2
    - http://www.elmme-mailer.org/rpm/elm-ME+2.5.alpha52-1.mdk7.2.i686.rpm.sig
    - http://www.elmme-mailer.org/rpm/elm-mod-ME+2.5.alpha52-1.mdk7.2.i686.rpm
    Package elm-mod binary RPM build on Linux Mandrake release 7.2
    - http://www.elmme-mailer.org/rpm/elm-mod-ME+2.5.alpha52-1.mdk7.2.i686.rpm.sig
    - http://www.elmme-mailer.org/rpm/elm-tls-ME+2.5.alpha52-1.mdk7.2.i686.rpm
    Package elm-tls binary RPM build on Linux Mandrake release 7.2
    - http://www.elmme-mailer.org/rpm/elm-tls-ME+2.5.alpha52-1.mdk7.2.i686.rpm.sig

    ** Notes

    - elm-ME+2.5.alpha52-1.mdk7.2.i686.rpm and
    elm-*-ME+2.5.alpha52-1.mdk7.2.i686.rpm are signed internally with
    GPG key elm.key.2018.asc (44FC796B 2018-12-01).
    - elm-ME+2.5.alpha52-1.mdk7.2.i686.rpm is compiled agaist Sendmail
    8.13 (not from Mandrake distribution).
    - elm-tls-ME+2.5.alpha51-1.mdk7.2.i686.rpm do not load/work on
    Mandrake 7.2, because openssl library misses ASN1_STRING_to_UTF8
    function.

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

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

    Also following directories are used:

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

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

    SUMMARY: This release collects patch Elm ME+ 2.5 PLalpha51a,
    adds generation of "Message-ID:" -header field,
    adds "Message-ID:", "Expires:", "Date:",
    "In-reply-to:", and "References:" -header fields
    to 'invoke e(d)itor' buffer on header editing screen
    and adds --messages={file} and --transaction={file}
    arguments to command line of elm. This release changes
    pager date and time display on pager title line and
    changes fastmail -command. This release adds TLS 1.1
    and 1.2 alternatives to libelmme-tls module. New elmrc
    options are "valid-msg-id-domains", "generate-message-id",
    "pager-time-display" and "address-lookup". Also
    added "default-tls-version" elmrc option to "tls:" section.
    Also some other changes and fixes are included.

    Elm ME+ 2.5 PLalpha52 changelog

    Changes on Elm ME+ 2.5 PLalpha52 compared with Elm ME+ 2.5 PLalpha51 --------------------------------------------------------------------

    Undo Elm ME+ 2.5 PLalpha51a patch before applying this patch.

    SUMMARY: This release collects patch Elm ME+ 2.5 PLalpha51a,
    adds generation of "Message-ID:" -header field,
    adds "Message-ID:", "Expires:", "Date:",
    "In-reply-to:", and "References:" -header fields
    to 'invoke e(d)itor' buffer on header editing screen
    and adds --messages={file} and --transaction={file}
    arguments to command line of elm. This release changes
    pager date and time display on pager title line and
    changes fastmail -command. This release adds TLS 1.1
    and 1.2 alternatives to libelmme-tls module. New elmrc
    options are "valid-msg-id-domains", "generate-message-id",
    "pager-time-display" and "address-lookup". Also
    added "default-tls-version" elmrc option to "tls:" section.
    Also some other changes and fixes are included.

    - Changed Va_start() / va_end() usage on gen_browser()
    > This fixes crash on f)ilename command on
    Elm 2.5 style file browser:
    SIGNAL PANIC in signals.c:144:segv_signal
    >>>

    Segment Violation signal!


    Call stack: 7FBC6A31301E 4F108B 7FBC69AAACB0 7FBC69AFCDFA 7FBC6A30C337
    continues: 44D2EE 4502A0 47372E 46470A 490DE5
    continues: 4925FE 466D3A 7FBC69A95F45 41F1A9
    backtrace:
    /usr/local/lib/libelmme-base.so.1.1.51(panic+0x1de)[0x7fbc6a31301e]
    elm(segv_signal+0x80)[0x4f108b]
    /lib/x86_64-linux-gnu/libc.so.6(+0x36cb0)[0x7fbc69aaacb0]
    /lib/x86_64-linux-gnu/libc.so.6(strlen+0x2a)[0x7fbc69afcdfa]
    /usr/local/lib/libelmme-base.so.1.1.51(elm_smessage+0x1025)[0x7fbc6a30c337]
    elm[0x44d2ee]
    elm(gen_browser+0x73b)[0x4502a0]
    elm(save+0x834)[0x47372e]
    elm(mailbox_command+0x1cae)[0x46470a]
    elm[0x490de5]
    elm(main_messages_menu+0x165)[0x4925fe]
    elm(main+0xf13)[0x466d3a]
    /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf5)[0x7fbc69a95f45]
    elm[0x41f1a9]
    Press a <enter> to abort or <enter> to exit:
    Crash occurs on x86_64 (amd64) architecture on Linux.
    Crash does not occur on i386 architecture on Linux.
    - Changed Va_start() / va_end() usage on folder_browser()

    - Added
    struct message_id * message_id;
    struct digest_proc * message_digest;
    struct expanded_date * date;
    to struct mailing_headers on hdrs/addrlib.h
    - Added write_msgid_header(), write_date_header()
    to lib/addr/write_hdr.c and hdrs/addrlib.h

    NOTE: A header fields Date: and Message-ID: are generated
    before "Mail Preview Screen" entered. Therefore Date:
    header field does not reflect mail sending time. A header
    fields Date: and Message-ID: are always same on
    "Mail Preview Screen", on sent mail and on saved copy.

    - Changed static struct header_info header_types[]
    on lib/addr/headers.c so that Message-ID: is also
    allowed on .elm/elmheaders (although that is not very
    useful) or on 'invoke e(d)itor' buffer on
    header editing screen.

    - Added
    Message-ID:
    to edit buffer used by 'invoke e(d)itor' on
    header editing screen. This is supported on
    static struct header_info header_types[]
    on lib/addr/headers.c.

    - Added is_whitelisted_msgid_domain() to
    to lib/addr/outheaders.h and to hdrs/addrlib.h
    - Added elmrc option "valid-msg-id-domains" to
    lib/addr/init.c
    - Added elmrc option "generate-message-id" to
    lib/mailer/init.c

    - Elm ME+ generates message-id header field
    when sending mail. This is controller by
    new elmrc option "generate-message-id".
    Message-id domain part is checked from
    DNS when
    use-mailer-library = smtp resolv
    is used. Id domain part of message-id
    header field is listed on new elmrc option
    "valid-msg-id-domains", then domain part is
    accepted without DNS check.

    See also chapter "Message-ID generation"

    - Configure now asks fall back domain name for
    message-id. msg-id.elmme-mailer.org is suggested.

    - Added check_domain_name() to shared_libs/resolv/resolv.c

    - Added "RSA Data Security, Inc. MD5 Message-Digest
    Algorithm" from
    RFC 1321: The MD5 Message-Digest Algorithm
    and modified that to work on 64-bit machine. Test
    suite on original code produces wrong hashes.

    - Possible fix to RC_fill_enum_values() on
    shared_libs/resolv/resolv.c
    - Possible fix to verify_mail_domain2() on
    shared_libs/resolv/resolv.c

    - Added macros DEBUG_CHECK_INIT() and DEBUG_CHECK()
    to hdrs/elmlib.h

    - Changed handling of valid-domains elmrc option.
    Even when some item on list starts with dot (.),
    name stated with dot (.) does not have accepted.
    When .domain is given on valid-domains elmrc option
    it marks {anything}.domain as valid domain, but
    {anything} can not be empty.

    - Moved message_id_domain() and message_id_left()
    from lib/addr/def_addr.h to hdrs/addrlib.h

    - Added free_digest_proc(), inc_digest_proc_refcount(),
    start_digest_proc(), feed_digest_proc(),
    len_digest_proc(), mode_digest_proc(),
    end_digest_proc(), result_digest_proc()
    digest_proc_equal(), malloc_digest_proc(),
    digest_type()
    to hdrs/elmlib.h and lib/digest_wrapper.c

    - Exported name_ok() from lib/service_list.c
    as host_name_ok().

    - Changed mail() on src/mailmsg2.c

    - Added digest_feed_string() to hdrs/elmlib.h and
    lib/string.c
    - Added cs_digest_feed_from_string() to hdrs/cs_imp.h
    - Added digest_feed_str(), digest_feed_references(),
    digest_feed_message_id(), digest_feed_addrs(),
    digest_feed_expires_hdr()
    to hdrs/addrlib.h and lib/addr/digest.c

    - Added query_s_mailer_info() to hdrs/mailerlib.h
    and lib/mailer/mailer.c
    - Added mailer_info_s_query_hook() to hdrs/mailer_imp.h
    - Added Configure test for getsockname()

    - Added set_address_from_gen_helper2() to hdrs/connection_imp.h
    and lib/remote_mbx.c
    - Added local socket address (result of
    getsockaname()) to struct remote_account
    - local address (result of getsockaname())
    is now included to transcript file
    (file given with -X option).
    - Submission mailer's check for MI_REMOTE_MAILER
    implementation for query_mailer_info() now
    also check that local and remote address
    of socket is same.

    - Added verify_library_prefix() to lib/shared.c and hdrs/shared_imp.h
    - Added shared_check_dname() and mailerdom_verify_lib_status()
    to lib/mailer/shared_mailer.c and hdrs/mailerlib.h

    - Added new_expanded_date(), free_expanded_date(),
    get_expanded_date_value(), get_expanded_date_cached_time(),
    get_expanded_date_source()
    to lib/addr/outdate.c and hdrs/addrlib.h
    - Added date_hdrval() to lib/addr/date.c and
    hdrs/addrlib.h
    - Added digest_feed_date_hdr() to lib/addr/digest.c
    and hdrs/addrlib.h
    - Added expanded_time_hdrval() to lib/addr/date.c
    and hdrs/addrlib.h

    - Changed add_expires_hdr()
    - Changed parsing of Expires: -header on .elm/elmheaders
    - Added
    Expires:
    to edit buffer used by 'invoke e(d)itor' on
    header editing screen. This is supported on
    static struct header_info header_types[]
    on lib/addr/headers.c.
    - Allow "x days" as value for Expires: -header
    on edit buffer.
    - Possible fix for expval_expires()

    - Added add_date_hdr() to lib/addr/outheaders.h
    - Changed static struct header_info header_types[]
    on lib/addr/headers.c so that Date: is also
    allowed on .elm/elmheaders (although that is not very
    useful).

    - Added
    Date:
    to edit buffer used by 'invoke e(d)itor' on
    header editing screen. This is supported on
    static struct header_info header_types[]
    on lib/addr/headers.c.
    - Fixed skipping of comments between headers
    on edit buffer used by 'invoke e(d)itor' on
    header editing screen.

    - Fix for parse_parts_date_time(), wday number was
    returned wrongly.

    - Avoid
    "Failed to leave folder: Try to quit again ? ([P]anic/y/n) n"
    when
    "Move read messages to "received" folder? (y/n)"
    is canceled with ctrl-C
    - Added to sync_mbox() return status sync_mbox_cancel (-4).

    - Changed sync_mbox() so that it does not
    call emergency_exit() when EOF is send from user input.
    - Added to sync_mbox() return status sync_mbox_EOF (-5).

    - Changed real_save() so that it does not
    call emergency_exit() when end_keep_folder()
    fails. Also real_save() does not close folder
    when end_keep_folder() fails.

    - Added --messages={file} argument to elm.
    This logs some messages (usually errors)
    shown.
    - Added open_messages_log(), close_messages_log()
    to hdrs/me.h and src/out_utils.c

    - Added --transaction={file} argument to elm.
    This is same than -X {file} option.
    - Added free_transaction_file() to hdrs/elmlib.h
    and lib/remote_mbx.c
    - free_transaction_file() is called from
    free_rc_options().

    - Changed some time() calls.

    - Check on can_open() that userid and groupid have set.

    - Set close-on-exec flag on set_transaction_file() and
    init_debug().

    - Avoid
    Failed to leave folder!
    and then
    Failed to leave folder: Try to quit again ? ([P]anic/y/n) n
    on closing/leaving folders
    when several folders are open and some of them
    are read only. If just read only folder was open
    that produced already
    Folder XXXXXX is read-only and unchanged.

    - Added "-X transcript/transaction file" parameter
    to fastmail. This is useful when mailer=submission
    is used. Same option is also on elm, newmail and frm
    (on these cases transcript/transaction file will
    include passwords). Currently mailer=submission
    does not support SMTP AUTH, so there is no passwords
    on transcript/transaction file on that case now.

    - Added Message-ID: -generation to fastmail.

    - Use DEFAULT_BATCH_SUBJECT also on fastmail.

    - Added write_common_mailing_headers() to
    lib/mailer/write_common.c and hdrs/mailerlib.h
    - Used that on elm's src/mailmsg2.c and
    on fastmail.
    Note: If nohdrencoding is set on elmrc, now
    also fastmail (as elm does) adds
    X-ELM-OSV: no-hdr-encoding=1
    to outgoing mails.

    - Moved add_parameter() from src/mime_encode.c
    to lib/mailer/mime_encode.c

    - Added feed_common_mailing_headers() to
    lib/mailer/feed_common.c and hdrs/mailerlib.h
    - Used that on elm's src/mailmsg2.c and
    on fastmail

    - Added -H option to fastmail. If set, only
    Return-Path: -header field is read from
    ~/.elm/elmheaders file and other header fields
    are ignored.

    - Added similar generation of From: and Sender:
    header fields to fastmail than it is on
    elm -command. Global elm.rc option "add-sender"
    is now used also on fastmail.

    - Added sndhelper_get_sender(),
    sndhelper_handle_sender() to
    lib/mailer/senderhelper.c and hdrs/mailerlib.h
    - Used that on elm's src/mailmsg2.c and
    on fastmail

    - Moved build_address_classify_domain(),
    build_address_classify_message(),
    build_address_cancel_mode(),
    verify_mail_domain_util() from
    hdrs/me.h and src/addr_util.c to
    lib/mailer/senderhelper.c and hdrs/mailerlib.h

    - Changed static struct header_info header_types[]
    on lib/addr/headers.c so that In-reply-to: and
    References: are also allowed on .elm/elmheaders
    (although that is not very useful) or on 'invoke
    e(d)itor' buffer on header editing screen.

    - Added In-reply-to: and References: to
    'invoke e(d)itor' buffer on header editing
    screen. This is supported on
    static struct header_info header_types[]
    on lib/addr/headers.c.

    - Moved print_edit_string(), add_addr_header(),
    add_string_header(), edit_headers_on_editor()
    from src/hdrconfg.h to src/edithdr.c

    - strftime() format specifier %r (The time in
    a.m. or p.m. notation) produces 12-hour clock
    without AM/PM notification on fi_FI.UTF-8
    locale (also %p produces empty result).
    > Changed default to 24-hour clock (without
    seconds).
    - Added elmrc option "pager-time-display".
    Option have values
    legacy (same than month-day-year-12h)
    default (same than month-day-year-HH-MM)
    month-day-year-12h month day, Year 12h (am/pm)
    strftime %b %d, %Y %r
    month-day-year-24h month day, Year 24h
    strftime %b %d, %Y %T
    month-day-year-HH-MM month day, Year HH:MH
    strftime %b %d, %Y %R
    preferred Local preferred format
    strftime %c
    day-month-year-12h day month year 12h (am/pm)
    strftime %d %b %Y %r
    day-month-year-24h day month year 24h
    strftime %d %b %Y %T
    day-month-year-HH-MM day month year HH:MM
    strftime %d %b %Y %R
    YYYY-MM-DD-HH-MM numeric YYYY-MM-DD HH:MM
    YYYY-MM-DD-HH-MM-SS numeric YYYY-MM-DD HH:MM:SS
    Sender's timezone is appended to time.
    This option controls how pager show message
    date and time on title line (top line) when "titles"
    elmrc option have value ON (default).
    - If Date: is unparsable, pager no longer show dummy
    date and time on title line.
    - If Date: is parsable, but year is too early or
    year is too late (time_t overflows on 32-bit
    systems), pager shows text "year " and year number
    on place of date and time on title line (top line).

    - Replaced elm_date_str() with elm_date_text().
    - elm_date_text() will report "year xxxx" if date value
    is unsupported or overflow, but year is available
    (from time_menu_year at struct header_rec)

    - Changed that setting add-in-reply-to-phrase does not
    use elm_date_str()'s or elm_date_text()'s strftime
    for phrase time used on in-reply-to reply header field. Result
    of that is locale dependent. Changed that this
    uses date: -header format on phrase (actually
    implemented via elm_date_text(), but not available as
    "pager-time-display" value).

    - Added give_name_from_sockaddr() to lib/service_list.c
    and hdrs/connection_imp.h
    - Added elmrc option "address-lookup".
    Possible values are:
    normal Currently same than
    "gethostbyaddr"
    gethostbyaddr Use getgostbyaddr()
    getnameinfo Use getnameinfo()

    This option specifies how translation from ip-address
    to hostname is done. Default value "normal" specifies
    that normal address -lookup API (that is gethostbyaddr())
    is done.
    Both gethostbyaddr() and getnameinfo() works
    also with IPv6 (on Linux). getnameinfo() is newer
    interface, but it can return only one name. gethostbyaddr()
    may return several names. Seems that getnameinfo()
    returns first name from /etc/hosts even
    when this is not best choice.

    This is currently only used when "generate-message-id"
    have {domainspec} value "default" and "mailer"
    is "submission" and that connection is not local.

    - Added give_SOCKADDR_ptr_as_string() to
    lib/service_list.c and hdrs/connection_imp.h

    - Do not ask
    Can I test if your mailer supports DSN options: -N -R -V?
    on Configure if selected mailer is "none".

    - Changed Configure (actually shared_libs/tls/config)
    so that it detects also on Ubuntu 18.4
    that OpenSSL is available on system directory.

    - OpenSSL seems not include RAND_egd_bytes() on Ubuntu 18.4.
    Now Configure (actually shared_libs/tls/config) tests
    that RAND_egd_bytes() can be linked.

    - libelmme-tls module only used SSLv23_client_method() and
    TLSv1_client_method(). Added Configure (actually shared_libs/tls/config)
    test that
    SSLv23_client_method()
    TLS_client_method()
    TLSv1_client_method()
    TLSv1_1_client_method()
    TLSv1_2_client_method()
    can be linked.
    - Changed prototype of create_TLS_stream()
    - Changed libelmme-tls module handle more protocol versions.
    - "tls:starttls-version" and "tls:tls-version" parameters
    of global elm.mailservices and user's ~/.elm/mail.services
    file now accepts new values:
    tls-1 TLS 1 protocol
    tls-1.1 TLS 1.1 protocol
    tls-1.2 TLS 1.2 protocol
    These "tls:starttls-version" and "tls:tls-version" parameters
    also accepts old values:
    none disables STLS or STARTTLS
    ssl SSL or TLS, semantic varies
    tls TLS, semantic varies (default)
    See details from shared_libs/tls/README.ME+ file.

    Default "tls" means that protocol TLS 1 is used or with
    OpenSSL 1.1 that protocol TLS 1 or newer is used. Value
    "ssl" probably means with OpenSSL 1.0 or older that
    SSL 2 client hello packet is used.

    NOTE: Configure (actually shared_libs/tls/config) disables
    by default
    TLSv1_client_method(),
    TLSv1_1_client_method(), and
    TLSv1_2_client_method()
    on Ubuntu 18.4 because them are deprecated. This assumes
    that compiler gives "is deprecated" message and user agrees
    disabling on Configure prompt.

    ( However SSLv23_client_method() seems not produce
    "is deprecated" message. )

    - Added "default-tls-version" elmrc option
    to "tls:" section. This option accepts values:
    ssl SSL or TLS, semantic varies
    tls TLS, semantic varies (default)
    tls-1 TLS 1 protocol
    tls-1.1 TLS 1.1 protocol
    tls-1.2 TLS 1.2 protocol
    This is used, if "tls:starttls-version" and
    "tls:tls-version" parameters does not exists on
    global elm.mailservices or user's ~/.elm/mail.services
    file for particular host and service.

    - Changed that Configure puts UU directory to build-directory when
    -O option is used and not source directory when checking
    that package is complete

    - Added $dummydomain to Configure. This is used if Configure
    defaults to placeholder domain. That is '.localdomain'.
    - Added matches_dummy_domain() to lib/mailer/senderhelper.c
    and hdrs/mailerlib.h. That returns ".localdomain" if domain
    ends .localdomain and Configure or setup_names() selected that
    for placeholder domain. This is used for avoiding DNS
    lookup.

    New elmrc option:
    address-lookup
    generate-message-id
    valid-msg-id-domains
    pager-time-display
    tls:default-tls-version

    New files:
    lib/addr/md5_global.h
    lib/addr/md5.h
    lib/addr/md5c.c
    lib/addr/md5_wrapper.c
    lib/digest_wrapper.c
    hdrs/digest_imp.h
    lib/mailer/message-id.c
    lib/addr/digest.c
    lib/addr/outdate.c
    lib/mailer/write_common.c
    lib/mailer/feed_common.c
    lib/mailer/senderhelper.c
    src/edithdr.c
    shared_libs/tls/tlsconf.h.SH

    Message-ID generation
    ---------------------

    elm.rc option option "generate-message-id" tells
    how message-id should be generated for outgoing
    mail. Elm ME+ does not generate Message-ID
    header field if "generate-message-id" have
    value "none" or if Elm ME+ can't select
    "good" domain name to domain part (right
    side from '@') of message-id.

    Value of "generate-message-id" optios is either

    none Message-ID: -header field is not generated

    or value have form

    {localspec}@{domainspec}; {parameter}={value}...

    or

    {localspec}@domain.name; {parameter}={value}...

    {localspec} values includes:

    none Message-ID: -header field is not generated
    md5 Use 16 octets md5 hash value from message
    content for generating local part of message-id.
    /dev/urandom Use 16 octets from /dev/urandom for
    generating local part of message-id.
    /proc/sys/kernel/random/uuid Use content from /proc/sys/kernel/random/uuid
    as local part of message-id.

    Local part of message-id is generated from 16 octets same way on both
    md5 and /dev/urandom cases. Result includes 2 or 4 "words" which are
    separated by '.' characters (on 64-bit architecture result includes
    2 "words" and 32-bit architecture result includes 4 shorter "words").

    {domainspec} values includes:

    default Try following as domain part of message id
    1) value of "hostfullname" elmrc option
    2) mailer specific value (name of local
    address of connected socket on "submission"
    mailer, if connection is remote)
    3) First value from "mailname" elmrc option
    hostfullname Try value of "hostfullname" elmrc option as
    domain part of message id
    maildomain Try first value from "mailname" elmrc option as
    domain part of message id

    'domain.name' is any dns name which is tried as domain part of message id. This
    must include at least one dot ('.'). Without dot ('.') it is interpreted as
    {domainspec} keyword.

    {parameter} values includes:

    fallback-domain Overrides possible compile time default
    domain for domain part of message id
    default-cache-timeout Default timeout for cached results
    of dns check for domain part of message id.
    May include unit: "s" for seconds, "m"
    for minutes, "h" for hours or "d" for days.
    Without unit gives default cache timeout on
    seconds.

    check-domain Value "none" indicates that dns check is not
    done and "valid-msg-id-domains" elmrc option
    must be used.

    check-domain Value "shared" indicates that shared routine
    (resolv -module) is used for dns check.

    min-domain-labels Minimun number of domain labels (0-9) separated
    by '.' characters required for dns check.
    Value zero (0) disables counting of labels
    and rfc 822 special characters and whitespace
    are not checked.
    Note that '\.' does not count as label separator.

    With elmrc option
    use-mailer-library = resolv
    possible {parameter} value includes:

    check-domain Value "resolv" indicates that shared routine
    from resolv -module is used for dns check.

    {value} may be quoted string for "fallback-domain" and "check-domain".

    A domain part of message-id either must be listed on
    "valid-msg-id-domains" elmrc option or resolv -module must check that
    given dns name exists. If a domain part of message-id is listed
    "special-use-domains-blacklist", dns check is not done and domain part
    is not accepted.

    Warnings
    --------

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


    [continued in next message]

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Kari Hurtta@21:1/5 to All on Fri Jun 12 18:55:52 2020
    Experimental DEB generator script for Elm ME+ 2.5 PLalpha52
    exists on <URL: http://www.elmme-mailer.org/deb/elm-ME+2.5.html >
    directory.

    Files are following

    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha52-1.gen_deb
    DEB generator script
    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha52-1.gen_deb.elm-key-2018.sig
    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha52-1.gen_deb.sig



    A command

    elm-ME+2.5.alpha52-1.gen_deb {packager}

    generates package elmme with version 1.1.52-1.{distribution}.

    A command

    elm-ME+2.5.alpha52-1.gen_deb --nonew {packager}

    generates package elm with version ME+2.5.alpha52-1.{distribution}.

    Both commands produce package with filename elm-ME+2.5.alpha52-1.{distribution}.{arch}.deb.

    Module libelmme-resolv.so is included for all distributions below, but libelmme-resolv.so does not implement interruptible DNS queries on all distributions.

    == Old package names, i386

    Package elm with version ME+2.5.alpha52-1.{distribution} and
    architecture i386.

    * Compiled on Debian GNU/Linux 3.1
    (Linux 2.4, glibc 2.3, Exim 3.36)

    - http://www.elmme-mailer.org/deb/old/elm-ME+2.5.alpha52-1.Debian3.1.i386.deb
    Package elm binary DEB build on Debian GNU/Linux 3.1
    - http://www.elmme-mailer.org/deb/old/elm-ME+2.5.alpha52-1.Debian3.1.i386.deb.elm-key-2018.sig
    - http://www.elmme-mailer.org/deb/old/elm-ME+2.5.alpha52-1.Debian3.1.i386.deb.sig

    Module libelmme-resolv.so does not implement interruptible DNS queries
    on Debian GNU/Linux 3.1.

    * Compiled on Ubuntu 6.06.2 LTS
    (Linux 2.6, glibc 2.3, Sendmail 8.13)

    - http://www.elmme-mailer.org/deb/old/elm-ME+2.5.alpha52-1.Ubuntu6.06.i386.deb
    Package elm binary DEB build on Ubuntu 6.06.2 LTS
    - http://www.elmme-mailer.org/deb/old/elm-ME+2.5.alpha52-1.Ubuntu6.06.i386.deb.elm-key-2018.sig
    - http://www.elmme-mailer.org/deb/old/elm-ME+2.5.alpha52-1.Ubuntu6.06.i386.deb.sig

    * Compiled on Ubuntu 10.04.4 LTS
    (Linux 2.6, glibc 2.11, Sendmail 8.14)

    - http://www.elmme-mailer.org/deb/old/elm-ME+2.5.alpha52-1.Ubuntu10.04.i386.deb
    Package elm binary DEB build on Ubuntu 10.04.4 LTS
    - http://www.elmme-mailer.org/deb/old/elm-ME+2.5.alpha52-1.Ubuntu10.04.i386.deb.elm-key-2018.sig
    - http://www.elmme-mailer.org/deb/old/elm-ME+2.5.alpha52-1.Ubuntu10.04.i386.deb.sig

    == New package names, i386

    Package elmme with version 1.1.52-1.{distribution} and architecture
    i386.

    * Compiled on Ubuntu 10.04.4 LTS
    (Linux 2.6, glibc 2.11, Sendmail 8.14)

    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha52-1.Ubuntu10.04.i386.deb
    Package elmme binary DEB build on Ubuntu 10.04.4 LTS
    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha52-1.Ubuntu10.04.i386.deb.elm-key-2018.sig
    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha52-1.Ubuntu10.04.i386.deb.sig

    * Compiled on Ubuntu 14.04.6 LTS
    (Linux 4.4, glibc 2.19, no MTA)

    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha52-1.Ubuntu14.04.i386.deb
    Package elmme binary DEB build on Ubuntu 14.04.6 LTS
    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha52-1.Ubuntu14.04.i386.deb.elm-key-2018.sig
    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha52-1.Ubuntu14.04.i386.deb.sig

    == New package names, amd64 (x86_64)

    Package elmme with version 1.1.52-1.{distribution} and architecture
    amd64 (also known as x86_64).

    * Compiled on Ubuntu 16.04.6 LTS
    (Linux 4.4, glibc 2.23, Sendmail 8.15)

    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha52-1.Ubuntu16.04.amd64.deb
    Package elmme binary DEB build on Ubuntu 16.04.6 LTS
    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha52-1.Ubuntu16.04.amd64.deb.elm-key-2018.sig
    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha52-1.Ubuntu16.04.amd64.deb.sig

    * Compiled on Ubuntu 18.04.4 LTS
    (Linux 5.3, glibc 2.27, no MTA)

    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha52-1.Ubuntu18.04.amd64.deb
    Package elmme binary DEB build on Ubuntu 18.04.4 LTS
    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha52-1.Ubuntu18.04.amd64.deb.elm-key-2018.sig
    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha52-1.Ubuntu18.04.amd64.deb.sig

    == Signatures

    {file}.sig PGP signature (old key pubkey.asc, EA5A2379 1996-04-23)
    {file}.elm-key-2018.sig GPG signature (key elm.key.2018.asc, 44FC796B 2018-12-01, expires: 2028-11-28)

    == 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
    - /usr/local/lib/elm.hashmarks

    Deb generator script 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)

    By default first value for mailname is read from /etc/mailname file.

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

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

    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 /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
    - /usr/local/lib/elm.hashmarks.NEW

    Also following directories are used:

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

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

    A command

    elm-{version}-{release}.gen_deb {packager}

    generates package elmme with version {library-version}-{release}.{distribution}. Note that a resulted
    filename of package is still elm-{version}-{release}.{arch}.deb. This
    version number is same than on files /usr/local/lib/libelmme-{module}.so.{library-version}. A filename of
    package is related to used source archive name, which is elm-{version}-{release}.tar.gz.

    A command

    elm-{version}-{release}.gen_deb --nonew {packager}

    generates package elm with version {version}-{release}.{distribution}.
    Also on this case a resulted filename of package is elm-{version}-{release}.{arch}.deb.

    SUMMARY: This release collects patch Elm ME+ 2.5 PLalpha51a,
    adds generation of "Message-ID:" -header field,
    adds "Message-ID:", "Expires:", "Date:",
    "In-reply-to:", and "References:" -header fields
    to 'invoke e(d)itor' buffer on header editing screen
    and adds --messages={file} and --transaction={file}
    arguments to command line of elm. This release changes
    pager date and time display on pager title line and
    changes fastmail -command. This release adds TLS 1.1
    and 1.2 alternatives to libelmme-tls module. New elmrc
    options are "valid-msg-id-domains", "generate-message-id",
    "pager-time-display" and "address-lookup". Also
    added "default-tls-version" elmrc option to "tls:" section.
    Also some other changes and fixes are included.

    Elm ME+ 2.5 PLalpha52 changelog

    Changes on Elm ME+ 2.5 PLalpha52 compared with Elm ME+ 2.5 PLalpha51 --------------------------------------------------------------------

    Undo Elm ME+ 2.5 PLalpha51a patch before applying this patch.

    SUMMARY: This release collects patch Elm ME+ 2.5 PLalpha51a,
    adds generation of "Message-ID:" -header field,
    adds "Message-ID:", "Expires:", "Date:",
    "In-reply-to:", and "References:" -header fields
    to 'invoke e(d)itor' buffer on header editing screen
    and adds --messages={file} and --transaction={file}
    arguments to command line of elm. This release changes
    pager date and time display on pager title line and
    changes fastmail -command. This release adds TLS 1.1
    and 1.2 alternatives to libelmme-tls module. New elmrc
    options are "valid-msg-id-domains", "generate-message-id",
    "pager-time-display" and "address-lookup". Also
    added "default-tls-version" elmrc option to "tls:" section.
    Also some other changes and fixes are included.

    - Changed Va_start() / va_end() usage on gen_browser()
    > This fixes crash on f)ilename command on
    Elm 2.5 style file browser:
    SIGNAL PANIC in signals.c:144:segv_signal
    >>>

    Segment Violation signal!


    Call stack: 7FBC6A31301E 4F108B 7FBC69AAACB0 7FBC69AFCDFA 7FBC6A30C337
    continues: 44D2EE 4502A0 47372E 46470A 490DE5
    continues: 4925FE 466D3A 7FBC69A95F45 41F1A9
    backtrace:
    /usr/local/lib/libelmme-base.so.1.1.51(panic+0x1de)[0x7fbc6a31301e]
    elm(segv_signal+0x80)[0x4f108b]
    /lib/x86_64-linux-gnu/libc.so.6(+0x36cb0)[0x7fbc69aaacb0]
    /lib/x86_64-linux-gnu/libc.so.6(strlen+0x2a)[0x7fbc69afcdfa]
    /usr/local/lib/libelmme-base.so.1.1.51(elm_smessage+0x1025)[0x7fbc6a30c337]
    elm[0x44d2ee]
    elm(gen_browser+0x73b)[0x4502a0]
    elm(save+0x834)[0x47372e]
    elm(mailbox_command+0x1cae)[0x46470a]
    elm[0x490de5]
    elm(main_messages_menu+0x165)[0x4925fe]
    elm(main+0xf13)[0x466d3a]
    /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf5)[0x7fbc69a95f45]
    elm[0x41f1a9]
    Press a <enter> to abort or <enter> to exit:
    Crash occurs on x86_64 (amd64) architecture on Linux.
    Crash does not occur on i386 architecture on Linux.
    - Changed Va_start() / va_end() usage on folder_browser()

    - Added
    struct message_id * message_id;
    struct digest_proc * message_digest;
    struct expanded_date * date;
    to struct mailing_headers on hdrs/addrlib.h
    - Added write_msgid_header(), write_date_header()
    to lib/addr/write_hdr.c and hdrs/addrlib.h

    NOTE: A header fields Date: and Message-ID: are generated
    before "Mail Preview Screen" entered. Therefore Date:
    header field does not reflect mail sending time. A header
    fields Date: and Message-ID: are always same on
    "Mail Preview Screen", on sent mail and on saved copy.

    - Changed static struct header_info header_types[]
    on lib/addr/headers.c so that Message-ID: is also
    allowed on .elm/elmheaders (although that is not very
    useful) or on 'invoke e(d)itor' buffer on
    header editing screen.

    - Added
    Message-ID:
    to edit buffer used by 'invoke e(d)itor' on
    header editing screen. This is supported on
    static struct header_info header_types[]
    on lib/addr/headers.c.

    - Added is_whitelisted_msgid_domain() to
    to lib/addr/outheaders.h and to hdrs/addrlib.h
    - Added elmrc option "valid-msg-id-domains" to
    lib/addr/init.c
    - Added elmrc option "generate-message-id" to
    lib/mailer/init.c

    - Elm ME+ generates message-id header field
    when sending mail. This is controller by
    new elmrc option "generate-message-id".
    Message-id domain part is checked from
    DNS when
    use-mailer-library = smtp resolv
    is used. Id domain part of message-id
    header field is listed on new elmrc option
    "valid-msg-id-domains", then domain part is
    accepted without DNS check.

    See also chapter "Message-ID generation"

    - Configure now asks fall back domain name for
    message-id. msg-id.elmme-mailer.org is suggested.

    - Added check_domain_name() to shared_libs/resolv/resolv.c

    - Added "RSA Data Security, Inc. MD5 Message-Digest
    Algorithm" from
    RFC 1321: The MD5 Message-Digest Algorithm
    and modified that to work on 64-bit machine. Test
    suite on original code produces wrong hashes.

    - Possible fix to RC_fill_enum_values() on
    shared_libs/resolv/resolv.c
    - Possible fix to verify_mail_domain2() on
    shared_libs/resolv/resolv.c

    - Added macros DEBUG_CHECK_INIT() and DEBUG_CHECK()
    to hdrs/elmlib.h

    - Changed handling of valid-domains elmrc option.
    Even when some item on list starts with dot (.),
    name stated with dot (.) does not have accepted.
    When .domain is given on valid-domains elmrc option
    it marks {anything}.domain as valid domain, but
    {anything} can not be empty.

    - Moved message_id_domain() and message_id_left()
    from lib/addr/def_addr.h to hdrs/addrlib.h

    - Added free_digest_proc(), inc_digest_proc_refcount(),
    start_digest_proc(), feed_digest_proc(),
    len_digest_proc(), mode_digest_proc(),
    end_digest_proc(), result_digest_proc()
    digest_proc_equal(), malloc_digest_proc(),
    digest_type()
    to hdrs/elmlib.h and lib/digest_wrapper.c

    - Exported name_ok() from lib/service_list.c
    as host_name_ok().

    - Changed mail() on src/mailmsg2.c

    - Added digest_feed_string() to hdrs/elmlib.h and
    lib/string.c
    - Added cs_digest_feed_from_string() to hdrs/cs_imp.h
    - Added digest_feed_str(), digest_feed_references(),
    digest_feed_message_id(), digest_feed_addrs(),
    digest_feed_expires_hdr()
    to hdrs/addrlib.h and lib/addr/digest.c

    - Added query_s_mailer_info() to hdrs/mailerlib.h
    and lib/mailer/mailer.c
    - Added mailer_info_s_query_hook() to hdrs/mailer_imp.h
    - Added Configure test for getsockname()

    - Added set_address_from_gen_helper2() to hdrs/connection_imp.h
    and lib/remote_mbx.c
    - Added local socket address (result of
    getsockaname()) to struct remote_account
    - local address (result of getsockaname())
    is now included to transcript file
    (file given with -X option).
    - Submission mailer's check for MI_REMOTE_MAILER
    implementation for query_mailer_info() now
    also check that local and remote address
    of socket is same.

    - Added verify_library_prefix() to lib/shared.c and hdrs/shared_imp.h
    - Added shared_check_dname() and mailerdom_verify_lib_status()
    to lib/mailer/shared_mailer.c and hdrs/mailerlib.h

    - Added new_expanded_date(), free_expanded_date(),
    get_expanded_date_value(), get_expanded_date_cached_time(),
    get_expanded_date_source()
    to lib/addr/outdate.c and hdrs/addrlib.h
    - Added date_hdrval() to lib/addr/date.c and
    hdrs/addrlib.h
    - Added digest_feed_date_hdr() to lib/addr/digest.c
    and hdrs/addrlib.h
    - Added expanded_time_hdrval() to lib/addr/date.c
    and hdrs/addrlib.h

    - Changed add_expires_hdr()
    - Changed parsing of Expires: -header on .elm/elmheaders
    - Added
    Expires:
    to edit buffer used by 'invoke e(d)itor' on
    header editing screen. This is supported on
    static struct header_info header_types[]
    on lib/addr/headers.c.
    - Allow "x days" as value for Expires: -header
    on edit buffer.
    - Possible fix for expval_expires()

    - Added add_date_hdr() to lib/addr/outheaders.h
    - Changed static struct header_info header_types[]
    on lib/addr/headers.c so that Date: is also
    allowed on .elm/elmheaders (although that is not very
    useful).

    - Added
    Date:
    to edit buffer used by 'invoke e(d)itor' on
    header editing screen. This is supported on
    static struct header_info header_types[]
    on lib/addr/headers.c.
    - Fixed skipping of comments between headers
    on edit buffer used by 'invoke e(d)itor' on
    header editing screen.

    - Fix for parse_parts_date_time(), wday number was
    returned wrongly.

    - Avoid
    "Failed to leave folder: Try to quit again ? ([P]anic/y/n) n"
    when
    "Move read messages to "received" folder? (y/n)"
    is canceled with ctrl-C
    - Added to sync_mbox() return status sync_mbox_cancel (-4).

    - Changed sync_mbox() so that it does not
    call emergency_exit() when EOF is send from user input.
    - Added to sync_mbox() return status sync_mbox_EOF (-5).

    - Changed real_save() so that it does not
    call emergency_exit() when end_keep_folder()
    fails. Also real_save() does not close folder
    when end_keep_folder() fails.

    - Added --messages={file} argument to elm.
    This logs some messages (usually errors)
    shown.
    - Added open_messages_log(), close_messages_log()
    to hdrs/me.h and src/out_utils.c

    - Added --transaction={file} argument to elm.
    This is same than -X {file} option.
    - Added free_transaction_file() to hdrs/elmlib.h
    and lib/remote_mbx.c
    - free_transaction_file() is called from
    free_rc_options().

    - Changed some time() calls.

    - Check on can_open() that userid and groupid have set.

    - Set close-on-exec flag on set_transaction_file() and
    init_debug().

    - Avoid
    Failed to leave folder!
    and then
    Failed to leave folder: Try to quit again ? ([P]anic/y/n) n
    on closing/leaving folders
    when several folders are open and some of them
    are read only. If just read only folder was open
    that produced already
    Folder XXXXXX is read-only and unchanged.

    - Added "-X transcript/transaction file" parameter
    to fastmail. This is useful when mailer=submission
    is used. Same option is also on elm, newmail and frm
    (on these cases transcript/transaction file will
    include passwords). Currently mailer=submission
    does not support SMTP AUTH, so there is no passwords
    on transcript/transaction file on that case now.

    - Added Message-ID: -generation to fastmail.

    - Use DEFAULT_BATCH_SUBJECT also on fastmail.

    - Added write_common_mailing_headers() to
    lib/mailer/write_common.c and hdrs/mailerlib.h
    - Used that on elm's src/mailmsg2.c and
    on fastmail.
    Note: If nohdrencoding is set on elmrc, now
    also fastmail (as elm does) adds
    X-ELM-OSV: no-hdr-encoding=1
    to outgoing mails.

    - Moved add_parameter() from src/mime_encode.c
    to lib/mailer/mime_encode.c

    - Added feed_common_mailing_headers() to
    lib/mailer/feed_common.c and hdrs/mailerlib.h
    - Used that on elm's src/mailmsg2.c and
    on fastmail

    - Added -H option to fastmail. If set, only
    Return-Path: -header field is read from
    ~/.elm/elmheaders file and other header fields
    are ignored.

    - Added similar generation of From: and Sender:
    header fields to fastmail than it is on
    elm -command. Global elm.rc option "add-sender"
    is now used also on fastmail.

    - Added sndhelper_get_sender(),
    sndhelper_handle_sender() to
    lib/mailer/senderhelper.c and hdrs/mailerlib.h
    - Used that on elm's src/mailmsg2.c and
    on fastmail

    - Moved build_address_classify_domain(),
    build_address_classify_message(),
    build_address_cancel_mode(),
    verify_mail_domain_util() from
    hdrs/me.h and src/addr_util.c to
    lib/mailer/senderhelper.c and hdrs/mailerlib.h

    - Changed static struct header_info header_types[]
    on lib/addr/headers.c so that In-reply-to: and
    References: are also allowed on .elm/elmheaders
    (although that is not very useful) or on 'invoke
    e(d)itor' buffer on header editing screen.

    - Added In-reply-to: and References: to
    'invoke e(d)itor' buffer on header editing
    screen. This is supported on
    static struct header_info header_types[]
    on lib/addr/headers.c.

    - Moved print_edit_string(), add_addr_header(),
    add_string_header(), edit_headers_on_editor()
    from src/hdrconfg.h to src/edithdr.c

    - strftime() format specifier %r (The time in
    a.m. or p.m. notation) produces 12-hour clock
    without AM/PM notification on fi_FI.UTF-8
    locale (also %p produces empty result).
    > Changed default to 24-hour clock (without
    seconds).
    - Added elmrc option "pager-time-display".
    Option have values
    legacy (same than month-day-year-12h)
    default (same than month-day-year-HH-MM)
    month-day-year-12h month day, Year 12h (am/pm)
    strftime %b %d, %Y %r
    month-day-year-24h month day, Year 24h
    strftime %b %d, %Y %T
    month-day-year-HH-MM month day, Year HH:MH
    strftime %b %d, %Y %R
    preferred Local preferred format
    strftime %c
    day-month-year-12h day month year 12h (am/pm)
    strftime %d %b %Y %r
    day-month-year-24h day month year 24h
    strftime %d %b %Y %T
    day-month-year-HH-MM day month year HH:MM
    strftime %d %b %Y %R
    YYYY-MM-DD-HH-MM numeric YYYY-MM-DD HH:MM
    YYYY-MM-DD-HH-MM-SS numeric YYYY-MM-DD HH:MM:SS
    Sender's timezone is appended to time.
    This option controls how pager show message
    date and time on title line (top line) when "titles"
    elmrc option have value ON (default).
    - If Date: is unparsable, pager no longer show dummy
    date and time on title line.
    - If Date: is parsable, but year is too early or
    year is too late (time_t overflows on 32-bit
    systems), pager shows text "year " and year number
    on place of date and time on title line (top line).

    - Replaced elm_date_str() with elm_date_text().
    - elm_date_text() will report "year xxxx" if date value
    is unsupported or overflow, but year is available
    (from time_menu_year at struct header_rec)

    - Changed that setting add-in-reply-to-phrase does not
    use elm_date_str()'s or elm_date_text()'s strftime
    for phrase time used on in-reply-to reply header field. Result
    of that is locale dependent. Changed that this
    uses date: -header format on phrase (actually
    implemented via elm_date_text(), but not available as
    "pager-time-display" value).

    - Added give_name_from_sockaddr() to lib/service_list.c
    and hdrs/connection_imp.h
    - Added elmrc option "address-lookup".
    Possible values are:
    normal Currently same than
    "gethostbyaddr"
    gethostbyaddr Use getgostbyaddr()
    getnameinfo Use getnameinfo()

    This option specifies how translation from ip-address
    to hostname is done. Default value "normal" specifies
    that normal address -lookup API (that is gethostbyaddr())
    is done.
    Both gethostbyaddr() and getnameinfo() works
    also with IPv6 (on Linux). getnameinfo() is newer
    interface, but it can return only one name. gethostbyaddr()
    may return several names. Seems that getnameinfo()
    returns first name from /etc/hosts even
    when this is not best choice.

    This is currently only used when "generate-message-id"
    have {domainspec} value "default" and "mailer"
    is "submission" and that connection is not local.

    - Added give_SOCKADDR_ptr_as_string() to
    lib/service_list.c and hdrs/connection_imp.h

    - Do not ask
    Can I test if your mailer supports DSN options: -N -R -V?
    on Configure if selected mailer is "none".

    - Changed Configure (actually shared_libs/tls/config)
    so that it detects also on Ubuntu 18.4
    that OpenSSL is available on system directory.

    - OpenSSL seems not include RAND_egd_bytes() on Ubuntu 18.4.
    Now Configure (actually shared_libs/tls/config) tests
    that RAND_egd_bytes() can be linked.

    - libelmme-tls module only used SSLv23_client_method() and
    TLSv1_client_method(). Added Configure (actually shared_libs/tls/config)
    test that
    SSLv23_client_method()
    TLS_client_method()
    TLSv1_client_method()
    TLSv1_1_client_method()
    TLSv1_2_client_method()
    can be linked.
    - Changed prototype of create_TLS_stream()
    - Changed libelmme-tls module handle more protocol versions.
    - "tls:starttls-version" and "tls:tls-version" parameters
    of global elm.mailservices and user's ~/.elm/mail.services
    file now accepts new values:
    tls-1 TLS 1 protocol
    tls-1.1 TLS 1.1 protocol
    tls-1.2 TLS 1.2 protocol
    These "tls:starttls-version" and "tls:tls-version" parameters
    also accepts old values:
    none disables STLS or STARTTLS
    ssl SSL or TLS, semantic varies
    tls TLS, semantic varies (default)
    See details from shared_libs/tls/README.ME+ file.

    Default "tls" means that protocol TLS 1 is used or with
    OpenSSL 1.1 that protocol TLS 1 or newer is used. Value
    "ssl" probably means with OpenSSL 1.0 or older that
    SSL 2 client hello packet is used.

    NOTE: Configure (actually shared_libs/tls/config) disables
    by default
    TLSv1_client_method(),
    TLSv1_1_client_method(), and
    TLSv1_2_client_method()
    on Ubuntu 18.4 because them are deprecated. This assumes
    that compiler gives "is deprecated" message and user agrees
    disabling on Configure prompt.

    ( However SSLv23_client_method() seems not produce
    "is deprecated" message. )

    - Added "default-tls-version" elmrc option
    to "tls:" section. This option accepts values:
    ssl SSL or TLS, semantic varies
    tls TLS, semantic varies (default)
    tls-1 TLS 1 protocol
    tls-1.1 TLS 1.1 protocol
    tls-1.2 TLS 1.2 protocol
    This is used, if "tls:starttls-version" and
    "tls:tls-version" parameters does not exists on
    global elm.mailservices or user's ~/.elm/mail.services
    file for particular host and service.

    - Changed that Configure puts UU directory to build-directory when
    -O option is used and not source directory when checking
    that package is complete

    - Added $dummydomain to Configure. This is used if Configure
    defaults to placeholder domain. That is '.localdomain'.
    - Added matches_dummy_domain() to lib/mailer/senderhelper.c
    and hdrs/mailerlib.h. That returns ".localdomain" if domain
    ends .localdomain and Configure or setup_names() selected that
    for placeholder domain. This is used for avoiding DNS
    lookup.

    New elmrc option:
    address-lookup
    generate-message-id
    valid-msg-id-domains
    pager-time-display
    tls:default-tls-version

    New files:
    lib/addr/md5_global.h
    lib/addr/md5.h
    lib/addr/md5c.c
    lib/addr/md5_wrapper.c
    lib/digest_wrapper.c
    hdrs/digest_imp.h
    lib/mailer/message-id.c
    lib/addr/digest.c
    lib/addr/outdate.c
    lib/mailer/write_common.c
    lib/mailer/feed_common.c
    lib/mailer/senderhelper.c
    src/edithdr.c
    shared_libs/tls/tlsconf.h.SH

    Message-ID generation
    ---------------------

    elm.rc option option "generate-message-id" tells
    how message-id should be generated for outgoing
    mail. Elm ME+ does not generate Message-ID
    header field if "generate-message-id" have
    value "none" or if Elm ME+ can't select
    "good" domain name to domain part (right
    side from '@') of message-id.

    Value of "generate-message-id" optios is either

    none Message-ID: -header field is not generated

    or value have form

    {localspec}@{domainspec}; {parameter}={value}...

    or

    {localspec}@domain.name; {parameter}={value}...

    {localspec} values includes:

    none Message-ID: -header field is not generated
    md5 Use 16 octets md5 hash value from message
    content for generating local part of message-id.
    /dev/urandom Use 16 octets from /dev/urandom for
    generating local part of message-id.
    /proc/sys/kernel/random/uuid Use content from /proc/sys/kernel/random/uuid
    as local part of message-id.

    Local part of message-id is generated from 16 octets same way on both
    md5 and /dev/urandom cases. Result includes 2 or 4 "words" which are
    separated by '.' characters (on 64-bit architecture result includes
    2 "words" and 32-bit architecture result includes 4 shorter "words").

    {domainspec} values includes:

    default Try following as domain part of message id
    1) value of "hostfullname" elmrc option
    2) mailer specific value (name of local
    address of connected socket on "submission"
    mailer, if connection is remote)
    3) First value from "mailname" elmrc option
    hostfullname Try value of "hostfullname" elmrc option as
    domain part of message id
    maildomain Try first value from "mailname" elmrc option as

    [continued in next message]

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Kari Hurtta@21:1/5 to All on Thu Dec 10 20:39:21 2020
    XPost: alt.sources

    Archive-name: elmME+2.5/PLalpha53.0

    Before applying this patch catenate parts 1 - 2 first.
    Also it should be possible to apply parts 1 - 2
    individually.

    Part 0 does not include patch.

    This patch is agaist Elm ME+ 2.5 PLalpha52

    ====================================== ( part 0/2 ) =========
    Elm ME+ 2.5 PLalpha53

    - Is available with
    <URL: http://www.elmme-mailer.org/elm-ME+2.5.PLalpha53.patch.gz >
    and <URL: http://www.elmme-mailer.org/elm-ME+2.5.alpha53.6dd727263e86c29505c192e95239377c.tar.gz >
    via http.

    - Is available with
    <URL: https://hurtta.kapsi.fi/elm-ME+2.5/elm-ME+2.5.PLalpha53.patch.gz >
    and <URL: https://hurtta.kapsi.fi/elm-ME+2.5/elm-ME+2.5.alpha53.6dd727263e86c29505c192e95239377c.tar.gz >
    via https.

    - Is available on ftp.funet.fi
    via anonymous ftp
    directory pub/mirrors/elmme-mailer.org/src/elm-ME+2.5/

    files elm-ME+2.5.PLalpha53.patch.gz
    and elm-ME+2.5.alpha53.6dd727263e86c29505c192e95239377c.tar.gz

    or is available with
    <URL: ftp://ftp.funet.fi/pub/mirrors/elmme-mailer.org/src/elm-ME+2.5/elm-ME+2.5.PLalpha53.patch.gz >
    and <URL: ftp://ftp.funet.fi/pub/mirrors/elmme-mailer.org/src/elm-ME+2.5/elm-ME+2.5.alpha53.6dd727263e86c29505c192e95239377c.tar.gz >
    with browser

    or is available with
    <URL: https://ftp.funet.fi/pub/mirrors/elmme-mailer.org/src/elm-ME+2.5/elm-ME+2.5.PLalpha53.patch.gz >
    and <URL: https://ftp.funet.fi/pub/mirrors/elmme-mailer.org/src/elm-ME+2.5/elm-ME+2.5.alpha53.6dd727263e86c29505c192e95239377c.tar.gz >
    via https.

    SUMMARY: This release fixes some parsing on address
    prompts and other bugs. This release changes
    multipart/related handling and mailcap
    programs prompt. This release adds X-Mailer:
    to ~/.elm/elmheaders file and header editing
    screen. Also elmconfwriter command includes
    -b<backup-suffix> option. New elmrc
    options are "program-identification" and
    "pagerelated". Also some other changes
    are included.

    Changes on Elm ME+ 2.5 PLalpha53 compared with Elm ME+ 2.5 PLalpha52 --------------------------------------------------------------------

    SUMMARY: This release fixes some parsing on address
    prompts and other bugs. This release changes
    multipart/related handling and mailcap
    programs prompt. This release adds X-Mailer:
    to ~/.elm/elmheaders file and header editing
    screen. Also elmconfwriter command includes
    -b<backup-suffix> option. New elmrc
    options are "program-identification" and
    "pagerelated". Also some other changes
    are included.

    - Added Configure test for __int128 type.

    - If __int128 is available, use that on generation of
    left side (local part) of message id. That is used
    when {localspec} on "generate-message-id" option
    is either "md5" or "/dev/urandom". When __int128
    used these options produce left part without
    dot ('.'). That means there is 1 dot ('.') separated
    "word" on local part ( left side ) of message id.
    Otherwise when unsigned long is 64 bits, there
    is 2 dot ('.') separated "word" on local part
    ( left side ) of message id. And if unsigned long
    is 32 bits, there is 4 dot ('.') separated "word"
    on local part ( left side ) of message id.

    - Address prompts accepts space as address separation
    but also accepts form
    phrase <address>
    Fixed bug where extra space after <address> caused
    that to be interpreted as two addresses 'phrase'
    and '<address>'. That is on
    update_expanded_from_edit_buffer().

    - Prompt mailcap programs when metamail is required, but
    not available. Causes that for unsupported
    multipart/related have mailcap used on text/html part. Note
    that this does not work correctly, because related parts are
    not available.

    - Report unsupported multipart and other types on mailcap
    programs prompt if it caused that metamail was required.
    * Note that setting elmrc option "pagemultipart" causes these
    unknown multipart types are not considered unsupported.
    Handling of "multipart/related" is controlled by
    elmrc option "pagerelated".

    - Moved NOTPLAIN_* macros from hdrs/elm_defs.h
    to hdrs/addrlib.h

    - Added -b<backup-suffix> option to elmconfwriter. Elmconfwriter
    checks first that there is no files in form
    <config file><backup-suffix> exists when -b<backup-suffix> option
    is used.
    - Command elmconfwriter -lb<backup-suffix>
    can be used to make backup of config files.
    - Option -b<backup-suffix> without -l option (list
    config files) causes that config
    file <config file> is preserved as
    <config file><backup-suffix> when file <config file> rewritten.

    - Added change_file_utime() to lib/mbox/utime_util.c
    - Changed newmail to use change_file_utime()
    - Changed fbrowser_selection_is_mbox(), mbx_move_temp_file()
    to use change_file_utime()

    - Changed prototype of elm_chown
    - Added variable CHOWN_neg1 (constant)

    - Tried fix usr1_signal() and usr2_signal() so that they
    do not hang (looping).

    - Allowed
    X-Mailer:
    header field on ~/.elm/elmheaders file and on
    'invoke e(d)itor' buffer on header editing screen.
    Note however that ~/.elm/elmheaders file is used both on
    elm and fastmail -commands.
    This overrides default value of X-Mailer: header field.
    If empty field is given, X-Mailer: header field is not
    added when mail is sent.
    - Added struct string *xmailer to struct mailing_headers
    - Added
    X-Mailer:
    header field to edit buffer used by 'invoke e(d)itor' on
    header editing screen. This is added to screen
    only if there is value on X-Mailer: header field.
    This is supported on static struct header_info
    header_types[] on lib/addr/headers.c.

    - Added elmrc option "program-identification".
    Option includes list of keywords:
    none None of values are selected
    X-Mailer Add X-Mailer: header field
    version Add version information to header
    field
    User-Agent Add User-Agent header field
    The "program-identification" elm.rc option
    accepts two forms:
    - Absolute form where used options are listed
    - Additive form where changes from compile
    time default are listed:
    +X-Mailer -X-Mailer
    +version -version
    +User-Agent -User-Agent
    These two forms can not be mixed.
    - Note that also message-id domain, when
    it is msg-id.elmme-mailer.org, identifies program.
    Also X-ELM-OSV: header field, if generated,
    identifies program.
    - Added generation of
    User-Agent: elmme/{libversion} ({X-Mailer})
    header field. This requires that on
    "program-identification" mentions this header field.
    This header fields can not given
    on ~/.elm/elmheaders file or on 'invoke e(d)itor'
    buffer on header editing screen.
    - Added char * encoded_user_agent to struct mailing_headers
    - Added sndhelper_update_user_agent() to lib/mailer/senderhelper.c
    and hdrs/mailerlib.h
    - Added "User-Agent" to static struct header_info header_types[]
    on lib/addr/headers.c

    - Fixed getsockname() test on Configure

    - Added elmrc option "pagerelated". This control handling
    of multipart/related messages. Option have values
    no May use metamail, if available.
    yes Try page first (or start) part,
    single-part Try page single part
    Default value is "single-part".
    NOTE: multipart/related is not supported, and related parts are not
    "passed" to first (or start) part.
    - Note that multipart/related is used normally with text/html as
    first part. That is not supported, and also not work when mailcap
    is used for text/html.
    > This is also known as MHTML.
    - When multipart/related have only single part (that is start part),
    using multipart/related is superfluous. In that case multipart/related
    is not required, and can be replaced with that single part.

    RFC 2387: The MIME Multipart/Related Content-type

    Also boolean ON, OFF, TRUE, FALSE, YES and NO values are allowed
    on elmrc option "pagerelated".

    - Added struct message_id * content_id
    to struct mimeinfo

    - Changed prototype of parse_mime_headers1(), mime_parser_parse(),
    mpar_parse(), mime_read_header()
    - Changed prototype of mpar_parse()

    - Fixed set_out_state_line_mode() so that NULL range parameter
    does not reset current range.

    - Added "DKIM-Signature:" to default weedlist.

    - Fixed incorrect calls of change_helper_3()
    on terminal_switch_to() which caused memory corruption.

    - Added
    unsigned busy:1;
    to struct domain_info on lib/mailer/message-id.c

    - Fixed case where check_msg_domain0() was called with domain
    name (pointer), which was same than dompart field
    on struct domain_info;

    New elmrc options:
    program-identification
    pagerelated

    New file:
    lib/mbox/utime_util.c

    Warnings
    --------

    - 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
    message.

    - 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
    charset.

    - 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.4.3.3.26 (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
    mapping
    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
    -misc-fixed-medium-r-normal--12-200-75-75-c-100-iso8859-1
    and not
    -misc-fixed-medium-r-normal--12-200-75-75-c-100-iso8859-15

    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.)

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

    diffstat:

    Configure | 96 +++!!
    MANIFEST | 1
    README.ME+ | 187 ++++++++++!
    config.h.SH | 8
    doc/elmconfwriter.1 | 16
    doc/elmrc-info | 241 +++++---!!!!!!
    doc/elmrc.samp | 376 +++++++!!!!!!!!!!!!!!!
    hdrs/addrlib.h | 47 +!
    hdrs/elm_defs.h | 12
    hdrs/elmlib.h | 33 +!
    hdrs/hdr_imp.h | 10
    hdrs/mailerlib.h | 11
    hdrs/mboxlib.h | 13
    hdrs/me.h | 8
    hdrs/melib.h | 20 !
    hdrs/mpar_imp.h | 7
    hdrs/patchlevel.h | 10
    hdrs/s_elm.h | 7
    hdrs/s_me.h | 10
    hdrs/save_opts.h | 6
    hdrs/sysdefs.SH | 5
    lib/addr/headers.c | 9
    lib/addr/outheaders.c | 25 +
    lib/debug.c | 6
    lib/file_util.c | 130 !!!!!!!
    lib/mailer/feed_common.c | 17 !
    lib/mailer/message-id.c | 145 ++!!!!!!
    lib/mailer/outheaders.c | 13
    lib/mailer/senderhelper.c | 70 ++++
    lib/mailer/write_common.c | 17 !
    lib/mbox/Makefile.SH | 7
    lib/mbox/imap.c | 7
    lib/mbox/localmbx.c | 82 !!!!
    lib/mbox/pop.c | 7
    lib/mbox/utime_util.c | 96 +++++
    lib/misc/terminal.c | 8
    lib/read_rc.c | 45 ++
    lib/remote_mbx.c | 6
    lib/state_out.c | 26 -
    melib/def_melib.h | 23 !
    melib/mailcap.c | 46 --
    melib/mime_decode.c | 599 ++++++++++++++++++++++++---!!!!!!!
    melib/mime_parse.c | 74 ++!!
    melib/mime_selector.c | 180 +++++++++!
    melib/mpar_leaf.c | 15
    melib/mpar_multipart.c | 21 !
    melib/mpar_rfc822.c | 20 !
    melib/mparser.c | 27 !
    melib/parse_helper.c | 13
    melib/pgp_decode.c | 29 !
    nls/C/C/C/s_elm.m | 17 !
    nls/C/C/C/s_me.m | 20 +
    shared_libs/tls/tls.c | 6
    src/addr_util.c | 18
    src/attach_menu.c | 24 !
    src/edithdr.c | 24 !
    src/editmsg.c | 6
    src/mailmsg2.c | 39 +
    src/messages/header_alloc.c | 6
    src/messages/messages.c | 13
    src/messages/partial.c | 7
    src/out_utils.c | 6
    src/save_opts.c | 6
    src/showmsg.c | 365 ++++++++++!!!!!!!!!!!
    src/signals.c | 57 !!!
    src/utils.c | 11
    utils/Makefile.SH | 6
    utils/elmconfwriter.c | 726 +++++++++++++++++++++++++---!!!!!!!!!!!!!!!
    utils/fastmail.c | 37 +
    utils/newmail.c | 51 !!
    70 files changed, 2178 insertions(+), 261 deletions(-), 1893 modifications(!)

    --
    / Kari Hurtta

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Kari Hurtta@21:1/5 to All on Thu Dec 10 20:40:09 2020
    XPost: alt.sources

    Archive-name: elmME+2.5/PLalpha53.1

    Before applying this patch catenate parts 1 - 2 first.
    Also it should be possible to apply parts 1 - 2
    individually.

    Part 0 does not include patch.

    This patch is agaist Elm ME+ 2.5 PLalpha52

    ====================================== ( part 1/2 ) =========
    For applying thich patch use (on directory where Configure is)

    patch -p1 < {this-file}

    ------------------------------------------------------------------------
    Index: elmME+.2.5.alpha53-cvs/hdrs/patchlevel.h
    Prereq: 1620000000
    *** elmME+.2.5.alpha52/hdrs/patchlevel.h Sat Jun 6 14:47:24 2020
    --- elmME+.2.5.alpha53-cvs/hdrs/patchlevel.h Mon Dec 7 19:48:13 2020 ***************
    *** 1,12 ****
    ! #define PATCHLEVEL "alpha52"
    /* Used by Configure:
    ! SHAREDTAG: .1.1.52
    */
    ! #define LAST_REPORT_TIME 1620000000
    #define BUG_REPORT_ADDR "Kari Hurtta <elm@elmme-mailer.org>"
    ! #define VERS_DATE "Jun 2020" /* for elm -v option */
    #define WHAT_STRING \
    ! "@(#) Version ME+ 2.5, USENET supported version, released Jun 2020"

    /*
    * Local Variables:
    --- 1,12 ----
    ! #define PATCHLEVEL "alpha53"
    /* Used by Configure:
    ! SHAREDTAG: .1.1.53
    */
    ! #define LAST_REPORT_TIME 1638000000
    #define BUG_REPORT_ADDR "Kari Hurtta <elm@elmme-mailer.org>"
    ! #define VERS_DATE "Dec 2020" /* for elm -v option */
    #define WHAT_STRING \
    ! "@(#) Version ME+ 2.5, USENET supported version, released Dec 2020"

    /*
    * Local Variables:
    Index: elmME+.2.5.alpha53-cvs/README.ME+
    *** elmME+.2.5.alpha52/README.ME+ Sat Jun 6 14:47:24 2020
    --- elmME+.2.5.alpha53-cvs/README.ME
  • From Kari Hurtta@21:1/5 to All on Thu Dec 10 20:41:25 2020
    XPost: alt.sources

    Archive-name: elmME+2.5/PLalpha53.2

    Before applying this patch catenate parts 1 - 2 first.
    Also it should be possible to apply parts 1 - 2
    individually.

    Part 0 does not include patch.

    This patch is agaist Elm ME+ 2.5 PLalpha52

    ====================================== ( part 2/2 ) =========
    Index: elmME+.2.5.alpha53-cvs/melib/mime_parse.c
    *** elmME+.2.5.alpha52/melib/mime_parse.c Sun Feb 4 21:36:29 2018
    --- elmME+.2.5.alpha53-cvs/melib/mime_parse.c Wed Dec 2 09:16:30 2020 ***************
    *** 1,7 ****
    ! static char rcsid[] = "@(#)$Id: mime_parse.c,v 2.19 2017/11/18 16:49:26 hurtta Exp $";

    /******************************************************************************
    ! * The Elm (ME+) Mail System - $Revision: 2.19 $ $State: Exp $
    *
    * Modified by: Kari Hurtta <hurtta+elm@siilo.FMI.FI>
    * (was hurtta+elm@posti.FMI.FI, hurtta+elm@ozone.FMI.FI)
    --- 1,7 ----
    ! static char rcsid[] = "@(#)$Id: mime_parse.c,v 2.21 2020/12/02 07:16:30 hurtta Exp $";

    /******************************************************************************
    ! * The Elm (ME+) Mail System - $Revision: 2.21 $ $State: Exp $
    *
    * Modified by: Kari Hurtta <hurtta+elm@siilo.FMI.FI>
    * (was hurtta+elm@posti.FMI.FI, hurtta+elm@ozone.FMI.FI)
    ***************
    *** 78,83 ****
    --- 78,86 ----

    if (mt->dispname)
    free_string(& (mt->dispname));
    +
    + i
  • From Kari Hurtta@21:1/5 to All on Sat Dec 12 09:48:13 2020
    Experimental RPM spec file for ELM ME+ 2.5 PLalpha53
    exists on <URL: http://www.elmme-mailer.org/rpm/elm-ME+2.5.html >
    directory.

    Files are following

    - http://www.elmme-mailer.org/rpm/elm-ME+2.5.alpha53-1.spec
    RPM spec file
    - http://www.elmme-mailer.org/rpm/elm-ME+2.5.alpha53-1.spec.elm-key-2018.sig
    - http://www.elmme-mailer.org/rpm/elm-ME+2.5.alpha53-1.spec.sig
    - http://www.elmme-mailer.org/rpm/elm-ME+2.5.alpha53-1.mdk7.2.src.rpm
    Source rpm
    - http://www.elmme-mailer.org/rpm/elm-ME+2.5.alpha53-1.mdk7.2.src.rpm.sig

    ** Notes

    - elm-ME+2.5.alpha53-1.mdk7.1.src.rpm is signed internally with GPG
    key elm.key.2018.asc (44FC796B 2018-12-01).

    * 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.alpha53-1.mdk7.2.i686.rpm
    Package elm binary RPM build on Linux Mandrake release 7.2
    - http://www.elmme-mailer.org/rpm/elm-ME+2.5.alpha53-1.mdk7.2.i686.rpm.sig
    - http://www.elmme-mailer.org/rpm/elm-mod-ME+2.5.alpha53-1.mdk7.2.i686.rpm
    Package elm-mod binary RPM build on Linux Mandrake release 7.2
    - http://www.elmme-mailer.org/rpm/elm-mod-ME+2.5.alpha53-1.mdk7.2.i686.rpm.sig
    - http://www.elmme-mailer.org/rpm/elm-tls-ME+2.5.alpha53-1.mdk7.2.i686.rpm
    Package elm-tls binary RPM build on Linux Mandrake release 7.2
    - http://www.elmme-mailer.org/rpm/elm-tls-ME+2.5.alpha53-1.mdk7.2.i686.rpm.sig

    ** Notes

    - elm-ME+2.5.alpha53-1.mdk7.2.i686.rpm and
    elm-*-ME+2.5.alpha53-1.mdk7.2.i686.rpm are signed internally with
    GPG key elm.key.2018.asc (44FC796B 2018-12-01).
    - elm-ME+2.5.alpha53-1.mdk7.2.i686.rpm is compiled agaist Sendmail
    8.13 (not from Mandrake distribution).
    - elm-tls-ME+2.5.alpha53-1.mdk7.2.i686.rpm do not load/work on
    Mandrake 7.2, because openssl library misses ASN1_STRING_to_UTF8
    function.

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

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

    Also following directories are used:

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

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

    SUMMARY: This release fixes some parsing on address
    prompts and other bugs. This release changes
    multipart/related handling and mailcap
    programs prompt. This release adds X-Mailer:
    to ~/.elm/elmheaders file and header editing
    screen. Also elmconfwriter command includes
    -b<backup-suffix> option. New elmrc
    options are "program-identification" and
    "pagerelated". Also some other changes
    are included.

    Elm ME+ 2.5 PLalpha53 changelog

    Changes on Elm ME+ 2.5 PLalpha53 compared with Elm ME+ 2.5 PLalpha52 --------------------------------------------------------------------

    SUMMARY: This release fixes some parsing on address
    prompts and other bugs. This release changes
    multipart/related handling and mailcap
    programs prompt. This release adds X-Mailer:
    to ~/.elm/elmheaders file and header editing
    screen. Also elmconfwriter command includes
    -b<backup-suffix> option. New elmrc
    options are "program-identification" and
    "pagerelated". Also some other changes
    are included.

    - Added Configure test for __int128 type.

    - If __int128 is available, use that on generation of
    left side (local part) of message id. That is used
    when {localspec} on "generate-message-id" option
    is either "md5" or "/dev/urandom". When __int128
    used these options produce left part without
    dot ('.'). That means there is 1 dot ('.') separated
    "word" on local part ( left side ) of message id.
    Otherwise when unsigned long is 64 bits, there
    is 2 dot ('.') separated "word" on local part
    ( left side ) of message id. And if unsigned long
    is 32 bits, there is 4 dot ('.') separated "word"
    on local part ( left side ) of message id.

    - Address prompts accepts space as address separation
    but also accepts form
    phrase <address>
    Fixed bug where extra space after <address> caused
    that to be interpreted as two addresses 'phrase'
    and '<address>'. That is on
    update_expanded_from_edit_buffer().

    - Prompt mailcap programs when metamail is required, but
    not available. Causes that for unsupported
    multipart/related have mailcap used on text/html part. Note
    that this does not work correctly, because related parts are
    not available.

    - Report unsupported multipart and other types on mailcap
    programs prompt if it caused that metamail was required.
    * Note that setting elmrc option "pagemultipart" causes these
    unknown multipart types are not considered unsupported.
    Handling of "multipart/related" is controlled by
    elmrc option "pagerelated".

    - Moved NOTPLAIN_* macros from hdrs/elm_defs.h
    to hdrs/addrlib.h

    - Added -b<backup-suffix> option to elmconfwriter. Elmconfwriter
    checks first that there is no files in form
    <config file><backup-suffix> exists when -b<backup-suffix> option
    is used.
    - Command elmconfwriter -lb<backup-suffix>
    can be used to make backup of config files.
    - Option -b<backup-suffix> without -l option (list
    config files) causes that config
    file <config file> is preserved as
    <config file><backup-suffix> when file <config file> rewritten.

    - Added change_file_utime() to lib/mbox/utime_util.c
    - Changed newmail to use change_file_utime()
    - Changed fbrowser_selection_is_mbox(), mbx_move_temp_file()
    to use change_file_utime()

    - Changed prototype of elm_chown
    - Added variable CHOWN_neg1 (constant)

    - Tried fix usr1_signal() and usr2_signal() so that they
    do not hang (looping).

    - Allowed
    X-Mailer:
    header field on ~/.elm/elmheaders file and on
    'invoke e(d)itor' buffer on header editing screen.
    Note however that ~/.elm/elmheaders file is used both on
    elm and fastmail -commands.
    This overrides default value of X-Mailer: header field.
    If empty field is given, X-Mailer: header field is not
    added when mail is sent.
    - Added struct string *xmailer to struct mailing_headers
    - Added
    X-Mailer:
    header field to edit buffer used by 'invoke e(d)itor' on
    header editing screen. This is added to screen
    only if there is value on X-Mailer: header field.
    This is supported on static struct header_info
    header_types[] on lib/addr/headers.c.

    - Added elmrc option "program-identification".
    Option includes list of keywords:
    none None of values are selected
    X-Mailer Add X-Mailer: header field
    version Add version information to header
    field
    User-Agent Add User-Agent header field
    The "program-identification" elm.rc option
    accepts two forms:
    - Absolute form where used options are listed
    - Additive form where changes from compile
    time default are listed:
    +X-Mailer -X-Mailer
    +version -version
    +User-Agent -User-Agent
    These two forms can not be mixed.
    - Note that also message-id domain, when
    it is msg-id.elmme-mailer.org, identifies program.
    Also X-ELM-OSV: header field, if generated,
    identifies program.
    - Added generation of
    User-Agent: elmme/{libversion} ({X-Mailer})
    header field. This requires that on
    "program-identification" mentions this header field.
    This header fields can not given
    on ~/.elm/elmheaders file or on 'invoke e(d)itor'
    buffer on header editing screen.
    - Added char * encoded_user_agent to struct mailing_headers
    - Added sndhelper_update_user_agent() to lib/mailer/senderhelper.c
    and hdrs/mailerlib.h
    - Added "User-Agent" to static struct header_info header_types[]
    on lib/addr/headers.c

    - Fixed getsockname() test on Configure

    - Added elmrc option "pagerelated". This control handling
    of multipart/related messages. Option have values
    no May use metamail, if available.
    yes Try page first (or start) part,
    single-part Try page single part
    Default value is "single-part".
    NOTE: multipart/related is not supported, and related parts are not
    "passed" to first (or start) part.
    - Note that multipart/related is used normally with text/html as
    first part. That is not supported, and also not work when mailcap
    is used for text/html.
    > This is also known as MHTML.
    - When multipart/related have only single part (that is start part),
    using multipart/related is superfluous. In that case multipart/related
    is not required, and can be replaced with that single part.

    RFC 2387: The MIME Multipart/Related Content-type

    Also boolean ON, OFF, TRUE, FALSE, YES and NO values are allowed
    on elmrc option "pagerelated".

    - Added struct message_id * content_id
    to struct mimeinfo

    - Changed prototype of parse_mime_headers1(), mime_parser_parse(),
    mpar_parse(), mime_read_header()
    - Changed prototype of mpar_parse()

    - Fixed set_out_state_line_mode() so that NULL range parameter
    does not reset current range.

    - Added "DKIM-Signature:" to default weedlist.

    - Fixed incorrect calls of change_helper_3()
    on terminal_switch_to() which caused memory corruption.

    - Added
    unsigned busy:1;
    to struct domain_info on lib/mailer/message-id.c

    - Fixed case where check_msg_domain0() was called with domain
    name (pointer), which was same than dompart field
    on struct domain_info;

    New elmrc options:
    program-identification
    pagerelated

    New file:
    lib/mbox/utime_util.c

    Warnings
    --------

    - 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
    message.

    - 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
    charset.

    - 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.4.3.3.26 (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
    mapping
    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
    -misc-fixed-medium-r-normal--12-200-75-75-c-100-iso8859-1
    and not
    -misc-fixed-medium-r-normal--12-200-75-75-c-100-iso8859-15

    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.)

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

    --
    / Kari Hurtta

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Kari Hurtta@21:1/5 to All on Sun Dec 13 08:08:54 2020
    Experimental DEB generator script for Elm ME+ 2.5 PLalpha53
    exists on <URL: http://www.elmme-mailer.org/deb/elm-ME+2.5.html >
    directory.

    Files are following

    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha53-1.gen_deb
    DEB generator script
    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha53-1.gen_deb.elm-key-2018.sig
    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha53-1.gen_deb.sig

    A command

    elm-ME+2.5.alpha52-1.gen_deb {packager}

    generates package elmme with version 1.1.52-1.{distribution}.

    A command

    elm-ME+2.5.alpha52-1.gen_deb --nonew {packager}

    generates package elm with version ME+2.5.alpha52-1.{distribution}.

    Both commands produce package with filename elm-ME+2.5.alpha52-1.{distribution}.{arch}.deb.

    Module libelmme-resolv.so is included for all distributions
    below. Debian GNU/Linux 3.1 is not included now and libelmme-resolv.so implements interruptible DNS queries on other distributions.

    == Old package names, i386

    Package elm with version ME+2.5.alpha53-1.{distribution} and
    architecture i386.

    * Compiled on Ubuntu 6.06.2 LTS
    (Linux 2.6, glibc 2.3, Sendmail 8.13)

    - http://www.elmme-mailer.org/deb/old/elm-ME+2.5.alpha53-1.Ubuntu6.06.i386.deb
    Package elm binary DEB build on Ubuntu 6.06.2 LTS
    - http://www.elmme-mailer.org/deb/old/elm-ME+2.5.alpha53-1.Ubuntu6.06.i386.deb.elm-key-2018.sig
    - http://www.elmme-mailer.org/deb/old/elm-ME+2.5.alpha53-1.Ubuntu6.06.i386.deb.sig

    * Compiled on Ubuntu 10.04.4 LTS
    (Linux 2.6, glibc 2.11, Sendmail 8.14)

    - http://www.elmme-mailer.org/deb/old/elm-ME+2.5.alpha53-1.Ubuntu10.04.i386.deb
    Package elm binary DEB build on Ubuntu 10.04.4 LTS
    - http://www.elmme-mailer.org/deb/old/elm-ME+2.5.alpha53-1.Ubuntu10.04.i386.deb.elm-key-2018.sig
    - http://www.elmme-mailer.org/deb/old/elm-ME+2.5.alpha53-1.Ubuntu10.04.i386.deb.sig

    == New package names, i386

    Package elmme with version 1.1.53-1.{distribution} and architecture
    i386.

    * Compiled on Ubuntu 10.04.4 LTS
    (Linux 2.6, glibc 2.11, Sendmail 8.14)

    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha53-1.Ubuntu10.04.i386.deb
    Package elmme binary DEB build on Ubuntu 10.04.4 LTS
    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha53-1.Ubuntu10.04.i386.deb.elm-key-2018.sig
    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha53-1.Ubuntu10.04.i386.deb.sig

    * Compiled on Ubuntu 14.04.6 LTS
    (Linux 4.4, glibc 2.19, no MTA)

    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha53-1.Ubuntu14.04.i386.deb
    Package elmme binary DEB build on Ubuntu 14.04.6 LTS
    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha53-1.Ubuntu14.04.i386.deb.elm-key-2018.sig
    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha53-1.Ubuntu14.04.i386.deb.sig

    == New package names, amd64 (x86_64)

    Package elmme with version 1.1.53-1.{distribution} and architecture
    amd64 (also known as x86_64).

    * Compiled on Ubuntu 16.04.7 LTS
    (Linux 4.4, glibc 2.23, Sendmail 8.15)

    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha53-1.Ubuntu16.04.amd64.deb
    Package elmme binary DEB build on Ubuntu 16.04.7 LTS
    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha53-1.Ubuntu16.04.amd64.deb.elm-key-2018.sig
    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha53-1.Ubuntu16.04.amd64.deb.sig

    * Compiled on Ubuntu 18.04.5 LTS
    (Linux 5.4, glibc 2.27, no MTA)

    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha53-1.Ubuntu18.04.amd64.deb
    Package elmme binary DEB build on Ubuntu 18.04.5 LTS
    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha53-1.Ubuntu18.04.amd64.deb.elm-key-2018.sig
    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha53-1.Ubuntu18.04.amd64.deb.sig

    == Signatures

    {file}.sig PGP signature (old key pubkey.asc, EA5A2379 1996-04-23)
    {file}.elm-key-2018.sig GPG signature (key elm.key.2018.asc, 44FC796B 2018-12-01, expires: 2028-11-28)

    == 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
    - /usr/local/lib/elm.hashmarks

    Deb generator script 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)

    By default first value for mailname is read from /etc/mailname file.

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

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

    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 /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
    - /usr/local/lib/elm.hashmarks.NEW

    Also following directories are used:

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

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

    SUMMARY: This release fixes some parsing on address
    prompts and other bugs. This release changes
    multipart/related handling and mailcap
    programs prompt. This release adds X-Mailer:
    to ~/.elm/elmheaders file and header editing
    screen. Also elmconfwriter command includes
    -b<backup-suffix> option. New elmrc
    options are "program-identification" and
    "pagerelated". Also some other changes
    are included.

    Elm ME+ 2.5 PLalpha53 changelog

    Changes on Elm ME+ 2.5 PLalpha53 compared with Elm ME+ 2.5 PLalpha52 --------------------------------------------------------------------

    SUMMARY: This release fixes some parsing on address
    prompts and other bugs. This release changes
    multipart/related handling and mailcap
    programs prompt. This release adds X-Mailer:
    to ~/.elm/elmheaders file and header editing
    screen. Also elmconfwriter command includes
    -b<backup-suffix> option. New elmrc
    options are "program-identification" and
    "pagerelated". Also some other changes
    are included.

    - Added Configure test for __int128 type.

    - If __int128 is available, use that on generation of
    left side (local part) of message id. That is used
    when {localspec} on "generate-message-id" option
    is either "md5" or "/dev/urandom". When __int128
    used these options produce left part without
    dot ('.'). That means there is 1 dot ('.') separated
    "word" on local part ( left side ) of message id.
    Otherwise when unsigned long is 64 bits, there
    is 2 dot ('.') separated "word" on local part
    ( left side ) of message id. And if unsigned long
    is 32 bits, there is 4 dot ('.') separated "word"
    on local part ( left side ) of message id.

    - Address prompts accepts space as address separation
    but also accepts form
    phrase <address>
    Fixed bug where extra space after <address> caused
    that to be interpreted as two addresses 'phrase'
    and '<address>'. That is on
    update_expanded_from_edit_buffer().

    - Prompt mailcap programs when metamail is required, but
    not available. Causes that for unsupported
    multipart/related have mailcap used on text/html part. Note
    that this does not work correctly, because related parts are
    not available.

    - Report unsupported multipart and other types on mailcap
    programs prompt if it caused that metamail was required.
    * Note that setting elmrc option "pagemultipart" causes these
    unknown multipart types are not considered unsupported.
    Handling of "multipart/related" is controlled by
    elmrc option "pagerelated".

    - Moved NOTPLAIN_* macros from hdrs/elm_defs.h
    to hdrs/addrlib.h

    - Added -b<backup-suffix> option to elmconfwriter. Elmconfwriter
    checks first that there is no files in form
    <config file><backup-suffix> exists when -b<backup-suffix> option
    is used.
    - Command elmconfwriter -lb<backup-suffix>
    can be used to make backup of config files.
    - Option -b<backup-suffix> without -l option (list
    config files) causes that config
    file <config file> is preserved as
    <config file><backup-suffix> when file <config file> rewritten.

    - Added change_file_utime() to lib/mbox/utime_util.c
    - Changed newmail to use change_file_utime()
    - Changed fbrowser_selection_is_mbox(), mbx_move_temp_file()
    to use change_file_utime()

    - Changed prototype of elm_chown
    - Added variable CHOWN_neg1 (constant)

    - Tried fix usr1_signal() and usr2_signal() so that they
    do not hang (looping).

    - Allowed
    X-Mailer:
    header field on ~/.elm/elmheaders file and on
    'invoke e(d)itor' buffer on header editing screen.
    Note however that ~/.elm/elmheaders file is used both on
    elm and fastmail -commands.
    This overrides default value of X-Mailer: header field.
    If empty field is given, X-Mailer: header field is not
    added when mail is sent.
    - Added struct string *xmailer to struct mailing_headers
    - Added
    X-Mailer:
    header field to edit buffer used by 'invoke e(d)itor' on
    header editing screen. This is added to screen
    only if there is value on X-Mailer: header field.
    This is supported on static struct header_info
    header_types[] on lib/addr/headers.c.

    - Added elmrc option "program-identification".
    Option includes list of keywords:
    none None of values are selected
    X-Mailer Add X-Mailer: header field
    version Add version information to header
    field
    User-Agent Add User-Agent header field
    The "program-identification" elm.rc option
    accepts two forms:
    - Absolute form where used options are listed
    - Additive form where changes from compile
    time default are listed:
    +X-Mailer -X-Mailer
    +version -version
    +User-Agent -User-Agent
    These two forms can not be mixed.
    - Note that also message-id domain, when
    it is msg-id.elmme-mailer.org, identifies program.
    Also X-ELM-OSV: header field, if generated,
    identifies program.
    - Added generation of
    User-Agent: elmme/{libversion} ({X-Mailer})
    header field. This requires that on
    "program-identification" mentions this header field.
    This header fields can not given
    on ~/.elm/elmheaders file or on 'invoke e(d)itor'
    buffer on header editing screen.
    - Added char * encoded_user_agent to struct mailing_headers
    - Added sndhelper_update_user_agent() to lib/mailer/senderhelper.c
    and hdrs/mailerlib.h
    - Added "User-Agent" to static struct header_info header_types[]
    on lib/addr/headers.c

    - Fixed getsockname() test on Configure

    - Added elmrc option "pagerelated". This control handling
    of multipart/related messages. Option have values
    no May use metamail, if available.
    yes Try page first (or start) part,
    single-part Try page single part
    Default value is "single-part".
    NOTE: multipart/related is not supported, and related parts are not
    "passed" to first (or start) part.
    - Note that multipart/related is used normally with text/html as
    first part. That is not supported, and also not work when mailcap
    is used for text/html.
    > This is also known as MHTML.
    - When multipart/related have only single part (that is start part),
    using multipart/related is superfluous. In that case multipart/related
    is not required, and can be replaced with that single part.

    RFC 2387: The MIME Multipart/Related Content-type

    Also boolean ON, OFF, TRUE, FALSE, YES and NO values are allowed
    on elmrc option "pagerelated".

    - Added struct message_id * content_id
    to struct mimeinfo

    - Changed prototype of parse_mime_headers1(), mime_parser_parse(),
    mpar_parse(), mime_read_header()
    - Changed prototype of mpar_parse()

    - Fixed set_out_state_line_mode() so that NULL range parameter
    does not reset current range.

    - Added "DKIM-Signature:" to default weedlist.

    - Fixed incorrect calls of change_helper_3()
    on terminal_switch_to() which caused memory corruption.

    - Added
    unsigned busy:1;
    to struct domain_info on lib/mailer/message-id.c

    - Fixed case where check_msg_domain0() was called with domain
    name (pointer), which was same than dompart field
    on struct domain_info;

    New elmrc options:
    program-identification
    pagerelated

    New file:
    lib/mbox/utime_util.c

    Warnings
    --------

    - 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
    message.

    - 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
    charset.

    - 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.4.3.3.26 (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
    mapping
    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
    -misc-fixed-medium-r-normal--12-200-75-75-c-100-iso8859-1
    and not
    -misc-fixed-medium-r-normal--12-200-75-75-c-100-iso8859-15

    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.)

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

    --
    / Kari Hurtta

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Kari Hurtta@21:1/5 to All on Sun Dec 13 09:45:57 2020
    Experimental DEB generator script for Elm ME+ 2.5 PLalpha53
    exists on <URL: http://www.elmme-mailer.org/deb/elm-ME+2.5.html >
    directory.

    Files are following

    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha53-1.gen_deb
    DEB generator script
    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha53-1.gen_deb.elm-key-2018.sig
    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha53-1.gen_deb.sig

    A command

    elm-ME+2.5.alpha53-1.gen_deb {packager}

    generates package elmme with version 1.1.53-1.{distribution}.

    A command

    elm-ME+2.5.alpha53-1.gen_deb --nonew {packager}

    generates package elm with version ME+2.5.alpha53-1.{distribution}.

    Both commands produce package with filename elm-ME+2.5.alpha53-1.{distribution}.{arch}.deb.

    Module libelmme-resolv.so is included for all distributions
    below. Debian GNU/Linux 3.1 is not included now and libelmme-resolv.so implements interruptible DNS queries on other distributions.

    == Old package names, i386

    Package elm with version ME+2.5.alpha53-1.{distribution} and
    architecture i386.

    * Compiled on Ubuntu 6.06.2 LTS
    (Linux 2.6, glibc 2.3, Sendmail 8.13)

    - http://www.elmme-mailer.org/deb/old/elm-ME+2.5.alpha53-1.Ubuntu6.06.i386.deb
    Package elm binary DEB build on Ubuntu 6.06.2 LTS
    - http://www.elmme-mailer.org/deb/old/elm-ME+2.5.alpha53-1.Ubuntu6.06.i386.deb.elm-key-2018.sig
    - http://www.elmme-mailer.org/deb/old/elm-ME+2.5.alpha53-1.Ubuntu6.06.i386.deb.sig

    * Compiled on Ubuntu 10.04.4 LTS
    (Linux 2.6, glibc 2.11, Sendmail 8.14)

    - http://www.elmme-mailer.org/deb/old/elm-ME+2.5.alpha53-1.Ubuntu10.04.i386.deb
    Package elm binary DEB build on Ubuntu 10.04.4 LTS
    - http://www.elmme-mailer.org/deb/old/elm-ME+2.5.alpha53-1.Ubuntu10.04.i386.deb.elm-key-2018.sig
    - http://www.elmme-mailer.org/deb/old/elm-ME+2.5.alpha53-1.Ubuntu10.04.i386.deb.sig

    == New package names, i386

    Package elmme with version 1.1.53-1.{distribution} and architecture
    i386.

    * Compiled on Ubuntu 10.04.4 LTS
    (Linux 2.6, glibc 2.11, Sendmail 8.14)

    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha53-1.Ubuntu10.04.i386.deb
    Package elmme binary DEB build on Ubuntu 10.04.4 LTS
    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha53-1.Ubuntu10.04.i386.deb.elm-key-2018.sig
    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha53-1.Ubuntu10.04.i386.deb.sig

    * Compiled on Ubuntu 14.04.6 LTS
    (Linux 4.4, glibc 2.19, no MTA)

    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha53-1.Ubuntu14.04.i386.deb
    Package elmme binary DEB build on Ubuntu 14.04.6 LTS
    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha53-1.Ubuntu14.04.i386.deb.elm-key-2018.sig
    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha53-1.Ubuntu14.04.i386.deb.sig

    == New package names, amd64 (x86_64)

    Package elmme with version 1.1.53-1.{distribution} and architecture
    amd64 (also known as x86_64).

    * Compiled on Ubuntu 16.04.7 LTS
    (Linux 4.4, glibc 2.23, Sendmail 8.15)

    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha53-1.Ubuntu16.04.amd64.deb
    Package elmme binary DEB build on Ubuntu 16.04.7 LTS
    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha53-1.Ubuntu16.04.amd64.deb.elm-key-2018.sig
    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha53-1.Ubuntu16.04.amd64.deb.sig

    * Compiled on Ubuntu 18.04.5 LTS
    (Linux 5.4, glibc 2.27, no MTA)

    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha53-1.Ubuntu18.04.amd64.deb
    Package elmme binary DEB build on Ubuntu 18.04.5 LTS
    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha53-1.Ubuntu18.04.amd64.deb.elm-key-2018.sig
    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha53-1.Ubuntu18.04.amd64.deb.sig

    == Signatures

    {file}.sig PGP signature (old key pubkey.asc, EA5A2379 1996-04-23)
    {file}.elm-key-2018.sig GPG signature (key elm.key.2018.asc, 44FC796B 2018-12-01, expires: 2028-11-28)

    == 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
    - /usr/local/lib/elm.hashmarks

    Deb generator script 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)

    By default first value for mailname is read from /etc/mailname file.

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

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

    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 /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
    - /usr/local/lib/elm.hashmarks.NEW

    Also following directories are used:

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

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

    SUMMARY: This release fixes some parsing on address
    prompts and other bugs. This release changes
    multipart/related handling and mailcap
    programs prompt. This release adds X-Mailer:
    to ~/.elm/elmheaders file and header editing
    screen. Also elmconfwriter command includes
    -b<backup-suffix> option. New elmrc
    options are "program-identification" and
    "pagerelated". Also some other changes
    are included.

    Elm ME+ 2.5 PLalpha53 changelog

    Changes on Elm ME+ 2.5 PLalpha53 compared with Elm ME+ 2.5 PLalpha52 --------------------------------------------------------------------

    SUMMARY: This release fixes some parsing on address
    prompts and other bugs. This release changes
    multipart/related handling and mailcap
    programs prompt. This release adds X-Mailer:
    to ~/.elm/elmheaders file and header editing
    screen. Also elmconfwriter command includes
    -b<backup-suffix> option. New elmrc
    options are "program-identification" and
    "pagerelated". Also some other changes
    are included.

    - Added Configure test for __int128 type.

    - If __int128 is available, use that on generation of
    left side (local part) of message id. That is used
    when {localspec} on "generate-message-id" option
    is either "md5" or "/dev/urandom". When __int128
    used these options produce left part without
    dot ('.'). That means there is 1 dot ('.') separated
    "word" on local part ( left side ) of message id.
    Otherwise when unsigned long is 64 bits, there
    is 2 dot ('.') separated "word" on local part
    ( left side ) of message id. And if unsigned long
    is 32 bits, there is 4 dot ('.') separated "word"
    on local part ( left side ) of message id.

    - Address prompts accepts space as address separation
    but also accepts form
    phrase <address>
    Fixed bug where extra space after <address> caused
    that to be interpreted as two addresses 'phrase'
    and '<address>'. That is on
    update_expanded_from_edit_buffer().

    - Prompt mailcap programs when metamail is required, but
    not available. Causes that for unsupported
    multipart/related have mailcap used on text/html part. Note
    that this does not work correctly, because related parts are
    not available.

    - Report unsupported multipart and other types on mailcap
    programs prompt if it caused that metamail was required.
    * Note that setting elmrc option "pagemultipart" causes these
    unknown multipart types are not considered unsupported.
    Handling of "multipart/related" is controlled by
    elmrc option "pagerelated".

    - Moved NOTPLAIN_* macros from hdrs/elm_defs.h
    to hdrs/addrlib.h

    - Added -b<backup-suffix> option to elmconfwriter. Elmconfwriter
    checks first that there is no files in form
    <config file><backup-suffix> exists when -b<backup-suffix> option
    is used.
    - Command elmconfwriter -lb<backup-suffix>
    can be used to make backup of config files.
    - Option -b<backup-suffix> without -l option (list
    config files) causes that config
    file <config file> is preserved as
    <config file><backup-suffix> when file <config file> rewritten.

    - Added change_file_utime() to lib/mbox/utime_util.c
    - Changed newmail to use change_file_utime()
    - Changed fbrowser_selection_is_mbox(), mbx_move_temp_file()
    to use change_file_utime()

    - Changed prototype of elm_chown
    - Added variable CHOWN_neg1 (constant)

    - Tried fix usr1_signal() and usr2_signal() so that they
    do not hang (looping).

    - Allowed
    X-Mailer:
    header field on ~/.elm/elmheaders file and on
    'invoke e(d)itor' buffer on header editing screen.
    Note however that ~/.elm/elmheaders file is used both on
    elm and fastmail -commands.
    This overrides default value of X-Mailer: header field.
    If empty field is given, X-Mailer: header field is not
    added when mail is sent.
    - Added struct string *xmailer to struct mailing_headers
    - Added
    X-Mailer:
    header field to edit buffer used by 'invoke e(d)itor' on
    header editing screen. This is added to screen
    only if there is value on X-Mailer: header field.
    This is supported on static struct header_info
    header_types[] on lib/addr/headers.c.

    - Added elmrc option "program-identification".
    Option includes list of keywords:
    none None of values are selected
    X-Mailer Add X-Mailer: header field
    version Add version information to header
    field
    User-Agent Add User-Agent header field
    The "program-identification" elm.rc option
    accepts two forms:
    - Absolute form where used options are listed
    - Additive form where changes from compile
    time default are listed:
    +X-Mailer -X-Mailer
    +version -version
    +User-Agent -User-Agent
    These two forms can not be mixed.
    - Note that also message-id domain, when
    it is msg-id.elmme-mailer.org, identifies program.
    Also X-ELM-OSV: header field, if generated,
    identifies program.
    - Added generation of
    User-Agent: elmme/{libversion} ({X-Mailer})
    header field. This requires that on
    "program-identification" mentions this header field.
    This header fields can not given
    on ~/.elm/elmheaders file or on 'invoke e(d)itor'
    buffer on header editing screen.
    - Added char * encoded_user_agent to struct mailing_headers
    - Added sndhelper_update_user_agent() to lib/mailer/senderhelper.c
    and hdrs/mailerlib.h
    - Added "User-Agent" to static struct header_info header_types[]
    on lib/addr/headers.c

    - Fixed getsockname() test on Configure

    - Added elmrc option "pagerelated". This control handling
    of multipart/related messages. Option have values
    no May use metamail, if available.
    yes Try page first (or start) part,
    single-part Try page single part
    Default value is "single-part".
    NOTE: multipart/related is not supported, and related parts are not
    "passed" to first (or start) part.
    - Note that multipart/related is used normally with text/html as
    first part. That is not supported, and also not work when mailcap
    is used for text/html.
    > This is also known as MHTML.
    - When multipart/related have only single part (that is start part),
    using multipart/related is superfluous. In that case multipart/related
    is not required, and can be replaced with that single part.

    RFC 2387: The MIME Multipart/Related Content-type

    Also boolean ON, OFF, TRUE, FALSE, YES and NO values are allowed
    on elmrc option "pagerelated".

    - Added struct message_id * content_id
    to struct mimeinfo

    - Changed prototype of parse_mime_headers1(), mime_parser_parse(),
    mpar_parse(), mime_read_header()
    - Changed prototype of mpar_parse()

    - Fixed set_out_state_line_mode() so that NULL range parameter
    does not reset current range.

    - Added "DKIM-Signature:" to default weedlist.

    - Fixed incorrect calls of change_helper_3()
    on terminal_switch_to() which caused memory corruption.

    - Added
    unsigned busy:1;
    to struct domain_info on lib/mailer/message-id.c

    - Fixed case where check_msg_domain0() was called with domain
    name (pointer), which was same than dompart field
    on struct domain_info;

    New elmrc options:
    program-identification
    pagerelated

    New file:
    lib/mbox/utime_util.c

    Warnings
    --------

    - 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
    message.

    - 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
    charset.

    - 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.4.3.3.26 (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
    mapping
    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
    -misc-fixed-medium-r-normal--12-200-75-75-c-100-iso8859-1
    and not
    -misc-fixed-medium-r-normal--12-200-75-75-c-100-iso8859-15

    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.)

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

    --
    / Kari Hurtta

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Kari Hurtta@21:1/5 to All on Sat May 1 19:21:37 2021
    XPost: alt.sources

    Archive-name: elmME+2.5/PLalpha54.0

    This thread is now 25 years old. Starting from 14 Jan 1996.

    Before applying this patch catenate parts 1 - 2 first.
    Also it should be possible to apply parts 1 - 2
    individually.

    Part 0 does not include patch.

    This patch is agaist Elm ME+ 2.5 PLalpha53

    ====================================== ( part 0/2 ) =========
    Elm ME+ 2.5 PLalpha54

    - Is available with
    <URL: http://www.elmme-mailer.org/elm-ME+2.5/src/elm-ME+2.5.alpha54.cf1c00051619f47ae5a59ecdf3609156.tar.gz >
    and <URL: http://www.elmme-mailer.org/elm-ME+2.5/src/elm-ME+2.5.PLalpha54.patch.gz >
    via http.

    - Is available with
    <URL: https://hurtta.kapsi.fi/elm-ME+2.5/elm-ME+2.5.alpha54.cf1c00051619f47ae5a59ecdf3609156.tar.gz >
    and <URL: https://hurtta.kapsi.fi/elm-ME+2.5/elm-ME+2.5.PLalpha54.patch.gz >
    via https.

    - Is available on ftp.funet.fi
    via anonymous ftp
    directory pub/mirrors/elmme-mailer.org/src/elm-ME+2.5/

    files elm-ME+2.5.alpha54.cf1c00051619f47ae5a59ecdf3609156.tar.gz
    and elm-ME+2.5.PLalpha54.patch.gz

    or is available with
    <URL: ftp://ftp.funet.fi/pub/mirrors/elmme-mailer.org/src/elm-ME+2.5/elm-ME+2.5.alpha54.cf1c00051619f47ae5a59ecdf3609156.tar.gz >
    and <URL: ftp://ftp.funet.fi/pub/mirrors/elmme-mailer.org/src/elm-ME+2.5/elm-ME+2.5.PLalpha54.patch.gz >
    with browser

    or is available with
    <URL: https://nic.funet.fi/pub/mirrors/elmme-mailer.org/src/elm-ME+2.5/elm-ME+2.5.alpha54.cf1c00051619f47ae5a59ecdf3609156.tar.gz >
    and <URL: https://nic.funet.fi/pub/mirrors/elmme-mailer.org/src/elm-ME+2.5/elm-ME+2.5.PLalpha54.patch.gz >
    via https.

    SUMMARY: This release fixes type=iconv option
    on .elm/mime.charsets and some other bugs.
    This release changes size display on
    mail listing. This release changes handling
    some bogus 8-bit mail with elmrc options
    "use-char-set-header-field-hack" and
    "use-content-type-charset-for-8bit-subject-hack".
    If getifaddrs() is available, resolv
    module clears name lookup cache when
    interfaces addresses change (with
    elmrc option "interface-change"
    on "resolv:" section). Also some other
    changes are included.

    Changes on Elm ME+ 2.5 PLalpha54 compared with Elm ME+ 2.5 PLalpha53 --------------------------------------------------------------------

    SUMMARY: This release fixes type=iconv option
    on .elm/mime.charsets and some other bugs.
    This release changes size display on
    mail listing. This release changes handling
    some bogus 8-bit mail with elmrc options
    "use-char-set-header-field-hack" and
    "use-content-type-charset-for-8bit-subject-hack".
    If getifaddrs() is available, resolv
    module clears name lookup cache when
    interfaces addresses change (with
    elmrc option "interface-change"
    on "resolv:" section). Also some other
    changes are included.

    - Changed sysconf(_SC_SAVED_IDS) call on user_init()
    at lib/read_rc.c

    - Show filename from Content-Disposition header field
    on "MIME structure Menu", if other data is not available.

    - Changed builtin++ pager prompt on end. Specially
    on case where attachments / mime parts are viewed.
    - Also changed metapager prompt on case where attachments /
    mime parts are viewed.
    - Changed metapager return value (when external pager is used).

    - Show size mail on (kilo/mega)bytes on mail listing if
    number of lines is not available, because mail
    on IMAP mailbox was skipped. Number of lines are shown
    inside of (), number of bytes are shows with [].
    - Also use prefixes "k" (kilo) and "M" (mega).
    - Added struct string *size_lines_s to struct header_rec
    - Added make_size_lines() to src/menu_common/message_screen.c
    - Added give_message_menu_size() to src/messages/messages.c
    and hdrs/me.h
    - Added mt_give_message_menu_size() to src/messages/def_messages.h
    - Added mt_give_message_menu_size * mt_give_message_msize_it
    to struct mailbox_type
    - Added folder_give_message_msize() to lib/mbox/mbox.c
    and hdrs/mboxlib.h
    - Added mbx_give_message_msize_folder() to hdrs/mbx_imp.h
    - Added mbx_give_message_msize_default() to lib/mbox/mbox_generic.c
    and lib/mbox/def_mbox.h

    - Certain sender sends mail with header fields
    MIME-Version: 1.0
    Content-Type: text/plain
    Char-Set: iso-8859-1
    where subject and message body includes
    8-bit (iso-8859-1) data. That Char-Set header field
    is non-standard. Added elmrc option
    "use-char-set-header-field-hack", which enables
    processing this (bogus) header field. This
    "Char-Set:" handled only on mail's header block
    (non on MIME header's of body part).
    - Added header_trim_whitespace_helper() to hdrs/mboxlib.h
    and lib/mbox/headers.c
    - Added default_body_charset to struct header_rec
    - Changed prototype of mime_decode(), pgp_decode(), pgp_SG_decoder(),
    pgp_EC_decoder(), null_EC_decoder(), null_SG_decoder(),
    partial_decode()
    - Changed prototype of encrypted_decoder(), signed_decoder(),
    CT_decoder()

    - Certain sender sends mail where subject 8-bit (iso-8859-1)
    with headers
    Subject: <8-bit iso-8859-1 text>
    MIME-Version: 1.0
    Content-Type: text/plain; charset=iso-8859-1
    Sending raw 8-bit (iso-8859-1) text on subject header
    field is non-standard. Added elmrc option
    "use-content-type-charset-for-8bit-subject-hack" which
    enables processing Subject: header field with using
    Content-Type header field.
    - Added unsigned int header_charset_set :1;
    to struct header_rec
    - Changed prototype of state_write_headers()

    - Added is_cancel_installed() to lib/cancel.c
    - Changed block_signals() to take account
    possible cancel_data and installed SIGINT
    handler for that.

    - Removed menu_header_status_update() from
    'v' (View parts of message) on mailbox_command()
    - Removed menu_header_status_update() from
    'V' (View parts of message) on mailbox_command()

    * If getifaddrs() is available:
    - Clear name lookup cache of libelmme-resolv.so module
    when interfaces addresses change if "interface-change"
    (on "resolv:" section) have value "clear-cache"
    (default).
    - If address is marked as interface_loopback,
    then address is not added to "mailname".
    - elmrc aoption "query-address-type" (on resolv:
    -section) value "default" also ignores
    addresses which are marked as interface_loopback
    when determining if query A (IPv4) or AAAA (IPv6)
    records need to be queried.
    - Added interface_up to struct interface_addr
    - Added interface_loopback to struct interface_addr
    - Added notify_if_change_f() to shared_libs/include/shared.h
    - Added notify_if_change_p to struct sl_connect_data
    - Added shared_notify_if_change to hdrs/connection_imp.h
    and lib/shared_connect.c

    - Added possible fix to cs_find_pattern_from_unknown()
    - Added possible fix to cs_add_streambyte_to_s_iconv()
    - Added possible fix to cs_soft_reset_s_iconv()
    - Added possible fix to cs_streamclip_from_iconv()
    - Added missing ...->cs_check_length_it() call to
    string_to_long()
    - Added ...->cs_check_length_it() calls to
    cat_strings_internal()

    - Fixed broken type=iconv option on .elm/mime.charsets
    (that was not implemented)
    - Added CS_charset_type_f() to shared_libs/include/shared.h
    - Changed cs_first_type to cs_charset_type on
    struct sl_base_data

    - Fixed compress_unicode() on case where zero length words
    was passed to it.

    New elmrc options:
    use-char-set-header-field-hack
    use-content-type-charset-for-8bit-subject-hack
    resolv:interface-change


    diffstat:

    README.ME+ | 139 ++++++++++++
    doc/elm.1 | 2
    doc/elmalias.1 | 2
    doc/elmaliases-write.1 | 2
    doc/elmbindata.1 | 2
    doc/elmcharset.1 | 2
    doc/elmconfwriter.1 | 2
    doc/elmhashmarks.1 | 2
    doc/elmiso2022sets.1 | 2
    doc/elmlibregister.1 | 2
    doc/elmmailinglists.1 | 2
    doc/elmmailservices.1 | 2
    doc/elmmimetypes.1 | 2
    doc/elmrc-info | 380 +++++-!!!!!!!!!!!!!!!!!!!!!!!!!!!
    doc/elmrc-write.1 | 2
    doc/elmregister.1 | 2
    doc/elmstringconvert.1 | 2
    doc/elmterminal.1 | 2
    doc/elmunidata.1 | 2
    doc/fastmail.1 | 2
    doc/frm.1 | 2
    doc/newalias.1 | 2
    doc/newmail.1 | 2
    doc/readmsg.1 | 2
    hdrs/addrlib.h | 11 !
    hdrs/connection_imp.h | 12
    hdrs/elm_defs.h | 6
    hdrs/elmlib.h | 13 !
    hdrs/mboxlib.h | 22 +!
    hdrs/mbx_imp.h | 9
    hdrs/me.h | 27 +!
    hdrs/melib.h | 23 !!
    hdrs/patchlevel.h | 10
    hdrs/readmsg.h | 4
    hdrs/s_elm.h | 2
    hdrs/save_opts.h | 6
    lib/addr/write_hdr.c | 31 !!
    lib/cancel.c | 19 +
    lib/cs_unknown.c | 11 !
    lib/mbox/def_mbox.h | 10
    lib/mbox/headers.c | 242 ++++++++++!!!!!!!!!!!
    lib/mbox/imap.c | 61 ++++!
    lib/mbox/localmbx.c | 13 !
    lib/mbox/mbox.c | 74 ++++++
    lib/mbox/mbox_generic.c | 19 +
    lib/mbox/pop.c | 31 ++
    lib/mparse.c | 8
    lib/read_rc.c | 53 +!!!
    lib/remote_mbx.c | 119 +++++++!!!
    lib/shared_base.c | 56 ++!!!
    lib/shared_connect.c | 62 ++++!
    lib/string.c | 26 +!
    lib/unicode.c | 6
    melib/def_melib.h | 27 !!
    melib/mime_decode.c | 277 +!!!!!!!!!!!!!!!!!!!!!!!!
    melib/mime_selector.c | 13 !
    melib/parse_util.c | 31 !!
    melib/partial.c | 7
    melib/pgp_decode.c | 34 !!!
    nls/C/C/C/s_elm.m | 8
    shared_libs/iconv/iconv.c | 228 +++++!!!!!!!!!!!!!!!!
    shared_libs/include/shared.h | 9
    shared_libs/resolv/elmrc-resolv-info | 11 !
    shared_libs/resolv/resolv.c | 228 ++++++++++++++++++-
    src/alias.c | 5
    src/args.c | 8
    src/attach_menu.c | 84 !!!!!!!
    src/builtin++.c | 39 !!!
    src/canceled.c | 5
    src/digest.c | 5
    src/duplicate_removal.c | 5
    src/elm.c | 14 !
    src/file_util.c | 37 !!!
    src/fileio.c | 12 !
    src/leavembox.c | 38 !!!
    src/list/visit_mailbox.c | 5
    src/mailbox.c | 6
    src/menu_common/message_screen.c | 165 ++++++++!!!!!!!
    src/messages/canceled_mail.c | 55 ++++!
    src/messages/def_messages.h | 8
    src/messages/digest.c | 24 +
    src/messages/duplicate.c | 91 +++++++!
    src/messages/header_alloc.c | 237 !!!!!!!!!!!!!!!!!!!!!
    src/messages/mailfile.c | 117 +++++++!!!
    src/messages/messages.c | 74 ++!!!!
    src/messages/partial.c | 41 +++
    src/messages/storage.c | 52 ++++
    src/messages/thread_messages.c | 26 +!
    src/metapager.c | 90 -!!!!!
    src/partial.c | 5
    src/screen/curses.c | 72 +!!!!!
    src/view_folder.c | 5
    src/view_one_thread.c | 5
    utils/readmsg/readmsg.c | 56 ++++!
    94 files changed, 1616 insertions(+), 37 deletions(-), 2155 modifications(!)

    --
    / Kari Hurtta

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Kari Hurtta@21:1/5 to All on Sat May 1 19:22:35 2021
    XPost: alt.sources

    Archive-name: elmME+2.5/PLalpha54.1

    Before applying this patch catenate parts 1 - 2 first.
    Also it should be possible to apply parts 1 - 2
    individually.

    Part 0 does not include patch.

    This patch is agaist Elm ME+ 2.5 PLalpha53

    ====================================== ( part 1/2 ) =========
    For applying thich patch use (on directory where Configure is)

    patch -p1 < {this-file}

    ------------------------------------------------------------------------
    Index: elmME+.2.5.alpha54-cvs/hdrs/patchlevel.h
    Prereq: 1638000000
    *** elmME+.2.5.alpha53/hdrs/patchlevel.h Mon Dec 7 20:29:21 2020
    --- elmME+.2.5.alpha54-cvs/hdrs/patchlevel.h Tue Apr 20 19:54:07 2021 ***************
    *** 1,12 ****
    ! #define PATCHLEVEL "alpha53"
    /* Used by Configure:
    ! SHAREDTAG: .1.1.53
    */
    ! #define LAST_REPORT_TIME 1638000000
    #define BUG_REPORT_ADDR "Kari Hurtta <elm@elmme-mailer.org>"
    ! #define VERS_DATE "Dec 2020" /* for elm -v option */
    #define WHAT_STRING \
    ! "@(#) Version ME+ 2.5, USENET supported version, released Dec 2020"

    /*
    * Local Variables:
    --- 1,12 ----
    ! #define PATCHLEVEL "alpha54"
    /* Used by Configure:
    ! SHAREDTAG: .1.1.54
    */
    ! #define LAST_REPORT_TIME 1650000000
    #define BUG_REPORT_ADDR "Kari Hurtta <elm@elmme-mailer.org>"
    ! #define VERS_DATE "May 2021" /* for elm -v option */
    #define WHAT_STRING \
    ! "@(#) Version ME+ 2.5, USENET supported version, released May 2021"

    /*
    * Local Variables:
    Index: elmME+.2.5.alpha54-cvs/README.ME+
    *** elmME+.2.5.alpha53/README.ME+ Mon Dec 7 20:29:21 2020
    --- elmME+.2.5.alpha54-cvs/README.ME
  • From Kari Hurtta@21:1/5 to All on Sat May 1 19:23:25 2021
    XPost: alt.sources

    Archive-name: elmME+2.5/PLalpha54.2

    Before applying this patch catenate parts 1 - 2 first.
    Also it should be possible to apply parts 1 - 2
    individually.

    Part 0 does not include patch.

    This patch is agaist Elm ME+ 2.5 PLalpha53

    ====================================== ( part 2/2 ) =========
    Index: elmME+.2.5.alpha54-cvs/melib/parse_util.c
    *** elmME+.2.5.alpha53/melib/parse_util.c Sun Feb 4 21:36:29 2018
    --- elmME+.2.5.alpha54-cvs/melib/parse_util.c Sun Jan 17 20:53:16 2021 ***************
    *** 1,8 ****
    ! static char rcsid[] = "@(#)$Id: parse_util.c,v 2.17 2017/11/18 16:49:26 hurtta Exp $";


    /******************************************************************************
    ! * The Elm (ME+) Mail System - $Revision: 2.17 $ $State: Exp $
    *
    * Author: Kari Hurtta <hurtta+elm@siilo.FMI.FI>
    * (was hurtta+elm@posti.FMI.FI, hurtta+elm@ozone.FMI.FI) --- 1,8 ----
    ! static char rcsid[] = "@(#)$Id: parse_util.c,v 2.18 2021/01/17 18:53:16 hurtta Exp $";


    /******************************************************************************
    ! * The Elm (ME+) Mail System - $Revision: 2.18 $ $State: Exp $
    *
    * Author: Kari Hurtta <hurtta+elm@siilo.FMI.FI>
    * (was hurtta+elm@posti.FMI.FI, hurtta+elm@ozone.FMI.FI) ***************
    *** 252,258 ****
    const struct decode_opts *decode_opt;
    header_list_ptr next;
    int dem
  • From Kari Hurtta@21:1/5 to All on Sun May 2 14:06:29 2021
    Experimental RPM spec file for ELM ME+ 2.5 PLalpha54
    exists on <URL: http://www.elmme-mailer.org/rpm/elm-ME+2.5.html >
    directory.

    Files are following

    - http://www.elmme-mailer.org/rpm/elm-ME+2.5.alpha54-1.spec
    RPM spec file
    - http://www.elmme-mailer.org/rpm/elm-ME+2.5.alpha54-1.spec.elm-key-2018.sig
    - http://www.elmme-mailer.org/rpm/elm-ME+2.5.alpha54-1.spec.sig
    - http://www.elmme-mailer.org/rpm/elm-ME+2.5.alpha54-1.mdk7.2.src.rpm
    Source rpm
    - http://www.elmme-mailer.org/rpm/elm-ME+2.5.alpha54-1.mdk7.2.src.rpm.sig

    ** Notes

    - elm-ME+2.5.alpha54-1.mdk7.1.src.rpm is signed internally with GPG
    key elm.key.2018.asc (44FC796B 2018-12-01).

    * 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.alpha54-1.mdk7.2.i686.rpm
    Package elm binary RPM build on Linux Mandrake release 7.2
    - http://www.elmme-mailer.org/rpm/elm-ME+2.5.alpha54-1.mdk7.2.i686.rpm.sig
    - http://www.elmme-mailer.org/rpm/elm-mod-ME+2.5.alpha54-1.mdk7.2.i686.rpm
    Package elm-mod binary RPM build on Linux Mandrake release 7.2
    - http://www.elmme-mailer.org/rpm/elm-tls-ME+2.5.alpha54-1.mdk7.2.i686.rpm
    Package elm-tls binary RPM build on Linux Mandrake release 7.2
    - http://www.elmme-mailer.org/rpm/elm-tls-ME+2.5.alpha54-1.mdk7.2.i686.rpm.sig

    ** Notes

    - elm-ME+2.5.alpha54-1.mdk7.2.i686.rpm and
    elm-*-ME+2.5.alpha54-1.mdk7.2.i686.rpm are signed internally with
    GPG key elm.key.2018.asc (44FC796B 2018-12-01).
    - elm-ME+2.5.alpha54-1.mdk7.2.i686.rpm is compiled agaist Sendmail
    8.13 (not from Mandrake distribution).
    - elm-tls-ME+2.5.alpha54-1.mdk7.2.i686.rpm do not load/work on
    Mandrake 7.2, because openssl library misses ASN1_STRING_to_UTF8
    function.

    * Signatures

    {file}.sig PGP signature (old key pubkey.asc, EA5A2379 1996-04-23)
    {file}.elm-key-2018.sig GPG signature (key elm.key.2018.asc, 44FC796B 2018-12-01, expires: 2028-11-28)

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

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

    Also following directories are used:

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

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

    SUMMARY: This release fixes type=iconv option
    on .elm/mime.charsets and some other bugs.
    This release changes size display on
    mail listing. This release changes handling
    some bogus 8-bit mail with elmrc options
    "use-char-set-header-field-hack" and
    "use-content-type-charset-for-8bit-subject-hack".
    If getifaddrs() is available, resolv module
    clears name lookup cache when interfaces addresses
    change (with elmrc option "interface-change"
    on "resolv:" section). Also some other changes are
    included.

    Elm ME+ 2.5 PLalpha54 changelog

    Changes on Elm ME+ 2.5 PLalpha54 compared with Elm ME+ 2.5 PLalpha53 --------------------------------------------------------------------

    SUMMARY: This release fixes type=iconv option
    on .elm/mime.charsets and some other bugs.
    This release changes size display on
    mail listing. This release changes handling
    some bogus 8-bit mail with elmrc options
    "use-char-set-header-field-hack" and
    "use-content-type-charset-for-8bit-subject-hack".
    If getifaddrs() is available, resolv
    module clears name lookup cache when
    interfaces addresses change (with
    elmrc option "interface-change"
    on "resolv:" section). Also some other
    changes are included.

    - Changed sysconf(_SC_SAVED_IDS) call on user_init()
    at lib/read_rc.c

    - Show filename from Content-Disposition header field
    on "MIME structure Menu", if other data is not available.

    - Changed builtin++ pager prompt on end. Specially
    on case where attachments / mime parts are viewed.
    - Also changed metapager prompt on case where attachments /
    mime parts are viewed.
    - Changed metapager return value (when external pager is used).

    - Show size mail on (kilo/mega)bytes on mail listing if
    number of lines is not available, because mail
    on IMAP mailbox was skipped. Number of lines are shown
    inside of (), number of bytes are shows with [].
    - Also use prefixes "k" (kilo) and "M" (mega).
    - Added struct string *size_lines_s to struct header_rec
    - Added make_size_lines() to src/menu_common/message_screen.c
    - Added give_message_menu_size() to src/messages/messages.c
    and hdrs/me.h
    - Added mt_give_message_menu_size() to src/messages/def_messages.h
    - Added mt_give_message_menu_size * mt_give_message_msize_it
    to struct mailbox_type
    - Added folder_give_message_msize() to lib/mbox/mbox.c
    and hdrs/mboxlib.h
    - Added mbx_give_message_msize_folder() to hdrs/mbx_imp.h
    - Added mbx_give_message_msize_default() to lib/mbox/mbox_generic.c
    and lib/mbox/def_mbox.h

    - Certain sender sends mail with header fields
    MIME-Version: 1.0
    Content-Type: text/plain
    Char-Set: iso-8859-1
    where subject and message body includes
    8-bit (iso-8859-1) data. That Char-Set header field
    is non-standard. Added elmrc option
    "use-char-set-header-field-hack", which enables
    processing this (bogus) header field. This
    "Char-Set:" handled only on mail's header block
    (non on MIME header's of body part).
    - Added header_trim_whitespace_helper() to hdrs/mboxlib.h
    and lib/mbox/headers.c
    - Added default_body_charset to struct header_rec
    - Changed prototype of mime_decode(), pgp_decode(), pgp_SG_decoder(),
    pgp_EC_decoder(), null_EC_decoder(), null_SG_decoder(),
    partial_decode()
    - Changed prototype of encrypted_decoder(), signed_decoder(),
    CT_decoder()

    - Certain sender sends mail where subject 8-bit (iso-8859-1)
    with headers
    Subject: <8-bit iso-8859-1 text>
    MIME-Version: 1.0
    Content-Type: text/plain; charset=iso-8859-1
    Sending raw 8-bit (iso-8859-1) text on subject header
    field is non-standard. Added elmrc option
    "use-content-type-charset-for-8bit-subject-hack" which
    enables processing Subject: header field with using
    Content-Type header field.
    - Added unsigned int header_charset_set :1;
    to struct header_rec
    - Changed prototype of state_write_headers()

    - Added is_cancel_installed() to lib/cancel.c
    - Changed block_signals() to take account
    possible cancel_data and installed SIGINT
    handler for that.

    - Removed menu_header_status_update() from
    'v' (View parts of message) on mailbox_command()
    - Removed menu_header_status_update() from
    'V' (View parts of message) on mailbox_command()

    * If getifaddrs() is available:
    - Clear name lookup cache of libelmme-resolv.so module
    when interfaces addresses change if "interface-change"
    (on "resolv:" section) have value "clear-cache"
    (default).
    - If address is marked as interface_loopback,
    then address is not added to "mailname".
    - elmrc aoption "query-address-type" (on resolv:
    -section) value "default" also ignores
    addresses which are marked as interface_loopback
    when determining if query A (IPv4) or AAAA (IPv6)
    records need to be queried.
    - Added interface_up to struct interface_addr
    - Added interface_loopback to struct interface_addr
    - Added notify_if_change_f() to shared_libs/include/shared.h
    - Added notify_if_change_p to struct sl_connect_data
    - Added shared_notify_if_change to hdrs/connection_imp.h
    and lib/shared_connect.c

    - Added possible fix to cs_find_pattern_from_unknown()
    - Added possible fix to cs_add_streambyte_to_s_iconv()
    - Added possible fix to cs_soft_reset_s_iconv()
    - Added possible fix to cs_streamclip_from_iconv()
    - Added missing ...->cs_check_length_it() call to
    string_to_long()
    - Added ...->cs_check_length_it() calls to
    cat_strings_internal()

    - Fixed broken type=iconv option on .elm/mime.charsets
    (that was not implemented)
    - Added CS_charset_type_f() to shared_libs/include/shared.h
    - Changed cs_first_type to cs_charset_type on
    struct sl_base_data

    - Fixed compress_unicode() on case where zero length words
    was passed to it.

    New elmrc options:
    use-char-set-header-field-hack
    use-content-type-charset-for-8bit-subject-hack
    resolv:interface-change

    Warnings
    --------

    - 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
    message.

    - 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
    charset.

    - 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.4.3.3.26 (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
    mapping
    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
    -misc-fixed-medium-r-normal--12-200-75-75-c-100-iso8859-1
    and not
    -misc-fixed-medium-r-normal--12-200-75-75-c-100-iso8859-15

    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.)

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

    --
    / Kari Hurtta

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Kari Hurtta@21:1/5 to All on Sun May 2 14:31:44 2021
    Experimental RPM spec file for ELM ME+ 2.5 PLalpha54
    exists on <URL: http://www.elmme-mailer.org/rpm/elm-ME+2.5.html >
    directory.

    Files are following

    - http://www.elmme-mailer.org/rpm/elm-ME+2.5.alpha54-1.spec
    RPM spec file
    - http://www.elmme-mailer.org/rpm/elm-ME+2.5.alpha54-1.spec.elm-key-2018.sig
    - http://www.elmme-mailer.org/rpm/elm-ME+2.5.alpha54-1.spec.sig
    - http://www.elmme-mailer.org/rpm/elm-ME+2.5.alpha54-1.mdk7.2.src.rpm
    Source rpm
    - http://www.elmme-mailer.org/rpm/elm-ME+2.5.alpha54-1.mdk7.2.src.rpm.sig

    ** Notes

    - elm-ME+2.5.alpha54-1.mdk7.1.src.rpm is signed internally with GPG
    key elm.key.2018.asc (44FC796B 2018-12-01).

    * 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.alpha54-1.mdk7.2.i686.rpm
    Package elm binary RPM build on Linux Mandrake release 7.2
    - http://www.elmme-mailer.org/rpm/elm-ME+2.5.alpha54-1.mdk7.2.i686.rpm.sig
    - http://www.elmme-mailer.org/rpm/elm-mod-ME+2.5.alpha54-1.mdk7.2.i686.rpm
    Package elm-mod binary RPM build on Linux Mandrake release 7.2
    - http://www.elmme-mailer.org/rpm/elm-tls-ME+2.5.alpha54-1.mdk7.2.i686.rpm
    Package elm-tls binary RPM build on Linux Mandrake release 7.2
    - http://www.elmme-mailer.org/rpm/elm-tls-ME+2.5.alpha54-1.mdk7.2.i686.rpm.sig

    ** Notes

    - elm-ME+2.5.alpha54-1.mdk7.2.i686.rpm and
    elm-*-ME+2.5.alpha54-1.mdk7.2.i686.rpm are signed internally with
    GPG key elm.key.2018.asc (44FC796B 2018-12-01).
    - elm-ME+2.5.alpha54-1.mdk7.2.i686.rpm is compiled agaist Sendmail
    8.13 (not from Mandrake distribution).
    - elm-tls-ME+2.5.alpha54-1.mdk7.2.i686.rpm do not load/work on
    Mandrake 7.2, because openssl library misses ASN1_STRING_to_UTF8
    function.

    * Signatures

    {file}.sig PGP signature (old key pubkey.asc, EA5A2379 1996-04-23)
    {file}.elm-key-2018.sig GPG signature (key elm.key.2018.asc, 44FC796B 2018-12-01, expires: 2028-11-28)

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

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

    Also following directories are used:

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

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

    SUMMARY: This release fixes type=iconv option
    on .elm/mime.charsets and some other bugs.
    This release changes size display on
    mail listing. This release changes handling
    some bogus 8-bit mail with elmrc options
    "use-char-set-header-field-hack" and
    "use-content-type-charset-for-8bit-subject-hack".
    If getifaddrs() is available, resolv module
    clears name lookup cache when interfaces addresses
    change (with elmrc option "interface-change"
    on "resolv:" section). Also some other changes are
    included.

    Elm ME+ 2.5 PLalpha54 changelog

    Changes on Elm ME+ 2.5 PLalpha54 compared with Elm ME+ 2.5 PLalpha53 --------------------------------------------------------------------

    SUMMARY: This release fixes type=iconv option
    on .elm/mime.charsets and some other bugs.
    This release changes size display on
    mail listing. This release changes handling
    some bogus 8-bit mail with elmrc options
    "use-char-set-header-field-hack" and
    "use-content-type-charset-for-8bit-subject-hack".
    If getifaddrs() is available, resolv
    module clears name lookup cache when
    interfaces addresses change (with
    elmrc option "interface-change"
    on "resolv:" section). Also some other
    changes are included.

    - Changed sysconf(_SC_SAVED_IDS) call on user_init()
    at lib/read_rc.c

    - Show filename from Content-Disposition header field
    on "MIME structure Menu", if other data is not available.

    - Changed builtin++ pager prompt on end. Specially
    on case where attachments / mime parts are viewed.
    - Also changed metapager prompt on case where attachments /
    mime parts are viewed.
    - Changed metapager return value (when external pager is used).

    - Show size mail on (kilo/mega)bytes on mail listing if
    number of lines is not available, because mail
    on IMAP mailbox was skipped. Number of lines are shown
    inside of (), number of bytes are shows with [].
    - Also use prefixes "k" (kilo) and "M" (mega).
    - Added struct string *size_lines_s to struct header_rec
    - Added make_size_lines() to src/menu_common/message_screen.c
    - Added give_message_menu_size() to src/messages/messages.c
    and hdrs/me.h
    - Added mt_give_message_menu_size() to src/messages/def_messages.h
    - Added mt_give_message_menu_size * mt_give_message_msize_it
    to struct mailbox_type
    - Added folder_give_message_msize() to lib/mbox/mbox.c
    and hdrs/mboxlib.h
    - Added mbx_give_message_msize_folder() to hdrs/mbx_imp.h
    - Added mbx_give_message_msize_default() to lib/mbox/mbox_generic.c
    and lib/mbox/def_mbox.h

    - Certain sender sends mail with header fields
    MIME-Version: 1.0
    Content-Type: text/plain
    Char-Set: iso-8859-1
    where subject and message body includes
    8-bit (iso-8859-1) data. That Char-Set header field
    is non-standard. Added elmrc option
    "use-char-set-header-field-hack", which enables
    processing this (bogus) header field. This
    "Char-Set:" handled only on mail's header block
    (non on MIME header's of body part).
    - Added header_trim_whitespace_helper() to hdrs/mboxlib.h
    and lib/mbox/headers.c
    - Added default_body_charset to struct header_rec
    - Changed prototype of mime_decode(), pgp_decode(), pgp_SG_decoder(),
    pgp_EC_decoder(), null_EC_decoder(), null_SG_decoder(),
    partial_decode()
    - Changed prototype of encrypted_decoder(), signed_decoder(),
    CT_decoder()

    - Certain sender sends mail where subject 8-bit (iso-8859-1)
    with headers
    Subject: <8-bit iso-8859-1 text>
    MIME-Version: 1.0
    Content-Type: text/plain; charset=iso-8859-1
    Sending raw 8-bit (iso-8859-1) text on subject header
    field is non-standard. Added elmrc option
    "use-content-type-charset-for-8bit-subject-hack" which
    enables processing Subject: header field with using
    Content-Type header field.
    - Added unsigned int header_charset_set :1;
    to struct header_rec
    - Changed prototype of state_write_headers()

    - Added is_cancel_installed() to lib/cancel.c
    - Changed block_signals() to take account
    possible cancel_data and installed SIGINT
    handler for that.

    - Removed menu_header_status_update() from
    'v' (View parts of message) on mailbox_command()
    - Removed menu_header_status_update() from
    'V' (View parts of message) on mailbox_command()

    * If getifaddrs() is available:
    - Clear name lookup cache of libelmme-resolv.so module
    when interfaces addresses change if "interface-change"
    (on "resolv:" section) have value "clear-cache"
    (default).
    - If address is marked as interface_loopback,
    then address is not added to "mailname".
    - elmrc aoption "query-address-type" (on resolv:
    -section) value "default" also ignores
    addresses which are marked as interface_loopback
    when determining if query A (IPv4) or AAAA (IPv6)
    records need to be queried.
    - Added interface_up to struct interface_addr
    - Added interface_loopback to struct interface_addr
    - Added notify_if_change_f() to shared_libs/include/shared.h
    - Added notify_if_change_p to struct sl_connect_data
    - Added shared_notify_if_change to hdrs/connection_imp.h
    and lib/shared_connect.c

    - Added possible fix to cs_find_pattern_from_unknown()
    - Added possible fix to cs_add_streambyte_to_s_iconv()
    - Added possible fix to cs_soft_reset_s_iconv()
    - Added possible fix to cs_streamclip_from_iconv()
    - Added missing ...->cs_check_length_it() call to
    string_to_long()
    - Added ...->cs_check_length_it() calls to
    cat_strings_internal()

    - Fixed broken type=iconv option on .elm/mime.charsets
    (that was not implemented)
    - Added CS_charset_type_f() to shared_libs/include/shared.h
    - Changed cs_first_type to cs_charset_type on
    struct sl_base_data

    - Fixed compress_unicode() on case where zero length words
    was passed to it.

    New elmrc options:
    use-char-set-header-field-hack
    use-content-type-charset-for-8bit-subject-hack
    resolv:interface-change

    Warnings
    --------

    - 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
    message.

    - 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
    charset.

    - 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.4.3.3.26 (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
    mapping
    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
    -misc-fixed-medium-r-normal--12-200-75-75-c-100-iso8859-1
    and not
    -misc-fixed-medium-r-normal--12-200-75-75-c-100-iso8859-15

    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.)

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

    --
    / Kari Hurtta

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Kari Hurtta@21:1/5 to All on Sat May 8 23:24:45 2021
    [ Because connection to Usenet news (nntp) server news.kolumbus.fi
    is timed out since 2021-05-04, this announcement is delayed. I try
    now post this via Google Groups instead. This annoucement
    is posted to "ELM ME+ announce" <elmme-announce@posti.fmi.fi>
    at 2021-05-04. ]

    Experimental DEB generator script for Elm ME+ 2.5 PLalpha54 exists on <URL: http://www.elmme-mailer.org/deb/elm-ME+2.5.html > directory.

    Files are following

    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha54-1.gen_deb
    DEB generator script
    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha54-1.gen_deb.elm-key-2018.sig
    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha54-1.gen_deb.sig

    A command

    elm-ME+2.5.alpha54-1.gen_deb {packager}

    generates package elmme with version 1.1.52-1.{distribution}.

    A command

    elm-ME+2.5.alpha54-1.gen_deb --nonew {packager}

    generates package elm with version ME+2.5.alpha54-1.{distribution}.

    Both commands produce package with filename elm-ME+2.5.alpha54-1.{distribution}.{arch}.deb.

    Module libelmme-resolv.so is included for all distributions below.

    == Old package names, i386

    Package elm with version ME+2.5.alpha54-1.{distribution} and architecture i386.

    * Compiled on Ubuntu 6.06.2 LTS
    (Linux 2.6, glibc 2.3, Sendmail 8.13)

    - http://www.elmme-mailer.org/deb/old/elm-ME+2.5.alpha54-1.Ubuntu6.06.i386.deb
    Package elm binary DEB build on Ubuntu 6.06.2 LTS
    - http://www.elmme-mailer.org/deb/old/elm-ME+2.5.alpha54-1.Ubuntu6.06.i386.deb.elm-key-2018.sig
    - http://www.elmme-mailer.org/deb/old/elm-ME+2.5.alpha54-1.Ubuntu6.06.i386.deb.sig

    * Compiled on Ubuntu 10.04.4 LTS
    (Linux 2.6, glibc 2.11, Sendmail 8.14)

    - http://www.elmme-mailer.org/deb/old/elm-ME+2.5.alpha54-1.Ubuntu10.04.i386.deb
    Package elm binary DEB build on Ubuntu 10.04.4 LTS
    - http://www.elmme-mailer.org/deb/old/elm-ME+2.5.alpha54-1.Ubuntu10.04.i386.deb.elm-key-2018.sig
    - http://www.elmme-mailer.org/deb/old/elm-ME+2.5.alpha54-1.Ubuntu10.04.i386.deb.sig

    == New package names, i386

    Package elmme with version 1.1.54-1.{distribution} and architecture i386.

    * Compiled on Ubuntu 10.04.4 LTS
    (Linux 2.6, glibc 2.11, Sendmail 8.14)

    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha54-1.Ubuntu10.04.i386.deb
    Package elmme binary DEB build on Ubuntu 10.04.4 LTS
    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha54-1.Ubuntu10.04.i386.deb.elm-key-2018.sig
    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha54-1.Ubuntu10.04.i386.deb.sig

    * Compiled on Ubuntu 14.04.6 LTS
    (Linux 4.4, glibc 2.19, no MTA)

    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha54-1.Ubuntu14.04.i386.deb
    Package elmme binary DEB build on Ubuntu 14.04.6 LTS
    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha54-1.Ubuntu14.04.i386.deb.elm-key-2018.sig
    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha54-1.Ubuntu14.04.i386.deb.sig

    == New package names, amd64 (x86_64)

    Package elmme with version 1.1.54-1.{distribution} and architecture amd64 (also known as x86_64).

    * Compiled on Ubuntu 16.04.7 LTS
    (Linux 4.4, glibc 2.23, Sendmail 8.15)

    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha54-1.Ubuntu16.04.amd64.deb
    Package elmme binary DEB build on Ubuntu 16.04.7 LTS
    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha54-1.Ubuntu16.04.amd64.deb.elm-key-2018.sig
    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha54-1.Ubuntu16.04.amd64.deb.sig

    * Compiled on Ubuntu 18.04.5 LTS
    (Linux 5.4, glibc 2.27, no MTA)

    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha54-1.Ubuntu18.04.amd64.deb
    Package elmme binary DEB build on Ubuntu 18.04.5 LTS
    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha54-1.Ubuntu18.04.amd64.deb.elm-key-2018.sig
    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha54-1.Ubuntu18.04.amd64.deb.sig

    == Signatures

    {file}.sig PGP signature (old key pubkey.asc, EA5A2379 1996-04-23)
    {file}.elm-key-2018.sig GPG signature (key elm.key.2018.asc, 44FC796B 2018-12-01, expires: 2028-11-28)

    == 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
    - /usr/local/lib/elm.hashmarks

    Deb generator script 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)

    By default first value for mailname is read from /etc/mailname file.

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

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

    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 /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
    - /usr/local/lib/elm.hashmarks.NEW

    Also following directories are used:

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

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

    SUMMARY: This release fixes type=iconv option
    on .elm/mime.charsets and some other bugs.
    This release changes size display on
    mail listing. This release changes handling
    some bogus 8-bit mail with elmrc options
    "use-char-set-header-field-hack" and
    "use-content-type-charset-for-8bit-subject-hack".
    If getifaddrs() is available, resolv
    module clears name lookup cache when
    interfaces addresses change (with
    elmrc option "interface-change"
    on "resolv:" section). Also some other
    changes are included.

    Elm ME+ 2.5 PLalpha54 changelog

    Changes on Elm ME+ 2.5 PLalpha54 compared with Elm ME+ 2.5 PLalpha53 --------------------------------------------------------------------

    SUMMARY: This release fixes type=iconv option
    on .elm/mime.charsets and some other bugs.
    This release changes size display on
    mail listing. This release changes handling
    some bogus 8-bit mail with elmrc options
    "use-char-set-header-field-hack" and
    "use-content-type-charset-for-8bit-subject-hack".
    If getifaddrs() is available, resolv
    module clears name lookup cache when
    interfaces addresses change (with
    elmrc option "interface-change"
    on "resolv:" section). Also some other
    changes are included.

    - Changed sysconf(_SC_SAVED_IDS) call on user_init()
    at lib/read_rc.c

    - Show filename from Content-Disposition header field
    on "MIME structure Menu", if other data is not available.

    - Changed builtin++ pager prompt on end. Specially
    on case where attachments / mime parts are viewed.
    - Also changed metapager prompt on case where attachments /
    mime parts are viewed.
    - Changed metapager return value (when external pager is used).

    - Show size mail on (kilo/mega)bytes on mail listing if
    number of lines is not available, because mail
    on IMAP mailbox was skipped. Number of lines are shown
    inside of (), number of bytes are shows with [].
    - Also use prefixes "k" (kilo) and "M" (mega).
    - Added struct string *size_lines_s to struct header_rec
    - Added make_size_lines() to src/menu_common/message_screen.c
    - Added give_message_menu_size() to src/messages/messages.c
    and hdrs/me.h
    - Added mt_give_message_menu_size() to src/messages/def_messages.h
    - Added mt_give_message_menu_size * mt_give_message_msize_it
    to struct mailbox_type
    - Added folder_give_message_msize() to lib/mbox/mbox.c
    and hdrs/mboxlib.h
    - Added mbx_give_message_msize_folder() to hdrs/mbx_imp.h
    - Added mbx_give_message_msize_default() to lib/mbox/mbox_generic.c
    and lib/mbox/def_mbox.h

    - Certain sender sends mail with header fields
    MIME-Version: 1.0
    Content-Type: text/plain
    Char-Set: iso-8859-1
    where subject and message body includes
    8-bit (iso-8859-1) data. That Char-Set header field
    is non-standard. Added elmrc option
    "use-char-set-header-field-hack", which enables
    processing this (bogus) header field. This
    "Char-Set:" handled only on mail's header block
    (non on MIME header's of body part).
    - Added header_trim_whitespace_helper() to hdrs/mboxlib.h
    and lib/mbox/headers.c
    - Added default_body_charset to struct header_rec
    - Changed prototype of mime_decode(), pgp_decode(), pgp_SG_decoder(),
    pgp_EC_decoder(), null_EC_decoder(), null_SG_decoder(),
    partial_decode()
    - Changed prototype of encrypted_decoder(), signed_decoder(),
    CT_decoder()

    - Certain sender sends mail where subject 8-bit (iso-8859-1)
    with headers
    Subject: <8-bit iso-8859-1 text>
    MIME-Version: 1.0
    Content-Type: text/plain; charset=iso-8859-1
    Sending raw 8-bit (iso-8859-1) text on subject header
    field is non-standard. Added elmrc option
    "use-content-type-charset-for-8bit-subject-hack" which
    enables processing Subject: header field with using
    Content-Type header field.
    - Added unsigned int header_charset_set :1;
    to struct header_rec
    - Changed prototype of state_write_headers()

    - Added is_cancel_installed() to lib/cancel.c
    - Changed block_signals() to take account
    possible cancel_data and installed SIGINT
    handler for that.

    - Removed menu_header_status_update() from
    'v' (View parts of message) on mailbox_command()
    - Removed menu_header_status_update() from
    'V' (View parts of message) on mailbox_command()

    * If getifaddrs() is available:
    - Clear name lookup cache of libelmme-resolv.so module
    when interfaces addresses change if "interface-change"
    (on "resolv:" section) have value "clear-cache"
    (default).
    - If address is marked as interface_loopback,
    then address is not added to "mailname".
    - elmrc aoption "query-address-type" (on resolv:
    -section) value "default" also ignores
    addresses which are marked as interface_loopback
    when determining if query A (IPv4) or AAAA (IPv6)
    records need to be queried.
    - Added interface_up to struct interface_addr
    - Added interface_loopback to struct interface_addr
    - Added notify_if_change_f() to shared_libs/include/shared.h
    - Added notify_if_change_p to struct sl_connect_data
    - Added shared_notify_if_change to hdrs/connection_imp.h
    and lib/shared_connect.c

    - Added possible fix to cs_find_pattern_from_unknown()
    - Added possible fix to cs_add_streambyte_to_s_iconv()
    - Added possible fix to cs_soft_reset_s_iconv()
    - Added possible fix to cs_streamclip_from_iconv()
    - Added missing ...->cs_check_length_it() call to
    string_to_long()
    - Added ...->cs_check_length_it() calls to
    cat_strings_internal()

    - Fixed broken type=iconv option on .elm/mime.charsets
    (that was not implemented)
    - Added CS_charset_type_f() to shared_libs/include/shared.h
    - Changed cs_first_type to cs_charset_type on
    struct sl_base_data

    - Fixed compress_unicode() on case where zero length words
    was passed to it.

    New elmrc options:
    use-char-set-header-field-hack
    use-content-type-charset-for-8bit-subject-hack
    resolv:interface-change

    Collector of these patches
    --------------------------

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

    --
    / Kari Hurtta

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Kari Hurtta@21:1/5 to All on Thu Jul 1 07:50:17 2021
    [ Because Usenet news (nntp) server news.kolumbus.fi is closed
    since 2021-05-04 I post this announcement only (not sources)
    via Google Groups instead. ]

    Elm ME+ 2.5 PLalpha55

    - Is available with
    <URL: http://www.elmme-mailer.org/elm-ME+2.5/src/elm-ME+2.5.alpha55.f22395394f7dc04adf3ed6fcaa7555fc.tar.gz >
    and <URL: http://www.elmme-mailer.org/elm-ME+2.5/src/elm-ME+2.5.PLalpha55.patch.gz >
    via http.

    - Is available with
    <URL: https://hurtta.kapsi.fi/elm-ME+2.5/elm-ME+2.5.alpha55.f22395394f7dc04adf3ed6fcaa7555fc.tar.gz >
    and <URL: https://hurtta.kapsi.fi/elm-ME+2.5/elm-ME+2.5.PLalpha55.patch.gz >
    via https.

    - Is available on ftp.funet.fi
    via anonymous ftp
    directory pub/mirrors/elmme-mailer.org/src/elm-ME+2.5/
    files elm-ME+2.5.alpha55.f22395394f7dc04adf3ed6fcaa7555fc.tar.gz
    and elm-ME+2.5.PLalpha55.patch.gz

    or is available with
    <URL: ftp://ftp.funet.fi/pub/mirrors/elmme-mailer.org/src/elm-ME+2.5/elm-ME+2.5.alpha55.f22395394f7dc04adf3ed6fcaa7555fc.tar.gz >
    and <URL: ftp://ftp.funet.fi/pub/mirrors/elmme-mailer.org/src/elm-ME+2.5/elm-ME+2.5.PLalpha55.patch.gz >
    with browser

    or is available with
    <URL: https://nic.funet.fi/pub/mirrors/elmme-mailer.org/src/elm-ME+2.5/elm-ME+2.5.alpha55.f22395394f7dc04adf3ed6fcaa7555fc.tar.gz >
    and <URL: https://nic.funet.fi/pub/mirrors/elmme-mailer.org/src/elm-ME+2.5//elm-ME+2.5.PLalpha55.patch.gz >
    via https.

    Is NOT available on alt.sources, comp.mail.elm because Usenet news (nntp) server
    news.kolumbus.fi (*) is closed since 2021-05-04.

    (*) That is apparently also uutiset.elisa.fi and news.saunalahti.fi.
    See: https://elisa.fi/asiakastiedotteet/tiedote/?id=63663313593635

    SUMMARY: This release fixes some memory errors reported
    by valgrind. Delivery status notifications (DSNs)
    are stored to =dsn folder instead of =received
    folder when mailbox is leaved with new elmrc
    option "dsnmail" on this release. This release
    changes how UIDL listing of POP mailboxes are
    handled. This release adds new "dsn" criteria
    to l)imit command. This release changes default
    target for DSN mail on s)save command to folder
    given on elmrc option "dsnmail".

    Changes on Elm ME+ 2.5 PLalpha55 compared with Elm ME+ 2.5 PLalpha54 --------------------------------------------------------------------

    SUMMARY: This release fixes some memory errors reported
    by valgrind. Delivery status notifications (DSNs)
    are stored to =dsn folder instead of =received
    folder when mailbox is leaved with new elmrc
    option "dsnmail" on this release. This release
    changes how UIDL listing of POP mailboxes are
    handled. This release adds new "dsn" criteria
    to l)imit command. This release changes default
    target for DSN mail on s)save command to folder
    given on elmrc option "dsnmail".

    - Added elmrc option "dsnmail", which default value is "=dsn".
    If this is set (not none), read delivery status notifications
    are stored that folder and not to folder specified on
    "receivedmail". Also default folder for delivery status
    notifications is folder given on elmrc option "dsnmail", when
    using s)ave command.
    * Setting
    dsnmail = none
    disabled special processing of delivery status notifications
    when mailbox is left.
    * s)ave command does not use elmrc option "dsnmail", if
    that folder is already open. If "folder-locking" is
    enabled, saving to open folder does not work.
    - Reserved [...] for folder name tags on folder expansion.
    - Tag [dsn] indicates folder given on elmrc option "dsnmail".
    - Added mime_type_is_dsn() to melib/mime.c and hdrs/melib.h
    * Only Content-Type
    multipart/report; report-type=delivery-status
    is considered to be delivery status notification.
    - Added letter 'd' as second status letter on mailbox menu
    for delivery status notification.

    - Changed how messages are saved on sync_mbox()
    - Added question
    Move read notifications to "dsn" folder? (y/n)
    or
    Move read notifications to "dsn" or r)eceived folder? (y/n/r)
    - Question
    Keep unread message in incoming mailbox? (y/n)
    apply only to same type messages (normal or dsn)
    than which unread messages are moved to received
    or dsn folder.
    * If
    Move read messages to "received" folder? (y/n)
    or
    Move read notifications to "dsn" folder? (y/n)
    is answered 'n' (no), then also unread messages
    are also kept, even when question
    Keep unread message in incoming mailbox? (y/n)
    is answered 'n' (no).

    - Changed question
    Keep unread message in incoming mailbox? (y/n)
    to
    Keep unread notifications in incoming mailbox? (y/n) y
    when all unread messages are delivery status
    notifications.

    - Changed initialization of "receivedmail" and "sentmail"
    elmrc options.

    - Changed how default target is handled on save()

    - Added "dsn" to l)imit criteria.

    - Added lib/sortlist.c
    - Added alloc_sort_list(), free_sort_list(),
    prealloc_sort_list(), sort_list_len(),
    get_sort_list_item(), get_sort_list_debug_name(),
    and search_sort_list_item()
    to hdrs/elmlib.h and lib/sortlist.c
    * search_sort_list_item() is generalization of
    give_resolv_cache() from shared_libs/resolv/resolv.c

    - Changed cache_items to use struct sortlist
    and sortlist routines on
    shared_libs/resolv/resolv.c

    - Changed POP uidl cache to use struct sortlist
    and sortlist routines on shared_libs/resolv/resolv.c
    * Note: This implementation write uidls to file
    on order. If that is read on older
    versions of ELM ME+, resulting
    binary tree degenerates to linear list.

    - This release removes old unused UIDLs,
    which are no longer on mailbox, from POP uidl cache.
    - Exported GrabRead_the_file() from lib/mbox/localmbx.c
    and added to hdrs/mboxlib.h

    - Clear new part of allocated area
    on resize_resolv_message()

    - Possibly fixed valgrind reported error:
    Syscall param sendmsg(msg.msg_iov[0]) points to uninitialised byte(s)
    at 0x6505590: __sendmsg_nocancel (syscall-template.S:84)
    by 0x7A2A746: write_message (query.c:437)
    by 0x7A31F95: resolv_write_message (query.c:2547)
    by 0x5CEA1D6: real_wait_select (schedule.c:2017)
    by 0x5CED01D: real_wait (schedule.c:2500)
    by 0x5CEEBF5: wait_for_something (schedule.c:2829)
    by 0x5CF0C71: wait_for_action_or_timeout_settime_c (schedule.c:3241)
    by 0x7A38CC5: resolv_wait_answer (query.c:4143)
    by 0x7A3AE7F: end_query_helper (query.c:4810)
    by 0x7A3B969: lookup_resolv_cache_nonblocked (query.c:5020)
    by 0x7A21396: call_lookup_resolv_cache (resolv.c:3853)
    by 0x7A1F5CE: fill_query_resolv_cache (resolv.c:3081)
    Address 0x8aacfc4 is 84 bytes inside a block of size 152 alloc'd
    at 0x4C2DB8F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
    by 0x5CD25D1: safe_zero_alloc (safemalloc.c:85)
    by 0x7A2C211: new_resolv_message_state (query.c:1051)
    by 0x7A33014: give_resolv_process (query.c:2788)
    by 0x7A33C0D: have_non_blocking_qm (query.c:2958)
    by 0x7A23F92: lookup_service_addresses2 (resolv.c:4654)
    by 0x5CDC140: process_one_address_lookup (shared_connect.c:511)
    by 0x5CDC250: shared_address_lookup (shared_connect.c:568)
    by 0x5CFE110: service_entry_hook (service_list.c:2681)
    by 0x5D000B3: gse_scan_hostname (service_list.c:3277)
    by 0x5D02B37: give_service_entry5 (service_list.c:4129)
    by 0x535B87B: htrem_give_service_entry (hashmark_remote.c:3521)
    Uninitialised value was created by a stack allocation
    at 0x7A3114B: resolv_write_message (query.c:2359)
    - Possibly fixed valgrind reported error:
    Syscall param sendmsg(msg.msg_iov[0]) points to uninitialised byte(s)
    at 0x6505590: __sendmsg_nocancel (syscall-template.S:84)
    by 0x7A2A746: write_message (query.c:439)
    by 0x7A32044: resolv_write_message (query.c:2564)
    by 0x5CEA1D6: real_wait_select (schedule.c:2017)
    by 0x5CED01D: real_wait (schedule.c:2500)
    by 0x5CEEBF5: wait_for_something (schedule.c:2829)
    by 0x5CF1D5A: wait_for_action_or_deadline_settime_c (schedule.c:3479)
    by 0x7A38E37: resolv_wait_answer (query.c:4171)
    by 0x7A3AF2E: end_query_helper (query.c:4827)
    by 0x7A3BA18: lookup_resolv_cache_nonblocked (query.c:5037)
    by 0x7A21396: call_lookup_resolv_cache (resolv.c:3853)
    by 0x7A1F5CE: fill_query_resolv_cache (resolv.c:3081)
    Address 0x8a896b4 is 84 bytes inside a block of size 152 alloc'd
    at 0x4C2DB8F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
    by 0x5CD25D1: safe_zero_alloc (safemalloc.c:85)
    by 0x7A2C211: new_resolv_message_state (query.c:1053)
    by 0x7A330C3: give_resolv_process (query.c:2805)
    by 0x7A33CBC: have_non_blocking_qm (query.c:2975)
    by 0x7A23F92: lookup_service_addresses2 (resolv.c:4654)
    by 0x5CDC140: process_one_address_lookup (shared_connect.c:511)
    by 0x5CDC250: shared_address_lookup (shared_connect.c:568)
    by 0x5CFE110: service_entry_hook (service_list.c:2681)
    by 0x5D000B3: gse_scan_hostname (service_list.c:3277)
    by 0x5D02B37: give_service_entry5 (service_list.c:4129)
    by 0x535B87B: htrem_give_service_entry (hashmark_remote.c:3521)
    Uninitialised value was created by a heap allocation
    at 0x4C2DB8F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
    by 0x5CD2445: safe_malloc (safemalloc.c:60)
    by 0x7A2984B: new_resolv_query_hdr (query.c:63)
    by 0x7A37181: query_one_name (query.c:3769)
    by 0x7A3B9D9: lookup_resolv_cache_nonblocked (query.c:5031)
    by 0x7A21396: call_lookup_resolv_cache (resolv.c:3853)
    by 0x7A1F5CE: fill_query_resolv_cache (resolv.c:3081)
    by 0x7A1FE26: query_resolv_cache (resolv.c:3311)
    by 0x7A260AF: lookup_service_addresses2 (resolv.c:5037)
    by 0x5CDC140: process_one_address_lookup (shared_connect.c:511)
    by 0x5CDC250: shared_address_lookup (shared_connect.c:568)
    by 0x5CFE110: service_entry_hook (service_list.c:2681)

    - Used bzero() for union xxx_rand initialization of
    real_wait_select() and real_wait_poll(). This tries
    avoid valgrind's uninitialized memory warnings
    (although uninitialized bytes does not really harm
    because that data is feed to random generator).

    - Added int nested_FreeStreamStack0; to struct streamsched
    - Fixed valgrind reported error:
    Invalid read of size 8
    at 0x5D1C5CC: ss_FreeSocket (streamsched.c:235)
    by 0x5D1DD96: free_stack (streamsched.c:757)
    by 0x5D21D4D: FreeStreamStack0 (streamsched.c:1931)
    by 0x5D21EA6: FreeStreamStack2 (streamsched.c:1966)
    by 0x5316A2C: mbx_close_pop (pop.c:1851)
    by 0x52BB7AC: close_folder (mbox.c:1038)
    by 0x48E471: close_cleanup_mbox (leavembox.c:745)
    by 0x4D475A: quit (quit.c:150)
    by 0x498AB5: main_messages_loop (mailbox.c:819)
    by 0x498EB2: main_messages_menu (mailbox.c:964)
    by 0x46A5BC: main (elm.c:1677)
    Address 0x8ab2270 is 80 bytes inside a block of size 104 free'd
    at 0x4C2EDEB: free (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
    by 0x5CD34C5: safe_free (safemalloc.c:354)
    by 0x5D21E51: FreeStreamStack0 (streamsched.c:1950)
    by 0x5D1DAF2: free_ss_data (streamsched.c:704)
    by 0x5CE1509: remove_action0 (schedule.c:175)
    by 0x5CE4942: clear_action_idx (schedule.c:812)
    by 0x5CE4AEE: clear_action0 (schedule.c:837)
    by 0x5D1C5C7: ss_FreeSocket (streamsched.c:231)
    by 0x5D1DD96: free_stack (streamsched.c:757)
    by 0x5D21D4D: FreeStreamStack0 (streamsched.c:1931)
    by 0x5D21EA6: FreeStreamStack2 (streamsched.c:1966)
    by 0x5316A2C: mbx_close_pop (pop.c:1851)
    by 0x52BB7AC: close_folder (mbox.c:1038)
    by 0x48E471: close_cleanup_mbox (leavembox.c:745)
    by 0x4D475A: quit (quit.c:150)
    by 0x498AB5: main_messages_loop (mailbox.c:819)
    by 0x498EB2: main_messages_menu (mailbox.c:964)
    by 0x46A5BC: main (elm.c:1677)
    Block was alloc'd at
    at 0x4C2DB8F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
    by 0x5CD25D1: safe_zero_alloc (safemalloc.c:85)
    by 0x5D21660: returnSimpleStream (streamsched.c:1771)
    by 0x5CCCC17: connect_remote_account (remote_mbx.c:4189)
    by 0x535CC35: htrem_have_connection (hashmark_remote.c:3897)
    by 0x535E5F9: hashtype_selectbr_item_remote (hashmark_remote.c:4415)
    by 0x534E16F: hashmark_selectbr_item (hashmark.c:2789)
    by 0x53619FE: browser_select_hashmark (hashmark_browser.c:402)
    by 0x52F6C1A: select_dir_item_helper (savefolder.c:5029)
    by 0x52F6F2F: select_dir_item (savefolder.c:5088)
    by 0x44958D: browser_expand (browser.c:707)
    by 0x44C8FA: gb_browser (browser.c:1966)
    by 0x46D509: enter_helper (enter_helper.c:426)
    by 0x44D600: run_browser (browser.c:2326)
    by 0x450010: gen_browser (browser.c:3334)
    by 0x488220: select_folder (init.c:89)
    by 0x48A9F9: initialize_mailbox (init.c:980)
    by 0x498E4E: main_messages_menu (mailbox.c:951)
    by 0x46A5BC: main (elm.c:1677)

    - Possibly fixed valgrind reported error:
    Syscall param sendmsg(msg.msg_iov[0]) points to uninitialised byte(s)
    at 0x6505590: __sendmsg_nocancel (syscall-template.S:84)
    by 0x7A2A746: write_message (query.c:444)
    by 0x7A32044: resolv_write_message (query.c:2573)
    by 0x5CEA1EF: real_wait_select (schedule.c:2021)
    by 0x5CED04C: real_wait (schedule.c:2509)
    by 0x5CEEC24: wait_for_something (schedule.c:2838)
    by 0x5CF0DEC: wait_for_action_or_timeout (schedule.c:3271)
    by 0x7A34BC4: free_non_blocking_qm (query.c:3235)
    by 0x7A295F6: free_shared_cache (resolv.c:5948)
    by 0x5CD9D80: free_shared_cache1 (shared.c:2010)
    by 0x5CDA184: free_shared_caches (shared.c:2067)
    by 0x50AD0E: leave (utils.c:440)
    by 0x46A78B: main (elm.c:1719)
    Address 0x8a72914 is 84 bytes inside a block of size 152 alloc'd
    at 0x4C2DB8F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
    by 0x5CD25D1: safe_zero_alloc (safemalloc.c:85)
    by 0x7A2C211: new_resolv_message_state (query.c:1058)
    by 0x7A330C3: give_resolv_process (query.c:2814)
    by 0x7A33CBC: have_non_blocking_qm (query.c:2984)
    by 0x7A23F92: lookup_service_addresses2 (resolv.c:4654)
    by 0x5CDC140: process_one_address_lookup (shared_connect.c:511)
    by 0x5CDC250: shared_address_lookup (shared_connect.c:568)
    by 0x5CFE13F: service_entry_hook (service_list.c:2681)
    by 0x5D000E2: gse_scan_hostname (service_list.c:3277)
    by 0x5D02B66: give_service_entry5 (service_list.c:4129)
    by 0x535B87B: htrem_give_service_entry (hashmark_remote.c:3521)
    by 0x535C89F: htrem_have_connection (hashmark_remote.c:3829)
    by 0x535E5F9: hashtype_selectbr_item_remote (hashmark_remote.c:4415)
    by 0x534E16F: hashmark_selectbr_item (hashmark.c:2789)
    by 0x53619FE: browser_select_hashmark (hashmark_browser.c:402)
    by 0x52F6C1A: select_dir_item_helper (savefolder.c:5029)
    by 0x52F6F2F: select_dir_item (savefolder.c:5088)
    by 0x44958D: browser_expand (browser.c:707)
    by 0x44C8FA: gb_browser (browser.c:1966)
    Uninitialised value was created by a stack allocation
    at 0x7A17790: ??? (in /tmp/TEST/lib64/libelmme-resolv.so.1.1.54+)

    - Fixed valgrind reported memory leak:
    6 bytes in 2 blocks are definitely lost in loss record 125 of 3,254
    at 0x4C2DB8F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
    by 0x5CD2445: safe_malloc (safemalloc.c:60)
    by 0x531C832: pop_got_line (pop.c:3636)
    by 0x531CF8E: mbx_copy_header_pop (pop.c:3771)
    by 0x52C5E72: copy_header_folder (mbox.c:3495)
    by 0x5325CBB: read_folder_headers (headers.c:404)
    by 0x52BF1EA: copy_envelope_folder (mbox.c:1842)
    by 0x4C286F: read_headers (newmbox.c:1842)
    by 0x4BF44A: newmbox_1 (newmbox.c:722)
    by 0x48AF47: initialize_mailbox (init.c:1095)
    by 0x498E4E: main_messages_menu (mailbox.c:951)
    by 0x46A5BC: main (elm.c:1677)

    - Fixed valgrind reported memory leak:
    64 (24 direct, 40 indirect) bytes in 1 blocks are definitely lost in loss record 2,519 of 3,420
    at 0x4C2DB8F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
    by 0x5CD25D1: safe_zero_alloc (safemalloc.c:85)
    by 0x5D22F8D: malloc_string (string.c:85)
    by 0x5D26664: dup_string (string.c:1095)
    by 0x425B64: build_address_l (addr_util.c:1881)
    by 0x499F53: get_to (mailmsg1.c:400)
    by 0x49A363: send_msg_middle2 (mailmsg1.c:530)
    by 0x49AEE2: send_msg_middle (mailmsg1.c:793)
    by 0x49B091: send_msg_l (mailmsg1.c:838)
    by 0x4671CE: mailbox_command (elm.c:503)
    by 0x497612: main_messages_loop (mailbox.c:315)
    by 0x498EB2: main_messages_menu (mailbox.c:964)
    by 0x46A5BC: main (elm.c:1677)

    - Adding closing socket loop to free_non_blocking_qm()

    - Removed extra inc_resolv_query_item_re[f]count(ret)
    from query_one_name()
    ( Renamed inc_resolv_query_item_recount() to inc_resolv_query_item_refcount(). )
    - Fixed valgrind reported memory leak:
    2,502 (144 direct, 2,358 indirect) bytes in 1 blocks are definitely lost in loss record 291 of 302
    at 0x4C2DB8F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
    by 0x5CD25D1: safe_zero_alloc (safemalloc.c:85)
    by 0x7A2BD79: new_resolv_query_item (query.c:918)
    by 0x7A37C6E: query_one_name (query.c:3929)
    by 0x7A3CE23: lookup_resolv_cache_nonblocked (query.c:5327)
    by 0x7A2138A: call_lookup_resolv_cache (resolv.c:3852)
    by 0x7A1F5C2: fill_query_resolv_cache (resolv.c:3080)
    by 0x7A1FE1A: query_resolv_cache (resolv.c:3310)
    by 0x7A2870B: check_domain_name (resolv.c:5614)
    by 0x55B9A5A: process_one_check_domname (shared_mailer.c:629)
    by 0x55B9D73: shared_check_dname (shared_mailer.c:699)
    by 0x55C589B: check_msg_domain0 (message-id.c:2981)
    by 0x55C628F: check_msg_domain (message-id.c:3109)
    by 0x55CB71D: update_message_id (message-id.c:4236)
    by 0x4A7E62: mail (mailmsg2.c:3625)
    by 0x49ACE4: send_msg_middle2 (mailmsg1.c:737)
    by 0x49AEE5: send_msg_middle (mailmsg1.c:793)
    by 0x49B1C6: send_msg_argv (mailmsg1.c:883)
    by 0x46A2FF: main (elm.c:1623)

    - Removed extra inc_resolv_process_refcount(prx[prx_count])
    from select_resolv_process()
    - Fixed valgrind reported memory leak:
    2,232 (32 direct, 2,200 indirect) bytes in 1 blocks are definitely lost in loss record 239 of 249
    at 0x4C2DB8F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
    by 0x5CD25D1: safe_zero_alloc (safemalloc.c:85)
    by 0x7A2C728: new_resolv_process (query.c:1214)
    by 0x7A338E3: give_resolv_process (query.c:2925)
    by 0x7A373E8: select_resolv_process (query.c:3780)
    by 0x7A384CB: query_one_name (query.c:4072)
    by 0x7A3C5D3: lookup_resolv_cache_nonblocked (query.c:5199)
    by 0x7A2138A: call_lookup_resolv_cache (resolv.c:3852)
    by 0x7A1F5C2: fill_query_resolv_cache (resolv.c:3080)
    by 0x7A1FE1A: query_resolv_cache (resolv.c:3310)
    by 0x7A22184: verify_mail_domain2 (resolv.c:4117)
    by 0x55B8E28: process_one_verify_domain (shared_mailer.c:415)
    by 0x55B8F81: shared_verify_domain (shared_mailer.c:458)
    by 0x55D021E: verify_mail_domain_util (senderhelper.c:718)
    by 0x422337: build_address_verify_domain (addr_util.c:796)
    by 0x423C2D: build_address_l (addr_util.c:1342)
    by 0x41FEE5: argv_to_expanded (addr_util.c:150)
    by 0x49B17F: send_msg_argv (mailmsg1.c:881)
    by 0x46A2FF: main (elm.c:1623)

    - Added free_mail_quotaroot(&quotaroot); call to ref_mqr_imap()
    - Fixed valgrind reported memory leak:
    191 (56 direct, 135 indirect) bytes in 1 blocks are definitely lost in loss record 1,418 of 1,573
    at 0x4C2DB8F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
    by 0x5CD15D1: safe_zero_alloc (safemalloc.c:85)
    by 0x5366227: malloc_mail_quotaroot (quota.c:464)
    by 0x536AC97: ref_mqr_imap (imap_quota.c:1117)
    by 0x536BCEC: parse_imap_quota (imap_quota.c:1407)
    by 0x533EA38: parse_response (con_imap.c:2030)
    by 0x5340B2F: imap_read_stream (con_imap.c:2527)
    by 0x5D1BCF3: call_user_read_callback (streamsched.c:427)
    by 0x5D1C3DE: call_read_callback (streamsched.c:531)
    by 0x5D1E8E6: after_action (streamsched.c:1183)
    by 0x5D1C5C6: read_engine (streamsched.c:596)
    by 0x5CE8D40: real_wait_select (schedule.c:1991)
    by 0x5CEC04C: real_wait (schedule.c:2509)
    by 0x5CEDC24: wait_for_something (schedule.c:2838)
    by 0x5CF0444: wait_for_any_action_settime_c (schedule.c:3359)
    by 0x5D1F23C: WaitStreamFor_c (streamsched.c:1343)
    by 0x5341F59: imap_wait_c (con_imap.c:2883)
    by 0x5342BE1: imap_command_ok_c (con_imap.c:3101)
    by 0x536D044: mbx_give_imap_quotar_list (imap_quota.c:1726)
    by 0x52C96B8: give_folder_quotaroot_l (mbox.c:4346)

    New elmrc option:
    dsnmail

    New file:
    lib/sortlist.c

    Warnings
    --------

    - 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
    message.

    - 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
    charset.

    - 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.4.3.3.26 (PTF
    U473920) is solved to problem."
    From: Noam G. Nudelman

    - File /usr/share/locale/fi/charset gives charset name utf-8 on
    Linux Mandrake 7.2. This causes that Configure generates
    mapping
    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
    -misc-fixed-medium-r-normal--12-200-75-75-c-100-iso8859-1
    and not
    -misc-fixed-medium-r-normal--12-200-75-75-c-100-iso8859-15

    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.)

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

    diffstat:

    Configure | 4
    MANIFEST | 1
    README.ME+ | 398 +++++++!
    doc/elmrc-info | 377 +--!!!

    [continued in next message]

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Kari Hurtta@21:1/5 to All on Fri Jul 2 06:14:48 2021
    Experimental RPM spec file for ELM ME+ 2.5 PLalpha55
    exists on <URL: http://www.elmme-mailer.org/rpm/elm-ME+2.5.html >
    directory.

    Files are following

    - http://www.elmme-mailer.org/rpm/elm-ME+2.5.alpha55-1.spec
    RPM spec file
    - http://www.elmme-mailer.org/rpm/elm-ME+2.5.alpha55-1.spec.elm-key-2018.sig
    - http://www.elmme-mailer.org/rpm/elm-ME+2.5.alpha55-1.spec.sig

    ** Notes

    - elm-ME+2.5.alpha55-1.mdk7.1.src.rpm is signed internally with GPG
    key elm.key.2018.asc (44FC796B 2018-12-01).

    * 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.alpha55-1.mdk7.2.i686.rpm
    Package elm binary RPM build on Linux Mandrake release 7.2
    - http://www.elmme-mailer.org/rpm/elm-ME+2.5.alpha55-1.mdk7.2.i686.rpm.sig
    - http://www.elmme-mailer.org/rpm/elm-mod-ME+2.5.alpha55-1.mdk7.2.i686.rpm
    Package elm-mod binary RPM build on Linux Mandrake release 7.2
    - http://www.elmme-mailer.org/rpm/elm-tls-ME+2.5.alpha55-1.mdk7.2.i686.rpm
    Package elm-tls binary RPM build on Linux Mandrake release 7.2
    - http://www.elmme-mailer.org/rpm/elm-tls-ME+2.5.alpha55-1.mdk7.2.i686.rpm.sig

    ** Notes

    - elm-ME+2.5.alpha55-1.mdk7.2.i686.rpm and
    elm-*-ME+2.5.alpha55-1.mdk7.2.i686.rpm are signed internally with
    GPG key elm.key.2018.asc (44FC796B 2018-12-01).
    - elm-ME+2.5.alpha55-1.mdk7.2.i686.rpm is compiled agaist Sendmail
    8.13 (not from Mandrake distribution).
    - elm-tls-ME+2.5.alpha55-1.mdk7.2.i686.rpm do not load/work on
    Mandrake 7.2, because openssl library misses ASN1_STRING_to_UTF8
    function.

    * Signatures

    {file}.sig PGP signature (old key pubkey.asc, EA5A2379 1996-04-23)
    {file}.elm-key-2018.sig GPG signature (key elm.key.2018.asc, 44FC796B 2018-12-01, expires: 2028-11-28)

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

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

    Also following directories are used:

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

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

    SUMMARY: This release fixes some memory errors reported
    by valgrind. Delivery status notifications (DSNs)
    are stored to =dsn folder instead of =received
    folder when mailbox is leaved with new elmrc
    option "dsnmail" on this release. This release
    changes how UIDL listing of POP mailboxes are
    handled. This release adds new "dsn" criteria
    to l)imit command. This release changes default
    target for DSN mail on s)save command to folder
    given on elmrc option "dsnmail".

    Elm ME+ 2.5 PLalpha55 changelog

    Changes on Elm ME+ 2.5 PLalpha55 compared with Elm ME+ 2.5 PLalpha54 --------------------------------------------------------------------

    SUMMARY: This release fixes some memory errors reported
    by valgrind. Delivery status notifications (DSNs)
    are stored to =dsn folder instead of =received
    folder when mailbox is leaved with new elmrc
    option "dsnmail" on this release. This release
    changes how UIDL listing of POP mailboxes are
    handled. This release adds new "dsn" criteria
    to l)imit command. This release changes default
    target for DSN mail on s)save command to folder
    given on elmrc option "dsnmail".

    - Added elmrc option "dsnmail", which default value is "=dsn".
    If this is set (not none), read delivery status notifications
    are stored that folder and not to folder specified on
    "receivedmail". Also default folder for delivery status
    notifications is folder given on elmrc option "dsnmail", when
    using s)ave command.
    * Setting
    dsnmail = none
    disabled special processing of delivery status notifications
    when mailbox is left.
    * s)ave command does not use elmrc option "dsnmail", if
    that folder is already open. If "folder-locking" is
    enabled, saving to open folder does not work.
    - Reserved [...] for folder name tags on folder expansion.
    - Tag [dsn] indicates folder given on elmrc option "dsnmail".
    - Added mime_type_is_dsn() to melib/mime.c and hdrs/melib.h
    * Only Content-Type
    multipart/report; report-type=delivery-status
    is considered to be delivery status notification.
    - Added letter 'd' as second status letter on mailbox menu
    for delivery status notification.

    - Changed how messages are saved on sync_mbox()
    - Added question
    Move read notifications to "dsn" folder? (y/n)
    or
    Move read notifications to "dsn" or r)eceived folder? (y/n/r)
    - Question
    Keep unread message in incoming mailbox? (y/n)
    apply only to same type messages (normal or dsn)
    than which unread messages are moved to received
    or dsn folder.
    * If
    Move read messages to "received" folder? (y/n)
    or
    Move read notifications to "dsn" folder? (y/n)
    is answered 'n' (no), then also unread messages
    are also kept, even when question
    Keep unread message in incoming mailbox? (y/n)
    is answered 'n' (no).

    - Changed question
    Keep unread message in incoming mailbox? (y/n)
    to
    Keep unread notifications in incoming mailbox? (y/n) y
    when all unread messages are delivery status
    notifications.

    - Changed initialization of "receivedmail" and "sentmail"
    elmrc options.

    - Changed how default target is handled on save()

    - Added "dsn" to l)imit criteria.

    - Added lib/sortlist.c
    - Added alloc_sort_list(), free_sort_list(),
    prealloc_sort_list(), sort_list_len(),
    get_sort_list_item(), get_sort_list_debug_name(),
    and search_sort_list_item()
    to hdrs/elmlib.h and lib/sortlist.c
    * search_sort_list_item() is generalization of
    give_resolv_cache() from shared_libs/resolv/resolv.c

    - Changed cache_items to use struct sortlist
    and sortlist routines on
    shared_libs/resolv/resolv.c

    - Changed POP uidl cache to use struct sortlist
    and sortlist routines on shared_libs/resolv/resolv.c
    * Note: This implementation write uidls to file
    on order. If that is read on older
    versions of ELM ME+, resulting
    binary tree degenerates to linear list.

    - This release removes old unused UIDLs,
    which are no longer on mailbox, from POP uidl cache.
    - Exported GrabRead_the_file() from lib/mbox/localmbx.c
    and added to hdrs/mboxlib.h

    - Clear new part of allocated area
    on resize_resolv_message()

    - Possibly fixed valgrind reported error:
    Syscall param sendmsg(msg.msg_iov[0]) points to uninitialised byte(s)
    at 0x6505590: __sendmsg_nocancel (syscall-template.S:84)
    by 0x7A2A746: write_message (query.c:437)
    by 0x7A31F95: resolv_write_message (query.c:2547)
    by 0x5CEA1D6: real_wait_select (schedule.c:2017)
    by 0x5CED01D: real_wait (schedule.c:2500)
    by 0x5CEEBF5: wait_for_something (schedule.c:2829)
    by 0x5CF0C71: wait_for_action_or_timeout_settime_c (schedule.c:3241)
    by 0x7A38CC5: resolv_wait_answer (query.c:4143)
    by 0x7A3AE7F: end_query_helper (query.c:4810)
    by 0x7A3B969: lookup_resolv_cache_nonblocked (query.c:5020)
    by 0x7A21396: call_lookup_resolv_cache (resolv.c:3853)
    by 0x7A1F5CE: fill_query_resolv_cache (resolv.c:3081)
    Address 0x8aacfc4 is 84 bytes inside a block of size 152 alloc'd
    at 0x4C2DB8F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
    by 0x5CD25D1: safe_zero_alloc (safemalloc.c:85)
    by 0x7A2C211: new_resolv_message_state (query.c:1051)
    by 0x7A33014: give_resolv_process (query.c:2788)
    by 0x7A33C0D: have_non_blocking_qm (query.c:2958)
    by 0x7A23F92: lookup_service_addresses2 (resolv.c:4654)
    by 0x5CDC140: process_one_address_lookup (shared_connect.c:511)
    by 0x5CDC250: shared_address_lookup (shared_connect.c:568)
    by 0x5CFE110: service_entry_hook (service_list.c:2681)
    by 0x5D000B3: gse_scan_hostname (service_list.c:3277)
    by 0x5D02B37: give_service_entry5 (service_list.c:4129)
    by 0x535B87B: htrem_give_service_entry (hashmark_remote.c:3521)
    Uninitialised value was created by a stack allocation
    at 0x7A3114B: resolv_write_message (query.c:2359)
    - Possibly fixed valgrind reported error:
    Syscall param sendmsg(msg.msg_iov[0]) points to uninitialised byte(s)
    at 0x6505590: __sendmsg_nocancel (syscall-template.S:84)
    by 0x7A2A746: write_message (query.c:439)
    by 0x7A32044: resolv_write_message (query.c:2564)
    by 0x5CEA1D6: real_wait_select (schedule.c:2017)
    by 0x5CED01D: real_wait (schedule.c:2500)
    by 0x5CEEBF5: wait_for_something (schedule.c:2829)
    by 0x5CF1D5A: wait_for_action_or_deadline_settime_c (schedule.c:3479)
    by 0x7A38E37: resolv_wait_answer (query.c:4171)
    by 0x7A3AF2E: end_query_helper (query.c:4827)
    by 0x7A3BA18: lookup_resolv_cache_nonblocked (query.c:5037)
    by 0x7A21396: call_lookup_resolv_cache (resolv.c:3853)
    by 0x7A1F5CE: fill_query_resolv_cache (resolv.c:3081)
    Address 0x8a896b4 is 84 bytes inside a block of size 152 alloc'd
    at 0x4C2DB8F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
    by 0x5CD25D1: safe_zero_alloc (safemalloc.c:85)
    by 0x7A2C211: new_resolv_message_state (query.c:1053)
    by 0x7A330C3: give_resolv_process (query.c:2805)
    by 0x7A33CBC: have_non_blocking_qm (query.c:2975)
    by 0x7A23F92: lookup_service_addresses2 (resolv.c:4654)
    by 0x5CDC140: process_one_address_lookup (shared_connect.c:511)
    by 0x5CDC250: shared_address_lookup (shared_connect.c:568)
    by 0x5CFE110: service_entry_hook (service_list.c:2681)
    by 0x5D000B3: gse_scan_hostname (service_list.c:3277)
    by 0x5D02B37: give_service_entry5 (service_list.c:4129)
    by 0x535B87B: htrem_give_service_entry (hashmark_remote.c:3521)
    Uninitialised value was created by a heap allocation
    at 0x4C2DB8F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
    by 0x5CD2445: safe_malloc (safemalloc.c:60)
    by 0x7A2984B: new_resolv_query_hdr (query.c:63)
    by 0x7A37181: query_one_name (query.c:3769)
    by 0x7A3B9D9: lookup_resolv_cache_nonblocked (query.c:5031)
    by 0x7A21396: call_lookup_resolv_cache (resolv.c:3853)
    by 0x7A1F5CE: fill_query_resolv_cache (resolv.c:3081)
    by 0x7A1FE26: query_resolv_cache (resolv.c:3311)
    by 0x7A260AF: lookup_service_addresses2 (resolv.c:5037)
    by 0x5CDC140: process_one_address_lookup (shared_connect.c:511)
    by 0x5CDC250: shared_address_lookup (shared_connect.c:568)
    by 0x5CFE110: service_entry_hook (service_list.c:2681)

    - Used bzero() for union xxx_rand initialization of
    real_wait_select() and real_wait_poll(). This tries
    avoid valgrind's uninitialized memory warnings
    (although uninitialized bytes does not really harm
    because that data is feed to random generator).

    - Added int nested_FreeStreamStack0; to struct streamsched
    - Fixed valgrind reported error:
    Invalid read of size 8
    at 0x5D1C5CC: ss_FreeSocket (streamsched.c:235)
    by 0x5D1DD96: free_stack (streamsched.c:757)
    by 0x5D21D4D: FreeStreamStack0 (streamsched.c:1931)
    by 0x5D21EA6: FreeStreamStack2 (streamsched.c:1966)
    by 0x5316A2C: mbx_close_pop (pop.c:1851)
    by 0x52BB7AC: close_folder (mbox.c:1038)
    by 0x48E471: close_cleanup_mbox (leavembox.c:745)
    by 0x4D475A: quit (quit.c:150)
    by 0x498AB5: main_messages_loop (mailbox.c:819)
    by 0x498EB2: main_messages_menu (mailbox.c:964)
    by 0x46A5BC: main (elm.c:1677)
    Address 0x8ab2270 is 80 bytes inside a block of size 104 free'd
    at 0x4C2EDEB: free (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
    by 0x5CD34C5: safe_free (safemalloc.c:354)
    by 0x5D21E51: FreeStreamStack0 (streamsched.c:1950)
    by 0x5D1DAF2: free_ss_data (streamsched.c:704)
    by 0x5CE1509: remove_action0 (schedule.c:175)
    by 0x5CE4942: clear_action_idx (schedule.c:812)
    by 0x5CE4AEE: clear_action0 (schedule.c:837)
    by 0x5D1C5C7: ss_FreeSocket (streamsched.c:231)
    by 0x5D1DD96: free_stack (streamsched.c:757)
    by 0x5D21D4D: FreeStreamStack0 (streamsched.c:1931)
    by 0x5D21EA6: FreeStreamStack2 (streamsched.c:1966)
    by 0x5316A2C: mbx_close_pop (pop.c:1851)
    by 0x52BB7AC: close_folder (mbox.c:1038)
    by 0x48E471: close_cleanup_mbox (leavembox.c:745)
    by 0x4D475A: quit (quit.c:150)
    by 0x498AB5: main_messages_loop (mailbox.c:819)
    by 0x498EB2: main_messages_menu (mailbox.c:964)
    by 0x46A5BC: main (elm.c:1677)
    Block was alloc'd at
    at 0x4C2DB8F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
    by 0x5CD25D1: safe_zero_alloc (safemalloc.c:85)
    by 0x5D21660: returnSimpleStream (streamsched.c:1771)
    by 0x5CCCC17: connect_remote_account (remote_mbx.c:4189)
    by 0x535CC35: htrem_have_connection (hashmark_remote.c:3897)
    by 0x535E5F9: hashtype_selectbr_item_remote (hashmark_remote.c:4415)
    by 0x534E16F: hashmark_selectbr_item (hashmark.c:2789)
    by 0x53619FE: browser_select_hashmark (hashmark_browser.c:402)
    by 0x52F6C1A: select_dir_item_helper (savefolder.c:5029)
    by 0x52F6F2F: select_dir_item (savefolder.c:5088)
    by 0x44958D: browser_expand (browser.c:707)
    by 0x44C8FA: gb_browser (browser.c:1966)
    by 0x46D509: enter_helper (enter_helper.c:426)
    by 0x44D600: run_browser (browser.c:2326)
    by 0x450010: gen_browser (browser.c:3334)
    by 0x488220: select_folder (init.c:89)
    by 0x48A9F9: initialize_mailbox (init.c:980)
    by 0x498E4E: main_messages_menu (mailbox.c:951)
    by 0x46A5BC: main (elm.c:1677)

    - Possibly fixed valgrind reported error:
    Syscall param sendmsg(msg.msg_iov[0]) points to uninitialised byte(s)
    at 0x6505590: __sendmsg_nocancel (syscall-template.S:84)
    by 0x7A2A746: write_message (query.c:444)
    by 0x7A32044: resolv_write_message (query.c:2573)
    by 0x5CEA1EF: real_wait_select (schedule.c:2021)
    by 0x5CED04C: real_wait (schedule.c:2509)
    by 0x5CEEC24: wait_for_something (schedule.c:2838)
    by 0x5CF0DEC: wait_for_action_or_timeout (schedule.c:3271)
    by 0x7A34BC4: free_non_blocking_qm (query.c:3235)
    by 0x7A295F6: free_shared_cache (resolv.c:5948)
    by 0x5CD9D80: free_shared_cache1 (shared.c:2010)
    by 0x5CDA184: free_shared_caches (shared.c:2067)
    by 0x50AD0E: leave (utils.c:440)
    by 0x46A78B: main (elm.c:1719)
    Address 0x8a72914 is 84 bytes inside a block of size 152 alloc'd
    at 0x4C2DB8F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
    by 0x5CD25D1: safe_zero_alloc (safemalloc.c:85)
    by 0x7A2C211: new_resolv_message_state (query.c:1058)
    by 0x7A330C3: give_resolv_process (query.c:2814)
    by 0x7A33CBC: have_non_blocking_qm (query.c:2984)
    by 0x7A23F92: lookup_service_addresses2 (resolv.c:4654)
    by 0x5CDC140: process_one_address_lookup (shared_connect.c:511)
    by 0x5CDC250: shared_address_lookup (shared_connect.c:568)
    by 0x5CFE13F: service_entry_hook (service_list.c:2681)
    by 0x5D000E2: gse_scan_hostname (service_list.c:3277)
    by 0x5D02B66: give_service_entry5 (service_list.c:4129)
    by 0x535B87B: htrem_give_service_entry (hashmark_remote.c:3521)
    by 0x535C89F: htrem_have_connection (hashmark_remote.c:3829)
    by 0x535E5F9: hashtype_selectbr_item_remote (hashmark_remote.c:4415)
    by 0x534E16F: hashmark_selectbr_item (hashmark.c:2789)
    by 0x53619FE: browser_select_hashmark (hashmark_browser.c:402)
    by 0x52F6C1A: select_dir_item_helper (savefolder.c:5029)
    by 0x52F6F2F: select_dir_item (savefolder.c:5088)
    by 0x44958D: browser_expand (browser.c:707)
    by 0x44C8FA: gb_browser (browser.c:1966)
    Uninitialised value was created by a stack allocation
    at 0x7A17790: ??? (in /tmp/TEST/lib64/libelmme-resolv.so.1.1.54+)

    - Fixed valgrind reported memory leak:
    6 bytes in 2 blocks are definitely lost in loss record 125 of 3,254
    at 0x4C2DB8F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
    by 0x5CD2445: safe_malloc (safemalloc.c:60)
    by 0x531C832: pop_got_line (pop.c:3636)
    by 0x531CF8E: mbx_copy_header_pop (pop.c:3771)
    by 0x52C5E72: copy_header_folder (mbox.c:3495)
    by 0x5325CBB: read_folder_headers (headers.c:404)
    by 0x52BF1EA: copy_envelope_folder (mbox.c:1842)
    by 0x4C286F: read_headers (newmbox.c:1842)
    by 0x4BF44A: newmbox_1 (newmbox.c:722)
    by 0x48AF47: initialize_mailbox (init.c:1095)
    by 0x498E4E: main_messages_menu (mailbox.c:951)
    by 0x46A5BC: main (elm.c:1677)

    - Fixed valgrind reported memory leak:
    64 (24 direct, 40 indirect) bytes in 1 blocks are definitely lost in loss record 2,519 of 3,420
    at 0x4C2DB8F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
    by 0x5CD25D1: safe_zero_alloc (safemalloc.c:85)
    by 0x5D22F8D: malloc_string (string.c:85)
    by 0x5D26664: dup_string (string.c:1095)
    by 0x425B64: build_address_l (addr_util.c:1881)
    by 0x499F53: get_to (mailmsg1.c:400)
    by 0x49A363: send_msg_middle2 (mailmsg1.c:530)
    by 0x49AEE2: send_msg_middle (mailmsg1.c:793)
    by 0x49B091: send_msg_l (mailmsg1.c:838)
    by 0x4671CE: mailbox_command (elm.c:503)
    by 0x497612: main_messages_loop (mailbox.c:315)
    by 0x498EB2: main_messages_menu (mailbox.c:964)
    by 0x46A5BC: main (elm.c:1677)

    - Adding closing socket loop to free_non_blocking_qm()

    - Removed extra inc_resolv_query_item_re[f]count(ret)
    from query_one_name()
    ( Renamed inc_resolv_query_item_recount() to inc_resolv_query_item_refcount(). )
    - Fixed valgrind reported memory leak:
    2,502 (144 direct, 2,358 indirect) bytes in 1 blocks are definitely lost in loss record 291 of 302
    at 0x4C2DB8F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
    by 0x5CD25D1: safe_zero_alloc (safemalloc.c:85)
    by 0x7A2BD79: new_resolv_query_item (query.c:918)
    by 0x7A37C6E: query_one_name (query.c:3929)
    by 0x7A3CE23: lookup_resolv_cache_nonblocked (query.c:5327)
    by 0x7A2138A: call_lookup_resolv_cache (resolv.c:3852)
    by 0x7A1F5C2: fill_query_resolv_cache (resolv.c:3080)
    by 0x7A1FE1A: query_resolv_cache (resolv.c:3310)
    by 0x7A2870B: check_domain_name (resolv.c:5614)
    by 0x55B9A5A: process_one_check_domname (shared_mailer.c:629)
    by 0x55B9D73: shared_check_dname (shared_mailer.c:699)
    by 0x55C589B: check_msg_domain0 (message-id.c:2981)
    by 0x55C628F: check_msg_domain (message-id.c:3109)
    by 0x55CB71D: update_message_id (message-id.c:4236)
    by 0x4A7E62: mail (mailmsg2.c:3625)
    by 0x49ACE4: send_msg_middle2 (mailmsg1.c:737)
    by 0x49AEE5: send_msg_middle (mailmsg1.c:793)
    by 0x49B1C6: send_msg_argv (mailmsg1.c:883)
    by 0x46A2FF: main (elm.c:1623)

    - Removed extra inc_resolv_process_refcount(prx[prx_count])
    from select_resolv_process()
    - Fixed valgrind reported memory leak:
    2,232 (32 direct, 2,200 indirect) bytes in 1 blocks are definitely lost in loss record 239 of 249
    at 0x4C2DB8F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
    by 0x5CD25D1: safe_zero_alloc (safemalloc.c:85)
    by 0x7A2C728: new_resolv_process (query.c:1214)
    by 0x7A338E3: give_resolv_process (query.c:2925)
    by 0x7A373E8: select_resolv_process (query.c:3780)
    by 0x7A384CB: query_one_name (query.c:4072)
    by 0x7A3C5D3: lookup_resolv_cache_nonblocked (query.c:5199)
    by 0x7A2138A: call_lookup_resolv_cache (resolv.c:3852)
    by 0x7A1F5C2: fill_query_resolv_cache (resolv.c:3080)
    by 0x7A1FE1A: query_resolv_cache (resolv.c:3310)
    by 0x7A22184: verify_mail_domain2 (resolv.c:4117)
    by 0x55B8E28: process_one_verify_domain (shared_mailer.c:415)
    by 0x55B8F81: shared_verify_domain (shared_mailer.c:458)
    by 0x55D021E: verify_mail_domain_util (senderhelper.c:718)
    by 0x422337: build_address_verify_domain (addr_util.c:796)
    by 0x423C2D: build_address_l (addr_util.c:1342)
    by 0x41FEE5: argv_to_expanded (addr_util.c:150)
    by 0x49B17F: send_msg_argv (mailmsg1.c:881)
    by 0x46A2FF: main (elm.c:1623)

    - Added free_mail_quotaroot(&quotaroot); call to ref_mqr_imap()
    - Fixed valgrind reported memory leak:
    191 (56 direct, 135 indirect) bytes in 1 blocks are definitely lost in loss record 1,418 of 1,573
    at 0x4C2DB8F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
    by 0x5CD15D1: safe_zero_alloc (safemalloc.c:85)
    by 0x5366227: malloc_mail_quotaroot (quota.c:464)
    by 0x536AC97: ref_mqr_imap (imap_quota.c:1117)
    by 0x536BCEC: parse_imap_quota (imap_quota.c:1407)
    by 0x533EA38: parse_response (con_imap.c:2030)
    by 0x5340B2F: imap_read_stream (con_imap.c:2527)
    by 0x5D1BCF3: call_user_read_callback (streamsched.c:427)
    by 0x5D1C3DE: call_read_callback (streamsched.c:531)
    by 0x5D1E8E6: after_action (streamsched.c:1183)
    by 0x5D1C5C6: read_engine (streamsched.c:596)
    by 0x5CE8D40: real_wait_select (schedule.c:1991)
    by 0x5CEC04C: real_wait (schedule.c:2509)
    by 0x5CEDC24: wait_for_something (schedule.c:2838)
    by 0x5CF0444: wait_for_any_action_settime_c (schedule.c:3359)
    by 0x5D1F23C: WaitStreamFor_c (streamsched.c:1343)
    by 0x5341F59: imap_wait_c (con_imap.c:2883)
    by 0x5342BE1: imap_command_ok_c (con_imap.c:3101)
    by 0x536D044: mbx_give_imap_quotar_list (imap_quota.c:1726)
    by 0x52C96B8: give_folder_quotaroot_l (mbox.c:4346)

    New elmrc option:
    dsnmail

    New file:
    lib/sortlist.c

    Warnings
    --------

    - 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
    message.

    - 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
    charset.

    - 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.4.3.3.26 (PTF
    U473920) is solved to problem."
    From: Noam G. Nudelman

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


    [continued in next message]

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Kari Hurtta@21:1/5 to All on Sat Jul 3 05:30:12 2021
    Experimental DEB generator script for Elm ME+ 2.5 PLalpha55 exists on
    <URL: http://www.elmme-mailer.org/deb/elm-ME+2.5.html > directory.

    Files are following

    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha55-2.gen_deb
    DEB generator script
    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha55-2.gen_deb.elm-key-2018.sig
    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha55-2.gen_deb.sig

    A command

    elm-ME+2.5.alpha55-2.gen_deb {packager}

    generates package elmme with version 1.1.55-2.{distribution}.

    A command

    elm-ME+2.5.alpha55-2.gen_deb --nonew {packager}

    generates package elm with version ME+2.5.alpha55-2.{distribution}.

    Both commands produce package with filename elm-ME+2.5.alpha55-2.{distribution}.{arch}.deb.

    Module libelmme-resolv.so is included for all distributions.

    == Old package names, i386

    Package elm with version ME+2.5.alpha55-2.{distribution} and
    architecture i386.

    * Compiled on Ubuntu 6.06.2 LTS
    (Linux 2.6, glibc 2.3, Sendmail 8.13)

    - http://www.elmme-mailer.org/deb/old/elm-ME+2.5.alpha55-2.Ubuntu6.06.i386.deb
    Package elm binary DEB build on Ubuntu 6.06.2 LTS
    - http://www.elmme-mailer.org/deb/old/elm-ME+2.5.alpha55-2.Ubuntu6.06.i386.deb.elm-key-2018.sig
    - http://www.elmme-mailer.org/deb/old/elm-ME+2.5.alpha55-2.Ubuntu6.06.i386.deb.sig

    * Compiled on Ubuntu 10.04.4 LTS
    (Linux 2.6, glibc 2.11, Sendmail 8.14)

    - http://www.elmme-mailer.org/deb/old/elm-ME+2.5.alpha55-2.Ubuntu10.04.i386.deb
    Package elm binary DEB build on Ubuntu 10.04.4 LTS
    - http://www.elmme-mailer.org/deb/old/elm-ME+2.5.alpha55-2.Ubuntu10.04.i386.deb.elm-key-2018.sig
    - http://www.elmme-mailer.org/deb/old/elm-ME+2.5.alpha55-2.Ubuntu10.04.i386.deb.sig

    == New package names, i386

    Package elmme with version 1.1.55-2.{distribution} and architecture
    i386.

    * Compiled on Ubuntu 10.04.4 LTS
    (Linux 2.6, glibc 2.11, Sendmail 8.14)

    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha55-2.Ubuntu10.04.i386.deb
    Package elmme binary DEB build on Ubuntu 10.04.4 LTS
    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha55-2.Ubuntu10.04.i386.deb.elm-key-2018.sig
    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha55-2.Ubuntu10.04.i386.deb.sig

    * Compiled on Ubuntu 14.04.6 LTS
    (Linux 4.4, glibc 2.19, no MTA)

    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha55-2.Ubuntu14.04.i386.deb
    Package elmme binary DEB build on Ubuntu 14.04.6 LTS
    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha55-2.Ubuntu14.04.i386.deb.elm-key-2018.sig
    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha55-2.Ubuntu14.04.i386.deb.sig

    == New package names, amd64 (x86_64)

    Package elmme with version 1.1.55-2.{distribution} and architecture
    amd64 (also known as x86_64).

    * Compiled on Ubuntu 16.04.7 LTS
    (Linux 4.4, glibc 2.23, Sendmail 8.15)

    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha55-2.Ubuntu16.04.amd64.deb
    Package elmme binary DEB build on Ubuntu 16.04.7 LTS
    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha55-2.Ubuntu16.04.amd64.deb.elm-key-2018.sig
    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha55-2.Ubuntu16.04.amd64.deb.sig

    * Compiled on Ubuntu 18.04.5 LTS
    (Linux 5.4, glibc 2.27, no MTA)

    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha55-2.Ubuntu18.04.amd64.deb
    Package elmme binary DEB build on Ubuntu 18.04.5 LTS
    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha55-2.Ubuntu18.04.amd64.deb.elm-key-2018.sig
    - http://www.elmme-mailer.org/deb/elm-ME+2.5.alpha55-2.Ubuntu18.04.amd64.deb.sig

    == Signatures

    {file}.sig PGP signature (old key pubkey.asc, EA5A2379 1996-04-23)
    {file}.elm-key-2018.sig GPG signature (key elm.key.2018.asc, 4