ELM ME+ 2.5 PLalpha5 experimental RPM spec file




Experimental RPM spec file for Elm ME+ 2.5 PLalpha5
exists on <URL: http://www.elmme-mailer.org/rpm/elm-ME+2.5.html > directory
(and also on <URL: http://www.ozone.fmi.fi/KEH/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

- <URL: http://www.elmme-mailer.org/rpm/elm-ME+2.5.alpha5.spec >
RPM spec file
- <URL: http://www.elmme-mailer.org/rpm/elm-ME+2.5.alpha5-1.src.rpm >
Source rpm

- <URL: http://www.elmme-mailer.org/rpm/elm-ME+2.5.alpha5-1.i586.rpm >
Package elm binary RPM build on Mandrake Linux 9.0
- <URL: http://www.elmme-mailer.org/rpm/elm-mod-ME+2.5.alpha5-1.i586.rpm >
Package elm-mod binary RPM build on Mandrake Linux 9.0
- <URL: http://www.elmme-mailer.org/rpm/elm-tls-ME+2.5.alpha5-1.i586.rpm >
Package elm-tls binary RPM build on Mandrake Linux 9.0

Spec file uses just elm-ME+2.5.alpha5.tar.gz.

libelmme-iconv.so and libelmme-smtp.so are moved from elm binary package to
elm-mod package. libelmme-tls.so is moved from elm binary package to elm-tls
package.

Package elm-tls (libelmme-tls.so ) uses encryption from OpenSSL library.
Package elm-tls does not contain any cryptography itself.

Installation loses mailer = submission setting from global
/usr/local/lib/elm.rc, because when elm package rewrites elm.rc,
submission mailer is not available. Submission mailer 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.

There is small change on elm.filelist format, so downgrading from
Elm ME+ 2.5 PLalpha5 or Elm2.4ME+ PL122 (25) to Elm ME+ 2.5 PLalpha4 or
to Elm 2.4ME+ PL121 (25) will not work (you need unistall or remove
elm.filelist first.)

Dowgrading to Elm 2.4ME+ PL121g (25) or Elm 2.4ME+ PL121h (25) should work
without removing elm.filelist first.

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

* mailer
* hostdomain (this is usually needed)
* hostfullname
* hostname (usually this is not needed)

Check default values written to elm.rc. It is (re-)generated during
installation.

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

* /usr/local/lib/elm.rc
* /usr/local/lib/elm.mimecharsets
* /usr/local/lib/elm.terminalinfo

Old information is not preserved, but is used as input during re-generation.

/ Kari Hurtta

Elm ME+ 2.5 PLalpha5 changelog


Changes on Elm ME+ 2.5 PLalpha5 compared with Elm2.4ME+ PLalpha4
----------------------------------------------------------------

Note: You must create directory
lib/mailer
before applying this patch!

* Changes from Elm 2.4 PL122 (25)

* Some changes on screen handling:
- Moved title, menu and prompt area on mailbox,
aliases and attachment screens to own subpage.
- Changed layout of attachment screen more similar than
other screens.
- Removed redraw flag from main loop.
- Removed nufoot flag from main loop.
- Removed redraw flag from mailbox_command().
- Removed redraw flag from motion().
- Removed nufoot flag from mailbox_command().
- Removed nufoot flag from motion().
- Removed redraw flag from new_mail_check().
- Removed redraw flag from partial_loop().
- Removed nufoot flag from partial_loop().
- Removed redraw flag from digest_loop().
- Removed nufoot flag from digest_loop().
- Removed redraw flag from view_canceled_mails().
- Removed nufoot flag from view_canceled_mails().
- Removed redraw flag from alias().
- Removed nutitle flag from alias().
- Removed nufoot flag from alias().
- Changed passing of redraw data from remail().
- Removed redraw flag from remail().
- Changed passing of redraw data from forward().
- Changed passing of redraw data from reply_to_everyone().
- Removed redraw flag from reply_to_everyone().
- Changed passing of redraw data from send_msg_l()
and send_msg_middle().
- Changed passing of redraw data from reply().
- Removed redraw flag from reply().
- Changed passing of redraw data from mail_filled_in_form().
- Changed passing of redraw data from pgp_mail_public_key().
- Changed passing of redraw data from print_text().
- Changed passing of redraw data from save().
- Changed method how headers on aliases and mailbox
screen are drawn and updated.
- Removed inalias, last_current, last_header_page,
headers_per_page and nucurr global variables.
- One more mail is listed on mailbox screen.
- Removed passing of header_page variable.
- Changed method how screen is handled on 'after
paging' commands (showmsg_c).
- Removed/changed passing of redraw flag on file_browser(),
gen_browser() folder_browser(), attach_save()
- Changed passing of redraw data from name_copy_file().
- Changed handling of 'prompt area' on Mail Pre-Send Screen
and on Message Header Edit Screen screen.

- If several -f option is given (for combined view
of given folders), starting of Elm ME+ do not fail
if first folder is inaccessible.

- Handle REDRAW_MARK on pgp_encrypt()

- "If you had no aliases yet, and pushed j or k in the
aliases menu (or the down or up arrows), you had a
"bad item" "common menu panic". The reason was a
missing "break" statement in alias_item.c, which was
present in the approprite place in mailbox_item.c"
From: Kovacs Baldvin <baldvin@xxxxxxxxxx>
( Patch was agaist Elm ME+ 2.5 but applies also to Elm
2.4ME+ )

- Fix error message
Path component "none" not absolute on key
"internal-mailcaps" value "none"
when on elmrc have line
internal-mailcaps = none

- Added elmrc option "pgp-encrypt-type", which take values
"application/pgp", "text/plain" and "text/x-pgp" (without
quotes). These are same values than for pgp-sign-type.
Except that this is for encryption. Because encrypted data
is ascii armored, also text -type can be used here.
Requested by: Axel Reinhold <axel@xxxxxxxxxxx>

NOTE: Note that using text/plain for excrypted data causes
that charset=US-ASCII is used always (for type
application/pgp charset paramater is not added).
It is little guestionable is that correct. These
encrypted types do not interact very well with charsets
anyway.

- "MIME structure Menu" was draw incorrectly when arrow cursor
was used.
- "MIME structure Menu" screen's layout now resembles more
main mailbox screen.

- Handle some ambiguous multipart boundary prefixes.

- Ignore empty line before "begin " on uudecode.

- "I am seeing two exit messages if I start elm and exit right away
using ELM 2.4ME+ PL121"
Problem noted by: Bruce Momjian <root@xxxxxxxxxxxxxxxx>
- "On a Solaris 8 machine, if I enter ELM and don't make
any changes it now says "Folder unchanged." twice.
Not a big deal, but I thought I should report it. :-)"
Problem noted by: James Corey <ploveregg@xxxxxxxxx>
> Make sure that first message is erased on exit (usually
ti/te erases screen or changes buffers, but that
apply to "elm -t" also.)

- Added elmrc option "prompt-metamail".
If set, also text
Parsing MIME structure... metamail not needed
is not printed after
Parsing MIME structure...
text, because opposite situation will be prompted!
- Setting "prompt-metamail" (default) causes
showing of "Metamail selection" screen. This is
same screen than "Mailcap program selection" screen.
Answering prompt with p)age command changes screen
to "Mailcap program selection" screen. Answering
proompt with m)etamail command calls metamail.

- Allow canceling of
Mailcap program selection
with Ctrl-C (interrupt character) on systems
which supports POSIX termios.

- Canceling of
Append to an existing file XXX ?
Append to mail folder XXX ?
Create a new file XXX ?
Create a new mail folder XXX ?
Some XXX are already tagged. Remove Tags?
One XXX is already tagged. Remove Tags?
Are you sure you want to remail this message ?
prompts with Ctrl-C (interrupt character) is possible
on systems which supports POSIX termios.

- Added to
Mailcap program selection
screen same title than on pager (on case when elmrc
option "titles" is set (default)).

- "First I did not even understand what I am asked
in the attach menu. I tried a .ps file, then I had
a question "Use gnome-gv to..." blabla, yes or no.
And down there I had "Answer questions, or m)etamail,
or q)uit". Now "quit" did not quit from aliases,
but instead it behaved as an "OK". Pushing 'm' worked,
but I did not know wether it utilized the answer that
I gave already, since it asked again (!) if I'd like
to use gnome-gv. "F?ck, I do", I thought... Then I've
realized what is going on: after I answered yes for
the first question, I need to say quit, and then I get
gnome-gv..."
Problem noted by: Kovacs Baldvin <baldvin@xxxxxxxxxx>
> Changed q)uit command to d)one on
Mailcap program selection
screen.

- Letters 'q' and 'i' leaves now
Mailcap program selection
without paging message. Note that this changes
meaning of 'q' -command.

- Added O)verride charset and Ctrl-K (Mail PGP public key)
to 'after paging' (showmsg_c) commands.

- Added redraw handling to following prompts:
Already have selection criteria - add more?
Enter criteria or '?' for help:

- Fix valgrind reported memory leak:
32 bytes in 2 blocks are definitely lost in loss record 6 of 28
at 0x400260DC: malloc (vg_replace_malloc.c:153)
by 0x8151DBF: safe_malloc (safemalloc.c:47)
by 0x8069EEE: attach_menu (attach_menu.c:2433)

- Add redraw handling to display_file()

- Fix "Reverse Thread" sorting order.

- Fix valgrind reported memory leak:
56 bytes in 5 blocks are definitely lost in loss record 9 of 28
at 0x400260DC: malloc (vg_replace_malloc.c:153)
by 0x8147F8F: safe_malloc (safemalloc.c:47)
by 0x80E9095: new_state_1 (charset_input.c:18)
by 0x80F9FFC: cs_add_streambyte_to_utf8 (cs_utf.c:348)

- Fix valgrind reported memory leak:
16 bytes in 2 blocks are definitely lost in loss record 3 of 28
at 0x400260DC: malloc (vg_replace_malloc.c:153)
by 0x8147F8F: safe_malloc (safemalloc.c:47)
by 0x8163E41: malloc_string (string.c:116)
by 0x8163FBC: new_string (string.c:153)
by 0x80876EA: read_number (in_utils.c:282)

- Fix valgrind reported memory leak:
30 bytes in 1 blocks are definitely lost in loss record 7 of 29
at 0x4002668F: realloc (vg_replace_malloc.c:310)
by 0x8148225: safe_realloc (safemalloc.c:63)
by 0x8133394: elm_vmessage (output.c:1281)
by 0x8133A5E: elm_message (output.c:1460)
by 0x80FD9DA: init_debug (debug.c:58)

- Fix valgrind reported memory leak:
8 bytes in 1 blocks are definitely lost in loss record 1 of 31
at 0x400260DC: malloc (vg_replace_malloc.c:153)
by 0x8148173: safe_malloc (safemalloc.c:47)
by 0x8145BA9: split_remote_name (remote_mbx.c:620)
by 0x814ADA3: browser_folder_from_dummy (savefolder.c:1076)
- Fix valgrind reported memory leak:
14 bytes in 1 blocks are definitely lost in loss record 3 of 31
at 0x400260DC: malloc (vg_replace_malloc.c:153)
by 0x8148349: safe_strdup (safemalloc.c:79)
by 0x8145B8E: split_remote_name (remote_mbx.c:618)
by 0x814ADA3: browser_folder_from_dummy (savefolder.c:1076)

- Fix valgrind reported memory leak:
8 bytes in 1 blocks are definitely lost in loss record 1 of 30
at 0x400260DC: malloc (vg_replace_malloc.c:153)
by 0x8148237: safe_malloc (safemalloc.c:47)
by 0x8164109: malloc_string (string.c:116)
by 0x8164FDC: cat_strings (string.c:449)
by 0x81307E5: elm_smessage (output.c:857)
by 0x8087063: prompt_letter (in_utils.c:84)

- Fix valgrind reported memory leak:
29 bytes in 5 blocks are definitely lost in loss record 7 of 30
at 0x400260DC: malloc (vg_replace_malloc.c:153)
by 0x8148243: safe_malloc (safemalloc.c:47)
by 0x8105414: rfc822_tokenize (getaddr.c:37)
by 0x8061333: do_expand_group_l (aliaslib.c:88)

- Fix valgrind reported memory leak:
7104 bytes in 1 blocks are definitely lost in loss record 27 of 29
at 0x4002668F: realloc (vg_replace_malloc.c:310)
by 0x8148339: safe_realloc (safemalloc.c:63)
by 0x80BFA69: add_canceled_mail1 (canceled_mail.c:1291)

- Fix valgrind reported memory leak:
8 bytes in 1 blocks are definitely lost in loss record 2 of 29
at 0x400260DC: malloc (vg_replace_malloc.c:153)
by 0x814826B: safe_malloc (safemalloc.c:47)
by 0x816413D: malloc_string (string.c:116)
by 0x81642B8: new_string (string.c:153)
by 0x80885D9: enter_helper (in_utils.c:656)
by 0x8089324: optionally_enter2 (in_utils.c:1115)
by 0x808E52B: limit (limit.c:110)

- Removed pattern_enter()

- Fix "Append to mail folder " -question.

- Changed IMAP \Flagged that they are not longer
tagged (+), but instead marked with new flag (F)
as flagged.
- \Flagged is shown on place of '+' on screen as 'F'.
- \Flagged can be modified with with new toggle F)lag command
- Flag is saved as letter F on Status: -header for
local mailbox
- Giving argument "flagged" (without quotes) to l)imit
command selects flagged messages. That is not mentioned "?"
help of l)imit command, because it it does not fit to
80 characters. That is similar than "tagged" argument
to l)imit command.
- Command Ctrl-D accepts argument "flagged" (without quotes)
which deletes all visible flagged messages.
- Command Ctrl-D accepts argument "flagged" (without quotes)
which tags all visible flagged messages.
- Command Ctrl-U accepts argument "flagged" (without quotes)
which undeletes all visible flagged messages.

- Changed Ctrl-D command with argument "tagged" (without quotes)
so that it deletes only all visible tagged messages
(it was deleting also messages which was not on limited
selection.)

- Set close-on-exec flag for opened local mailbox.

- "I am seeing two exit messages if I start elm and exit right away
using ELM 2.4ME+ PL121"
Problem noted by: Bruce Momjian <root@xxxxxxxxxxxxxxxx>
- "On a Solaris 8 machine, if I enter ELM and don't make
any changes it now says "Folder unchanged." twice.
Not a big deal, but I thought I should report it. :-)"
Problem noted by: James Corey <ploveregg@xxxxxxxxx>
> Make sure that first message is erased on exit (often
ti/te erases screen or changes buffers, but that
problem apply to "elm -t" also.)

- Fix case whare ascii only mail was sent with headers
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset=ISO-8859-1
instead of
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset=US-ASCII

- Added mlterm to terminal.info without charset UTF-8.
To actually use that terminal defination you need also
doc/term/mlterm.ti from mlterm distribution. Install it
with 'tic' command. Then you need start start mlterm with
'mlterm -y mlterm' option, otherwise mlterm sets $TERM to
xterm.
- Seems that mlterm do not handle return to ISO 2022 code
( ESC % @ ) or switch to UTF-8 code ( ESC % G ) ?
- Also Elm ME+ do not handle double wide UTF-8 characters
- Fixed case where switch to UTF-8 code ( ESC % G )
was given on several times. However after ESC % G
only ESC % @ is valid.

- Now ConfTool/GenCharmap adds mapping from ConfTool/mapfiles
to bin/elm.mimecharsets even when elm.mimecharsets have
already alias defination for charset.

- Added eucJP, eucKR, EUC-CN, GB2312, eucCN and
Big5-HKSCS, Big5HKSCS to ConfTool/CharMap

- Let ConfTool/LocaleMap also to use ConfTool/validcharset

- Changed on lib/precompiled_sets.c:
* Changed "ECMA-cyrillic" type from cs_unknown
to cs_ascii and given mime name KOI8-E
* Added ISO 2022 code for KOI8-E (ISO-IR-111)
* Added ISO 2022 code for IRV (codeset "ISO_646.irv:1983")
(ISO-IR-2)
* Added ISO 2022 code for ISO646-GB (codeset "BS_4730")
(ISO-IR-4)
* Changed codeset "NATS-SEFI" (ISO-IR-8-1) type from
cs_unknown to cs_iso646
* Added ISO 2022 code for codeset "NATS-SEFI" (ISO-IR-8-1)
* Added ISO 2022 code for codeset "NATS-SEFI-ADD"
(ISO-IR-8-2) (XX)
* Added ISO 2022 code for codeset "NATS-DANO"
(ISO-IR-9-1)
* Added ISO 2022 code for codeset "NATS-DANO-ADD"
(ISO-IR-9-2) (XX)
* Added ISO 2022 code for ISO646-FI (codeset
"SEN_850200_B") (ISO-IR-10)
* Added ISO 2022 code for ISO646-SE2 (codeset
"SEN_850200_C") (ISO-IR-11)
* Added ISO 2022 code for codeset "KS_C_5601-1987"
(ISO-IR-149) (XX)
* Changed codeset "KS_C_5601-1987" type from
cs_unknown to cs_iso2022
* Added ISO 2022 code for codeset "JIS_C6220-1969-jp"
(ISO-IR-13) (XX)
* Changed codeset "JIS_C6220-1969-jp" type from
cs_unknown to cs_iso2022
* Added ISO 2022 code for ISO646-IT (codeset "IT")
(ISO-IR-15)
* Added ISO 2022 code for ISO646-PT (codeset "PT")
(ISO-IR-16)
* Added ISO 2022 code for ISO646-ES (codeset "ES")
(ISO-IR-17)
* Added ISO 2022 code for codeset "greek7-old"
(ISO-IR-18)
* Added ISO 2022 code for codeset "latin-greek" (ISO-IR-19)
* Added ISO 2022 code for ISO646-DE (codeset "DIN_66003")
(ISO-IR-21)
* Added ISO 2022 code for ISO646-FR1
(codeset "NF_Z_62-010_(1973)") (ISO-IR-25)
* Added ISO 2022 code for codeset "Latin-greek-1"
(ISO-IR-27)
* Added ISO 2022 code for codeset "ISO_5427" (ISO-IR-37)
* Added ISO 2022 code for codeset "JIS_C6226-1978"
(ISO-IR-42) (XX)
* Changed codeset "JIS_C6226-1978" from type cs_unknown
to cs_iso2022
* Added ISO 2022 code for codeset "BS_viewdata"
(ISO-IR-47)
* Added ISO 2022 code for codeset "INIS"
(ISO-IR-49)
* Added ISO 2022 code for codeset "INIS-8"
(ISO-IR-50)
* Added ISO 2022 code for codeset "INIS-cyrillic"
(ISO-IR-51)
* Added ISO 2022 code for codeset "ISO_5427:1981"
(ISO-IR-54) (XX)
* Added ISO 2022 code for codeset "ISO_5428:1980"
(ISO-IR-55)
* Added ISO 2022 code for codeset "ISO_5428:1980"
(ISO-IR-55)
* Added ISO 2022 code for ISO646-CN (codeset "GB_1988-80")
(ISO-IR-57)
* Added ISO 2022 code for codeset "GB_2312-80"
(ISO-IR-58) (XX)
* Changed codeset "GB_2312-80" type from cs_unknown
to cs_iso2022
* Added ISO 2022 code for ISO646-NO (codeset "NS_4551-1")
(ISO-IR-60)
* Added ISO 2022 code for ISO646-NO2 (codeset "NS_4551-2")
(ISO-IR-61)
* Added ISO 2022 code for ISO646-FR (codeset "NF_Z_62-010")
(ISO-IR-69)
* Added ISO 2022 code for codeset "videotex-suppl"
(ISO-IR-70) (XX)
* Added ISO 2022 code for ISO646-PT2 (codeset "PT2")
(ISO-IR-84)
* Added ISO 2022 code for ISO646-ES2 (codeset "ES2")
(ISO-IR-85)
* Added ISO 2022 code for ISO646-HU (codeset "MSZ_7795.3")
(ISO-IR-86)
* Added ISO 2022 code for codeset "JIS_C6226-1983"
(ISO-IR-87) (XX)
* Changed codeset "JIS_C6226-1983" type from cs_unknown
to cs_iso2022
* Added ISO 2022 code for codeset "ASMO_449"
(ISO-IR-89)
* Added ISO 2022 code for codeset "iso-ir-90" (XX)
* Added ISO 2022 code for codeset "JIS_C6229-1984-a"
(ISO-IR-91)
* Added ISO 2022 code for ISO646-JP-OCR-B
(codeset "JIS_C6229-1984-b") (ISO-IR-92)
* Added ISO 2022 code for "JIS_C6229-1984-b-add"
(ISO-IR-93) (XX)
* Added ISO 2022 code for codeset "JIS_C6229-1984-hand"
(ISO-IR-94)
* Added ISO 2022 code for codeset "JIS_C6229-1984-hand-add"
(ISO-IR-95) (XX)
* Added ISO 2022 code for codeset "JIS_C6229-1984-kana"
(ISO-IR-96)
* Added ISO 2022 code for codeset "ISO_2033-1983"
(ISO-IR-98) (XX)
* Added ISO 2022 code for codeset "ANSI_X3.110-1983"
(ISO-IR-99) (XX)
* Added ISO 2022 code for codeset "T.61-7bit"
(ISO-IR-102)
* Added ISO 2022 code for codeset "T.61-8bit"
(ISO-IR-103)
* Added ISO 2022 code for ISO646-CA
(codeset "CSA_Z243.4-1985-1") (ISO-IR-121)
* Added ISO 2022 code for ISO646-CA2
(codeset "CSA_Z243.4-1985-2") (ISO-IR-122)
* Added ISO 2022 code for codeset
"CSA_Z243.4-1985-gr" (ISO-IR-123) (XX)
* Added ISO 2022 code for codeset
"T.101-G2" (ISO-IR-128) (XX)
* Added ISO 2022 code for codeset
"T.101-G2" (ISO-IR-128) (XX)
* Added ISO 2022 code for codeset "CSN_369103"
(ISO-IR-139)
* Changed codeset "CSN_369103" type fom cs_unknown
to cs_ascii
* Added ISO 2022 code for ISO646-YU
(codeset "JUS_I.B1.002") (ISO-IR-141)
* Added to ISO646 sets that MIME-subset=INVARIANT
* Added ISO 2022 code for codeset "ISO_6937-2-add"
(ISO-IR-141)
* Added ISO 2022 code for codeset "IEC_P27-1"
(ISO-IR-143)
* Changed codeset "IEC_P27-1" type from cs_unknown
to cs_ascii
* Added ISO 2022 code for codeset "JUS_I.B1.003-serb"
(ISO-IR-146)
* Added ISO 2022 code for codeset "JUS_I.B1.003-mac"
(ISO-IR-147)
* Added ISO 2022 code for codeset "greek-ccitt"
(ISO-IR-150)
* Added ISO 2022 code for ISO646-CU
(codeset "NC_NC00-10:81") (ISO-IR-151)
* Added ISO 2022 code for codeset "ISO_6937-2-25"
(ISO-IR-152)
* Changed codeset "ISO_6937-2-25" type from cs_unknown
to cs_ascii
* Added ISO 2022 code for codeset "GOST_19768-74"
(ISO-IR-153)
* Changed codeset "GOST_19768-74" type from cs_unknown to
cs_ascii
* Added ISO 2022 code for codeset "GOST_19768-74"
(ISO-IR-153)
* Added ISO 2022 code for codeset "ISO_8859-supp"
(ISO-IR-154) (XX)
* Changed codeset "ISO_8859-supp" type from cs_unknown
to cs_ascii
* Added ISO 2022 code for codeset "ISO_10367-box"
(ISO-IR-155) (XX)
* Changed codeset "ISO_10367-box" type from cs_unknown
to cs_ascii
* Added ISO 2022 code for codeset "latin-lap"
(ISO-IR-158) (XX)
* Changed codeset "latin-lap" type from cs_unknown
to cs_ascii
* Added ISO 2022 code for codeset "JIS_X0212-1990"
(ISO-IR-159) (XX)
* Changed codeset "JIS_X0212-1990" type from cs_unknown
to cs_iso2022


(XX) Actually it is unclear what that is supposed to mean
on context of
http://www.iana.org/assignments/character-sets
Most of these are not standalone character sets on
that sense what MIME use term 'charset' ....

- Configure now tests if system support wchar_t type
functions.
- Moved code of unknown charset type (cs_unknown)
from lib/cs_binary.c to lib/cs_unknown.c
- File lib/cs_wfallback.c includes 'fallback'
mapping for whar_t, similar than lib/cs_fallback.c
files 'fallback' defination.
- Unknown system (locale) charset is now implemented
with wide characters (wchar_t) on systems which
support it. Also support of wcwidth() function is
tested separately.
- On some cases that may cause warning/error message
"Unknown charsets are unsupported as keyboard input!"
to be printed (specially if there is significant state
used on keyboard input.)
- If __STDC_ISO_10646__ is defined, then wchar_t
is assumed to be Unicode (and 'fallback' mapping
is not needed.)
- Added elmrc option "locale-charsets" for systems
which have __STDC_ISO_10646__ defined. Given
charset names is type unknown used for system (locale)
charset, even when Elm ME+ is builtin defination
for charset.
- Added to terminal.info file new keyword DW.
This indicates for unknown system charset that wcwidth()
function should be used to get char width.
This means that logical width of character
may be 0,1 or 2 columns on that terminal.
- Keyword DW also may cause error/warning message
Double wide characters are not supported
to be printed.
- On systems which have __STDC_ISO_10646__ defined,
DW flag on terminal.info works like "locale-charsets"
option, if charset and terminal matches.

- Added UTF-8 for mlterm to terminal.info with
DW flag.

- pw_dir (home directory) and pw_shell is allowed
to be NULL on struct passwd.

- Added CP1251 as codeset for windows-1251. Seems that this is
returned by nl_langinfo(CODESET).
- Added CP1252 as codeset for windows-1252. Seems that this is
returned by nl_langinfo(CODESET).
- Added CP1255 as codeset for windows-1255. Seems that this is
returned by nl_langinfo(CODESET).
- Added CP1256 as codeset for windows-1256. Seems that this is
returned by nl_langinfo(CODESET).
- Added CP1257 as codeset for windows-1257. Seems that this is
returned by nl_langinfo(CODESET).

- Changed evaluation of elmrc option "text-charset".
- Changed evaluation of elmrc option "display-charset".
- Changed evaluation of elmrc option "local-fs-charset".
- Changed evaluation of elmrc option "default-nomime-charset".
- Changed evaluation of elmrc option
"default-mime-text-charset".
- Changed evaluation of elmrc option "imap-charset".
- Removed function get_charset_map_info().

- Changed implementation of elmrc option "shell".
- Changed implementation of elmrc option "tmpdir".
- Changed implementation of elmrc option "maildir"
(or "folders").
- Changed implementation of elmrc option "map-text-dir".
- Changed implementation of elmrc option "map-bin-dir".

- Fixed case where ISO-2022-JP subject was displayed on
message list, but when reading mail, subject was replaced
with question marks.

- Handle better bad sequense of bytes on text (for
example bad UTF-8 text).

- Configure was incorrectly made conlusion that
nl_langinfo(CODESET)
do not work on IRIX 6.5

- If given folder name 'aaa@bbb@ccc' for split_remote_name(),
do not split is as user='aaa', host='bbb@ccc', but use
user='aaa@bbb', host='ccc'
Problem noted by: admin <admin@xxxxxxxxxxxxx>

- Remove duplicates from bin/elm.mimecharsets
during Configure
- Compare charset names in case insensitive way on
ConfTool/GenCharmap

- Added command "elmregister rpm-list", which
generates files listing suitable from rpm
%files -section.

- Declared that Elm ME is "Elm Millenium Edition".
Courtesy Vesa-Matti J Kari <vesa-matti.kari@xxxxxxxxxxx>

- get_type_flags() was called with NULL-pointer
argument from start_body_helper() line 381.
Problem noted by: Vesa-Matti J Kari <vesa-matti.kari@xxxxxxxxxxx>
> Return something 'intelligent' (instead of
crashing) in functions of lib/mediatype.c,
if them is called with NULL argument.

- Do not give NULL pointer for
Content-Type: *unknown*/MIXED
In other words do not return NULL pointer
if give_media_type() is asked to create
major media type '*unknown*' ('*unknown*'
matched MIME_TYPE_UNKNOWN signaling unknown
media type.)

- Added module (-M name) option and
correspond environment variable $ELM_MODULE
to elmregister.
- elmregister -M all may be used to register
file or command to all modules.

- Added command "elmregister rpm-list", which
generates files listing per -M option.

- Fixed Makefile error on
make package ROOT=/tmp/test-install
case.

- Sorting orders 'mailbox order' and
'reverse mailbox order' was giving same order.
Fixed reverse sorting order.
- Little change for sorting.

- If "unstable-reverse-thread" is set, reverse thread
sorting is based on lastest message on thread.
Therefore thread moves to new location, when
new message arrives to thread.
- This variable is settable on o)ptions screen
with S)orting criteria command.

- Moved enumerate_list on save_opts to own
elmrc type rc_DT_ENUM and new data
type dt_enumerate_info

- Make possible to record changes of elm.rc
during installation.
- Option -c on elmrc-write and elmlibregister commands
gives file, which is used to record changes
(old values) of elm.rc during installation.
- During installation old values of failed elm.rc options
are kept on elm.rc.old-values file.

- Use malloc_gets() when reading elm.rc

- Added elmrc option "verify-domain". If set mail domains
are verified by gethostbyname(). Error HOST_NOT_FOUND
is treated as nonexisting domain and error NO_ADDRESS
is treated as valid mail domain.

- Added elmrc option "verify-local-address". If set
usernames of local addresses are verified. Using
this option requires that on global elm.rc have
"verify=yes" on mailer -option.

- Replaced elmrc types DT_ASR and DT_SRT with one type
rc_DT_SORT.

- Added elmrc option "local-dir-sortby". This specifies
sorting order for local files and folders on folder
and file browser. Possible values are "none", "name"
and "mtime" (and also "reverse-name" and "reverse-mtime").
Default value is "name".

- Added elmrc option "imap-dir-sortby". This specfies
sorting order for IMAP folders on folder browser. Possible
values are "none" and "name" (also "reverse-name").
Default value is "none".

- On 21 lines window browser help (Folder selection)
was not fitting to screen.

- Moved mailer related code from libelmme-base.so to
libelmme-mailer.so.
- Added elmrc type rc_DT_DELAY.
- Moved elmrc option "mailer" to libelmme-mailer.so.
It is 'proxied' with elmrc type rc_DT_DELAY.
- Added elmrc option "use-mailer-library" to
libelmme-mailer.so. It is 'proxied' with elmrc type
rc_DT_DELAY. "smtp" (ie. libelmme-smtp.so) is
now given on elmrc option "use-mailer-library"
(was on "use-connect-library".)
- Link libelmme-smtp.so with libelmme-mailer.so,
so that loading of libelmme-smtp.so succeed when
loader is not linked with libelmme-mailer.so.

- If elm is not compiled with -rdynamic, link
libelmme-smtp.so with libelmme-base.so, so that symbols
can be resolved.

- "I got http://www.elmme-mailer.org/elm-ME+2.5.alpha4.tar.gz
and tried to compile it on a SuSE 9.2 box. Configure
complained about missing termlibs and quit without even
generating a makefile.

Adding -lncurses in line 6333 of Configure (it now reads
for A in '' '-ltermlib' '-lcurses' '-ltermcap ' '-lncurses'; do
fixed this and elmme seems to work fine. Maybe you'd
like to include this patch in the next release ..."
From: Rainer Kaluscha <rainer.kaluscha@xxxxxx>

- Code changes for "-Wstrict-prototypes". I hope that these
do not broke something else.

- Added some support for RFC 2231:
MIME Parameter Value and Encoded Word Extensions:
Character Sets, Languages, and Continuations
- struct string may now carry language indicator
- Language specification is now accepted on encoded
words.
- When replying language specification is normally preserved
on replied address (phrase).
- [include -command now uses internally file browser
for refering file. This should handle better (theoretical)
situation where buffer charset is ddeferent than filesystem
charset.
- filename -arguments on mime -parameters use RFC 2231
encoding. Also non RFC 2231 ascii-only filename
argument is produced.
- Specially RFC 2231 encoded parameters are ignored
for most of other cases. Specially boundary -parameter
must not be RFC 2231 encoded.
- Added elmrc option "mime-parameters". Possible values are
"plain", "encoded" and "plain-and-encoded". If set
to "plain", then RFC 2231 encoded parameters are not
generated and not used when receiving mail (they still are
parsed.) When set to "plain-and-encoded both RFC 2231
encoded value and plain ascii value are generated (specially
for filename -parameter) when needed.

- Elm option -z (zero) do not longer imply option -n
(do not use ti/te).

- " would like to have an option like:
-z Zero - don't enter Elm if no mail is pending.

but:
-y Zero - don't enter Elm if no unread mail is
pending."
Suggested by: Axel Reinhold <axel@xxxxxxxxxxx>

- Elm option -z now works correctly when several mailboxes
(several -f options) are given. Now Elm is not entered
when all given mailboxes are empty.

- doc/tmac.n states "This package may be circulated freely
with the news documentation; it may not be sold, but is to
be distributed with the unformatted news documents."
Removed, because Elm documentation is other documentation.
- Removed documentatiion which depends doc/tmac.n. That
documentation is more or less obsolete anyway:
doc/Alias.guide
doc/Config.guid
doc/Elm.cover
doc/Form.guide
doc/Ref.guide
doc/Users.guide
- Removed question about formatter of documentation
from Configure.

- f)orget command on "Mail Pre-Send Screen" incorrectly
sent mail when editor buffer was empty and on mail
there was on attachment.

- Both utils/elmrc-write.c and utils/elmlibregister.c
include routine for writing (user or system) elmrc.
Moved that to new file lib/write_rc.c.
- Changed src/save_opts.c to use lib/write_rc.c. This
means that elmrc option are saved on elmrc-info
order also when saved from Elm. [Partially E1]
- Removed offset from struct rc_save_info_rec. It is
no longer needed.

- Changed default so that term.h is only included on
Linux (and not curses.h)

- "unicode_value (uint16) can not possibly exceed 0xFFFF.
Remove the statement, that triggers a compiler warning."
From: From: Mikhail T. <mi@xxxxxxxxxxxxxxxxx>
* Patch removes ...->unicode_value > 0xFFFF -test
from cs_add_state_to_iconv() on shared_libs/iconv/iconv.c.

- utils/answer.c included some bogus aliases reading routines.
Replaced it fetch_alias(). It still is broken, but
that is little better...
Problem noted by: From: Mikhail T. <mi@xxxxxxxxxxxxxxxxx>

* Changes from Elm 2.4 PL122a (25)

- "tried PL122 - and compiled with new openssl-0.9.8 !:

cc -I../include -I/opt/ssl/include -fPIC -O3 -c pop.c -o pop.o
In file included from /opt/ssl/include/openssl/crypto.h:131,
from /opt/ssl/include/openssl/comp.h:5,
from /opt/ssl/include/openssl/ssl.h:176,
from elmtls.h:11,
from pop.c:10:
/opt/ssl/include/openssl/ossl_typ.h:146: parse error before `2'"
"a define collision between elm and openssl seams to be
occurring! The token "STORE" is used on both sources!"
Problem noted by: Axel Reinhold <axel@xxxxxxxxxxx>
> Changed order of includes.

- Do not add addresses parsed (to, from, cc) addresses twice
to header_rec. That occured when mail was not downloaded
IMAP mailbox was opened and headers was parsed second time
when mail was opened.

- Create elm.filelist and parent directories of elm.filelist
before starting subprocess on "elmregister master".

- Change from Elm 2.5:
- Now "!!" on s)ave command means "last folder"
instead of ".". [E2]
- Removed some character name macros
(COMMA,SPACE,COLON) [E3]
- Added LOCK_ to INCOMING/OUTGOING -macros. [E4]
- Removed month -macros (JANUARY, ...) [E5]
- Replaced error_description() with strerror() [E7]
- Changed commands on "Mail Pre-Send Screen" and
added some headers to it: (!!) [E8]
send s => y
forget f => f, n
copy file c => p
cc header c
bcc header b
subject header s
- Added [attach ...] command similar than
[include ...]. (!2) [E9]
- Allow [include ...] to not specify encoding. [E10]
- Grouped elmrc options to sections. [E11]
- Changed CONST => const [E12]

(!!) Note that R)eply-to is not on "Mail Pre-Send Screen"
screen, because on it's place ther is R)eturn-path.
T)o was already on "Mail Pre-Send Screen" so on
it there is no change.
(!2) [attach ...] command just causes 'content-disposition:
attachment' instead of 'content-disposition: inline'.
Attachment do not go to end of mail as on Elm 2.5.

- Changed some commands on "Mail Pre-Send Screen":
dsn d => D
pgp p => P
return-path r => R
- Upper and lowercase letters do not have longer
same command on "Mail Pre-Send Screen"


- Bacause "." is no longer special on file browser
elm -f .
do not work now (actually elm -f '!!' works).
- However
elm -f ''
start folder selection (both on Elm ME+ 2.4 and
Elm ME+ 2.5).
- Replaced some catgets() with CATGETS() macro.

- Changed LOCK_(INCOMING,OUTGOING) to be
enum lock_direction instead of macro.

- Made some changes so that -Wall do not warn
so much. [Partially E6]

- Changed VOLATILE => volatile

* New elmrc options from Elm 2.4 PL122 (25)
mime-parameters
imap-dir-sortby
local-dir-sortby
locale-charsets
pgp-encrypt-type
prompt-metamail
unstable-reverse-thread
verify-domain
verify-local-address
use-mailer-library

* Removed files correspond Elm 2.4 PL122 (25) files
2.4/doc/Alias.guide
2.4/doc/Config.guid
2.4/doc/Elm.cover
2.4/doc/Form.guide
2.4/doc/Ref.guide
2.4/doc/Users.guide

* Removed files from Elm 2.4 PL122 (25)
doc/tmac.n
lib/add_site.c
lib/strtokq.c

* Added files from Elm 2.4 PL122 (25)
src/screen/subpage.c
src/screen/wrapper.c
src/screen/menu_param.c
src/screen/def_scommon.h
src/screen/scommon.c
src/screen/header.c
lib/cs_unknown.c
lib/cs_wfallback.c
charset/MAPPINGS/koi8-e.txt
lib/mailer/Makefile.SH
hdrs/mailerlib.h
lib/mailer/def_mailer.h
lib/mailer/shared_mailer.c
lib/mailer/init.c
lib/mailer/outheaders.c
lib/rc_delay.c
melib/mime_param.c
lib/write_rc.c

* Renamed file from Elm 2.4 PL122 (25)
lib/mailer.c => lib/mailer/mailer.c

Correspond quotes from Elm 2.5 PL7 Changes file:

[E1] Major change to $libdir/elmrc-info. Previously, this
was used simply as comments for annotating the elmrc.
Now, it directs the production of the elmrc.

[E2] Under the s)ave command, the cookie to mean "same as the
last folderI used" has been changed from "." to "!!".

[E3] I've dropped most of the happy macros for character
names. If you want to use ':' then say that, not COLON.

[E4] Renamed INCOMING/OUTGOING to LOCK_INCOMING/LOCK_OUTGOING.

[E5] Dropped JANUARY, FEBRUARY, ... definitions from elm_defs.h.

[E6] The entire library directory has been ANSIfied and
checked with "gcc -Wall".

[E7] The error_description() routine has been dropped, and the entire
package has been modified to use strerror(). lib/errno.c has
been modified to provide a strerror() for those systems that
lack it.

[E8] Add header fields to the send menu. Only list
to/cc/subject and any non-null fields (from Paul Close
<pdc@xxxxxxxxxxxxxxxxxx>)

[E9] New [attach ...] command. Use exactly the same way as
[include ...]. Difference is inclusions appear in-line
with the message; attachments appear at the end.

[E10] If you omit the encoding from an [include ...] line,
Elm will guess an appropriate encoding rather than
assuming no encoding.

[E11] Major overhaul of the elmrc file. Options are now
grouped together logically rather than appearing in
alphabetical order.

[E12] The "elm_defs.h" provides for ANSI prototyping. It says:

#ifndef P_
# ifdef ANSI_C
# define P_(ARGS) ARGS
# else
# define P_(ARGS) ()
# define const
# endif
#endif





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 <hurtta+elm@xxxxxxxxxxxx>

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

> But anyway, Elm will never be MIME Conformant

- 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 as arguments. Giving of sevaral addresses as
one arguments 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>'

- readmsg does not use mailbox (lib/mbox.c) routines!
- p)rint command on article menu is still broken
(but you perhaps may use P)rint text command)
- Elm tools (on utils/*) do not use mime routines (melib).

- 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

- Conversion from Display character-set to Sending character-set
is not possible it should be refused (but if it is not detected
result of conversion will be practically empty.)

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

- Some Linux gethostbyname implementations accept ip-address as
name, but return garbage on h_name -field of struct hostent.

- " 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@xxxxxxxxxxxxxx>

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

- fastmail is broken

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


.



Relevant Pages