Archive-name: elm2.4ME+/PL125.0
Elm 2.4ME+ PL125 (25)
Before applying patch catenate parts 1 - 3 first.
Also it should be possible to apply parts 1 - 3
individually.
Part 0 do not include patch.
This patch is agaist Elm 2.4ME+ PL124 (25)
====================================== ( part 0/3 ) =========
Elm 2.4ME+ PL125 (25)
- Is available on ftp.elmme-mailer.org (or ftp.kapsi.fi)
via anonymous ftp
directory elmme-mailer.org/src/elm-2.4ME+/
files elm-2.4ME+PL125.patch.gz
and elm-2.4ME+125.tar.gz
or
<URL: ftp://ftp.elmme-mailer.org/elmme-mailer.org/src/elm-2.4ME+/elm-2.4ME+... >
and <URL: ftp://ftp.elmme-mailer.org/elmme-mailer.org/src/elm-2.4ME+/elm-2.4ME+... >
via WWW.
- Is available with
<URL: http://www.elmme-mailer.org/elm-2.4ME+PL125.patch.gz >
and <URL: http://www.elmme-mailer.org/elm-2.4ME+125.tar.gz >
via WWW.
- Is available with
<URL: http://koti.welho.com/khurtta/elm-2.4ME+PL125.patch.gz >
and <URL: http://koti.welho.com/khurtta/elm-2.4ME+125.tar.gz >
via WWW.
- It is uncertain if following ftp mirrors still operative.
Old versioans are available via anonymous ftp on
* ftp.funet.fi
directory pub/mirrors/ftp.elmme-mailer.org/elmme-mailer.org/src/elm-2.4ME+/
or pub/unix/mail/elm/elm-2.4ME+/
* ftp.noc.ntua.gr
directory pub/net/mail/elm-me/src/elm-2.4ME+/
SUMMARY: This release collects patches Elm 2.4ME+ PL124a (25)
- PL124d (25) and collects some backported fixes from
Elm ME+ 2.5. This release fixes fastmail and adds
certificate check to tls -module. Also some other
changes or fixes are included.
Before applying patch catenate parts 1 - 3 first.
Also it should be possible to apply parts 1 - 3
individually.
Part 0 do not include patch.
For applying thich patch use (on directory where Configure is)
patch -p1 < {catenated-file}
Changes on Elm 2.4ME+ PL125 (25) compared with Elm 2.4ME+ PL124 (25)
--------------------------------------------------------------------
SUMMARY: This release collects patches Elm 2.4ME+ PL124a (25)
- PL124d (25) and collects some backported fixes from
Elm ME+ 2.5. This release fixes fastmail and adds
certificate check to tls -module. Also some other
changes or fixes are included.
- Added more detailed documentation to elmregister
manual page.
- Fixed usage of wrong variable on cs_cmp_iso2022_gen()
- Fixed problem where converting pgp mail charset
did not worked, when replying.
- Fixed crash on --icon-name=xxx command line option.
- Fixed problem where "frm -q file" did not printed number of
messages.
- Fixed message
'protocol' paramater is missing from multipart/encrypted -type!
to
'protocol' parameter is missing from multipart/encrypted -type!
- Fixed compilation warning
syscall.c: In function `system_call':
syscall.c:222: warning: variable `sh' might be
clobbered by `longjmp' or `vfork'
- Changed address hurtta+...@posti.fmi.fi
to hurtta+...@siilo.fmi.fi
- Check also if Makefile-1.SH is newer than Makefile-1
(not only if Makefile.SH is newer than Makefile)
- Added
multipart/parallel (RFC 2045)
multipart/related (RFC 2387)
to lib/misc/mediatype.c. These are not supported,
but treated as multipart/mixed.
- Handle IPv6 URLs (RFC 2732) on List-* -headers, so
that they do not give parsing error. IPv6 addresses
are not supported however.
RFC 2732: Format for Literal IPv6 Addresses in URL's
- Changed "elmregister unstage" so that it does not print
bin/elmregister: Ignoring entry
/usr/local/lib/elmlibregister --
not in stage area (/usr/local/var/stage-elm2.4me+)
messages (without -v (verbose) option).
- Changed "elmregister replay" so that it does not print
bin/elmregister: (/usr/local/lib/elm.filelist)
Keeping file usr/local/lib/elm.terminalinfo from
old version
messages (without -v (verbose) option).
- Changed "elm -h" text.
- On elmregister remove temporary file after rename, if it still
exists. This may happen, if hard link already existed between names.
- Changed cs_stream_from_unknown() to use wcrtomb()
instead of wcsrtombs(). That way null characters (L'\0')
do not truncate string.
- Added possible fix to convert_to_wchar()
- Added possible fix to cs_streamclip_from_unknown()
- Changed elm to return failure (nonzero status) if there is
error on conversion of characters in included file on command
elm -i <filename> <address>
- Fix sorting directory messages of local directory
- Do not use erase_a_char() on enter_helper()
-- usage is not correct.
- Fixed debug output on scommon_ClearScreen()
- Fixed do_movement1(). This fixes updating of attachment
list when pressing UP key and current attachment is
changed to previous page (when there is more attachments
than to one page fits.)
- Added rewinddir() to browser_fill_local()
- Fixed some unknown command messages in case of
non-letter key is pressed.
- Fixed character set of %s expansion on attribution string.
- Fixed redraw loop on E)xtended command -screen on resizing
of screen.
- Fixed possible problem on mbx_move_temp_file()
where stat and lstat buffers are used when they are
uninitialized (when syscall failed).
- Fixed problem where saving options did not
uncommented changed userlevel (or any other enumerated
variable).
- Fixed problem where turning OFF "M)enu display " on
options editor do not disabled menu when it is
returned to mailbox screen.
- Fixed problem where error and transient messages did
not handled UTF-8 text correct.
- Added possible fix for menu_set_default()
- Added redrawing of browser window if enter is rejected,
because select_dir_item() trashes directory listing.
- Fixed so that ioctl() on cur_ScreenSize() uses terminal_fd
variable and not constant 1 as file description.
- Fixed crash on "Metamail selection" screen, when RIGHT
key is pressed.
- Fixed valgrind reported memory leak:
4,502 (60 direct, 4,442 indirect) bytes in 2 blocks
are definitely lost in loss record 29 of 31
at 0x401C422: malloc (vg_replace_malloc.c:149)
by 0x8195CE8: safe_malloc (safemalloc.c:48)
by 0x81A3A38: malloc_string (string.c:80)
by 0x81A4CB2: cat_strings (string.c:514)
by 0x81223D8: browser_cat_local (localmbx.c:1074)
by 0x8134F81: give_edit_buffer (savefolder.c:3698)
by 0x8072417: gb_browser (browser.c:601)
by 0x8090892: enter_helper (in_utils.c:816)
by 0x8073071: run_browser (browser.c:1025)
by 0x807327A: folder_browser (browser.c:1100)
by 0x80AA224: OpenMailbox (openmailbox.c:38)
- Fixed valgrind reported memory leak:
4,448 (52 direct, 4,396 indirect) bytes in 1 blocks
are definitely lost in loss record 25 of 30
at 0x401C422: malloc (vg_replace_malloc.c:149)
by 0x8195CF8: safe_malloc (safemalloc.c:48)
by 0x8132218: browser_malloc2 (savefolder.c:2455)
by 0x813229A: browser_malloc (savefolder.c:2481)
by 0x813251C: new_browser (savefolder.c:2571)
by 0x80AA1B6: OpenMailbox (openmailbox.c:30)
- Do not malloc empty array on ascify_string()
- Fixed valgrind reported memory leak:
10 bytes in 5 blocks are definitely lost in loss record 1 of 23
at 0x401C422: malloc (vg_replace_malloc.c:149)
by 0x8195D08: safe_malloc (safemalloc.c:48)
by 0x8172A65: hdr_text (hdrdecode.c:502)
- Fixed bug where "mailer = submission" was giving
RET parameter to RCPT command when it must be on
MAIL command on submission (or SMTP) protocol.
- Fix small error on cat_strings() where wrong charset
name is printed when printind is specified.
- Fix small error on ascii_need_quote() and
string_need_quote on melib/mime_param.c. Both was
missing [] characters.
- Fixed error message on delete_alias_files()
- Added following new types to doc/mime.types file:
application/vnd.oasis.opendocument.chart
application/vnd.oasis.opendocument.chart-template
application/vnd.oasis.opendocument.formula
application/vnd.oasis.opendocument.formula-template
application/vnd.oasis.opendocument.graphics
application/vnd.oasis.opendocument.graphics-template
application/vnd.oasis.opendocument.image
application/vnd.oasis.opendocument.image-template
application/vnd.oasis.opendocument.presentation
application/vnd.oasis.opendocument.presentation-template
application/vnd.oasis.opendocument.spreadsheet
application/vnd.oasis.opendocument.spreadsheet-template
application/vnd.oasis.opendocument.text
application/vnd.oasis.opendocument.text-master
application/vnd.oasis.opendocument.text-template
application/vnd.oasis.opendocument.text-web
- Fixed the error where hdr_comment() was not correctly
dequoted \ -escaping.
- Command sequence
m)ail -> view) -> ' ' -> m)ail
and
m)ail -> view) -> ' ' -> b)ounce
and
m)ail -> view) -> ' ' -> r)eply
and
m)ail -> view) -> ' ' -> f)orward
and
m)ail -> view) -> ' ' -> g)roup reply
and
m)ail -> view) -> ' ' -> Mailing list I)nfo
and
m)ail -> view) -> ' ' -> ^K (Mail PGP public key)
and
m)ail -> view) -> ' ' -> generic R)eply
were possible. These were sending mail (recursively).
Added flag SHOWMSG_NOMAIL which disables
mailing commands.
Also disallowed
m)ail -> view) -> ' ' -> V)iew digests
because there also are mailing commands.
- Added possible fix for get_word_from_string()
- "The attached email triggers a bug in ELM 2.4ME+ PL123.
The problem is that reading this email message causes
continuous redraw of the screen, and you have to kill elm
to exit. I think it is caused by too many attachments."
Reported by: Bruce Momjian <br...@momjian.us>
> Fixed "Metamail selection" / "Mailcap program selection"
prompt screen.
- "I'm attaching the mailbox consisting of just this message.
To reproduce the problem, save it, uncompress, and try
searching through the body of the message (using elm) for
a string, such as "iegor":
bunzip /tmp/spam-crash.bz2
elm -f /tmp/spam-crash
//
iegor
The double-free happens in the following stack:
(gdb) where
#0 0x0000000800a9855c in kill () from /lib/libc.so.6
#1 0x0000000800a973ed in abort () from /lib/libc.so.6
#2 0x0000000800a36ae5 in _UTF8_init () from /lib/libc.so.6
#3 0x0000000800a36b1c in _UTF8_init () from /lib/libc.so.6
#4 0x0000000800a37abd in _UTF8_init () from /lib/libc.so.6
#5 0x00000000004978f0 in arrange_decoded ()
#6 0x000000000049ee1b in simple_mime_walk ()
#7 0x000000000049ecf7 in simple_mime_walk ()
#8 0x000000000046bae3 in mc_match_in_text_mbx ()
#9 0x0000000000469ced in mcommon_match_in_text ()
#10 0x0000000000457cfa in pattern_match ()
#11 0x00000000004351fe in motion ()
#12 0x0000000000435945 in mailbox_command ()
#13 0x0000000000445ae6 in compute_visible ()
#14 0x0000000000446560 in main_messages_menu ()
#15 0x00000000004347fd in main ()"
Reported by: Mikhail T. <mi+...@aldan.algebra.com>
> Fixed valgrind reported invalid free:
Invalid free() / delete / delete[]
at 0x401CFCF: free (vg_replace_malloc.c:235)
by 0x8195D38: safe_free (safemalloc.c:104)
by 0x8105B6F: arrange_decoded (mime_decode.c:2532)
by 0x8111349: simple_mime_walk (mimewalk.c:150)
by 0x811118C: simple_mime_walk (mimewalk.c:94)
by 0x80C880B: mc_match_in_text_mbx (message_pattern.c:417)
by 0x80C5D93: mcommon_match_in_text (mcommon.c:211)
by 0x80AE09E: pattern_match (pattern.c:438)
by 0x8081755: motion (elm.c:1744)
by 0x807FA44: mailbox_command (elm.c:862)
by 0x80977BD: main_messages_loop (mailbox.c:233)
by 0x809822E: main_messages_menu (mailbox.c:634)
Address 0x4491350 is 0 bytes inside a block of size 20 free'd
at 0x401CFCF: free (vg_replace_malloc.c:235)
by 0x8195D38: safe_free (safemalloc.c:104)
by 0x8105B57: arrange_decoded (mime_decode.c:2528)
by 0x8111349: simple_mime_walk (mimewalk.c:150)
by 0x811118C: simple_mime_walk (mimewalk.c:94)
by 0x80C880B: mc_match_in_text_mbx (message_pattern.c:417)
by 0x80C5D93: mcommon_match_in_text (mcommon.c:211)
by 0x80AE09E: pattern_match (pattern.c:438)
by 0x8081755: motion (elm.c:1744)
by 0x807FA44: mailbox_command (elm.c:862)
by 0x80977BD: main_messages_loop (mailbox.c:233)
by 0x809822E: main_messages_menu (mailbox.c:634)
- "Not sure if you have fixed this in later releases but in ELM 2.4ME+
PL123 if I try to save a file attachment of type "image/jpeg" and the
file name already has extension "jpg" elm suggests the additional
extension "jpeg"."
Reported by: Bruce Momjian <br...@momjian.us>
> Filename was not correctly recorded on attach_save()
- Fixed fastmail.
- Moved needs_encoding() from src/mime.c to lib/misc/mimesend.c
- Moved base64_encode(), line_quoted_printable_encode() and
quoted_printable_encode() from src/mime_encode.c to
lib/mailer/mime_encode.c
- Changed fastmail so that it uses quoted-printable or base64
encoding if needed.
- Changed fastmail so that it adds Content-Type header field
and charset parameter to it if needed. Type is assumed to
be text/plain on most cases (given file is supposed to be
text body of mail). However if content (and possible
filename extension) matches to type given on mime.types
file (or on global elm.mimetypes file or on built-in
definition) that type is used. Fastmail ignores definitions
which used filename extension alone. However if file looks like
like binary, then application/octet-stream is used instead.
- Added to fastmail a warning message:
In-reply-to header should include only message-id
That message can be disabled with elmrc option
add-in-reply-to-phrase.
- Give error of -R option on fastmail includes 8-bit data.
- Give error of -P option on fastmail includes 8-bit data.
- Fastmail did not printed To: -header field. Added that.
- Added -t (content-type) option to fastmail. If fastmail
detect something that it is not text, option -t text/plain
can be used.
- Allow setting character set with "-t ;charset=charset-value"
option on fastmail.
- Changed consideration when lines (of attachments) are
normalized.
- If content type is not textual, 7bit and 8bit encodings
should not be used. Changed default encding on these cases.
- Warn if 7bit or 8bit encoding is used for non-textual types.
- Added test to Configure to look EWOULDBLOCK from
/usr/include/asm-generic/errno.h on Linux
- Added error/warning messages mpar_multipart_parse() for
case there is Content-Transfer-Encoding other than 7bit,
8bit or binary:
PARSE ERROR: ... Content-Transfer-Encoding is ignored
for multipart type
PARSE ERROR: non-identity Content-Transfer-Encoding
is ignored for multipart type
PARSE ERROR: ... Content-Transfer-Encoding is unsupported
for multipart type
PARSE ERROR: non-identity Content-Transfer-Encoding is
unsupported for multipart type
Actual parsing of multipart type is not changed.
- Added error/warning messages mpar_rfc822_parse() for
case there is Content-Transfer-Encoding other than 7bit,
8bit or binary:
PARSE ERROR: ... Content-Transfer-Encoding is ignored
for message/rfc822 type
PARSE ERROR: non-identity Content-Transfer-Encoding is
ignored for message/rfc822 type
PARSE ERROR: ... Content-Transfer-Encoding is unsupported
for message/rfc822 type
PARSE ERROR: non-identity Content-Transfer-Encoding is
unsupported for message/rfc822 type
Actual parsing of message/rfc822 type is not changed.
- Added error message for unknown Content-Transfer-Encoding
values:
PARSE ERROR: ... Content-Transfer-Encoding is unsupported
- Added that
message-hide-hack = FOLDER INTERNAL DATA
elmrc option is used also on frm -program.
- Don't die on installation if on elm.filelist have command
letter 'r', that is used by Elm ME+ 2.5
- Added that tls module prints message if IMAP or POP
server's certificate verified. IMAP or POP server's
name is NOT verified against used DNS name. First CN
from server's certificate's subject is printed (often
last (and only) CN is equivalent of used DNS name).
- Added elmrc options to "tls:" section
"trusted-ca-certificates-file" and
"trusted-ca-certificates-dir".
Option "tls:trusted-ca-certificates-file" gives
a file of CA certificates in PEM format.
Option "tls:trusted-ca-certificates-dir" gives
a directory containing CA certificates in PEM
format. These option values are parameters
of SSL_CTX_load_verify_locations().
Default values of these options are set
by X509_get_default_cert_file() and
X509_get_default_cert_dir().
WARNING: tls module does not do server identity check
as required on RFC 2595.
tls module does not consult certificate
revocation list (CRL) when checking server's
certificate (except perhaps from
directory given on option
"tls:trusted-ca-certificates-dir")
- Reimplemented elmrc variable "rand-file" on
"tls:" section as rc_DT_ESTR.
- Added check that given rand-file is readable.
- Reimplemented elmrc variable "rand-egd" on
"tls:" section as rc_DT_ESTR.
- When values fail them are replaced with "none".
Mark them changed so that it is saved to .elmrc.
That replaces default value with explicit "none"
if default value is not working.
- Changed that StreamInfo() takes also struct string
argument.
- Added function == SS_verify to StreamInfo()
- Fixed problem where elmrc options of shared
libraries was not initialized when they was
printed with "elm -w".
- Added possible fix to get_option_type()
- Changed add_bytes() on elmregister so that
it reports filename on failed read.
- Changed add_bytes() so that it handles
unexpected EOF better.
- If configure is set DEFAULT_MAILER_PATH to "none"
and it is on use, print message runtime:
Give "mailer" on RC file: <path>
- Don't print
Mailer path for unknown not specified
when initializing default mailer.
- Fixed compilation warning on Ubuntu 9.04
mailer.c: In function "init_default_mailer":
mailer.c:827: warning: assignment discards
qualifiers from pointer target type
- Fixed compilation warning on Ubuntu 9.04
localmbx.c: In function "mbx_dotlock_file":
localmbx.c:1915: warning: ignoring return
value of "write", declared with
attribute warn_unused_result
- Fixed compilation warning on Ubuntu 9.04
pop.c: In function "update_uidls":
pop.c:258: warning: ignoring return value
of "ftruncate", declared with attribute
warn_unused_result
- Fixed compilation warning on Ubuntu 9.04
file_util.c: In function "elm_chown":
file_util.c:327: warning: ignoring return value
of "chown", declared with attribute
warn_unused_result
- Fixed compilation warning on Ubuntu 9.04
opt_utils.c: In function "gethostdomain":
opt_utils.c:45: warning: ignoring return value
of "fgets", declared with attribute
warn_unused_result
- Fixed compilation warning on Ubuntu 9.04
panic.c: In function "print_str_err":
panic.c:54: warning: ignoring return value of "write",
declared with attribute warn_unused_result
- Fixed compilation warning on Ubuntu 9.04
panic.c: In function "print_num_err":
panic.c:69: warning: ignoring return value of "write",
declared with attribute warn_unused_result
- Fixed compilation warning on Ubuntu 9.04
panic.c: In function "panic":
panic.c:117: warning: ignoring return value of "write",
declared with attribute warn_unused_result
- Fixed compilation warning on Ubuntu 9.04
panic.c: In function "panic":
panic.c:125: warning: ignoring return value of "write",
declared with attribute warn_unused_result
- Fixed compilation warning on Ubuntu 9.04
syscall.c: In function "start_run":
syscall.c:655: warning: ignoring return value of "write",
declared with attribute warn_unused_result
syscall.c:662: warning: ignoring return value of "write",
declared with attribute warn_unused_result
syscall.c:688: warning: ignoring return value of "write",
declared with attribute warn_unused_result
syscall.c:695: warning: ignoring return value of "write",
declared with attribute warn_unused_result
syscall.c:708: warning: ignoring return value of "write",
declared with attribute warn_unused_result
syscall.c:720: warning: ignoring return value of "write",
declared with attribute warn_unused_result
syscall.c:725: warning: ignoring return value of "write",
declared with attribute warn_unused_result
syscall.c:733: warning: ignoring return value of "write",
declared with attribute warn_unused_result
- Fixed compilation warning on Ubuntu 9.04
pgp_decode.c: In function "pgp_decrypt_init":
pgp_decode.c:415: warning: ignoring return value
of "write", declared with attribute warn_unused_result
pgp_decode.c:417: warning: ignoring return value
of "write", declared with attribute warn_unused_result
- Fixed compilation warning on Ubuntu 9.04
canceled_mail.c: In function "index_initialize":
canceled_mail.c:1435: warning: ignoring return value
of "ftruncate", declared with attribute
warn_unused_result
- Fixed compilation warning on Ubuntu 9.04
pgp.c: In function "pgp_encrypt":
pgp.c:657: warning: ignoring return value of "pipe",
declared with attribute warn_unused_result
pgp.c:873: warning: ignoring return value of "write",
declared with attribute warn_unused_result
pgp.c:874: warning: ignoring return value of "write",
declared with attribute warn_unused_result
- Fixed compilation warning on Ubuntu 9.04
syscall.c: In function "fork_execl":
syscall.c:245: warning: ignoring return value of
"write", declared with attribute warn_unused_result
syscall.c:253: warning: ignoring return value of
"write", declared with attribute warn_unused_result
syscall.c:276: warning: ignoring return value of
"write", declared with attribute warn_unused_result
- Fixed compilation warning on Ubuntu 9.04
answer.c: In function "main":
answer.c:183: warning: ignoring return value of "fgets",
declared with attribute warn_unused_result
answer.c:192: warning: ignoring return value of "fgets",
declared with attribute warn_unused_result
answer.c:201: warning: ignoring return value of "fgets",
declared with attribute warn_unused_result
answer.c:210: warning: ignoring return value of "fgets",
declared with attribute warn_unused_result
answer.c:220: warning: ignoring return value of "fgets",
declared with attribute warn_unused_result
answer.c:230: warning: ignoring return value of "fgets",
declared with attribute warn_unused_result
answer.c:240: warning: ignoring return value of "fgets",
declared with attribute warn_unused_result
answer.c:249: warning: ignoring return value of "fgets",
declared with attribute warn_unused_result
answer.c:259: warning: ignoring return value of "fgets",
declared with attribute warn_unused_result
answer.c:268: warning: ignoring return value of "fgets",
declared with attribute warn_unused_result
answer.c:292: warning: ignoring return value of "system",
declared with attribute warn_unused_result
- Fixed compilation warning on Ubuntu 9.04
elmrc-write.c: In function "main":
elmrc-write.c:259: warning: ignoring return value of
"ftruncate", declared with attribute warn_unused_result
- Fixed compilation warning on Ubuntu 9.04
elmlibregister.c: In function "main":
elmlibregister.c:242: warning: ignoring return value
of "ftruncate", declared with attribute
warn_unused_result
New files:
lib/misc/mimesend.c
lib/mailer/mime_encode.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 <e...@elmme-mailer.org>
(was hurtta+...@posti.FMI.FI)
- 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>'
- 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 <n...@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. The 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
- mailer=sendmail; allow-set-sender=yes works only
when sendmail is installed as setuid root because this
also uses sendmmail -bv {address} to confirm existense
of envelope sender address.
- Sometimes installation failes on
elmrc-write -G -I /usr/local/lib/elm.rc.old-values
command on replay phase (elmregister replay). This
however is last operation, so it does not matter.
Collector of these patches
--------------------------
Kari Hurtta <e...@elmme-mailer.org>
Kari Hurtta <hurtta+...@siilo.FMI.FI>
diffstat:
ConfTool/CharMap | 2
ConfTool/GenCharmap | 2
ConfTool/GenMimetypes | 2
ConfTool/GenTerminalinfo | 2
ConfTool/GrepValue | 2
ConfTool/LocaleMap | 2
ConfTool/Substitute | 2
ConfTool/validcharset.c | 5
Configure | 9
Instruct | 2
MANIFEST | 2
MIME.txt | 74 !!!
Makefile-1.SH | 13
Makefile.SH | 12
README.ME+ | 841 ++++++++++++++++++++++++++++++++++++-
doc/Makefile.SH | 6
doc/answer.1 | 2
doc/elm.1 | 149 !!!!!!
doc/elmalias.1 | 2
doc/elmbindata.1 | 2
doc/elmcharset.1 | 2
doc/elmlibregister.1 | 2
doc/elmmimetypes.1 | 2
doc/elmrc-info | 6
doc/elmrc-write.1 | 2
doc/elmregister.1 | 383 ++++++++++!!!!!!!
doc/elmstringconvert.1 | 2
doc/elmterminal.1 | 2
doc/elmunidata.1 | 2
doc/fastmail.1 | 35
doc/frm.1 | 2
doc/mime.types | 80 !!!
doc/newalias.1 | 2
doc/newmail.1 | 2
doc/readmsg.1 | 2
hdrs/bindata.h | 2
hdrs/connection_imp.h | 7
hdrs/cs_imp.h | 8
hdrs/cs_terminal.h | 2
hdrs/defs.h | 9
hdrs/defs_major.h | 9
hdrs/elm.h | 11
hdrs/elmlib.h | 17
hdrs/elmutil.h | 11
hdrs/headers.h | 9
hdrs/mailer_imp.h | 8
hdrs/mailerlib.h | 24 !
hdrs/mboxlib.h | 6
hdrs/mbx_imp.h | 8
hdrs/me.h | 29 !
hdrs/melib.h | 8
hdrs/menu.h | 9
hdrs/menu2.h | 9
hdrs/mime.h | 13
hdrs/misclib.h | 21
hdrs/mmaputil.h | 10
hdrs/mpar_imp.h | 9
hdrs/ndbz.h | 9
hdrs/patchlevel.h | 10
hdrs/rc_imp.h | 8
hdrs/readmsg.h | 6
hdrs/regexp.h | 9
hdrs/s_elm.h | 2
hdrs/s_fastmail.h | 13
hdrs/s_me.h | 24 +
hdrs/save_opts.h | 9
hdrs/sb_imp.h | 8
hdrs/shared_imp.h | 12
hdrs/ss_imp.h | 24 !
hdrs/state_imp.h | 7
hdrs/sysdefs.SH | 9
hdrs/unidata.h | 8
lib/Makefile.SH | 6
lib/aliasdb.c | 9
lib/atonum.c | 9
lib/bindata.c | 4
lib/can_access.c | 9
lib/can_open.c | 9
lib/cancel.c | 8
lib/charset.c | 9
lib/charset_input.c | 8
lib/chloc.c | 9
lib/cs_binary.c | 8
lib/cs_fallback.c | 8
lib/cs_iso2022.c | 10
lib/cs_unknown.c | 153 !!!!!!
lib/cs_utf.c | 8
lib/cs_wfallback.c | 8
lib/date_util.c | 9
lib/debug.c | 10
lib/dispaddr.c | 9
lib/dynarray.c | 4
lib/errno.c | 9
lib/expand.c | 9
lib/file_util.c | 21
lib/gcos_name.c | 9
lib/get_tz.c | 9
lib/getaddr.c | 8
lib/getaddrfrm.c | 10
lib/getarpdate.c | 9
lib/getfullnam.c | 9
lib/hdrdecode.c | 43 +
lib/hdrencode.c | 8
lib/headers.c | 8
lib/id_phrase.c | 20
lib/in_string.c | 8
lib/iso2022.c | 8
lib/iso2022_map.c | 8
lib/istrcmp.c | 9
lib/ldstate.c | 9
lib/len_next.c | 9
lib/mail_gets.c | 9
lib/mailer/Makefile.SH | 12
lib/mailer/def_mailer.h | 11
lib/mailer/init.c | 10
lib/mailer/mailer.c | 52 !!
lib/mailer/mime_encode.c | 267 ++++++++++++
lib/mailer/outheaders.c | 8
lib/mailer/shared_mailer.c | 8
lib/mbox/Makefile.SH | 5
lib/mbox/def_mbox.h | 6
lib/mbox/error.c | 6
lib/mbox/expires.c | 9
lib/mbox/forwarded.c | 9
lib/mbox/getword.c | 9
lib/mbox/header_cmp.c | 9
lib/mbox/headers.c | 8
lib/mbox/imap.c | 68 !!!
lib/mbox/init.c | 6
lib/mbox/localmbx.c | 110 !!!!
lib/mbox/mbox.c | 8
lib/mbox/mk_lockname.c | 9
lib/mbox/parsarpdat.c | 9
lib/mbox/pop.c | 85 !!!
lib/mbox/realfrom.c | 9
lib/mbox/remote_mbx.c | 6
lib/mbox/savefolder.c | 7
lib/mbox/shared_mbox.c | 6
lib/mbox/state.c | 6
lib/misc/Makefile.SH | 8
lib/misc/charset.c | 6
lib/misc/def_misc.h | 6
lib/misc/init.c | 6
lib/misc/mediatype.c | 26 !
lib/misc/mime_types.c | 6
lib/misc/mimesend.c | 129 +++++
lib/misc/terminal.c | 6
lib/mk_aliases.c | 11
lib/mmaputil.c | 8
lib/mparse.c | 9
lib/msgcat.c | 2
lib/ndbz.c | 9
lib/okay_addr.c | 10
lib/opt_utils.c | 49 +!
lib/outheaders.c | 8
lib/output.c | 8
lib/panic.c | 18
lib/posixsig.c | 9
lib/precompiled_sets.c | 8
lib/putenv.c | 8
lib/qstrings.c | 9
lib/rc_delay.c | 6
lib/rc_handle.c | 18
lib/read_rc.c | 8
lib/remote_mbx.c | 8
lib/reverse.c | 9
lib/rfc822tlen.c | 9
lib/safemalloc.c | 9
lib/safeopen.c | 9
lib/sb_file.c | 8
lib/sb_mem.c | 8
lib/schedule.c | 8
lib/service_list.c | 8
lib/shared.c | 77 +
lib/shared_all.c | 7
lib/shared_base.c | 7
lib/shared_connect.c | 7
lib/shiftlower.c | 9
lib/state.c | 9
lib/streamsched.c | 74 ++!
lib/strfcpy.c | 9
lib/strftime.c | 9
lib/strincmp.c | 9
lib/string.c | 85 !!!
lib/stringbuffer.c | 8
lib/stringtok.c | 8
lib/striparens.c | 9
lib/strmcpy.c | 9
lib/strstr.c | 9
lib/syscall.c | 38 !
lib/terminal.c | 8
lib/unicode.c | 16
lib/unidata.c | 8
lib/write_hdr.c | 8
lib/write_rc.c | 8
melib/Makefile.SH | 9
melib/def_melib.h | 2
melib/encode.c | 9
melib/mailcap.c | 8
melib/mime.c | 9
melib/mime_decode.c | 20
melib/mime_param.c | 17
melib/mime_parse.c | 17
melib/mime_selector.c | 8
melib/mimewalk.c | 8
melib/mpar_leaf.c | 8
melib/mpar_multipart.c | 49 +!
melib/mpar_rfc822.c | 47 +!
melib/mparser.c | 8
melib/parse_helper.c | 7
melib/parse_util.c | 7
melib/partial.c | 8
melib/pgp_decode.c | 36 !
melib/type_check.c | 6
nls/C/C/C/s_elm.m | 8
nls/C/C/C/s_fastmail.m | 29 +
nls/C/C/C/s_me.m | 48 ++
nls/Makefile.SH | 2
shared_libs/Makefile.SH | 6
shared_libs/iconv/Makefile.SH | 6
shared_libs/iconv/README.ME+ | 2
shared_libs/iconv/elmiconv.h | 8
shared_libs/iconv/iconv.c | 8
shared_libs/include/elmshared.h | 8
shared_libs/include/shared.h | 8
shared_libs/smtp/Makefile.SH | 6
shared_libs/smtp/README.ME+ | 2
shared_libs/smtp/elmsmtp.h | 8
shared_libs/smtp/smtp.c | 20
shared_libs/tls/Makefile.SH | 6
shared_libs/tls/README.ME+ | 109 +++!
shared_libs/tls/elmtls.h | 19
shared_libs/tls/imap.c | 88 !!!
shared_libs/tls/pop.c | 81 !!!
shared_libs/tls/tls.c | 844 ++++++++++++-!!!!!!!!!!!!!!!!!!!!!!!
src/Makefile.SH | 8
src/a_edit.c | 8
src/a_quit.c | 9
src/a_screen.c | 9
src/a_sort.c | 9
src/addr_util.c | 9
src/alias.c | 9
src/aliases/Makefile.SH | 2
src/aliases/alias_alloc.c | 8
src/aliases/aliases.c | 8
src/aliases/astorage.c | 8
src/aliases/astorage_hash.c | 8
src/aliases/def_aliases.h | 2
src/aliases/find_alias.c | 9
src/aliaslib.c | 9
src/args.c | 13
src/attach_menu.c | 86 +!!
src/block/Makefile.SH | 2
src/block/block.c | 6
src/block/def_block.h | 6
src/block/fileblock.c | 6
src/block/stringblock.c | 6
src/browser.c | 187 +++!!!!
src/builtin++.c | 9
src/calendar.c | 9
src/canceled.c | 10
src/date.c | 8
src/def_elm.h | 6
src/delete.c | 8
src/digest.c | 16
src/duplicate_removal.c | 15
src/edit.c | 9
src/editmsg.c | 9
src/elm.c | 12
src/exitprog.c | 9
src/extended.c | 25 !
src/file.c | 9
src/file_util.c | 9
src/fileio.c | 15
src/forms.c | 9
src/hdrconfg.c | 9
src/help.c | 9
src/in_utils.c | 38 !
src/init.c | 9
src/leavembox.c | 9
src/limit.c | 9
src/list/Makefile.SH | 2
src/list/def_list.h | 6
src/list/info.c | 17
src/list/list.c | 6
src/list/reply.c | 19
src/list/select.c | 19
src/list/visit_mailbox.c | 7
src/lock.c | 9
src/mailbox.c | 16
src/mailmsg1.c | 24 !
src/mailmsg2.c | 48
src/menu.c | 9
src/menu2.c | 9
src/menu_common/Makefile.SH | 2
src/menu_common/alias.c | 7
src/menu_common/alias_item.c | 9
src/menu_common/alias_limit.c | 7
src/menu_common/alias_pattern.c | 7
src/menu_common/alias_screen.c | 7
src/menu_common/def_mcommon.h | 2
src/menu_common/mailbox.c | 7
src/menu_common/mailbox_item.c | 7
src/menu_common/mcommon.c | 7
src/menu_common/message_limit.c | 7
src/menu_common/message_pattern.c | 7
src/menu_common/message_screen.c | 7
src/messages/Makefile.SH | 2
src/messages/canceled_mail.c | 12
src/messages/def_messages.h | 7
src/messages/digest.c | 8
src/messages/duplicate.c | 6
src/messages/header_alloc.c | 8
src/messages/messages.c | 8
src/messages/partial.c | 8
src/messages/status.c | 6
src/messages/status_common.c | 6
src/messages/storage.c | 8
src/messages/thread.c | 6
src/messages/thread_messages.c | 6
src/metapager.c | 8
src/mime.c | 107 ----
src/mime_encode.c | 278 -----------
src/mkhdrs.c | 9
src/movement.c | 10
src/newmbox.c | 9
src/openmailbox.c | 15
src/options.c | 26 !
src/out_utils.c | 46 !!
src/partial.c | 17
src/pattern.c | 8
src/pgp.c | 31 !
src/quit.c | 9
src/read_rc.c | 9
src/remail.c | 20
src/reply.c | 9
src/save_opts.c | 9
src/savecopy.c | 9
src/screen.c | 8
src/screen/Makefile.SH | 2
src/screen/context.c | 7
src/screen/cur_process.c | 8
src/screen/curs_input.c | 9
src/screen/curses.c | 23 !
src/screen/def_screen.h | 2
src/screen/header.c | 4
src/screen/init.c | 9
src/screen/menu_param.c | 7
src/screen/scommon.c | 9
src/screen/screen.c | 10
src/screen/subpage.c | 7
src/screen/termbuffer.c | 8
src/screen/termcharset.c | 8
src/screen/termtitle.c | 9
src/screen/wrapper.c | 7
src/showmsg.c | 47
src/showmsg_1.c | 17
src/showmsg_c.c | 51 +!
src/signals.c | 9
src/sort.c | 9
src/string2.c | 9
src/strings.c | 9
src/syscall.c | 288 +++-!!!!!!!
src/thread.c | 6
src/url/Makefile.SH | 2
src/url/def_url.h | 6
src/url/http.c | 6
src/url/imap.c | 6
src/url/mailto.c | 6
src/url/no_url.c | 6
src/url/url.c | 113 !!!!
src/url/url_element.c | 6
src/url/url_path.c | 6
src/utils.c | 9
src/view_folder.c | 9
src/view_one_thread.c | 14
utils/Makefile.SH | 19
utils/answer.c | 57 !!
utils/charmapcopy.c | 8
utils/charmapcopy.h | 8
utils/checkalias.SH | 2
utils/elmalias.c | 9
utils/elmbindata.c | 8
utils/elmcharset.c | 8
utils/elmlibregister.c | 12
utils/elmmimetypes.c | 6
utils/elmrc-write.c | 12
utils/elmregister.c | 273 ++!!!!!!!!
utils/elmstringconvert.c | 8
utils/elmterminal.c | 8
utils/elmunidata.c | 8
utils/fastmail.c | 676 ++++++++++!!!!!!!!!!!!!!!!!!!
utils/from.c | 56 +!
utils/listalias.SH | 2
utils/mailrc.awk | 2
utils/messages.SH | 2
utils/newalias.c | 9
utils/newmail.c | 9
utils/printmail.SH | 2
utils/prlong.c | 9
utils/readmsg/Makefile.SH | 6
utils/readmsg/def_readmsg.h | 6
utils/readmsg/folder.c | 6
utils/readmsg/fstate.c | 6
utils/readmsg/readmsg.c | 8
utils/readmsg/wrapper.c | 6
utils/reghelper.c | 8
407 files changed, 3016 insertions(+), 442 deletions(-), 6113 modifications(!)
/ Kari Hurtta