• ELM ME+ 2.5 PLalpha51 RPM announcement

    From Kari Hurtta@21:1/5 to All on Sat Feb 15 08:41:29 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 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.

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

    --
    / Kari Hurtta

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)