$Header: /home/users/hurtta/cvsroot/mail/elmme+/README.ME+,v 2.183 2009-10-31 13:51:11 hurtta Exp $ Version Elm2.4ME+ PL0 (25) is based on version Elm2.4 PL24 ME8b+. Version Elm2.4 PL24 ME8b+ is based on version Elm2.4 PL24 ME8b. Version Elm2.4 PL24 ME8b is done by Michael Elkins . For details, check file ANNOUNCE.ME [ Michael Elkins posted the equivalent of MIME code in Elm2.4 PL24 ME8b to Elm Development Coordinator. Later changes are not posted to Elm Development Coordinator. ] Version Elm2.4 PL24 ME8b is based on version Elm2.4 PL24. Version Elm2.4ME+ PLx (25) includes patch of version Elm2.4 PL25. Version ElmME+ 2.5.x is based on version Elm2.4ME+ PLx (25) and incorporates code from of Elm 2.5. =================================================================== * Changelog of Elm ME+ 2.5 Changes on Elm ME+ 2.5 PLalpha22 compared with Elm ME+ 2.5 PLalpha21 -------------------------------------------------------------------- SUMMARY: This release adds Elm 2.5 style file browser with some additions. This is available for local files. Elm ME+ style file and folder browser are still available for all cases (for example for IMAP folders). This release also adds couple of elmrc options related to the new file browser and some commands for function keys. These are specially used on the Elm ME+ style browser. This release also adds some other changes and fixes. - Fixed debug output on scommon_ClearScreen() - Fix sorting directory messages of local directory - Do not use erase_a_char() on enter_helper() -- usage is not correct. - Removed can_access(). In most of places can_open() is used instead. Also access() uses real uid and gid anyway and Elm does not use setreuid/setregid for uid/gid swapping. - Fixed do_movement1() - Moved part of options screen handling from src/options.c to src/opt_generic.c. This allows several options screens. - Added Elm 2.5 style file browser. On most places however Elm 2.4ME+ style file and folder browser is used. [L1] [L2] - If there is default extension given for saving of file and selected file does not match, then Elm 2.5 style file browser returns to Elm ME+ style browser for filename completion. - Command 'f' on Elm 2.5 style file browser fills default filename and returns to Elm ME+ style browser. - Command '$' on Elm 2.5 style file browser resynchronizes directory. - Implemented options menu on Elm 2.5 style file browser with generic option handling routines (src/opt_generic.c). - Command 'm' on Elm 2.5 style file browser creates new directory. - Added help file (doc/help-fbrowser) for Elm 2.5 style file browser. Most of text is from Elm 2.5.7. [L3] - Added elmrc option "file-browser-show-dotfiles". If this is set, .dotfiles are shown on Elm 2.5 style file browser (.dotdirectories are always shown). - Added elmrc option "file-browser-sortby". This specifies sorting order for Elm 2.5 style file browser. Possible values are "none", "name" and "mtime" (and also "reverse-name" and "reverse-mtime"). Default values is from elmrc option "local-dir-sortby". - Added elmrc option "file-browser-show-title". If this is set (default is userlevel = 0), title of columns is shown on Elm 2.5 style file browser. - Added elmrc option "file-browser-show-protection". If this is set (default), permission and owner columns are shown on Elm 2.5 style file browser. - Added missing header_param_changed() -hook call to menu_header_change() - Moved struct IMAP_BROWSER from hdrs/mbx_imp.h to lib/mbox/imap.h - Moved struct LOCAL_BROWSER from hdrs/mbx_imp.h to lib/mbox/localmbx.c - Moved struct DUMMY_BROWSER from hdrs/mbx_imp.h to lib/mbox/savefolder.c; - Moved mode_to_str() declaration from hdrs/rc_imp.h to hdrs/elmlib.h - Added get_browser_sel_type() to lib/mbox/savefolder.c - Added dir_give_filter() to lib/mbox/savefolder.c - Added fbrowser_give_entry() to lib/mbox/localmbx.c - Added dir_reset_filter() to lib/mbox/savefolder.c - Added dir_give_count() to lib/mbox/savefolder.c - Added dir_give_wildcard() to lib/mbox/savefolder.c - Added dir_change_filter() to lib/mbox/savefolder.c - Added dir_cat_filename() to lib/mbox/savefolder.c - Added reload_dir() to lib/mbox/savefolder.c - give_line_dir() on lib/mbox/savefolder.c returns now also possible comment text. - Elm ME+ style folder and file browser shows now comments on default directory. - Changed elmrc option browser-wildcard-matching. Values are: off Disables wildcard feature and therefore allows selecting filenames that include '?' or '*' characters. on Enables wildcard feature. Characters '*' and '?' are treated as wildcards. Pressing ENTER gives directory listing limited with that wildcard specification on Elm ME+ style file and folder browser. file browser Enables wildcard feature. Characters '*' and '?' are treated as wildcards. Pressing ENTER invokes Elm 2.5 style file browser with files (not directories) limited with that wildcard specification. With values "on" or "file browser" pressing TAB gives directory listing limited with that wildcard specification on Elm ME+ style file and folder browser. - Moved enter_helper() from src/in_utils.c to src/enter_helper.c - Moved some fields from struct enter_info to struct in_utils_edit, struct builtin_edit and struct browser_edit. - Also threat local directory names without ending / as directory prefixes on browser. - Added special handling of "." and ".." on change_v_local() - Added mailbox format check from Elm 2.5 style file browser also to Elm 2.4ME+ style file and folder browser. Check is used when Elm 2.5 style file browser is supported. - Added rewinddir() to browser_fill_local() - Added support for elm -f local_directory command. That command calls Elm 2.5 style file browser. Therefore command elm -f . works (again). However on Elm 2.4 ME+ this starts Elm ME+ style folder browser. NOTE: Command elm -f '' starts Elm ME+ style folder browser. - Added elm version string to (Elm ME+ style) file and folder browser titles. - Added some support to function keys F1 - F12. - Function key F3 (PF3 on VT100 ?) toggles menu on/off (as command line option -m disables menu) - Function key F4 (PF4 on VT100 ?) toggles between Elm ME+ style and Elm 2.5 style file browser. - Function key F5 reloads directory on file and folder browser. - Function key F6 fills default filename on file browser. - Made some updates on help files. - Replaced some calls of give_title_dir() with dir_give_count() in browser.c - Fixed some unknown command messages in case of non-letter key is pressed. - Changed prototype of give_line_dir() - Added toggle a)ttachment -command to Attachment Configuration -menu. - Added disabling of menu automatically, if there is too few lines on screen, to - Aliases mode -screen, - Digest -screen, - Canceled mails -screen, - Assemble message fragments -screen - Viewing folder -screen (on m)ail command), - viewing of one thread screen, - d)uplicate removal mode -screen, - E)xtended command -screen (*), - Generic reply -screen (*), - List info -screen (*), - URL selection screen (*), - Alias info -screen (change screen) (*), - MIME structure Menu (*), and - Elm 2.5 style folder browser screen. (*) On E)xtended command -screen, Generic reply -screen List info -screen, URL selection screen, Alias info -screen (change screen), and MIME structure Menu command line option -m do not disable menu. That is similar than on disabling of menu automatically on main mailbox screen and some other screens. - Added function key F3 to disable/enable menu on - main mailbox screen, - Aliases mode -screen, - Digest -screen, - Canceled mails -screen, - Assemble message fragments -screen, - Viewing folder -screen (on m)ail command), - thread screen, - viewing of one thread screen, - d)uplicate removal mode -screen, - Elm 2.5 style folder browser screen, and - Visiting mailbox -screen (on Mailing list I)nfo command). - Added function key F4 to jump between Elm ME+ style and Elm 2.5 style browsers. - Added function key F5 to provide reload or resynchronize on browser: - On Elm ME+ style file and folder browser F5 reloads directory. - On Elm 2.5 style file browser F5 resynchronizes directory. This is same than command '$'. - On main mailbox F5 resynchronizes folder. This is same than command '$'. - On Alias mode -screen F5 resynchronizes aliases. This is same than command '$'. - On Canceled mails -screen F5 resynchronizes folder. This is same than command '$'. - Added function key F6 to provide default filename on file browser: - On Elm ME+ style file browser F6 fills buffer with current directory and default filename, - On Elm 2.5 style file browser F6 fills buffer with default filename and returns to Elm ME+ style browser. This is same than command 'f'. - Changed option menu so that "M)enu display " line shows elmrc value and not toggled valued with F3 function key or -m command line option. - Fixed redraw loop on E)xtended command -screen on resizing of screen. - hdrs/Makefile now also copies s_*.h files from source directory to build directory, if on source there is newer files. There may be on build directory have old files, which have build with nls/Makefile (on build directory). - Call panic if wrong argument is called for %S format. - Added commands to Elm help file (help-main) which was lost on transition of elm-help.0 help file. - Moved common routines (real_*() routines) for dummy_browser and local_browser from lib/mbox/savefolder.c to lib/mbox/common_local.c - Symbolic links are listed as linkname -> target on browser. - 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 (assuming that mini menu is not toggled with F3 function key or -m command line option) when it is returned to mailbox screen. - Changed error handling of local directory browser. - Check if fork() failed on can_open(). - 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 after enter, because select_dir_item() trashes directory listing. - Changed prototype of select_dir_item(). - Added extra-mailbox-dir for default directory of folder browser, if extra-mailbox-dir is under home directory. - Only add '<' (=sent folder) and '>' (=received folder) to default directory of folder browser only if they are readable. - When forwarding and forwarded message is included and mimebodykeywords is set, quote [ characters (starting keywords). - Moved fields displaying and prefix from struct out_state to struct decode_opts. - Check on Configure if crypt.h is available - Changed error handling on opening of mailbox. - Changed cur_PutLine() on lib/screen/curses.c so that it prints SOFT HYPHEN as HYPHEN-MINUS (or skips SOFT HYPHEN) and prints NO-BREAK SPACE as space. - Fixed so that ioctl() on cur_ScreenSize() uses terminal_fd variable and not constant 1 as file description. - Changed UNICODE_BAD_CHAR constant to be 0xFFFD (REPLACEMENT CHARACTER on Unicode) -- was 0xFFFF. - Changed MAPPING_NONE constant to UNICODE_BAD_CHAR - Changed cur_PutLine() on lib/screen/curses.c so that it prints UNICODE_BAD_CHAR as bold question mark if current character set is not Unicode (i.e. UTF-8). New files: src/fbrowser.c nls/C/C/C/s_fbrowser.m nls/gencat/Makefile.SH hdrs/fbrowser.h lib/mbox/mbox_generic.c src/enter_helper.c hdrs/browser.h doc/help-fbrowser hdrs/s_fbrowser.h lib/mbox/common_local.c hdrs/mbxlocal_imp.h src/fb_options.c src/opt_generic.c doc/help-fboptions melib/decodeopts.c Removed files: nls/gencat/Makefile lib/can_access.c New elmrc options: file-browser-show-dotfiles file-browser-show-protection file-browser-show-title file-browser-sortby Corresponding quotes from Elm 2.5 PL7 Changes file: [L1] Under the s)ave command, if you specify a pattern you now get the new file selection browser instead of an "ls -C" listing. The file selection browser also is started if you give a directory name. [L2] Under the c)hange command, if you specify a pattern you now get the new file selection browser instead of an "ls -C" listing. The file selection browser also is started if you give a directory name. [L3] Added file selection browser and attachments menu to the message catalog. Changes on Elm ME+ 2.5 PLalpha21 compared with Elm ME+ 2.5 PLalpha20 -------------------------------------------------------------------- SUMMARY: This release changes folder and file browser behaviour. New elmrc option "browser-tabcomplete-prompt" is added. - Autofill filename on folder and file browser when enter is pressed (same as right key is pressed). Then user is asked to accept that filename by pressing enter second time. - When going up to directory tree with left key, set GB_FILL on file and folder browser. That way it works as opposite of right key. With that change both right and left key always toggle GB_FILL flag and requires two left and right to walk up and down on directory hierarchy. - Also changed that GB_FILL is not toggled if directory changing fails with left or right keys. - If left or right key is pressed and action should be changing of directory, check that current filename path of prompt corresponds GB_FILL flag value. If not, then just filename path of prompt without changing directory or changing GB_FILL flag value. - If last character on filename is separator, ignore it when going up directory hierarchy - Do not fail give_edit_buffer() on empty directory - When pressing left key and directory was changed to upper directory on hierarchy, browser does locates correct entry from where it was entered. - Give TABulator on initial folder browser help text - Added -O option to Usage: -line of Configure (was not really added on Elm ME+ 2.5 PLalpha19) - Unified some code between folder and file browser - Complete filename on prompt with TABulator on folder and file browser if elmrc option "browser-tabcomplete-prompt" is set (default). Also cursor on file listing is changed to first match. NOTE: Complete with TABulator is active only if directory prefix on filename matches current directory of folder or file browser. If filename on prompt matches without completion to some entry on directory, TABulator works as option "browser-tabcomplete-prompt" is not set. That changes current directory of folder or file browser. If directory listing on folder is filtered then complete with TABulator works against that listing (and not against a whole listing of directory). New elmrc options: browser-tabcomplete-prompt Changes on Elm ME+ 2.5 PLalpha20 compared with Elm ME+ 2.5 PLalpha19 -------------------------------------------------------------------- SUMMARY: This release fixes error on submission (a kind of SMTP) protocol implementation, crash on AIX and a couple of valgrind reported memory leaks. Also some other small changes or fixes are included. - Fixed valgrind reported memory leak: 660,852 (276,480 direct, 384,372 indirect) bytes in 2,219 blocks are definitely lost in loss record 30 of 30 at 0x401C422: malloc (vg_replace_malloc.c:149) by 0x81A6658: safe_malloc (safemalloc.c:51) by 0x818C9FB: rfc822_tokenize (getaddr.c:33) by 0x81DCBCE: parse_header_references (getid.c:289) - Fixed valgrind reported memory leak: 106,629 (5,432 direct, 101,197 indirect) bytes in 450 blocks are definitely lost in loss record 25 of 30 at 0x401C422: malloc (vg_replace_malloc.c:149) by 0x81A6658: safe_malloc (safemalloc.c:51) by 0x81DDC51: dup_references (references.c:205) by 0x80E783B: copy_header (duplicate.c:385) > references field was not correctly duplicated. - Fixed valgrind reported memory leak: 4,540 (60 direct, 4,480 indirect) bytes in 2 blocks are definitely lost in loss record 25 of 29 at 0x401C422: malloc (vg_replace_malloc.c:149) by 0x81A6658: safe_malloc (safemalloc.c:51) by 0x814C798: browser_malloc2 (savefolder.c:2463) by 0x814C81A: browser_malloc (savefolder.c:2489) by 0x814CA9C: new_browser (savefolder.c:2579) by 0x80B6556: OpenMailbox (openmailbox.c:30) - Fixed valgrind reported memory leak: 76 (8 direct, 68 indirect) bytes in 1 blocks are definitely lost in loss record 14 of 26 at 0x401C422: malloc (vg_replace_malloc.c:149) by 0x81A6658: safe_malloc (safemalloc.c:51) by 0x81B43A8: malloc_string (string.c:81) by 0x81B53C6: cat_strings_internal (string.c:488) by 0x81B5D17: cat_strings (string.c:718) by 0x813C908: browser_cat_local (localmbx.c:1073) by 0x814F511: give_edit_buffer (savefolder.c:3706) by 0x807A750: gb_browser (browser.c:622) by 0x80993F2: enter_helper (in_utils.c:833) by 0x807B3AA: run_browser (browser.c:1049) by 0x807B5B2: folder_browser (browser.c:1124) by 0x80B65C4: OpenMailbox (openmailbox.c:38) - Fixed valgrind reported memory leak: 212 (8 direct, 204 indirect) bytes in 1 blocks are definitely lost in loss record 16 of 25 at 0x401C422: malloc (vg_replace_malloc.c:149) by 0x40F6178: safe_malloc (safemalloc.c:51) by 0x4104928: malloc_string (string.c:81) by 0x4106A9D: dup_string (string.c:891) by 0x410B675: append_string (string.c:2761) by 0x40DBDC9: look_special_tokens (getaddr.c:181) by 0x4157934: parse_tokenized_message_id (getid.c:126) > Comments was not correctly recorded. - Fixed valgrind reported memory leak: 12 bytes in 1 blocks are definitely lost in loss record 1 of 23 at 0x401C422: malloc (vg_replace_malloc.c:149) by 0x40F6178: safe_malloc (safemalloc.c:51) by 0x80E4854: malloc_empty_alias_buffer (buffer.c:38) by 0x805FB6E: add_current_alias (alias.c:691) - "Using Elm ME+ 2.5 PLalpha19 on AIX, for the first time ever, I tried to add an alias (typing 'a' in the main menu). When I completed entering the information, I got the following error message: | Updating aliases... | | Couldn't malloc 0 bytes!! | | | PANIC in utils.c:90:malloc_failed_exit | >>>Out of memory" Reported by: Noam G. Nudelman > Do not malloc empty array on ascify_string() - Fixed valgrind reported memory leak: 880 (664 direct, 216 indirect) bytes in 56 blocks are definitely lost in loss record 18 of 24 at 0x401C422: malloc (vg_replace_malloc.c:149) by 0x40F6178: safe_malloc (safemalloc.c:52) by 0x414B3E3: new_address (address.c:56) by 0x41555A8: new_address_string (parsestring.c:255) by 0x8061CB0: lookup_dummy (alias.c:1718) - Fixed valgrind reported memory leak: 216 bytes in 28 blocks are definitely lost in loss record 138 of 183 at 0x401C422: malloc (vg_replace_malloc.c:149) by 0x40F6178: safe_malloc (safemalloc.c:52) by 0x40C3415: cs_stream_from_ascii (cs_binary.c:1778) by 0x410738D: stream_from_string (string.c:1135) by 0x415554D: ascify_address (parsestring.c:235) by 0x4155590: new_address_string (parsestring.c:251) - Fixed valgrind reported memory leak: 18 bytes in 9 blocks are definitely lost in loss record 70 of 233 at 0x401C422: malloc (vg_replace_malloc.c:149) by 0x40F6178: safe_malloc (safemalloc.c:52) by 0x40DA4E6: hdr_text (hdrdecode.c:491) - Fixed bug where "mailer = submission" was giving RET parameter to RCPT command when it must be on MAIL command on submission (or SMTP) protocol. - If password entry (passwd struct) of user does not found, report error message from errno if available. - Do not call getpwnam() again when getting fullname of user, instead us result from earlier getpwnam() or getpwuid(). That is, use get_fullname1() instead of get_full_name(). - Fixed valgrind reported memory leak: 27 (8 direct, 19 indirect) bytes in 1 blocks are definitely lost in loss record 156 of 341 at 0x401C422: malloc (vg_replace_malloc.c:149) by 0x40F62E8: safe_malloc (safemalloc.c:52) by 0x4035F32: encode_mime_params_v (mime_param.c:1557) by 0x80AD0BB: mime_write_header (mime_encode.c:535) - Changed mime_write_top_headers() to use mime_write_header() when writing "Content-Type: multipart/mixed" header field. - Elm ME+ 2.5 PLalpha19 change to not encode characters '.', ',', ':' and '/' on Q encoding did not take onto account that some of these are special characters on structured fields. Fixed that for structured fields (on subject these characters still are not encoded). Changes on Elm ME+ 2.5 PLalpha19 compared with Elm ME+ 2.5 PLalpha18 -------------------------------------------------------------------- SUMMARY: This release changes aliases implementation. Also file names and format of aliases is changed. Regression of In-Reply-To header field editing on "Message Header Edit Screen" is fixed. Header field conversion on b)ounce now applies also to some MIME header fields. Now also bold and underlined text are used on display (in addition of inverse text). Also some other changes and bug fixes are included. Note: You must create directory lib/alias before applying this patch! - Fixed an error, where entering message-id to In-Reply-To header field on "Message Header Edit Screen" was giving error message Missing > after < on in-reply-to header. - When In-Reply-To header field on "Message Header Edit Screen" is edited, generated References: -header field is recalculated. - Added check to "Message Header Edit Screen" that message-id entered to References: -header field is valid syntax. - Added some more places where elmrc option "convert-utf-header" is applied. - If there is 8-bit content on MIME header fields following header fields are rewritten (without causing error) from parsed data on b)ounce: Content-Disposition: Content-Description: Content-Type: This encodes 8-bit data with RFC 2231 or mime encoded words there where they are allowed. Note that charset is guessed and is quite probably wrong. NOTE: Currently this loses comments from Content-Disposition and Content-Type - If elmrc option "mime-parameters" have value "plain", that conversion (of RFC 2231) is not done. - Changed Q encoding of mime encoded words so that characters '.', ',', ':' and '/' are no longer encoded. - Some changes on aliases handling. - Dropped hash (ndbz) because Elm reads all aliases to memory and search them from memory in order. - Moved some code from lib/mk_aliases.c to lib/alias/oldaliases.c - Moved some code from src/aliaslib.c to lib/alias/aliasexpand.c - Added aliases parsing routines to lib/alias/ - Changed aliases file format, new files are .elm/elmaliases and $lib/elm.aliases - Non-ascii values are stored with MIME encoding - Moved some code from lib/misc/conf_writer.c to lib/conf_writer.c - There is many changes on aliases handling and on "Alias mode" of elm - If old format alias file is found when Elm starts, it is prompted that is it used or is it converted to new format. - Now there is three types of aliases: - Person alias - Address list alias - Group alias and mixed form of these. - Program "newalias" now converts old format aliases file to new format. - Existing old aliases.text file on elm global library directory is converted to new format during installation (with -g option of newalias). - Added option -q (quiet) to newalias. This option ignores error, if old aliases.text file does not exists. - Program "elmalias" have following new format specifications: %f First name (of person alias) %A Address (of person alias) %L Address List (of address list alias) %P Phrase (of group alias) %V Vector (of group alias) Format specifications for different alias types are: - Person alias %l Last Name %f First Name %A Address (the alias value) - Address list alias %L Address list (the alias value) - Group alias %P Phrase %V Vector (the alias value) Common specifications for all alias types are: %a Alias (the alias name, alias key) %c Comment (not displayed in mail headers) Also following specifications are generated: %n Name (the user's full name) %v Address (the alias value) %t Type (Person, Address List, Group, Mixed, or Unknown) - Program "elmaliases-write" reads and writes new format aliases file. - Configure now copies doc/elmaliases to bin/elm.aliases for installation - Configure -M and Configure -S also (re)generates bin/elm.aliases - Elmaliases-write option -c merges elm.aliases or elmaliases file with file given as argument. - Configure does not read elm.aliases from elm global library directory. Instead existing elm.aliases from elm global library directory is merged during installation (with -c option on elmaliases-write). - New values without merging are written to elm.aliases.NEW during installation. - "a)lias current message" now generates alias also on case where From: -header field have several addresses. - When given address, aliases is now possible to enter on quoted form. This makes possible to use aliases, which includes spaces.... - Aliases are now case sensitive. They are not lowercases (however aliases from old format aliases file are lowercased). See also chapter "Aliases information" - Added note to Configure that merges are done during installation. - Moved append_string() from lib/hdrdecode.c to lib/string.c - append_string() now takes also printed argument. - Added string_copy_character() to lib/string.c - Added string_have_ascii_sep() to lib/string.c - Exported is_special() as unicode_is_special() from lib/stringtok.c - Added parse_one_address() to lib/addr/getaddr.c - Added lib/addr/parsestring.c which handles addresses on struct string -form - Added address_to_str() and list_to_str() to lib/addr/write_hdr.c - Exported string_need_quote() from melib/mime_param.c - Exported append_quoted_to_string() from melib/mime_param.c. It now uses string_copy_character() - string_need_quote() now uses unicode_is_special() - Added -O option to Usage: -line of Configure [ Was not really added ] - LIB_SRC is removed from lib/Makefile - Exported part of formatting code as format_S_helper() from lib/output.c - Allow cancel startup questions with Ctrl-C - Moved append_quoted_to_string() from melib/mime_param.c to lib/addr/parsestring.c - Moved unquote_string() from melib/mime_param.c to lib/addr/parsestring.c - Added some more ending terminators --END to ~/Canceled.mail.dir/.index - Ignoring Message-ID if there is parse error on it. - StartBold() (or pg_BOLD) and StartInverse() (or pg_INVERSE) both used so Start standout mode On Elm 2.5 there is StartStandout instead. Renamed StartInverse() (or pg_INVERSE) to StartStandout() (or pg_STANDOUT) and changed StartBold() (or pg_BOLD) to use md Start bold mode - Removed StartHalfbright() (or pg_HALFBRIGHT) and EndHalfbright(). Used code was hs and Linux manual gives mh Start half bright mode also that is not on vt100 and is not used on Elm - Added pg_REVERSE for mr Start reverse mode (not used currently: On Linux xterm termcap both mr and so resources gives \E[7m ) - Changed search matches on builtin++ -editor to use StarStandout() on instead of StartBold - Changed Help title on builtin++ to use StartBold (instead of StartInverse) - Changed builtin++ prompt to use StartStandout on instead of StartBold - Also changed similar metapager prompt to use pg_STANDOUT instead of pg_BOLD - Also changed similar showmsg prompt to use pg_STANDOUT instead of pg_BOLD - Added pg_BOLD to following titles - Mailbox (i.e. main screen) - Mail Pre-Send Screen - Message Header Edit Screen - -- ELM Options Editor -- - Folder selection - List info - Generic reply - List-Subscribe selection - List-Unsubscribe selection - List-Post selection for mailing - List-Post selection for reply - List-Help selection - List-Archive selection - Remote URL verification - List-Owner selection for mailing - List-Owner selection for reply - Alias info - Alias info (expanding address) - Alias info (alias editing) - Send only mode - Extended command selection - MIME structure Menu - Attachment Menu - Mailbox (thread mode) - Attachment Configuration - Mailcap program selection - Metamail selection - There is parsing errors on message - Mime type check - Viewing folder - Added pg_BOLD to border on showmsg - Reset terminal modes more carefully on enter - Show first line (i.e. Message XX/XX) on builtin++ -pager underlined. - Now on "Metamail selection" DOWN and UP keys can go to to next or previous mail when cursor walks out of question list. - Fixed crash on "Metamail selection" screen, when RIGHT key is pressed. - Now on "There is parsing errors on message" DOWN and UP keys can go to to next or previous mail. - Moved motion() from src/elm.c to src/motion.c - Moved movement and some common commands from process_showmsg_cmd() on src/showmsg_c.c to process_motion_command() on src/motion.c - When viewing alias info there can be used movement and alias commands somewhat similar way than mailbox commands can be used on when viewing message. - Initialize "unidata" early. - Fixed 'fastmail -i in-reply-to' which was commented out on Elm ME+ 2.5 PLalpha18. - Fastmail was not writing To: -header field. Added To: -header field to fastmail generated mails. NOTE: Fastmail is still broken. Generated mails are not MIME encoded when needed. - Added -c option to readmsg - Added -c option to elmalias - "I failed to compile elmME+.2.5.alpha18 (alpha17 compiled ok) on AIX 5.3. The error I receive is: make[1]: Entering directory `/home/rangers/noam/elmME+.2.5.alpha18/lib/addr' cc -I../../hdrs -I/u/rangers/noam/elmME+.2.5.alpha18/hdrs -O -c -o write_hdr.o write_hdr.c "write_hdr.c", line 357.13: 1506-343 (S) Redeclaration of do_simple_wrapping differs from previous declaration on line 355 of "write_hdr.c". "write_hdr.c", line 357.13: 1506-381 (I) The type "int" of parameter 4 in the prototype declaration is not compatible with the corresponding parameter type "enum encoding" in the nonprototype declaration." Reported by: Noam G. Nudelman > Fixed prototype of do_simple_wrapping() - Added command "elmregister list-conffiles" to generate files listing suitable for dpkg command. Names on list are NL separated. Actually this produces nothing, because config files are created replay time. New tools: elmaliases-write New files: lib/alias/aliases.c lib/misc/oldaliases.c lib/alias/address_alias.c lib/alias/Makefile.SH lib/alias/def_alias.h lib/alias/alias_vector.c hdrs/aliaslib.h lib/conf_writer.c hdrs/conf_writer_imp.h lib/alias/init.c lib/alias/aliasexpand.c src/aliases/aliases_map.c src/aliases/record.c src/alias_display.c src/aliases/buffer.c lib/addr/parsestring.c src/alias_info.c utils/elmaliases-write.c utils/aliases_helper.c doc/elmaliases-write.1 doc/elmaliases ConfTool/GenAliases src/alias_itemized.c src/motion.c src/alias_info_1.c utils/aliases_helper.h Removed files: lib/ndbz.c hdrs/ndbz.h lib/mk_aliases.c lib/aliasdb.c src/aliases/astorage.c src/aliases/astorage_hash.c src/aliases/alias_alloc.c src/aliases/find_alias.c Changes on Elm ME+ 2.5 PLalpha18 compared with Elm ME+ 2.5 PLalpha17 -------------------------------------------------------------------- SUMMARY: This release fixes some bugs, prevents recursive mail commands via "m)ail -> view) folder", adds conversion of MIME messages on b)ounce and f)orward commands, adds generation of References: -header field and adds OpenDocument formats to mime.types -file. - 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 a small error on cat_strings() where wrong charset name is printed when printind is specified. - Fixed small errors on ascii_need_quote() and string_need_quote on melib/mime_param.c. Both had missing [] characters. - Fixed some prompt positions on alias mode - Possible fix for get_word_from_string() - Fixed a small error on error message of write_conf() - Fixed the error message on delete_alias_files() - Fixed the error where (comment) was lost when address Phrase (comment) was parsed. Address was stored when '>' was seen so that (comment) was not seen yet. Not parser delays storing of address to next ',' if '>' is not the last token. - Command sequence m)ail -> view) -> ' ' -> m)ail was possible. Changed it so that 'm' gives "Attaching message is not possible when viewing it" error. - Command sequence m)ail -> view) -> ' ' -> b)ounce was possible. Changed that 'b' gives "Attaching message body is not possible when viewing it" error. - Command sequence 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. - Fixed the error where hdr_comment() was not correctly dequoting \ -escaping. - Fixed the error where extra ',' was added to the end of address list - Moved struct header_rec from elm_defs.h to addrlib.h - Moved struct mimeinfo from elm_defs.h to addrlib.h ( mimeinfo is embedded in struct header_rec) - Added References: -header generation as specified on RFC 2822: The "References:" field will contain the contents of the parent's "References:" field (if any) followed by the contents of the parent's "Message-ID:" field (if any). If the parent message does not contain a "References:" field but does have an "In-Reply-To:" field containing a single message identifier, then the "References:" field will contain the contents of the parent's "In-Reply-To:" field followed by the contents of the parent's "Message-ID:" field (if any). - Parsed message-id as (comment) - Moved check_8bit_string() from lib/id_phrase.c to lib/addr/write_hdr.c - Moved check_8bit_string() from lib/id_phrase.c to lib/addr/write_hdr.c - Moved write_string_header() from lib/id_phrase.c to lib/addr/write_hdr.c - Moved write_text_header() from lib/write_hdr.c to lib/addr/write_hdr.c - Moved print_EOLN() from lib/write_hdr.c to lib/addr/write_hdr.c - Moved struct addr_list to inside of lib/addr/addr_list.c file. - Moved struct address to inside of lib/addr/address.c - Fixed the error where the header field names were not correctly recognized if there were spaces before ':' on header field. - Check on b)ounce that mail does not have overlong lines (over 998 characters). Overlong lines in mailbox were seen as the result of following events: 1) One mail client had sent message with Content-Type: text/plain; Charset=iso-8859-15; Format=Flowed However the lines were not wrapped as specified on flowed -format. The result was that whole chapter was on one line. Result was quoted-printable encoded, so the lines did not exceed the maximum length during transfer. Mail client apparently indentified itself as X-Mailer: Saunalahti webmail - http://saunalahti.fi 2) Sendmail did conversion quoted-printable => 8bit when the message was was saved into the mailbox. Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from quoted-printable to 8bit by XXX id XXX After these there were over 1400 character lines in the mailbox. Re-sending the resulting message exceeded SMTP's 1000 character line length limit. Therefore elm now does no longer send messages on b)ounce unaltered. ( Actually header field "Content-Transfer-Encoding: 8bit" generated here by sendmail is not correct either. MIME allows only 998 character long lines for "8bit data". ) Messages are not fully checked when doing b)ounce. However if errors are seen during conversion, b)ounce may fail. If conversion of some part of message is not done, then also errors may be ignored. Only MIME messages are converted. Non-MIME messages (and messages with unknown MIME version) are handled the old way (remailed without processing). If there is 8-bit content on header fields on a MIME message, that causes error on b)ounce. 8-bit on content on (top level) header fields is sent as is without error if elmrc option "nohdrencoding" is set (this also causes that header fields are not MIME encoded.) - If there is 8-bit content on (top level) header fields following header fields are rewritten (without causing error) from parsed data on b)ounce: From: To: CC: Reply-To: In-Reply-To: References: Subject: This encodes 8-bit data with mime encoded words there where they are allowed. Note that charset is guessed and is quite probably wrong. - When b)ouncing, now Elm adds Sender: -header field to beginning of header fields (instead of to end of header fields). Now also from_addr_literal() is used for Sender: -field (same than what is used Sender: -field when m)ailing) - Also when mail is f)orwarded as a separate part (ie. as message/rfc822 body part) the same happens that on b)ounce. Therefore this does also same conversions as for the b)ounce case. - Also m)ail -> view) -> Attach m)essage uses this same conversion. - However m)ail -> view) -> Attach message b)ody does not do that kind conversion. However, it does not longer trust given content-transfer-encoding (7bit, 8bit, binary) on mail. - Some small fixes to include_part() encoding handling. New files: lib/addr/getid.c lib/addr/message-id.c lib/addr/references.c Removed files: lib/id_phrase.c lib/write_hdr.c Changes on Elm ME+ 2.5 PLalpha17 compared with Elm ME+ 2.5 PLalpha16 -------------------------------------------------------------------- SUMMARY: This release re-adds "incomingfolders" elmrc option which was lost on Elm ME+ 2.5 PLalpha5. This release also fixes redraw loop on "Mailcap program selection -screen, fixes double free() on search and fixes filename handling on attch_save(). - Unlink tempfile on error on elmregister. - Elmrc option "incomingfolders" added on Elm ME+ 2.5 PLalpha0 was lost on Elm ME+ 2.5 PLalpha5. - "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 > 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. > Fixed valgrind reported invalid free: Invalid free() / delete / delete[] at 0x401CFCF: free (vg_replace_malloc.c:235) by 0x8199E78: safe_free (safemalloc.c:107) by 0x810B9CF: arrange_decoded (mime_decode.c:2532) by 0x81173B9: simple_mime_walk (mimewalk.c:151) by 0x81171FC: simple_mime_walk (mimewalk.c:95) by 0x80CCBE2: mc_match_in_text_mbx (message_pattern.c:464) by 0x80CA1B3: mcommon_match_in_text (mcommon.c:214) by 0x80B1ABE: pattern_match (pattern.c:439) by 0x8083ADE: motion (elm.c:1881) by 0x8081BBD: mailbox_command (elm.c:892) by 0x8099649: main_messages_loop (mailbox.c:242) by 0x809A1AE: main_messages_menu (mailbox.c:664) Address 0x4493630 is 0 bytes inside a block of size 20 free'd at 0x401CFCF: free (vg_replace_malloc.c:235) by 0x8199E78: safe_free (safemalloc.c:107) by 0x810B9B7: arrange_decoded (mime_decode.c:2528) by 0x81173B9: simple_mime_walk (mimewalk.c:151) by 0x81171FC: simple_mime_walk (mimewalk.c:95) by 0x80CCBE2: mc_match_in_text_mbx (message_pattern.c:464) by 0x80CA1B3: mcommon_match_in_text (mcommon.c:214) by 0x80B1ABE: pattern_match (pattern.c:439) by 0x8083ADE: motion (elm.c:1881) by 0x8081BBD: mailbox_command (elm.c:892) by 0x8099649: main_messages_loop (mailbox.c:242) by 0x809A1AE: main_messages_menu (mailbox.c:664) - "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 > Filename was not correctly recorded on attach_save() Changes on Elm ME+ 2.5 PLalpha16 compared with Elm ME+ 2.5 PLalpha15 -------------------------------------------------------------------- SUMMARY: This release fixes bug on c)hange command which caused lost of mail. Also bug on joint use of l)imit and 'Eo' -command is fixed. This release also adds some new subcommands to elmregister -command. Elm ME+ 2.5 is now main line (trunk or main branch). - If l)imit command was used, and then Eo) [o)pen mailbox to current view] was used, wrong messages was shown on limited display. Now number of selected message is recalculated after new mailbox is added. - Changed redraw handling on "Keep unread messages in incoming mailbox?" question. - Now "elmregister replay" recreates hard links also when "-R" option is not used (-R option implies moving installation to final place). - Added missing subcommand to elmregister manual page. - Changed "elmregister rpm-list" so that hard links are listed. They are now listed with %ghost macro. - Fixed bug where "elmregister replay -R ..." was setting files to wrong owner (was used gid as uid) on some situation, when file was copied. - Added command "elmregister list" to generate files listing suitable for tar command. Names on list are NL separated. - Added command "elmregister list-directories" to generate directory listing. - If after c)hange folder locking of new folder (mailbox) failed, Elm was keeping open old folder, but temp file of older folder (mailbox) was closed. That caused corruption of mailbox. * If "Folder unchanged." message was given, folder was not closed. * Folder was closed on "[Keeping all messages.]" case, it does not need to be closed on here either. > Do not call close_folder() on on real_save() at all. Instead use unlock() on real_cave() ( as in done if 'resyncing' was set ) . * Actual closing of mailbox is done anyway with leave_old_folder() which is called from free_storage() > Splited leave_mbox() to sync_mbox() function which never closes mailbox and close_cleanup_mbox() which does closing (and may remove mailbox). - Fixed Configuration error on Ubuntu 6.06 (gcc 4.0.3) Changes on Elm ME+ 2.5 PLalpha15 compared with Elm ME+ 2.5 PLalpha14 -------------------------------------------------------------------- Summary: This release changes address handling. It supports group phrases. They are preserved on reply. This release also adds "alias-group-phrase" and "confirmprint" elmrc options. Also some minor fixes are included in this release. Note: You must create directory lib/addr before applying this patch! - Some changes on address handling. - Moved some code from lib/getaddr.c to lib/addr/getaddr.c - Moved some code from lib/misc/mlist.c to lib/addr/mlist.c - Moved lib/dispaddr.c to lib/addr/dispaddr.c - Moved some code from lib/okay_addr.c to lib/addr/okay_addr.c - Moved some code from lib/mailer/mailer.c to lib/addr/mailer.c - Moved lib/outheaders.c to lib/addr/outheaders.c - Moved ib/mbox/error.c to lib/addr/error.c - Moved lib/headers.c to lib/addr/headers - Moved some code from lib/write_hdr.c lib/addr/write_hdr.c - Added new elmrc option "alias-group-phrase". If set (default), it is possible to give phrase for group aliases, which is includes to address list. - Added support group phrases. They are preserved when mail is replied. - konsole seems set $COLORTERM to "". Added xterm DW UTF-8 [ $COLORTERM="" ] to doc/terminal.info. This assumes that all these terminals treat certain UTF-8 characters as double wide (as defined with wcwidth() function). - "make install" now indicates if "sh Configure -M" need to be rerun. - Removed src/string2.c -- occurances_of() is not called anywhere. - Interpret output of PGP according of mail charset (that is actually done only when that body part was text ... ) - "There were two adjacent spaces in the first email subject line which were collapsed into one space in the reply, which I think is legal. Perhaps multiple spaces should be collapsed into one for comparison, perhaps near skip_ascii_head_from_string() in thread.c." Suggested by: Bruce Momjian - Added "confirmprint" elmrc option. - Changed save_copy() to use prompt_letter() instead of want_to(). New elmrc options: alias-group-phrase confirmprint New files: lib/addr/Makefile.SH lib/addr/def_addr.h lib/addr/init.c hdrs/addrlib.h lib/addr/addr_list.c lib/addr/address.c lib/addr/getaddr.c lib/addr/mlist.c hdrs/mlist_imp.h hdrs/mlist_common.h lib/addr/okay_addr.c lib/addr/mailer.c lib/addr/write_hdr.c Moved files: lib/dispaddr.c => lib/addr/dispaddr.c lib/outheaders.c => lib/addr/outheaders.c lib/headers.c => lib/addr/headers lib/mbox/error.c => lib/addr/error.c Removed files: lib/getaddrfrm.c src/string2.c Changes on Elm ME+ 2.5 PLalpha14 compared with Elm ME+ 2.5 PLalpha13 -------------------------------------------------------------------- Summary: This release fixes elmregister replay command, when used with -R option, fixes viewing of binary files and selection of wrong media type when sending mail, some UTF-8 problems and compilation errors when compiled with "-traditional" on gcc. * Changes from Elm 2.4ME+ PL123f (25): - "./usr/share/elm/elmregister replay -M all -R `pwd`" was segfaulting when moving packgage to final place. Fixed missing initialization on copy_dir(). Problem noted by: Peter Alfredsen - Avoid error "./usr/local/lib/elmregister: [pick_one] '{' no arg 0" when doing "./..../elmregister replay -M all -R `pwd`" - attach_info() calculated filename extension wrongly. That caused that wrong media type was selected. - Fix viewing of binary files on attachment viewer when sending mail. - Added xterm DW UTF-8 [ $COLORTERM="gnome-terminal" ] to doc/terminal.info. This assumes that all gnome terminals treat certain UTF-8 characters as double wide (as defined with wcwidth() function). - 'return count' was missing from cs_add_streambytes_to_unknown() -- this caused error message Text part 1 have bad UTF-8 characters. Send anyway? n on certain configurations. - Some compilation fixes for "traditional" C Changes on Elm ME+ 2.5 PLalpha13 compared with Elm ME+ 2.5 PLalpha12 -------------------------------------------------------------------- Summary: This release fixes some bugs and some compilation problems on AIX. This release includes mapping table for KZ-1048 and PTCP154 charsets. - Fix panic ADDR PANIC in addr_util.c:690:build_address_l >>>tectual=NULL when rpm@> is entered as mail address. - Fix crash on free_addr_items() - Possible fix for looping - "I finally got around to it and tried to compile elmME+.2.5.alpha12 on AIX 5.3. As you can see, it failed: gmake[1]: Entering directory `/noam/elmME+.2.5.alpha12/lib' cc -I../hdrs -I/noam/elmME+.2.5.alpha12/hdrs -O -c -o get_tz.o get_tz.c " get_tz.c", line 144.36: 1506-045 (S) Undeclared identifier TZNAME_HANDLING." Reported by: Noam G. Nudelman > Fixed tzname_handling test on Configure which was using 'const' and not 'CONST' although lib/get_tz.c uses 'const'. - "It failed compiling on something else at first try (please see line 84 of 701 in attached typescript file): <...> /bin/egrep -h '#define .*_magic' `cat XXfilelist` | /bin/sort > magic_res1 /bin/sh: /bin/egrep: arg list too long" Reported by: Noam G. Nudelman > Change checking of lib/MAGIC - Fixed case where changing alias two times without resync caused that alias name was truncated. - Updated following charsets on lib/precompiled_sets.c: Changed Big5-HKSCS to be MIME name Added BOCU-1 as type unknown Added CESU-8 as type utf-8 -- not exactly UTF-8 but because Elm builtin map UNICODE effectively includes only ranges 0x0000 - 0xD7FF and 0xF900 - 0xFFFF, supported subsets are same. -- CESU-8 is only marked as codeset and not MIME name. Added GB18030 as type unknown Added GBK as type unknown - Added aliases CP936, MS936, windows-936 to ConfTool/charaliases.map - Removed charset CP936 and alias IBM936 (added CP936 to ConfTool/killsets) Changed IBM00924 to be codeset and not MIME name - Removed charset IBM00924 (added IBM00924 to ConfTool/killsets) Changed IBM01140 to be codeset and not MIME name - Removed charset IBM01140 (added IBM01140 to ConfTool/killsets) Changed IBM01141 to be codeset and not MIME name - Removed charset IBM01141 (added IBM01141 to ConfTool/killsets) Changed IBM01142 to be codeset and not MIME name - Removed charset IBM01142 (added IBM01142 to ConfTool/killsets) Added IBM01143 as type unknown -- IBM01143 is only marked as codeset and not MIME name. -- IBM01143 was on ConfTool/charaliases.map (added IBM01143 to ConfTool/killsets) Changed IBM01144 to be codeset and not MIME name - Removed charset IBM01144 (added IBM01144 to ConfTool/killsets) Changed IBM01145 to be codeset and not MIME name - Removed charset IBM01145 (added IBM01145 to ConfTool/killsets) Changed IBM01146 to be codeset and not MIME name - Removed charset IBM01146 (added IBM01146 to ConfTool/killsets) Changed IBM01147 to be codeset and not MIME name - Removed charset IBM01147 (added IBM01147 to ConfTool/killsets) Changed IBM01148 to be codeset and not MIME name - Removed charset IBM01148 (added IBM01148 to ConfTool/killsets) Added IBM1047 as type unknown -- IBM1047 is only marked as codeset and not MIME name. -- Added IBM1047 (codeset) to ConfTool/charaliases.map Changed IBM775 to be charset and not codeset. -- CP775 was already alias of IBM775 on ConfTool/charaliases.map -- Added CP775 to ConfTool/killsets Changed IBM866 to be charset and not codeset. -- CP866 was already alias of IBM866 on ConfTool/charaliases.map -- Added CP866 to ConfTool/killsets Added Latin-9 to alias of ISO-8859-15. Added aliases for ISO-8859-16. Added ISO-11548-1 as type unknown -- ISO-11548-1 is only marked as codeset and not MIME name. -- Added aliases for ISO-11548-1 Added KOI7-switched as type iso2022 -- Added ISO 2022 code for KOI7-switched Added KZ-1048 as type ascii-set -- Added aliases for KZ-1048 -- Added charset/MAPPINGS/kz-1048.txt Added OSD_EBCDIC_DF03_IRV as type unknown -- OSD_EBCDIC_DF03_IRV is only marked as codeset and not MIME name. Added OSD_EBCDIC_DF04_1 as type unknown -- OSD_EBCDIC_DF04_1 is only marked as codeset and not MIME name. Added OSD_EBCDIC_DF04_15 as type unknown -- OSD_EBCDIC_DF04_15 is only marked as codeset and not MIME name. Added PTCP154 as type ascii-set -- Added aliases for PTCP154 -- Added charset/MAPPINGS/ptcp154.txt Added UTF-32 as type unknown -- UTF-32 is only marked as codeset and not MIME name. Added UTF-32BE as type unknown -- UTF-32BE is only marked as codeset and not MIME name. Added UTF-32LE as type unknown -- UTF-32LE is only marked as codeset and not MIME name. - Added CHARSET_noalias flag to MIME_name_to_charset() - Small fix for ConfTool/GenCharmap - Added -G (global) flag to elmunidata. That causes that user config files are ignored (during installation) New files: charset/MAPPINGS/kz-1048.txt charset/MAPPINGS/ptcp154.txt Changes on Elm ME+ 2.5 PLalpha12 compared with Elm ME+ 2.5 PLalpha11 -------------------------------------------------------------------- * Changes from Elm 2.4ME+ PL123d (25) - Fix compilation on ubuntu (GCC 4.0.2). - "troubles when moving from pgp5 to gpg - cannot encrypt. Seems parsing of gpg --list-public-keys is broken in gnupg 1.4.5. syscall to gpg paramter 8 after receipient is <2> ?!" Problem noted by: Axel Reinhold > Add support for newer gpg versions - "last gpg pathes you sent to me work only on some keys!" Problem noted by: Axel Reinhold > Elm ME+ was adding < > around of address (not related to patch) and therefore gpg did not found key when on key there was no < > around addresses. Removed adding of < >. - Elmrc option verify-local-address did worked only for 'address' but not for '
'. Fixed that. NOTE: However verify-local-address works only when mailer option verify=yes works. - sendmail -bv {address} works only, when sendmail is installed as setuid root. Starting from sendmail 8.12 sendmail is no longer installed as setuid root. * This was causing problems form mailer elmrc option 'mailer=sendmail; allow-set-sender=yes' > Do not use sendmail -bv {address} to verify envelope sender address if that test was failed on Configure. mailer option 'verify-set-sender' controls is sendmail -bv {address} called when envelope sender is set. - This also affects mailer option verify=yes, but default for that option is verify=no anyway. - These problems accours when mailer option have setting mailer=sendmail (default). This do not affect mailer=submission setting. - Changed processing of format on lib/output.c, lib/debug.c so that zero width format should work... - Added option -E (ignore errors on arg) elmrc-write - Used -E option on final elmrc-write -G -I elm.rc.old-values * Change from Elm 2.5 - Added struct knode to src/screen/knode.c (!!) [K1] (!!) struct knode is not identical with version on Elm 2.5 - Some cleanup: cur_Raw(OFF) => cur_leave_screen(), cur_leave_screen_signal() cur_Raw(ON) => cur_enter_screen() Raw(OFF|RAW_FROM_SIGNAL) => signal_leave_screen() Raw(ON|RAW_FROM_SIGNAL) => signal_enter_screen() NO_CHARSET flag removed (not used) - Renamed some variables on src/screen/ - If on terminal c_iflag have IUTF8, assume UTF-8 for input and give warning is locale is not UTF-8. Display charset is also tried to change to UTF-8. - Add support [ $VARIABLE =~ "joker*string" ] condition on terminal.info - Add support for condition on ISO-2022 and ISO-2022/DW line - However enabling utf-8 (when xterm is started without utf-8 ie. xterm +u8) with iso2022 codes seems cause crash (Segmentation fault) on ubuntu (XTerm(203)), so by default it is not assumed. - Otherwise it can be assumed on elm.terminalinfo on that TERM=xterm supports ISO2022 sequences for set utf-8 charset on terminal if XTERM_VERSION environment variable is set). This environment variable is introduced on XFree86 4.6.0. - On doc/terminal.info is that code, but commented out. - Strip pathnames from debug output - Before adding charset=UTF-8 automatically to attached text files check that they look like utf-8. If check failed then charset=UNKNOWN-8BIT is added instead. - Add support for condition on DW line of terminal.info This is used lines like xterm DW UTF-8 [ $XTERM_VERSION=~"XTerm(*)" ] * Changes from Elm 2.4ME+ PL123e (25) - Fix panic STRING PANIC in cs_unknown.c:1993:cs_estimate_clip_unknown >>>printable_len not supported Emergency exit taken! All temp files intact! on some cases when locale-charsets elmrc option is used. - Fixed some problems with Configure on ubuntu. - When locale-charsets = UTF-8 was effect, Elm ME+ was printing [ Charset US-ASCII unsupported, converting... ] > Be sure that cs_unknown gives flag CS_universal_set for UTF-8 as cs_utf was giving. - Avoid error message "Failed save message to folder XXXX" when saving mail from V)iew digest -command and embedded mail do not end to newline. - Hide Bcc when forwarding. - When checking that can display charset represents all characters from charset of mime part, compare also ISO 2022 sets. This affect message [ Charset XXXX unsupported, converting... ] versus [ Charset XXXX converted... ] - When catenating strings also compare ISO 2022 sets, when selecting result charset. - NOTE: On catenation conversion is done still via Unicode even when it is possible to do just via copying iso2022 banks. This means that there must be mapping defined for every ISO 2022 set on charset. See chapters "One Eastasian recipe" and "ISO2022 maps information" for details. - Check if mail text can be converted to US-ASCII - If if mail text can be converted to charste given on text-charset elmrc option, UTF-8 charset is used as fallback if conversion is not possible. - If there is bad characters on buffer, Text part have bad characters. Send anyway? is prompted. - If any conversion is not found, Failed convert characters on part . Send anyway? is prompted. - If other than text-charset or US-ASCII is used on conversion Using charset instead of on part %d. Send anyway? is prompted. - Parsing of [keywords] on main buffer is changed. - ']' inside of " " quotes do not end keyword. - Text after [keyword] (before end of line) is preserved. - Following error messages are added: * NUL character on keyword line * Quotation error on keyword line, no space before quotation. * Missing ending keyword ] on line starting with [ * Quotation error on keyword line, no ] outside of quotations * Empty [] on keyword line * Keyword [] requires parameters. * Keyword [] do not have parameters. - Added convert_string2() - Failure of conversions is not detected if conversion is done to charset with type=iconv (libelmme-tls.so module). - Removed prompt_menu3 from verify_transmission() on src/mailmsg2.c - Replaced some want_to() with prompt_letter() - Changed charset/UNIDATA/UNIDATA2.TXT from Unicode 2.0 to charset/UNIDATA/UnicodeData-Latest.txt from Unicode 2.1.9 > That adds characters U+FFFC OBJECT REPLACEMENT CHARACTER U+20AC EURO SIGN - There is new general categories on file: Pi = Punctuation, Initial quote Pf = Punctuation, Final quote > Added these to lib/unidata.c > unidata.bin uses UNIDATA21_magic (0xFB02) instead of UNIDATA_magic (0xFB00) because of new categories. - When reading mailbox, test= arguments from mailcap is executed. That may cause that screen is cleared. - Fixed message [ Use 'Rl' to reply to list or 'I' for list info. ] on case when there is header List-Post: NO (posting not allowed on this list) - Changed "Metamail selection" menu so that default answer is 'p' on last question if any of mailcap questions are answered. - Code for detecting -----BEGIN PGP on parse_body_routine() was messed up on some merge. New files: src/screen/knode.c charset/UNIDATA/ReadMe.txt charset/UNIDATA/UnicodeData-Latest.txt Removed files: charset/UNIDATA/README.TXT charset/UNIDATA/UNIDATA2.TXT Corresponding quotes from Elm 2.5 PL7 Changes file: [K1] Totally new curses subsystem. Changes on Elm ME+ 2.5 PLalpha11 compared with Elm ME+ 2.5 PLalpha10 -------------------------------------------------------------------- Note: You must create directories lib/mbox src/url src/block src/list lib/misc utils/readmsg before applying this patch! * Changes from Elm 2.4ME+ PL123 (25) - Added view folder command to pre-send menu. This allows attaching messages from current mailbox to mail. - Some changes on mail() -function. - Moved mailbox related code from libelmme-base.so to libelmme-mbox.so. - Removed provides_shared_CT - Moved some showmsg loops from elm.c to new file showmsg_1.c - Changed implementation of elmrc option "extra-mailbox-dir". - Changed implementation of elmrc option "attachment-dir". - Changed implementation of elmrc option "gpg". - Changed implementation of elmrc option "metamail". - Changed implementation of elmrc option "pgp2". - Changed implementation of elmrc option "pgp5-dir". - Changed implementation of elmrc option "print". - Moved some code from lib/charset.c to lib/mparse.c - UTF-8 is now required character set on code as is US-ASCII. - When catenating strings prefer UTF-8 charset instead of display charset - Give error if -s 'subject' option is given several times to Elm. - On batch mode standard input is read for mail only when -i (include file) option is not given (but actually -i option is not allowed on batch mode.) - Added mp_list_set_anon() and mp_lookup_anon() to src/screen/menu_param.c. - Some cleanup on mailmsg1() - Changed default of elmrc variable "names" to NO - Removed wra_ReadCh() from src/screen/ - Removed ReadCh (but not menu_ReadCh()) - Removed cur_ReadCH from src/screen/curs_input.c - Added to menu_ReadCh() / menu_ReadCh2() flag READCH_poll, this waits one second for character. If character is not given or POLL_METHOD is not set, this returns TIMOUT_MARK as flag (or character) - Clear redraw flag of prompt area (ie. clear prompt area) after menu_redraw_children() only if redraw flag is set. - Moved main messages menu loop to src/mailbox.c from src/elm.c - exit_prog() no longer call leave but instead returns 1 if caller should exit. - exit_prog() is renamed to exit_mailbox() - quit() no longer call leave but instead returns 1 if caller should exit. - Added some support for RFC 1738 URL -syntax RFC 1738: Uniform Resource Locators (URL) - Added some support for RFC 1808 URL-syntax RFC 1808: Relative Uniform Resource Locators - Added -O 'url' (open url) option to Elm. Error is given if this option is given several times. WARNING: This option does not ask any confirmation. - Added --confirm-url option. This asks confirmation for url given on -O option. - Added support for RFC 2368 mailto -urls. - It is unclear what character set is used on URLs. This especially effects subject header and body pseudo header on mailto url. Following rules are used: - If URL includes non-ascii characters, charset of (decoded) URL is implied charset of URL - If URL includes %XX encoded characters > %7F (ie. non-ascii) charset of decoded URL is UTF-8. This means that %XX encoding is assumed to be use UTF-8 character set. - Note that these two rules are on conflict if some, but not all non-ascii characters are % -encoded. - Added dummy handler for http -URLs. - Added some support for imap -URLs. This support is incomplete and does not fully follow RFC 2192. - ;AUTH= is not supported - ;TYPE= is not supported - ;UIDVALIDITY= is not supported - ;SECTION= is not supported - ;UID= is not supported * Basically only imap mailbox can be specified, not indivual message or list of messages (search result). That is like imap://user@full.hostname/inbox - imap server can not be without mailbox. That is like imap://user@full.hostname/ it is not currently available. - Command elm -O imap://user@full.hostname/inbox can be used. That open imap folder similarly than command elm -f user@full.hostname:inbox - RFC 2192 says that native separator of imap is used as hierarchy separator. This implementation accepts URL separator (/) as hierarcy separator (even when native separator differ.) - Numbers 0-9 are also valid for imap atom. No need to convert parameter to string or literal. - Added RFC 2369 headers to known headers: List-Help, List-Subscribe, List-Unsubscribe, List-Post, List-Owner, List-Archive - Added "List-ID:", "List-Help:", "List-Subscribe:", "List-Unsubscribe:", "List-Post:", "List-Owner:", "List-Archive:" to default weedout list. - RFC 2369 List-Help, List-Unsubscribe, List-Subscribe, List-Post, List-Owner and List-Archive are parsed. - Added Generic R)eply -command. That forms following subcommands: Ra Reply to all Rl Reply to a mailing list Ro Reply to the owner of a mailing list Rt Reply to the author of a message - Added Mailing list I)nfo -command. Il Mail a message to a mailing list Io Mail a message to the owner of a mailing list Ih Mailing list help Ia Mailing list archive Is Subscribe a mailing list Iu Unsubscribe a mailing list Note that most of these commands are only able to send mail, so only mailto: -urls works. - Commands Ih Mailing list help Ia Mailing list archive Is Subscribe a mailing list Iu Unsubscribe a mailing list accepts also (subset of) imap: -urls. These commands cause that a new mailbox is entered (visited) when imap: -url refers to whole mailbox. Current mailbox is not closed so this works differently than c)hange folder -command. Also when the mailbox visited is left, messages are not moved to the =received folder. Commands that are available when visiting a mailbox via url are somewhat limited (changing of folder for example is not available). Actually probably command Ia Mailing list archive makes sense from these. - When remote url is referenced, elm asks confirmation from user before entering mailbox/folder. - Also anonymous imap urls such as List-Archive: are supported. - Added common movement routine to src/movement.c. This is used by src/attach_menu.c and src/list/select.c - Made some changes to attachment screen. - Removed cur_Write_to_screen() - Removed cur_PutLineX() - Added 'E' as E)xtended command -prefix. - Added 'Ed' as duplication removal mode. Duplicare removal requires that messages have Message-ID. When duplicates are collected also some other headers than Message-ID is checked that they are same. Duplicate removal does not delete messages but shows duplicates as one message on mailbox menu. Status changes are copied to all duplicates when message is read, tagged, flagged or marked for deletion. - NOTE: Mailing lists are not currently supported. Specially duplicates are not currently removed if mail has any List-* -header. - Also on duplicate removal mode folder state does not work and therefore commands which use readmsg. On duplicate removal mode pipe (|) command is not available. - Reimplemeted thread sorting (old code did not work with duplication removal mode.) * NOTE: threads are still based on subject (as on old thread sorting.) - Added 'Et' as view t)hreads -command. On viewing thread return can be used to select particular thread or 'd' can be used to mark all messages of thread to be deleted and 'u' can be used to mark all messages of thread to be undeleted. * NOTE: It is not possible to delete threads. Even when all messages are removed from thread (when messages are actually deleted via resync ($)), thread is still visible if 'Et' command is used. - Added elmrc option "thread-sortby". This specifies sorting order for thread view. Possible values are "sent" and "subject" (also "reverse-sent" and "reverse-subject"). - If "unstable-reverse-thread" is set, reverse-sent sorting of "thread-sortby" is based on lastest message on thread. Therefore thread moves to new location, when new message arrives to thread. - Some code changes on src/messages/ - Moved show_message_status from lib/mbox/mbox.c (originally from src/screen.c) to src/messages/status_common.c - Moved status handling from src/menu_common/mailbox.c to src/messages/status_common.c. Routines on src/menu_common/mailbox.c does just forwarding. - Removed adds_only argument from newmbox_1(). That is always FALSE. New mails are read with read_new_mails() function. - Added "Eo" as o)pen mailbox to current view -command. This works similarly with several -f options on command line. That command opens new mailbox without closing current mailbox. - When displaying some text/plain parts inside of multipart/mixed they are catenated without adding "[ Part #X/X: ... " text between them. Specially allows body part to change inside of line. That should allow changing a charset inside of line. * RFC 2046 says: "NOTE: The CRLF preceding the boundary delimiter line is conceptually attached to the boundary so that it is possible to have a part that does not end with a CRLF (line break)." - Some code changes on content-transfer-encoding decoding routines. - State routines did not handle the situation where charset of mail changed in the middle of the line. Now current line buffer is converted to new charset in that case. - Added V)iew digest as mailbox to 'after paging' (showmsg_c) commands. - Removed valid_option_type() - Removed charset_valid_magic() - Removed valid_stream() - Moved some code, which is used only by elm and config file parsing tools, from libelmme-base.so to libelmme-misc.so. - Moved lib/mediatype.c from libelmme-base.so to libelmme-misc.so. It seems to be used only on Elm so it should not be on library at all. - Changed load_terminal_map() to use malloc_gets() instead of fgets() - Added load_mime_types_map() to libelmme-misc.so - Added dump_mime_types_map() to libelmme-misc.so - Added new tool elmmimetypes, which outputs mime.types or elm.mimetypes file. - Now elm.mimetypes file is generated to elm's library directory during installation. During Configure file goes to bin/elm.mimetypes. - Now mime.types file may include magic numbers or signature (pattern). - It is recommended that both magic numbers and extension is given for mime types. - doc/mime.types is updated. - Builtin mime types map includes now magic numbers so these file extensions do not match if the file content do not match the magic numbers (or file signature). - Changed handling of elm.mimetypes and mime.types - If charset is defined on some other file than elm.mimetypes or mime.types, these definitions are not moved. - Removed "compatcharsets" (marked as obsolete) - Removed "iso646-charsets" (marked as obsolete) - Moved some code from lib/charset.c to lib/misc/charset.c - Elmcharset option -c merges elm.mimecharsets or mime.charsets file with file given as argument. - Configure does not any longer read elm.mimecharsets from elm global library directory. Instead existing elm.mimecharsets from elm global library directory is merged during installation (with -c option on elmcharsets). - Elmmimetypes option -c merges elm.mimetypes or mime.types file with file given as argument. - Configure does not read elm.mimetypes from elm global library directory. Instead existing elm.mimetypes from elm global library directory is merged during installation (with -c option on elmmimetypes). - New values without merging are written to elm.mimetypes.NEW, elm.mimecharsets.NEW, and elm.terminalinfo.NEW during installation. - Configure reports on SunOS 5.10: langinfo.h found, testing nl_langinfo(CODESET) support ... nl_langinfo(CODESET) seems work, charset for C locale is 646 wchar.h found So 646 need to be mapped to ASCII. - Added elmrc option "check-type-pattern". If set (default), mime types are checked, when paging mail, agaist elm.mimetypes and mime.types. If content does not match to any pattern (magic number) given for type, that causes a warning. If on elm.mimetypes or mime.types is any entry for type without pattern, warning is NOT printed. If warning is printed, confirmation is required. This mainly protects routines on mailcap to get bogus types. Notice that this does NOT protect metamail (if used). - Added elmrc option "attachment-fix-extension". If set (default), default file extension is set according of mime type (appending after existing extension of given filename). - If either "attachment-fix-extension" or "check-type-pattern", mime types are checked, when saving mail, agaist elm.mimetypes and mime.types. If content does not match any pattern (magic number) given for type, that causes a warning. - Default file extension is not provided, if attachment content does not match mime type. - When default extension is provided, file browser adds that extension after enter is pressed. Then user is asked to accept that extension by pressing enter second time. - Decoding of content-transfer-encoding of attachments of attachment is changed. Now content-transfer-encoding is decoded to temporary file and after that user is asked about filename. The old behauviour was to decode content-transfer-encoding directly to file given by user. New behauviour is required for checking pattern (magic number) of attachments. - If content-transfer-encoding is unknown, default extension is ".encoded". - Folder and file browser now notices if only directory name prefix is given (ie. name ending in /) and asks confirm (second enter) of name before accepting it. - display_central_message() is called nowhere. Removed it and replaced set_central_message() with lib_transient(), - Small optimization for default_unidata() - Small optimization for mail_gets() - Small optimization for parse_body_routine() - Small optimization for cs_clip_from_binary() - Small optimization for string_cmp() - Optimize find_header() by changing data structure. - Changes on mbx_mark_keep_normal() - Optimize mbx_copy_body_spool() - Changed read_line on lib/mbox/localmbx.c - cuserid() is not used so it needs not be in lib/opt_utils.c either. - removed pmalloc() and lib/pmalloc.c -- they are not used - Converted readmsg to use lib/mbox/mbox.c if state file does not exist. - Now readmsg works also for remote mailboxes - readmsg no longer removes empty lines from the end of message. - Small change on folder state file format. - Added elmrc option readmsg which tells path to readmsg -command (used internally of elm). > Meta expand provides: +filename == file on mail folder directory =filename == file on mail folder directory %filename == file on mail folder directory {rc}/filename == file on .elm subdirectory of home {lib}/filename == file on Elm's global library directory {etc}/filename == file on Elm's global configure directory {bin}/filename == file on Elm's binary installation directory And also same epansions than expand_env(): ~/filename == file on home direccory Environment variable components - Moved encode.c from src/ to melib/ - Moved part of header_parse_helper() from src/messages/header_alloc.c to melib/parse_helper.c - readmsg now outputs only the text only part of a mail by default. - Added -r (do raw output) option to readmsg. - Pipe (|) -command now uses -r option on readmsg. - Readmsg now decodes mime headers, if -r option is not used. - If "store" is given to elmrc option "show-header-errors", header errors are not immediately printed. Letter 'h' is shown as second status letter on that case. - If elmrc option "long-encoded-headers" is not set, Elm ME+ tries to wrap mime encoded headers so that encoded lines are shorter than 80 characters. If elmrc option "long-encoded-headers" is set (default), Elm ME+ tries to wrap headers that way that actual data (without encoding) is shorter than 80 characters. This produces over 80 character (and violates MIME) but may produce nicer result when headers are displayed with encoding decoded (if some part of header is not encoded). This is mainly used on Subject: -header. - Removed STATE_in_string from lib/state.c. It is not used. - Removed STATE_out_string from lib/state.c. It is not used. - Allow setting "receivedmail" elmrc option (normally "=received") to "none". This disables Move read messages to "received" folder? (y/n) question. When "receivedmail" is set to "none", ">" can not be used as folder name. Requested by: Laura Kataja - Allow setting "sentmail" elmrc option (normally "=sent") to "none". When "sentmail" is set to "none", "<" can not be used as folder name. - If "sentmail" is set to "none", "copy" defaults to OFF. - Removed lib/move_left.c. It is not used. - "The attached patch to elm PL122 causes THREAD sorting to go to the bottom of the mailbox if there are no unread messages, instead of the top. This is already done for sorts in mailbox order, sent, and received order, but I use thread by default, so this patch is helpful to me." From: Bruce Momjian - Let elm accept 'kb' from termcap also as backspace and not only VERASE value got from tty. - Allow marking messages deleted also with delete key ('kD' from termcap). - Let end key ('@7' from termcap) to go to the end of the message list. Corresponding to that the home key goes to the beginning of the message list. - Temporary copy for imap and pop folders is not longer /tmp/mbox.user@host or /tmp/mbox.user@host:tail. Instead it is /tmp/mbox.$USER.host.XXXX.XXXX - It is possible to use usernames which include / -character with IMAP -url syntax (/ need to be URL escaped). For example elm -O imap://dom%2Fuser%2Fmbx@server/INBOX ( Some exchange servers uses usernames like dom/user/mbx ) See also chapter "Mapping to content-type" - NOTE: readmsg now filters only mail headers so that readmsg -w From_ 1 does not work (only -r option shows mailbox separator line.) - NOTE: Because Elm 2.5 builtin mime.types mapping (*) includes txt text/plain all text/plain mime part (or attachments) when saved got extension ".txt" if attachment-fix-extension is set (default). (*) As on Elm ME+ 2.5 PLalpha7 - Removed hdrs/regexp.h - sh Configure -SS works as sh Configure -S except that it only subsitutes *.SH files. - Fix crash when elm -S is called. - Fix canceling of mail crash. - Now it is checked that given option combination makes sense with implied operation mode. - Removed -R rel_path argument from elmregister. It is not used. - Added -A alternate_source argument to elmregister. - This argument is needed on doc/ installation when Configure -O option is used. - Fixed "make install" when Elm ME+ is build on separate build directory (with Configure -O option). * Changes from Elm 2.4ME+ PL123a (25) - "Looking at my incoming mail I noticed that there is no space (empty line) between the end of one message and the beginning of the next message". Reported by: Noam G. Nudelman > Fixed regression from Elm ME+ 2.5 PLalpha10 or Elm 2.4ME+ PL122j (25). With IMAP fix from 122j content length does not include ending empty line of mail. Fixed mbx_mark_keep_normal() for that. WARNING: On MMDF case mbx_mark_keep_normal() is not fixed and is probably broken. - elm.rc may include 'unidata = none'. Was failing of 'elmregister replay' because of chmod is failing. > Instead do chmod on elmunidata - Same also for 'bindata = none' (do chmod on elmunidata). * Changes from Elm 2.4ME+ PL123b (25) - Avoided error message bin/elmregister: [trim_list] Bad command letter: s - Fixed valgrind reported memory leak: 77 bytes in 2 blocks are definitely lost in loss record 11 of 22 at 0x40179FF: realloc (m_replacemalloc/vg_replace_malloc.c:306) by 0x40E96C6: safe_realloc (safemalloc.c:64) by 0x40DDB39: elm_vmessage (output.c:1302) by 0x40DE1B1: elm_message (output.c:1481) by 0x809F789: set_folder_window_title (screen.c:82) - Fixed valgrind reported memory leak: 57 bytes in 1 blocks are definitely lost in loss record 8 of 22 at 0x40179FF: realloc (m_replacemalloc/vg_replace_malloc.c:306) by 0x40E96C6: safe_realloc (safemalloc.c:64) by 0x40FBE18: strmcat (strmcpy.c:40) by 0x40416EC: strXcat (terminal.c:91) by 0x4043F64: terminal_set_title (terminal.c:1624) by 0x80B1865: set_terminal_titles (termtitle.c:59) * Changes from Elm 2.4ME+ PL123c (25) - Fixed crash when om elmrc have ### pgp2 = none "Is that "&&" correct? Looking at other "none" comparisons in the file, it isn't. Patch attached, and problem confirmed fixed." From: Bruce Momjian * Change from Elm 2.5 - Added .elm/mailing.lists file similar than .elm/mlist on Elm 2.5. Global file is $etc/elm.mailinglists (on Elm 2.5 it is $lib/mlists) [J2] > Note that syntax, however, is different. Specically: - Address matching is same as on alternatives, so incomplete match requires wildcard (*) characters. - Tag lines are like [to-me] ------ [to-many] ====== [cc-me] ==cc== when on Elm 2.5 they are [to-me] (------) [to-many] (======) [cc-me] (==cc==) - List address pattern is name when on Elm 2.5 address pattern is name submatch (name) - There is also alternative matching with tag [list] name List-id: - Made some changes on implementation of okay_addr.c - Added new tool elmmailinglists, which outputs mailing.lists or elm.mailinglists file. - Configure now copies doc/mailing.lists to bin/elm.mailinglists for installation - Configure -M and Configure -S also (re)generates bin/elm.mailinglists - Elmmailinglists option -c merges elm.mailinglists or mailing.lists file with file given as argument. - Configure does not read elm.mailinglists from elm global library directory. Instead existing elm.mailinglists from elm global library directory is merged during installation (with -c option on elmmailinglists). - New values without merging are written to elm.mailinglists.NEW during installation. See also chapter "Mailing lists information". * New elmrc options from Elm 2.4 PL123 (25) thread-sortby check-type-pattern attachment-fix-extension long-encoded-headers readmsg * New command line options from Elm 2.4 PL123 (25) -O Open url --confirm-url Ask confirmation * New tools from Elm 2.4 PL123 (25) elmmimetypes * Added files from Elm 2.4 PL123 (25) src/view_folder.c lib/mbox/Makefile.SH lib/mbox/def_mbox.h lib/mbox/init.c lib/mbox/remote_mbx.c lib/mbox/shared_mbox.c hdrs/mboxlib.h hdrs/state_imp.h lib/mbox/state.c lib/mbox/headers.c hdrs/connection_imp.h src/showmsg_1.c src/url/Makefile.SH src/url/def_url.h src/url/url.c src/url/url_element.c lib/mparse.c src/url/url_path.c src/url/no_url.c src/url/mailto.c src/block/block.c src/block/def_block.h src/block/fileblock.c src/block/stringblock.c src/list/def_list.h src/list/Makefile.SH src/list/list.c src/list/reply.c src/list/select.c src/list/info.c src/movement.c src/extended.c src/duplicate_removal.c src/messages/duplicate.c src/messages/status.c src/messages/status_common.c src/openmailbox.c lib/misc/Makefile.SH lib/misc/def_misc.h lib/misc/init.c hdrs/misclib.h lib/misc/terminal.c lib/misc/mime_types.c utils/elmmimetypes.c doc/elmmimetypes.1 ConfTool/GenMimetypes lib/misc/charset.c src/url/http.c src/messages/thread.c src/thread.c src/messages/thread_messages.c src/view_one_thread.c melib/type_check.c utils/readmsg/Makefile.SH utils/readmsg/def_readmsg.h utils/readmsg/fstate.c utils/readmsg/wrapper.c hdrs/readmsg.h utils/readmsg/folder.c lib/mbox/error.c melib/parse_helper.c src/url/imap.c src/mailbox.c src/list/visit_mailbox.c * Removed files from Elm 2.4 PL123 (25) lib/move_left.c * Renamed files from Elm 2.4 PL123 (25) lib/mbox.c => lib/mbox/mbox.c lib/localmbx.c => lib/mbox/localmbx.c lib/savefolder.c => lib/mbox/savefolder.c lib/imap.c => lib/mbox/imap.c lib/pop.c => lib/mbox/pop.c lib/mk_lockname.c => lib/mbox/mk_lockname.c lib/realfrom.c => lib/mbox/realfrom.c lib/forwarded.c => lib/mbox/forwarded.c lib/header_cmp.c => lib/mbox/header_cmp.c lib/expires.c => lib/mbox/expires.c lib/parsarpdat.c => lib/mbox/parsarpdat.c lib/getword.c => lib/mbox/getword.c lib/mediatype.c => lib/misc/mediatype.c utils/readmsg.c => utils/readmsg/readmsg.c src/encode.c => melib/encode.c * Added files from Elm 2.5 lib/misc/mlist.c (reimplementation from lib/mlist.c) New tools: elmmailinglists New files: lib/misc/conf_writer.c utils/elmmailinglists.c doc/elmmailinglists.1 doc/mailing.lists ConfTool/GenMailinglists Removed files: hdrs/regexp.h Corresponding quotes from Elm 2.5 PL7 Changes file: [J1] New "mime-types" file added to $libdir. [J2] Added the mailing list stuff done by Paul Close Changes on Elm ME+ 2.5 PLalpha10 compared with Elm ME+ 2.5 PLalpha9 ------------------------------------------------------------------- * Changes from Elm 2.4ME+ PL122j (25) - Elm ME+ failed to wrap mime encoded Subject: header under 80 characters on some situations. - Fix return value of get_word_from_string() - Fix case where "Metamail selection" -screen actually not prompted for metamail. - Fix segmentation violation -crash when elm is called as elm --mailbox-title=xxx -f x -f z (when given folders do not exists.) - Fix (or work around) error Message contains bare newlines when saving to some IMAP servers. * Changes from Elm 2.4ME+ PL122k (25) - Make little better decoding of MIME encoding of subject. Specially allow more than one space between mime encoded words. - Changed spelling of "Millenium" to "Millennium". Suggested by: Rob Kendrick * In my English to Finnish dictionary there is a word "millenium". And there is no word "millennium" in the dictionary. But apparently my dictionary is wrong. * Changes from Elm 2.4ME+ PL122l (25) - Fix crash when loading garbage spool folder (ie. mailbox). - Elm failed add / to tmp elmrc variable when it was initialized from $TMPDIR - Some compilation fixes on SunOS. * NOTE: Changes for SunOS 5.10 are only compile tested. It is not tested that they produce working code. - tputs() workaround on Elm 2.4ME+ PL122d (25) causes compilation warning on SunOS, if compiled with gcc. Use workaround only when gcc is not used. - Change from Elm 2.5: - Changed a text on Configure about disabling shell escapes. [I1] Corresponding quotes from Elm 2.5 PL7 Changes file: [I1] Add a warning to Configure about disabling shell escapes (from Keith Neufeld) Changes on Elm ME+ 2.5 PLalpha9 compared with Elm ME+ 2.5 PLalpha8 ------------------------------------------------------------------ * Changes from Elm 2.4ME+ PL122f (25) - When saving mail forder time on "From " -separator line was shifted by one hour if it was on different zone than current time (ie. on daylight saving time versus normal time). - Folder browser was showing wrong entry on prompt line after TAB -character. * Changes from Elm 2.4ME+ PL122g (25) - Fix expensive debug loop on imap.c (so that loop is not run if dubugging is not used.) - Fix redraw handling on do_pipe - "elm -vvv" was printing wrong output: Mailer: unknown; path="/usr/sbin/sendmail" instead of Mailer: sendmail; path="/usr/sbin/sendmail"; add-from="dont"; supported-bodytype="8bit"; supports-dsn="yes" (actually on one line) * Changes from Elm 2.4ME+ PL122h (25) - "I built your latest elm today and came across a smail issue as I build it on several architectures from the same source tree. I found make clean fails to remove utils/reghelper.o which leads to a failure to link obvously..." Reported by: janjaap@stack.nl (Janjaap van Velthooven) > Added reghelper.o to UTIL_OBJ - Added 'V' - command (View digest as mailbox) to help. - Added resort_mailbox() to leaving of A)ssemble message fragments -command/mode. Otherwise main mailbox is incorrectly sorted if new mail was arrived when A)ssemble message fragments -mode was active. - Fix possible redraw loop when prompting password - On A)ssemble message fragments -command menu there is "o)ptions" -command, but actual command was missing. Added 'o' to command loop. - On digest viewing menu there is "o)ptions" -command, but actual command was missing. Added 'o' to command loop. * Changes from Elm 2.4ME+ PL122i (25) - If mime part (or attached file) did not end in a newline, garbage from the next part (until the first LF) was included in the end of that part. That happened when the file or mime part didn't have an LF in the end and it was not required to be content-transfer-encoded. > Fixed copy_part() - Change from Elm 2.5: - Added command 'L' (move to last line of page) [H1] - Added command 'H' (move to first line of page) [H1] NOTE: http://www.ozone.fmi.fi/KEH/ do not exists. Use http://www.elmme-mailer.org/ instead. Elm ME+ 2.5 exists on http://www.elmme-mailer.org/elm-ME+2.5.html and ftp://ftp.elmme-mailer.org/elmme-mailer.org/src/elm-ME+2.5/ Corresponding quotes from Elm 2.5 PL7 Changes file: [H1] Added vi-style `H'' and `L'' commands to go to the top |and bottom of the current indexed (Index, Alias) screen (from Keith Neufeld) Changes on Elm ME+ 2.5 PLalpha8 compared with Elm ME+ 2.5 PLalpha7 ------------------------------------------------------------------ - "Bad News - I tried to use it to send a jpeg attachment EXACTLY like I did yesterday with alpha6 and it died ie MIME PANIC: application/octet-stream is not known MIME PANIC in attach_menu.c:2165:mime_t_clear >>>application/octet-stream is not known Emergency exit taken! All temp files intact!" Reported by: James Corey > Code assumed that application/octet-stream was predefined type on lib/mediatype.c. Instead just use create -flag on give_media_type2() call. - Dropped support of AT&T Mail Forms. That is Content-Type: mailform Also correspond elmrc option 'forms' is marked as obsolete. * Changes from Elm 2.4ME+ PL122e (25) - O)verride charset -command did was not effect on non-MIME messages. - Characters on "Change to which folder:" -prompt was echoed to wrong place after "Already reading that folder!" -message. - Removed extra redraw flag from mail() Removed files: src/forms.c Removed elmrc options: forms form Changes on Elm ME+ 2.5 PLalpha7 compared with Elm ME+ 2.5 PLalpha6 ------------------------------------------------------------------ - init_defaults() was called twice on src/init.c - "I tried your patch for ELM 2.5 alpha5 and it failed to compile on Solaris. So tried the same thing with the new ELM 2.5 alpha6. Same thing." "cs_wfallback.c: In function `init_fallback': cs_wfallback.c:165: `Debug' undeclared (first use in this function)" Reported by: James Corey > Moved DEBUG_VAR(Debug,__FILE__,"charset") outside of #if 0 - Some changes on code how content-type of attachment is detected. - Added .txt extension for built-in default as text/plain (text/plain is generally default on attachment code, but that also overrides application/octet-stream if binary data is found.) - Allow on [include -command to left out content-type. [G1] In that case mime.types file and same internal mapping is used than on Attachment Menu. However there is no default content type as is on Attachment Menu. - Note that RFC 2231 encoding is NOT done MIME content-type parameters given on mime.types file! Elmrc option "mime-parameters" have no effect on that case. - Now charset= -parameter is added automatically on [include -command, if type is text and on file have 8-bit data. This is similar than on Attachment Menu. - Elm2.4ME+ PL0 (25) supported wildcard '*' on alternatives list. Support was probably lost on Elm2.4ME+ PL54 (25). - Added support again. However @ -character should be included on alternatives -list and not replaced with wildcard. [G2] - Character '*' matches to any number of charaters and '?' character match to any single character. - Added /usr/sfw/bin:/usr/ccs/bin to PATH on Configure for Solaris. Hint from: James Corey - Let Configure locate ar and nm (and ranlib) instead just using PATH - Let makefiles use ar -command located by Configure - Use both curses.h and term.h on SunOS (Solaris), not only term.h - Some changes of SunOS (Solaris) - Moved curses.h and term.h including from curses.c to def_screen.h before including termios.h. - SunOS 5.10 (Solaris) have problematic prototype for tputs() and do not have prototype for tgoto() when __STDC__ is defined. Added some workarounds. * Changes from Elm 2.4ME+ PL122d (25) - On some cases filename -parameter was generated twice to Content-Disposition -header. - Tagged flag of current message was not cleared on V)iew digest command. - Allow canceling Already have selection criteria - add more? prompt with Ctrl-C (interrupt character) on systems which supports POSIX termios. - Fix USGNAMES compilation. - browser_descend_local() did not handled correctly case where given filename did not included path (and there was directory already selected.) Corresponding quotes from Elm 2.5 PL7 Changes file: [G1] The content-type is now optional to [include ...]. That is, you can say just [include filename] and Elm will guess both the content type and encoding. [G2] The wildcard '*' is now allowed in the alternatives list. For example, wfp5p@*virginia.edu matches user wfp5p for all machines at virginia.edu. (from Michael Elkins ). Changes on Elm ME+ 2.5 PLalpha6 compared with Elm ME+ 2.5 PLalpha5 ------------------------------------------------------------------ * Changes from Elm 2.4ME+ PL122b (25) - Ctrl-T 'all' did not updated messages on screen to be tagged when visible messages was limited with l)imit -command. - Ctrl-T 'flagged' did not updated messages on screen to be tagged when visible messages was limited with l)imit -command. * Changes from Elm 2.4ME+ PL122c (25) - Fix valgrind reported error on case elm -i non-existing-file address Conditional jump or move depends on uninitialised value(s) at 0x808B83E: reset_parts (mime.c:105) by 0x808B9D6: free_mime_send_info (mime.c:144) by 0x80871B9: mail (mailmsg2.c:1351) by 0x8083910: send_msg_middle (mailmsg1.c:589) - Ctrl-T {pattern} did not updated messages on screen to be tagged when visible messages was limited with l)imit -command. - Enchance redrawing on Delete message? "received" folder not available, continue leaving folder? Move read message to "received" folder? -prompts. - Fix -Wtraditional warning: mailer.c:1644: warning: non-static declaration for `sendmail_mailer_backend' follows static - Fix -Wtraditional warning: mailer.c:1902: warning: non-static declaration for `submitmail_mailer_backend' follows static - Fix -Wtraditional warning: mailer.c:1932: warning: non-static declaration for `execmail_mailer_backend' follows static - "I configured ELM 2.5 alpha 5 just like my ELM 2.5 alpha 4 that compiles nicely and got the following error from init.c on Solaris 8 gcc. <...> In file included from init.c:14: ../../hdrs/shared_imp.h:118: parse error before `*' init.c:18: `rc_DT_SHARED' undeclared here (not in a function)" Problem noted by: James Corey > Elm ME+ failed to compiled when USE_DLOPEN and SHARED_LIBS was not defined. - Added -O object-dir argument to Configure - sh somedirectory/Configure.SH no longer build ELm ME+ on somedirectory. Instead current directory is treated as implicit -O `pwd` option of Configure. [F1] - Configure itself still run on UU -directory on source tree. - Some untested SunOS 5 changes to Configure. Corresponding quotes from Elm 2.5 PL7 Changes file: [F1] Added Chip Rosenthal's change to allow builds in a separate directory. Changes on Elm ME+ 2.5 PLalpha5 compared with Elm ME+ 2.5 PLalpha4 ------------------------------------------------------------------ Note: You must create directory lib/mailer before applying this patch! * Changes from Elm 2.4ME+ 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 ( 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 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 - "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 > 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 > 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 - "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 > 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 definition 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 definition 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' definition. - 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 definition 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) does 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 - 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 - get_type_flags() was called with NULL-pointer argument from start_body_helper() line 381. Problem noted by: Vesa-Matti J Kari > 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 - 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 - 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. * 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. * Changes from Elm 2.4ME+ 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 > 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 . does not work now (actually elm -f '!!' works). - However elm -f '' start folder selection (both on Elm 2.4 ME+ 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 Corresponding 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 ) [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 Changes on Elm ME+ 2.5 PLalpha4 compared with Elm ME+ 2.5 PLalpha3 ------------------------------------------------------------------ SUMMARY: This release collects changes of Elm2.4ME+ PL120 and PL121. This release incorporates some new commands and other changes from Elm 2.5 PL7. Also crash on List-ID parsing is fixed. * Collected ELM 2.4ME+ PL120 (25) changes: - Group reply did not worked correctly when on mail there was several To: -headers. - Refine "showto" semantic. If that elmrc variable is set and mail is not addressed to user, then To: address is shown. - Remove < > from address on real_from parsing. - Set envelope from address to username when reading Canceled mail special 'folder'. That way To: -address should be displayed when viewing that 'folder'. * Collected ELM 2.4ME+ PL121 (25) changes: - Better rpath test on Configure - Better soname test on Configure - Some fixes about soname_include_path - Change soname_include_path values define/undef to y/n. It is not used for #define. - Allow setting soname_include_path=n always if rpath works - Add extra libraries needed by shared libraries (shared_libs/*/) to rpath of executable. - Effectively local-fast-lookup = ON is now always used when ASCII filenames are looked. - Removed Configure warning: "(I see you are using the Korn shell. Some ksh's blow up on Configure, especially on exotic machines. If yours does, try the Bourne shell instead.)" - Let builtin pager show also address and not only name of sender! - Fix error RC PANIC in rc_handle.c:1226:expand_dt_path >>>Bad state on end when incorrect elmrc is read weedout = *clear-weed-list*" - Change from Elm 2.5: - Pass topic only to display_helpfile() instead of help section number. [D1] [D2] [D3] - Removed 'prefix' argument from copy_message*() functions. [D6] - Added line argument to read_number() [D7] - Added wait_time pararmeter to GetPrompt() [D8] - Added '!' command to alias menu [D9] - Added environment variables to elm manual page [D10] - Command 'u' works as command 'U' (Unread) to messages which are not deleted. [D11] - Allow both mansrc and catmansrc to be "none" [D12] - If 'M' command is going to display To -address inside of ( ) and there is displaying of "To " address on place of from address, do not display To -address inside of ( ). - Minor change to output of 'M' command. - Fix crash on List-ID parsing. Renamed files: doc/elm-help.0 => doc/help-main [D4] doc/elm-help.1 => doc/help-options doc/elm-help.2 => doc/help-alias doc/elm-help.3 => doc/help-pager Removed files: hdrs/elmutil.h [D5] New files: utils/def_utils.h Corresponding quotes from Elm 2.5 PL7 Changes file: [D1] The display_helpfile() program is now passed a just a topic (say "options") instead of a full pathname ("/usr/local/lib/elm/help-options"). [D2] Calling semantics to display_helpfile() [file src/help.c] changed. Before, it used to take an integer to select a helpfile. Now, it takes a helpfile pathname. (These pathnames are now defined in sysdefs.h.) [D3] sysdefs.h no longer defines individual help files, but rather a single "system_help_dir". [D4] Renamed all help files from stuff like "elm-help.0" to "help-main". [D5] Reorganization of main header files. The elmutil.h header is now obsolete. All portions of the Elm package include elm_defs.h, and the main Elm program (but not utilities) include elm_globals.h. Moved many definitions specific to Elm (and not used by the utilities) from elm_defs.h to elm_globals.h. Placed declaration of the dozen-or-so widely used globals in elm_defs.h. [D6] The calling semantics to copy_message() have changed. It no longer accepts a "prefix" argument. New usage is: copy_message(FILE *dest_file, int cm_options); The following new options have been added: CM_PREFIX - Add "prefixchars" to each line. CM_FORWARDING - Replaces the (now removed) "forwarding" global. CM_ATTRIBUTION - Add an attribution line. [D7] Calling semantics to read_number() [file src/in_utils.c] changed. It used to have a hardwired screen line number and got its default response from a magic global variable. Now you have to pass both of these as arguments. [D8] Calling semantics to GetPrompt() [file src/in_utils.c] changed. Now you need to pass the timeout as a parameter, rather than using the global "timeout". Say "0" for infinite timeout. [D9] Allow a shell escape from the alias screen (just like from the index screen). It does not put the shell escape onto the alias screen menu. (from Keith Neufeld ) [D10] Added docs for environment variables to the man page (from Eric Haszlakiewicz ) [D11] Press u on a message that is read but not deleted will mark the message as unread (from Larry Schwimmer ). [D12] Eliminate complaints in doc/Makefile about duplicate makefile entries if mansrc and catmansrc are both "none" (from Keith Neufeld) Changes on Elm ME+ 2.5 PLalpha3 compared with Elm ME+ 2.5 PLalpha2 ------------------------------------------------------------------ - Fix crash on startup if .elm directory do not exists - Fix crash on startup if DEBUG is not defined - Deleting of messages marked for deletion was not working (same incorrect condition worked on Elm 2.4ME+ because of different ison -macro) - Errors on [tags] was not caused sending to go back to pre-send menu. - "save-by-alias" was truncating alias to 3 letters. Changes on Elm ME+ 2.5 PLalpha2 compared with Elm ME+ 2.5 PLalpha1 ------------------------------------------------------------------ SUMMARY: This release collects changes of Elm2.4ME+ PL118 and PL119. This release incorporates new command line options from Elm 2.5. New elmrc option is dead-letter-dir. * Collected ELM 2.4ME+ PL118 (15) changes: - Interrupt signal (Ctrl-C) was ignored only, if Elm ME+ was compiled with -DDEBUG option. Problem noted by: Laura Kataja - Moved get_term_chars() from src/init.c to src/screen/init.c - ELM 2.4ME+ PL108 added 'invoke e)ditor' command to header editing screen. That conflicts with 'E)xpires' command. Changed command to 'invoke e(d)itor'. - Allow canceling of following prompts with Ctrl-C (interrupt character) on systems which supports POSIX termios: Set current XXX to : Description: (Attachment Configuration) Content-Type: (Attachment Configuration) Content-Disposition: (Attachment Configuration) Search: (builtin pager) From: (Message Header Edit Screen) To: (Message Header Edit Screen) Cc: (Message Header Edit Screen) Bcc: (Message Header Edit Screen) Subject: (Message Header Edit Screen) Reply-to: (Message Header Edit Screen) Action: (Message Header Edit Screen) Priority: (Message Header Edit Screen) Precedence: (Message Header Edit Screen) In-reply-to: (Message Header Edit Screen) user defined header on Message Header Edit Screen Enter criteria or '?' for help: Send the message to: (prompt of m)ail command) To: (prompt of m)ail command) Subject: (prompt of m)ail command) Copies to: (prompt of m)ail command) Return-path: (Mail Pre-Send Screen) E)ditor (primary) : (ELM Options Editor) D)isplay mail using : (ELM Options Editor) C)alendar file : (ELM Options Editor) O)utbound mail saved : (ELM Options Editor) P)rint mail using : (ELM Options Editor) Y)our full name : (ELM Options Editor) V)isual Editor (~v) : (ELM Options Editor) E)xpires: (ELM Options Editor) Precede(n)ce: (ELM Options Editor) Enter pattern: To: (when encrypting message (pgp)) From: (when signing message (pgp)) Enter userid of public key: (prompt of Ctrl-K command) Override charset: Shell command: Pipe to: Enter alias name: (Alias mode) Current message address aliased to: Enter address for XXX: (Alias mode) Fully expand alias: (Alias mode) Enter last name for XXX: Enter first name for XXX: Enter optional comment for XXX: Forward message as separate part? Copy message? (prompt of m)ail command) Edit outgoing message? (prompt of f)orward command) - Treate Ctrl-C (interrupt character) as No on following prompts (on systems which support POSIX termios): Abandon change to mailbox? Abandon changes to mailbox? - Handling interrupt (Ctrl-C) on builtin editor without signals on systems which support POSIX termios (that edit_interrupt signal handler is not safe!) - GetPGPKey() did not always re-enabled raw-mode - Allow canceling of following (folder browser) prompts with Ctrl-C (interrupt character) on systems which supports POSIX termios: Change to which folder: Save text of message to: Copy text of message to: Save text messages to: Copy text messages to: Save message to: Copy message to: Save messages to: Copy messages to: Save copy in (use '?' for help): - Allow canceling of following (file browser) prompts with Ctrl-C (interrupt character) on systems which supports POSIX termios: To file: (MIME structure Menu) Filename: (Attachment Configuration) - Allow canceling leaving of folder on following prompts with Ctrl-C (interrupt character) on systems which supports POSIX termios: Delete message? Delete messages? Move read message to \"received\" folder? Move read messages to \"received\" folder? Keep unread message in incoming mailbox? Keep unread messages in incoming mailbox? - Now on address prompts also works \ quotation of interrupt character (for example @, if set that way) on systems which supports POSIX termios. - Allow canceling of password prompt of IMAP/POP with Ctrl-C (interrupt character) on systems which supports POSIX termios: Password for XXX@YYY: - Allow canceling of IMAP/POP connection attempt with Ctrl-C (interrupt character) on systems which supports POSIX sigaction: Connecting to XXX - Allow canceling alias menu help prompt with Ctrl-C (interrupt character) on systems which supports POSIX termios - Allow canceling messages/mailbox menu help prompt with Ctrl-C (interrupt character) on systems which supports POSIX termios - Allow canceling options menu help prompt with Ctrl-C (interrupt character) on systems which supports POSIX termios - Add READCH_CURSOR to ReadCh options so so that escape sequences from cursor keys do not cause misinterpration of selected option. - Allow folowing ON/OFF prompts to be canceled on options menu with Ctrl-C (interrupt character) on systems which supports POSIX termios: A)rrow cursor : M)enu display : - Allow options menu sorting criteria prompt to be canceled with Ctrl-C (interrupt character) on systems which supports POSIX termios: S)orting criteria : - Allow canceling DSN menu with Ctrl-C (interrupt character) on systems which supports POSIX termios (but not yet allow canceling of individual prompts.) - Allow quiting Attachment Configuration menu with Ctrl-C (interrupt character) on systems which supports POSIX termios (this not necessary forget/undo made changes however.) - Allow canceling encoding prompt on Configuration menu with Ctrl-C (interrupt character) on systems which supports POSIX termios: Content-Transfer-Encoding: - Allow quiting Attachment Menu with Ctrl-C (interrupt character) on systems which supports POSIX termios (this not necessary forget/undo made changes however.) - Redraw Mail Pre-Send Screen when quiting Attachment Menu or DSN menu. - Allow quiting Message Header Edit Screen with Ctrl-C (interrupt character) on systems which supports POSIX termios (this not necessary forget/undo made changes however.) - Allow quiting help text viewer with Ctrl-C (interrupt character) on systems which supports POSIX termios: Press to continue, 'q' to return. - Allow quiting of builtin pager with Ctrl-C (interrupt character) on systems which supports POSIX termios * Collected ELM 2.4ME+ PL119 (15) changes: - Configure now locates system gencat command - Added file nls/Makefile.SH - File nls/Makefile is removed. Now it is generated by Configure - Made leave() to use give_next_open_mailbox() - Added free_all_mailboxes() to src/messages/messages.c - Made leave() to use free_all_mailboxes() - Made rm_temps_exit() to use free_all_mailboxes() - Made silently_exit() to use give_next_open_mailbox() - Made emergency_exit() to use give_next_open_mailbox() - Made leave_locked() to use give_next_open_mailbox() - Made usr1_signal() to use give_next_open_mailbox() - Made usr2_signal() to use give_next_open_mailbox() - Removed current_mailbox global variable - Added free_all_aliasviews() to src/aliases/aliases.c - Made leave() to use free_all_aliasviews() - Made silently_exit() to use free_all_aliasviews() - Made rm_temps_exit() to use free_all_aliasviews() - Made leave_locked() to use free_all_aliasviews() - Removed current_aliaslist global variable - Added menu_trigger_redraw() to src/screen/context.c - Changed resync() to use menu_trigger_redraw() - Changed help() to use menu_trigger_redraw() - Changed do_pipe() to use menu_trigger_redraw() - Changed change_file() to use menu_trigger_redraw() - Changed print_msg() to use menu_trigger_redraw() - Changed subshell() to use menu_trigger_redraw() - Changed pgp_extract_public_key() to use menu_trigger_redraw() - Changed forward() to use menu_trigger_redraw() - Changed reply_to_everyone() to use menu_trigger_redraw() - Changed pgp_mail_public_key() to use menu_trigger_redraw() - Changed send_msg_l() to use menu_trigger_redraw() - Changed print_text() to use menu_trigger_redraw() - Changed reply() to use menu_trigger_redraw() - Changed save() to use menu_trigger_redraw() - Changed pattern_match() to use menu_trigger_redraw() - Changed limit() to use menu_trigger_redraw() - Changed read_number to use menu_trigger_redraw() - Changed alias_help() to use menu_trigger_redraw() - Changed a_sendmsg() to use menu_trigger_redraw() - Changed mailbox_command() to use menu_trigger_redraw() - Changed motion() to use menu_trigger_redraw() - Changed new_mail_check() to use menu_trigger_redraw() - Changed mail() to use menu_trigger_redraw() - Changed send_msg_middle() to use menu_trigger_redraw() - Changed send_form() to use menu_trigger_redraw() - Added menu_trigger_redraw() to get_copies() - Added menu_trigger_redraw() to get_to() - Added menu_trigger_redraw() to copy_the_msg() - Added menu_trigger_redraw() to get_subject() - Changed send_msg_argv() to use menu_trigger_redraw() - Moved *.Canceled.mail to own directory Canceled.mail.dir - Editor buffer for f)orget messages is not kept. Instead cancele mails are picked from Canceled.mail.dir on m)ail -command ('/' on To: prompt gives menu of cancelled messages.) - Canceled.mail.dir is not available as folder (it can not given for c)hange folder commmand or -f option of Elm.) - When canceled mail is picked from re-sending, is is also deleted from Canceled.mail.dir (f)orget command will re-add it to Canceled.mail.dir.) - Name of Canceled.mail.dir can be changed with elmrc option dead-letter-dir. - Removed give_message_folder() - Added -g option to Configure - Change from Elm 2.5: Added option -r to specify elmrc file [C1] Added option -S to specify send only mode Added option -M to force all local folders as mailboxes [C3] - Change from Elm 2.5: Added variable "opmode" [C2] Added -M option to frm [C3] Added '&' command to toggle option -M status (force all local folders as mailbox) [C3] - Added -M option to newmail - Added -r option to frm,nfrm - Added -r option to newmail - Added -r option to answer - Added -r option to elmcharset - Added -r option to elmlibregister - Added -r option to elmrc-write - Added -r option to elmstringconvert - Added -r option to elmterminal - Added -r option to elmunidata - If -M option is active, command 'c' prints 'Change mailbox' instead of 'Change folder' - Allow canceling of following prompts with Ctrl-C (interrupt character) on systems which supports POSIX termios: Save marked messages? New elmrc options: dead-letter-dir New file: src/screen/init.c lib/cancel.c src/messages/canceled_mail.c src/canceled.c nls/Makefile.SH Removed file: nls/Makefile (this is now generated by Configure) Corresponding quotes from Elm 2.5 PL7 Changes file: [C1] Actually show the -r option in the usage [C2] New "opmode" parameter indicates Elm operating mode (OPMODE_READ, OPMODE_SEND, etc.). [C3] Added the changes that allow other folders to be treated as spool folders (the "Magic Mode" change). Hitting '&' toggles this as well as the use of the command line option -M. The -M option also works on frm/nfrm. Changes on Elm ME+ 2.5 PLalpha1 compared with Elm ME+ 2.5 PLalpha0 ------------------------------------------------------------------ Note: You must create directory 2.4/doc before applying this patch! SUMMARY: This release collects changes of Elm2.4ME+ PL116, PL116a, PL117 and allows elmination of aliases from larger aliases. Also Elm 2.4 guide files are moved from doc to 2.4/doc. New elmrc aoptions are pgp-interactive and askmimeforward. WARNING: There is small change on elm.filelist format, so downgrading from Elm2.4ME+ PL116 (25) or Elm ME+ 2.5 PLalpha1 to Elm 2.4ME+ PL115 (25) or to Elm ME+ 2.5 PLalpha0 will not work (you need unistall or remove elm.filelist first.) * Changes from Elm2.4ME+ PL116 - Changed prompt ""received" folder not available, continue? (y/n) n" - Also changed default answer to be yes on that prompt (that is usefull only when received folder is remote, but that error may occur also is somebody is set receivedmail = /invalid ) - Fix some possible compilation problems with traditional C compilers (as opposed to ANSI C ompilers) - Fix typo PROMTP_yesno (to PROMPT_yesno) on Elm2.4ME+ PL115a (25) - Added command "elmregister copydoc" which works like "elmregister copy", but marks file to be document. - Added option "-s {stage-subdir}" to command "elmregister {command}". - If on header editing screen incoked editor and address was on form '"a" (c)", and then edited it on header editing screen address become as '"a" (c('. Changed on '(' to ')' on make_surface_addr() on lib/outheaders.c - Change from Elm 2.5: allow elimination of aliases from larger aliases (To: bigalias -subalias) [B1] do not send message with zero recipients [B2] - Fix debug output of dump_expanded_address() - Changed message catalog name from elm2.4me+ to elmme+2.5 * Changes from Elm2.4ME+ PL116a (25) - Alternatives and weedout and list was replaced with Q letters Problem noted by: Cyrille Lefevre - Reprint last error on "Mail Pre-Send Screen" after clearing screen. - Trying send encrypted messages with gpg was giving error message Couldn't find key matching 'xxx@yyy' Problem noted by: Olivier COLIN (and probably others) > Make GetPGPKey() retry reading of result on case of interrupt. - GetPGPKey() was not collect status of exted gpg and was left lot of defunct processes. Converted code to use start_run(). - Do not quote addresses on alternatives. * Changes from Elm2.4ME+ PL117 (25) - Fix debug output of dump_expanded_address() - Implement reconnection for mailer=submission (however reconnection is not implemented for mailer=sendmail-bs). These mailer's open smtp (or submission) connection to server before editor is started. That is done for get capacity of mailer (for 8BITMIME). However sometime that times out if editing tooks too long and sending of mail fails. - Added pgp-interactive option to elmrc. Setting that disables batch mode of pgp/gpg when encrypting/signing mail. - Added elmrc variable type rc_DT_ESTR (a kind of expanded string). - Reimplemented elmrc variable "pager" as rc_DT_ESTR - Reimplemented elmrc variable "editor" as rc_DT_ESTR - Reimplemented elmrc variable "calendar" as rc_DT_ESTR - Reimplemented elmrc variable "localsignature" as rc_DT_ESTR - Reimplemented elmrc variable "remotesignature" as rc_DT_ESTR - Reimplemented elmrc variable "receivedmail" as rc_DT_ESTR - Reimplemented elmrc variable "sentmail" as rc_DT_ESTR - Reimplemented elmrc variable "incoming-mailbox" as rc_DT_ESTR - Removed valid_rc_type() - Added malloc_gets() to lib/mail_gets.c - Changed send_msg_l(), mail(), mail_form(), mail_filled_in_form(), forward(), reply_to_everyone(), and reply() to use index, mailbox instead of current_header, infile, mailbox. - Added give_next_open_mailbox() or src/messages.c and made save_copy() to use it. - Moved definition of struct mv_storage and struct mv_digest out from src/messages/def_messages.h - When mail is forwarded mail, user is prompted Forward message as separate part? default value of answer depends "mimeforward" elmrc option. Setting elmrc option "askmimeforward" to OFF disables that prompt. - Added expanded_address_from_items() to lib/outheaders.c - Removed class_charset() from melib/mime_parse.c - Fix bug of Elm2.4ME+ PL117 where Elm was acting always as dsn-success was set. (from Elm2.4ME+ PL117a (25)) - Moved doc/Alias.guide to 2.4/doc/Alias.guide - Moved doc/Form.guide to 2.4/doc/Form.guide - Moved doc/Ref.guide to 2.4/doc/Ref.guide - Moved doc/Users.guide to 2.4/doc/Users.guide - Moved doc/Config.guid to 2.4/doc/Config.guid - Moved doc/Elm.cover to 2.4/doc/Elm.cover - Fix bug where Elm ME+ 2.5 PLalpha0 was eating last character on %D expansion (on attribution string). New elmrc options: pgp-interactive askmimeforward Corresponding quotes from Elm 2.5 PL7 Changes file: [B1] allow elimination of aliases from larger aliases (To: bigalias -subalias). Based on incomplete patch by Waldi Ravens . [B2] Don't try to send a message if the user erased all the recipients on the header screen. (from Bob Schwartz and Keith Neufeld Changes on Elm ME+ 2.5 PLalpha0 compared with Elm2.4ME+ PL115 (25) ------------------------------------------------------------------ Note: You must create directory 2.4 before applying this patch! SUMMARY: Elm ME+ 2.5 is based on Elm 2.4ME+ and incorporates some code from Elm 2.5. This release incorporates some header file changes and new elmrc options. New elmrc options are incomingfolders, allow-setuid, askstore, askkeep, askdelete, replycopy, askreplycopy, showreply, confirmtagsave, editflush, fwdattribution, printhdrs, savebyalias, showmlists and tochars. - Moved Overview to 2.4/Overview - Moved ANNOUNCE.ME to 2.4/ANNOUNCE.ME - Moved ChangeLog.ME to 2.4/ChangeLog.ME - Moved Patchlist to 2.4/Patchlist - Moved Changes to 2.4/Changes - Moved Instruct to 2.4/Instruct - Moved NOTICE to 2.4/NOTICE (copyright file) - Moved README to 2.4/README - Copied Elm 2.5 PL7 NOTICE to NOTICE (copyright file) - Change from Elm 2.5: Added hdrs/elm_defs.h Added hdrs/elm_globals.h Removed hdrs/headers.h Removed hdrs/defs.h Removed hdrs/elm.h NOTE however that there is: hdrs/elmlib.h hdrs/defs_major.h hdrs/me.h src/def_elm.h so result is quite different. - Change from Elm 2.5: added incomingfolders to the elmrc [A1] added allow-setuid to the global elm.rc [A2] added askstore,askkeep,askdelete to elmrc [A3] autocopy expanded into replycopy and askreplycopy (in elmrc) [A4] added showreply to elmrc [A5] (!) added confirmtagsave to elmrc [A6] [A13] added editflush to elmrc [A7] added fwdattribution to elmrc [A8] [A16] added printhdrs to elmrc [A11] (!!) added savebyalias to elmrc added showmlists to elmrc (!3) added tochars to elmrc (!4) (!) Elm 2.4ME+ is displaying 'r', that makes posible to set it off. (!!) Note that this option is only used with p)rint comand which is normally disabled. This is not used with P)rint text command. (!3) mlists config file is not supported. Instead this option just show List-Id header from mail. (!4) This is five character instead of four as on Elm 2.5. - Change from Elm 2.5: attribution and fwdattribution may include [A9] [A12] \t for tabulator \n for newline %F for sender (From header) %D for send date %I for message-id %S for subject %)F for sender's name %>F for sender's address %% for % Added -w option to readmsg [A10] [A15] Folder name may now include ... [A14] (!) (!2) %h For 3 letter month %y For 2 digit year %Y For 4 digit year %m For 2 digit month %j For 3 digit day number of year %d For 2 digit day number of month %% For % Also environment variable names may occur also on other places than begining path name components. (!2) Environment variables may use ${variable} syntax. (!2) (!) But these do not work if % is first charater! On that case % refers to folder directory (ie. same than '=' and '+'.) (!2) This same expansion is used on many elmrc variables, so somewhere this may cause surprises. However %s should work on variables as earlier. Also $$ is expanded. Other $ -syntaxes may cause error, because they are now tried to expand instead that thay are passed to shell. For example on 'printout' -command. - Change from Elm 2.5: Added command 'M' to message menu - Changes from Elm2.4ME+ PL115a (25) - Reimplemeted elmrc "alternatives" as type PATH and removed special elmrc type for alternatives. (from Elm 2.4ME+ PL116) - Reimplemeted elmrc "weedout" as type PATH and removed special elmrc type for weedout. If first element on list is "*clear-weed-list*", then builtin weedout list is not used. (from Elm 2.4ME+ PL116) - Added RFC 2919 List-ID -header to array on lib/headers.c - Fix missing space between pharse and < > on result of hdr_decode_from_phrase() on lib/headers.c - RFC 2919 List-ID is now parsed and information shown when showmlists is set on elmrc New files: hdrs/elm_defs.h hdrs/elm_globals.h NOTICE Removed files: hdrs/headers.h hdrs/defs.h hdrs/elm.h Renamed files: Overview => 2.4/Overview ANNOUNCE.ME => 2.4/ANNOUNCE.ME ChangeLog.ME => 2.4/ChangeLog.ME Patchlist => 2.4/Patchlist Changes => 2.4/Changes Instruct => 2.4/Instruct NOTICE => 2.4/NOTICE README => 2.4/README New elmrc options: incomingfolders allow-setuid askstore askkeep askdelete replycopy askreplycopy showreply confirmtagsave editflush fwdattribution printhdrs savebyalias showmlists tochars Corresponding quotes from Elm 2.5 PL7 Changes file: [A1] added incomingfolders to the elmrc. This is a list of folders that will automatically be opened with "magic mode" on. (inspired by a patch from Cristophe Kalt ) [A2] New "allow_setuid" setting. This must be enabled in the global elmrc in order for Elm to operate setuid. This prevents naive setuid installation without being too heavy handed. [A3] askstore can be used to separately prompt to move read messages to =received when you leave your mailbox. I see its main use for people who don't want to use =received but still like confirmation of deletion. (from Keith Neufeld ) [A4] autocopy expanded into replycopy and askreplycopy (in elmrc). replycopy determines whether the default should be yes or no, and askreplycopy determines whether it should happen automatically. (from Keith Neufeld ) [A5] Added the "replied" code. You must set showreply=ON in your elmrc for this to work. [A6] Added a change from Keith Neufeld to make the confirm for saving tagged messages a user configurable option (confirmtagsave in elmrc). [A7] Flush the edit buffer after an edit and now make it a user config thing (editflush in elmrc). [A8] add a "fwdattribution" elmrc variable that enhances the handling of forwarded messages. If undefined (the default), the current behaviour is preserved (standard attribution and prefix added on edited messages). If this variable is defined, the prefix is never added, and instead of the standard attribution the inclusion is bracketed like: [A9] Added some extra attribution code (inspired by a patch from serini@ghost.sm.dsi.unimi.it (Piero Serini)). The attribution string may now contain: %F who the message is from (this is the same as %s) %D date the message was created (the from message) %I message ID %S message subject [A10] "readmsg" now accepts "-w" to specify header weeding. The default works like: readmsg -w 'Subject: From: To: Cc: Apparently- Date:' The list entries are left-anchored "patmatch" patterns. [A11] Added "printhdrs" elmrc option that allows header weeding to be specified when printing. The value of this option becomes the "-w" arg to "readmsg". [A12] Add %)F and %>F to attribution, for from name and from address (from Paul Close ) [A13] Added Wayne Davison's patch to confirm on saving tagged messages. [A14] Added patch to allow embedded date in folder names (from Mike Kenney ). This allows: %h month name ( 3 letter abbreviation ) %y last 2 digits of year %m month number %d day of the month %j day of the year This patch also allows environment vars to be enclosed in {}. [A15] Fixed readmsg so that when weeding is done, the default action is the opposite of the last action. That is, with a weed list of "Foo: Bar:" the default is reject all other headers. With a weed list of "Foo: !Bar:" the default is accept all other headers. [A16] The "fwdattribution" setting now understands "%[begin|end]" formatting. Stuff to the left of the bar is printed in the opening attribution, stuff to the right in the close. The %A escape is depreciated and is slated for removal. [A17] Drop explicit initialization of empty strings. This means they now will be created in BSS rather than DATA, saving dozens of kilobytes of space in the executable and speeding startup. =================================================================== * Changelog of Elm 2.4ME+ Changes on Elm 2.4ME+ PL124c (25) compared with Elm 2.4ME+ PL124b (25) --------------------------------------------------------------------- [ This patch is branch from the Elm 2.4ME+ line. ] SUMMARY: This release fixes crash on "Metamail selection" screen, error on submission (a kind of smtp) protocol implementation and a couple of valgrind reported memory leaks. - 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. Changes on Elm 2.4ME+ PL124b (25) compared with Elm 2.4ME+ PL124a (25) --------------------------------------------------------------------- [ This patch is branch from the Elm 2.4ME+ line. ] SUMMARY: This patch fixes errors on cat_strings(), ascii_need_quote(), string_need_quote(), delete_alias_files() and hdr_comment(). Also this patch prevents recursive mail commands via "m)ail -> view) folder" and adds OpenDocument formats to mime.types -file. - 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 dequoting \ -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() Changes on Elm 2.4ME+ PL124a (25) compared with Elm 2.4ME+ PL124 (25) -------------------------------------------------------------------- [ This patch is branch from the Elm 2.4ME+ line. ] SUMMARY: This patch fixes the redraw loop on the Mailcap program selection screen, fixes a double free() on search, and fixes filename handling on attach_save(). - "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 > 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. > 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 > Filename was not correctly recorded on attach_save() Changes on Elm 2.4ME+ PL124 (25) compared with Elm 2.4ME+ PL123 (25) -------------------------------------------------------------------- SUMMARY: This release collects patches Elm 2.4ME+ PL123a - PL123f. This release fixes a bug in the c)hange folder command that caused lost mail. Some other bugs are also fixed. This release adds some new sub-commands to the elmregister -command. Elm 2.4ME+ is no longer main line (trunk or main branch). - Interpret output of PGP according of mail charset (that is actually done only when that body part was text ... ) - If l)imit command was used, and then Eo) [o)pen mailbox to current view] was used, wrong messages was shown on limited display. Now number of selected message is recalculated after new mailbox is added. - Changed redraw handling on "Keep unread messages in incoming mailbox?" question. - Now "elmregister replay" recreates hard links also when "-R" option is not used (-R option implies moving installation to final place). - Added missing subcommand to elmregister manual page. - Changed "elmregister rpm-list" so that hard links are listed. They are now listed with %ghost macro. - Fixed bug where "elmregister replay -R ..." was setting files to wrong owner (was used gid as uid) on some situation, when file was copied. - Signal failure on read_line() on lib/mbox/localmbx.c if EOF occur before nothing is read. - Fixed Configuration error on Ubuntu 6.06 (GCC 4.0.3) - If after c)hange folder locking of new folder (mailbox) failed, Elm was keeping open old folder, but temp file of older folder (mailbox) was closed. That caused corruption of mailbox. * If "Folder unchanged." message was given, folder was not closed. * Folder was closed on "[Keeping all messages.]" case, it does not need to be closed on here either. > Do not call close_folder() on on real_save() at all. Instead use unlock() on real_cave() ( as in done if 'resyncing' was set ) . * Actual closing of mailbox is done anyway with leave_old_folder() which is called from free_storage() > Splited leave_mbox() to sync_mbox() function which never closes mailbox and close_cleanup_mbox() which does closing (and may remove mailbox). - "There were two adjacent spaces in the first email subject line which were collapsed into one space in the reply, which I think is legal. Perhaps multiple spaces should be collapsed into one for comparison, perhaps near skip_ascii_head_from_string() in thread.c." Suggested by: Bruce Momjian - "./usr/share/elm/elmregister replay -M all -R `pwd`" was segfaulting when moving packgage to final place. Fixed missing initialization on copy_dir(). Problem noted by: Peter Alfredsen - Avoid error "./usr/local/lib/elmregister: [pick_one] '{' no arg 0" when doing "./..../elmregister replay -M all -R `pwd`" - Do not add textual=NULL when parsing syntax error on update_expanded_from_edit_buffer() - Fixed case where changing alias two times without resync caused that alias name was truncated. - Hack creation of some missed directories during installation. - Fixed message [ Use 'Rl' to reply to list or 'I' for list info. ] on case when there is header List-Post: NO (posting not allowed on this list) - Fix panic STRING PANIC in cs_unknown.c:1991:cs_estimate_clip_unknown >>>printable_len not supported on some case when elmrc option locale-charsets is used. - Fixed some problems with Configure on ubuntu. - When locale-charsets = UTF-8 was effect, Elm ME+ was printing [ Charset US-ASCII unsupported, converting... ] > Be sure that cs_unknown gives flag CS_universal_set for UTF-8 as cs_utf was giving. - Avoid error message "Failed save message to folder XXXX" when saving mail from V)iew digest -command and embedded mail do not end to newline. - Fixed compilation on ubuntu (GCC 4.0.2). - "troubles when moving from pgp5 to gpg - cannot encrypt. Seems parsing of gpg --list-public-keys is broken in gnupg 1.4.5. syscall to gpg paramter 8 after receipient is <2> ?!" Problem noted by: Axel Reinhold > Added support for newer gpg versions - "last gpg pathes you sent to me work only on some keys!" Problem noted by: Axel Reinhold > Elm ME+ was adding < > around of address (not related to patch) and therefore gpg did not found key when on key there was no < > around addresses. Removed adding of < >. - Elmrc option verify-local-address did worked only for 'address' but not for '
'. Fixed that. NOTE: However verify-local-address works only when mailer option verify=yes works. Elmrc option mailer=sendmail; verify=yes works only when sendmail is setuid root. Use instead elmrc option mailer=submission; verify=yes - Fixed crash when om elmrc have ### pgp2 = none "Is that "&&" correct? Looking at other "none" comparisons in the file, it isn't. Patch attached, and problem confirmed fixed." From: Bruce Momjian - Option -w did not rebuild .elm/mime.types although error message asked to use -w option. - Error message did not mentioned .elm/mime.types. Added it. - Fixed incorrect generation of elm.mimecharsets file during installation (elm.mimecharsets.NEW was ok). - Avoided error message bin/elmregister: [trim_list] Bad command letter: s - Fixed valgrind reported memory leak: 77 bytes in 2 blocks are definitely lost in loss record 11 of 22 at 0x40179FF: realloc (m_replacemalloc/vg_replace_malloc.c:306) by 0x40E96C6: safe_realloc (safemalloc.c:64) by 0x40DDB39: elm_vmessage (output.c:1302) by 0x40DE1B1: elm_message (output.c:1481) by 0x809F789: set_folder_window_title (screen.c:82) - Fixed valgrind reported memory leak: 57 bytes in 1 blocks are definitely lost in loss record 8 of 22 at 0x40179FF: realloc (m_replacemalloc/vg_replace_malloc.c:306) by 0x40E96C6: safe_realloc (safemalloc.c:64) by 0x40FBE18: strmcat (strmcpy.c:40) by 0x40416EC: strXcat (terminal.c:91) by 0x4043F64: terminal_set_title (terminal.c:1624) by 0x80B1865: set_terminal_titles (termtitle.c:59) - "Looking at my incoming mail I noticed that there is no space (empty line) between the end of one message and the beginning of the next message". Reported by: Noam G. Nudelman > This is regression of Elm 2.4ME+ PL123 (25) or Elm 2.4ME+ PL122j (25). With IMAP fix from 122j content length does not include ending empty line of mail. Fixed mbx_mark_keep_normal() for that. WARNING: On MMDF case mbx_mark_keep_normal() is not fixed and is probably broken. - Patchlevel variable for PL 123 (25) did not included (25). Re-added it, because it is still other places. Perhaps that (25) should be removed. It have little point. - elm.rc may include 'unidata = none'. Avoid failing of 'elmregister replay' because of chmod is failing. > Instead do chmod on elmunidata - Same also for 'bindata = none' (do chmod on elmbindata). - Some -traditional fixes. - Added command "elmregister list" to generate files listing suitable for tar command. Names on list are NL separated. - Added command "elmregister list-directories" to generate directory listing. Changes on Elm 2.4ME+ PL123f (25) compared with Elm 2.4ME+ PL123e (25) --------------------------------------------------------------------- [ This patch is branch from the main line. ] - "./usr/share/elm/elmregister replay -M all -R `pwd`" was segfaulting when moving packgage to final place. Fixed missing initialization on copy_dir(). Problem noted by: Peter Alfredsen - Avoid error "./usr/local/lib/elmregister: [pick_one] '{' no arg 0" when doing "./..../elmregister replay -M all -R `pwd`" - Do not add textual=NULL when parsing syntax error on update_expanded_from_edit_buffer() - Fixed case where changing alias two times without resync caused that alias name was truncated. - Hack creation of some missed directories during installation. - Fixed message [ Use 'Rl' to reply to list or 'I' for list info. ] on case when there is header List-Post: NO (posting not allowed on this list) Changes on Elm 2.4ME+ PL123e (25) compared with Elm 2.4ME+ PL123d (25) --------------------------------------------------------------------- [ This patch is branch from the main line. ] - Fix panic STRING PANIC in cs_unknown.c:1991:cs_estimate_clip_unknown >>>printable_len not supported on some case when elmrc option locale-charsets is used. - Fixed some problems with Configure on ubuntu. - When locale-charsets = UTF-8 was effect, Elm ME+ was printing [ Charset US-ASCII unsupported, converting... ] > Be sure that cs_unknown gives flag CS_universal_set for UTF-8 as cs_utf was giving. - Avoid error message "Failed save message to folder XXXX" when saving mail from V)iew digest -command and embedded mail do not end to newline. Changes on Elm 2.4ME+ PL123d (25) compared with Elm 2.4ME+ PL123c (25) --------------------------------------------------------------------- [ This patch is branch from the main line. ] - Fixed compilation on ubuntu (GCC 4.0.2). - "troubles when moving from pgp5 to gpg - cannot encrypt. Seems parsing of gpg --list-public-keys is broken in gnupg 1.4.5. syscall to gpg paramter 8 after receipient is <2> ?!" Problem noted by: Axel Reinhold > Added support for newer gpg versions - "last gpg pathes you sent to me work only on some keys!" Problem noted by: Axel Reinhold > Elm ME+ was adding < > around of address (not related to patch) and therefore gpg did not found key when on key there was no < > around addresses. Removed adding of < >. - Elmrc option verify-local-address did worked only for 'address' but not for '
'. Fixed that. NOTE: However verify-local-address works only when mailer option verify=yes works. Elmrc option mailer=sendmail; verify=yes works only when sendmail is setuid root. Use instead elmrc option mailer=submission; verify=yes Changes of Elm 2.4ME+ PL123c (25) compared with Elm 2.4ME+ PL123b (25) ---------------------------------------------------------------------- [ This patch is branch from the main line. ] - Fixed crash when om elmrc have ### pgp2 = none "Is that "&&" correct? Looking at other "none" comparisons in the file, it isn't. Patch attached, and problem confirmed fixed." From: Bruce Momjian - Option -w did not rebuild .elm/mime.types although error message asked to use -w option. - Error message did not mentioned .elm/mime.types. Added it. Changes of Elm 2.4ME+ PL123b (25) compared with Elm 2.4ME+ PL123a (25) ---------------------------------------------------------------------- [ This patch is branch from the main line. ] - Fixed incorrect generation of elm.mimecharsets file during installation (elm.mimecharsets.NEW was ok). - Avoided error message bin/elmregister: [trim_list] Bad command letter: s - Fixed valgrind reported memory leak: 77 bytes in 2 blocks are definitely lost in loss record 11 of 22 at 0x40179FF: realloc (m_replacemalloc/vg_replace_malloc.c:306) by 0x40E96C6: safe_realloc (safemalloc.c:64) by 0x40DDB39: elm_vmessage (output.c:1302) by 0x40DE1B1: elm_message (output.c:1481) by 0x809F789: set_folder_window_title (screen.c:82) - Fixed valgrind reported memory leak: 57 bytes in 1 blocks are definitely lost in loss record 8 of 22 at 0x40179FF: realloc (m_replacemalloc/vg_replace_malloc.c:306) by 0x40E96C6: safe_realloc (safemalloc.c:64) by 0x40FBE18: strmcat (strmcpy.c:40) by 0x40416EC: strXcat (terminal.c:91) by 0x4043F64: terminal_set_title (terminal.c:1624) by 0x80B1865: set_terminal_titles (termtitle.c:59) Changes of Elm 2.4ME+ PL123a (25) compared with Elm 2.4ME+ PL123 (25) --------------------------------------------------------------------- [ This patch is branch from the main line. ] - "Looking at my incoming mail I noticed that there is no space (empty line) between the end of one message and the beginning of the next message". Reported by: Noam G. Nudelman > This is regression of Elm 2.4ME+ PL123 (25) or Elm 2.4ME+ PL122j (25). With IMAP fix from 122j content length does not include ending empty line of mail. Fixed mbx_mark_keep_normal() for that. WARNING: On MMDF case mbx_mark_keep_normal() is not fixed and is probably broken. - Patchlevel variable for PL 123 (25) did not included (25). Re-added it, because it is still other places. Perhaps that (25) should be removed. It have little point. - elm.rc may include 'unidata = none'. Avoid failing of 'elmregister replay' because of chmod is failing. > Instead do chmod on elmunidata - Same also for 'bindata = none' (do chmod on elmbindata). Changes of Elm 2.4ME+ PL123 (25) compared with Elm 2.4ME+ PL122 (25) -------------------------------------------------------------------- Note: You must create directories lib/mbox src/url src/block src/list lib/misc utils/readmsg before applying this patch! - Added view folder command to pre-send menu. This allows attaching messages from current mailbox to mail. - Some changes on mail() -function. - O)verride charset -command did not have effect on non-MIME messages. > Now O)verride charset value is used also on non-MIME messages. - Characters on "Change to which folder:" -prompt was echoed to wrong place after "Already reading that folder!" -message. - "I configured ELM 2.5 alpha 5 just like my ELM 2.5 alpha 4 that compiles nicely and got the following error from init.c on Solaris 8 gcc. <...> In file included from init.c:14: ../../hdrs/shared_imp.h:118: parse error before `*' init.c:18: `rc_DT_SHARED' undeclared here (not in a function)" Problem noted by: James Corey > Elm ME+ failed to compiled when USE_DLOPEN and SHARED_LIBS was not defined. - browser_descend_local() did not handle correctly the case where the given filename did not include path (and there was a directory already selected.) - "I tried your patch for ELM 2.5 alpha5 and it failed to compile on Solaris. So tried the same thing with the new ELM 2.5 alpha6. Same thing." "cs_wfallback.c: In function `init_fallback': cs_wfallback.c:165: `Debug' undeclared (first use in this function)" Reported by: James Corey > Moved DEBUG_VAR(Debug,__FILE__,"charset") outside of #if 0 - On some cases filename -parameter was generated twice to Content-Disposition -header. - Tagged flag of current message was not cleared on V)iew digest command. - Allow canceling Already have selection criteria - add more? prompt with Ctrl-C (interrupt character) on systems which supports POSIX termios. - Let Configure locate ar and nm (and ranlib) instead just using PATH - Let makefiles use ar -command located by Configure - Fix some compilation warnings on SunOS 5.10 - Moved curses.h and term.h including from curses.c to def_screen.h before including termios.h. - SunOS 5.10 (Solaris) has problematic prototype for tputs() and dos not have prototype for tgoto() when __STDC__ is defined. Added some workarounds. * This workaround seems not be required when compiling with gcc - Use both curses.h and term.h on SunOS (Solaris), not only term.h - Do not use USGNAMES on SunOS - iconv() on SunOS uses 'const char **inbuf' argument. * NOTE: Changes for SunOS 5.10 are only compile tested. It is not tested that they produce working code. - Fix USGNAMES compilation. - Fixed valgrind reported error on case elm -i non-existing-file address Conditional jump or move depends on uninitialised value(s) at 0x808B83E: reset_parts (mime.c:105) by 0x808B9D6: free_mime_send_info (mime.c:144) by 0x80871B9: mail (mailmsg2.c:1351) by 0x8083910: send_msg_middle (mailmsg1.c:589) - Ctrl-T {pattern} did not update tags on messages on the screen when visible messages was limited with l)imit -command. - Enchance redrawing on Delete message? "received" folder not available, continue leaving folder? Move read message to "received" folder? -prompts. - Fix -Wtraditional warning: mailer.c:1644: warning: non-static declaration for `sendmail_mailer_backend' follows static - Fix -Wtraditional warning: mailer.c:1902: warning: non-static declaration for `submitmail_mailer_backend' follows static - Fix -Wtraditional warning: mailer.c:1932: warning: non-static declaration for `execmail_mailer_backend' follows static - Fix -Wtraditional warning: ../../hdrs/elmlib.h:2278:21: warning: function-like macro "special" must be used with arguments in traditional C > special() -macro is removed, it seems not be used. ( No other -Wtraditional warnings are fixed. ) - Fixed some -Wuninitialized compilation warnings. - Ctrl-T 'all' did not update tags on messages on the screen when visible messages was limited with l)imit -command. - Ctrl-T 'flagged' did not updated messages on screen to be tagged when visible messages was limited with l)imit -command. - Some minor fixes. - Fix initialization error on lib/read_rc.c (uses $USER instead of $HOME) when pw_dir is NULL. - "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 > Changed order of includes. - Do not add 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". - Moved mailbox related code from libelmme-base.so to libelmme-mbox.so. - Removed provides_shared_CT - When saving mail forder time on "From " -separator line was shifted by one hour if it was on different zone than current time (ie. on daylight saving time versus normal time). - Folder browser was showing wrong entry on prompt line after TAB -character. - Moved some showmsg loops from elm.c to new file showmsg_1.c - Changed implementation of elmrc option "extra-mailbox-dir". - Changed implementation of elmrc option "attachment-dir". - Changed implementation of elmrc option "gpg". - Changed implementation of elmrc option "metamail". - Changed implementation of elmrc option "pgp2". - Changed implementation of elmrc option "pgp5-dir". - Changed implementation of elmrc option "print". - Fix expensive debug loop on imap.c (so that loop is not run if dubugging is not used.) - Moved some code from lib/charset.c to lib/mparse.c - UTF-8 is now required character set on code as is US-ASCII. - When catenating strings prefer UTF-8 charset instead of display charset - Give error if -s 'subject' option is given several times to Elm. - On batch mode standard input is read for mail only when -i (include file) option is not given. (but actually -i option is not allowed on batch mode.) - Added mp_list_set_anon() and mp_lookup_anon() to src/screen/menu_param.c. - some cleanup on mailmsg1() - Changed default of elmrc variable "names" to NO - Removed wra_ReadCh() from src/screen/ - Removed ReadCh (but not menu_ReadCh()) - Removed cur_ReadCH from src/screen/curs_input.c - Added to menu_ReadCh() / menu_ReadCh2() flag READCH_poll, this waits one second for character. If character is not given or POLL_METHOD is not set, this returns TIMOUT_MARK as flag (or character) - Clear redraw flag of prompt area (ie. clear prompt area) after menu_redraw_children() only if redraw flag is set. - Fix redraw handling on do_pipe - "elm -vvv" was printing wrong output: Mailer: unknown; path="/usr/sbin/sendmail" instead of Mailer: sendmail; path="/usr/sbin/sendmail"; add-from="dont"; supported-bodytype="8bit"; supports-dsn="yes" (actually on one line) - Moved main messages menu loop to src/mailbox.c from src/elm.c - exit_prog() no longer call leave but instead returns 1 if caller should exit. - quit() no longer call leave but instead returns 1 if caller should exit. - exit_prog() is renamed to exit_mailbox() - Added some support for RFC 1738 URL -syntax RFC 1738: Uniform Resource Locators (URL) - Added some support for RFC 1808 URL-syntax RFC 1808: Relative Uniform Resource Locators - Added -O 'url' (open url) option to Elm. Error is given if this option is given several times. WARNING: This option does not ask any confirmation. - Added --confirm-url option. This asks confirmation for url given on -O option. - Added support for RFC 2368 mailto -urls. - It is unclear what character set is used on URLs. This especially effects subject header and body pseudo header on mailto url. Following rules are used: - If URL includes non-ascii characters, charset of (decoded) URL is implied charset of URL - If URL includes %XX encoded characters > %7F (ie. non-ascii) charset of decoded URL is UTF-8. This means that %XX encoding is assumed to be use UTF-8 character set. - Note that these two rules are on conflict if some, but not all non-ascii characters are % -encoded. - Added dummy handler for http -URLs. - Added some support for imap -URLs. This support is incomplete and does not fully follow RFC 2192. - ;AUTH= is not supported - ;TYPE= is not supported - ;UIDVALIDITY= is not supported - ;SECTION= is not supported - ;UID= is not supported * Basically only imap mailbox can be specified, not indivual message or list of messages (search result). That is like imap://user@full.hostname/inbox - imap server can not be without mailbox. That is like imap://user@full.hostname/ it is not currently available. - Command elm -O imap://user@full.hostname/inbox can be used. That open imap folder similarly than command elm -f user@full.hostname:inbox - RFC 2192 says that native separator of imap is used as hierarchy separator. This implementation accepts URL separator (/) as hierarcy separator (even when native separator differ.) - Numbers 0-9 are also valid for imap atom. No need to convert parameter to string or literal. - Added RFC 2369 headers to known headers: List-Help, List-Subscribe, List-Unsubscribe, List-Post, List-Owner, List-Archive - Added "List-ID:", "List-Help:", "List-Subscribe:", "List-Unsubscribe:", "List-Post:", "List-Owner:", "List-Archive:" to default weedout list. - RFC 2919 List-ID header is parsed. - RFC 2369 List-help, List-Unsubscribe, List-Subscribe, List-Post, List-Owner and List-Archive are parsed. - Added Generic R)eply -command. That forms following subcommands: Ra Reply to all Rl Reply to a mailing list Ro Reply to the owner of a mailing list Rt Reply to the author of a message - Added Mailing list I)nfo -command. Il Mail a message to a mailing list Io Mail a message to the owner of a mailing list Ih Mailing list help Ia Mailing list archive Is Subscribe a mailing list Iu Unsubscribe a mailing list Note that most of these commands are only able to send mail, so only mailto: -urls works. - Commands Ih Mailing list help Ia Mailing list archive Is Subscribe a mailing list Iu Unsubscribe a mailing list accepts also (subset of) imap: -urls. These commands cause that a new mailbox is entered (visited) when imap: -url refers to whole mailbox. Current mailbox is not closed so this works differently than c)hange folder -command. Also when the mailbox visited is left, messages are not moved to the =received folder. Commands that are available when visiting a mailbox via url are somewhat limited (changing of folder for example is not available). Actually probably command Ia Mailing list archive makes sense from these. - When remote url is referenced, elm asks confirmation from user before entering mailbox/folder. - Also anonymous imap urls such as List-Archive: are supported. - Added common movement routine to src/movement.c. This is used by src/attach_menu.c and src/list/select.c - Made some changes to attachment screen. - "I built your latest elm today and came across a smail issue as I build it on several architectures from the same source tree. I found make clean fails to remove utils/reghelper.o which leads to a failure to link obvously..." Reported by: janjaap@stack.nl (Janjaap van Velthooven) > Added reghelper.o to UTIL_OBJ - Removed cur_Write_to_screen() - Removed cur_PutLineX() - 'V' - command (View digest as mailbox) to help. - Added 'E' as E)xtended command -prefix. - Added 'Ed' as duplication removal mode. Duplicare removal requires that messages have Message-ID. When duplicates are collected also some other headers than Message-ID is checked that they are same. Duplicate removal does not delete messages but shows duplicates as one message on mailbox menu. Status changes are copied to all duplicates when message is read, tagged, flagged or marked for deletion. - NOTE: Mailing lists are not currently supported. Specially duplicates are not currently removed if mail has any List-* -header. - Also on duplicate removal mode folder state does not work and therefore commands which use readmsg. On duplicate removal mode pipe (|) command is not available. - Reimplemeted thread sorting (old code did not work with duplication removal mode.) * NOTE: threads are still based on subject (as on old thread sorting.) - Added 'Et' as view t)hreads -command. On viewing thread return can be used to select particular thread or 'd' can be used to mark all messages of thread to be deleted and 'u' can be used to mark all messages of thread to be undeleted. * NOTE: It is not possible to delete threads. Even when all messages are removed from thread (when messages are actually deleted via resync ($)), thread is still visible if 'Et' command is used. - Added elmrc option "thread-sortby". This specifies sorting order for thread view. Possible values are "sent" and "subject" (also "reverse-sent" and "reverse-subject"). - If "unstable-reverse-thread" is set, reverse-sent sorting of "thread-sortby" is based on lastest message on thread. Therefore thread moves to new location, when new message arrives to thread. - Some code changes on src/messages/ - Moved show_message_status from lib/mbox/mbox.c (originally from src/screen.c) to src/messages/status_common.c - Moved status handling from src/menu_common/mailbox.c to src/messages/status_common.c. Routines on src/menu_common/mailbox.c does just forwarding. - Removed adds_only argument from newmbox_1(). That is always FALSE. New mails are read with read_new_mails() function. - Added "Eo" as o)pen mailbox to current view -command. This works similarly with several -f options on command line. That command opens new mailbox without closing current mailbox. - When displaying some text/plain parts inside of multipart/mixed they are catenated without adding "[ Part #X/X: ... " text between them. Specially allows body part to change inside of line. That should allow changing a charset inside of line. * RFC 2046 says: "NOTE: The CRLF preceding the boundary delimiter line is conceptually attached to the boundary so that it is possible to have a part that does not end with a CRLF (line break)." - Some code changes on content-transfer-encoding decoding routines. - State routines did not handle the situation where charset of mail changed in the middle of the line. Now current line buffer is converted to new charset in that case. - Added V)iew digest as mailbox to 'after paging' (showmsg_c) commands. - On A)ssemble message fragments -command menu there is "o)ptions" -command, but actual command was missing. Added 'o' to command loop. - On digest viewing menu there is "o)ptions" -command, but actual command was missing. Added 'o' to command loop. - Removed valid_option_type() - Removed charset_valid_magic() - Removed valid_stream() - Moved some code, which is used only by elm and config file parsing tools, from libelmme-base.so to libelmme-misc.so. - Moved lib/mediatype.c from libelmme-base.so to libelmme-misc.so. It seems to be used only on Elm so it should not be on library at all. - Changed load_terminal_map() to use malloc_gets() instead of fgets() - Added load_mime_types_map() to libelmme-misc.so - Added dump_mime_types_map() to libelmme-misc.so - Added new tool elmmimetypes, which outputs mime.types or elm.mimetypes file. - Now elm.mimetypes file is generated to elm's library directory during installation. During Configure file goes to bin/elm.mimetypes. [J1] - Now mime.types file may include magic numbers or signature (pattern). - It is recommended that both magic numbers and extension is given for mime types. - doc/mime.types is updated. - Builtin mime types map includes now magic numbers so these file extensions does not match if the file content does not match the magic numbers (or file signature). - Changed handling of elm.mimetypes and mime.types - If charset is defined on some other file than elm.mimetypes or mime.types, these definitions are not moved. - Removed "compatcharsets" (marked as obsolete) - Removed "iso646-charsets" (marked as obsolete) - Moved some code from lib/charset.c to lib/misc/charset.c - Elmcharset option -c merges elm.mimecharsets or mime.charsets file with file given as argument. - Configure does not any longer read elm.mimecharsets from elm global library directory. Instead existing elm.mimecharsets from elm global library directory are merged during installation (with -c option on elmcharsets). - Option -N is removed from Configure - Elmterminal option -c merges elm.terminalinfo or terminal.info file with file given as argument. - Configure does no longer read elm.terminalinfo from elm global library directory. Instead existing elm.terminalinfo from elm global library directory is merged during installation (with -c option on elmterminal). - Elmmimetypes option -c merges elm.mimetypes or mime.types file with file given as argument. - Configure do no read elm.mimetypes from elm global library directory. Instead existing elm.mimetypes from elm global library directory is merged during installation (with -c option on elmmimetypes). - New values without merging are written to elm.mimetypes.NEW, elm.mimecharsets.NEW, and elm.terminalinfo.NEW during installation. - Configure reports on SunOS 5.10: langinfo.h found, testing nl_langinfo(CODESET) support ... nl_langinfo(CODESET) seems work, charset for C locale is 646 wchar.h found So 646 need to be mapped to ASCII. - Added elmrc option "check-type-pattern". If set (default), mime types are checked, when paging mail, agaist elm.mimetypes and mime.types. If content does not match to any pattern (magic number) given for type, that causes a warning. If on elm.mimetypes or mime.types is any entry for type without pattern, warning is NOT printed. If warning is printed, confirmation is required. This mainly protects routines on mailcap to get bogus types. Notice that this does NOT protect metamail (if used). - Added elmrc option "attachment-fix-extension". If set (default), default file extension is set according of mime type (appending after existing extension of given filename). - If either "attachment-fix-extension" or "check-type-pattern", mime types are checked, when saving mail, agaist elm.mimetypes and mime.types. If content does not match any pattern (magic number) given for type, that causes a warning. - Default file extension is not provided, if attachment content does not match mime type. - When default extension is provided, file browser adds that extension after enter is pressed. Then user is asked to accept that extension by pressing enter second time. - Decoding of content-transfer-encoding of attachments of attachment is changed. Now content-transfer-encoding is decoded to temporary file and after that user is asked about filename. The old behauviour was to decode content-transfer-encoding directly to file given by user. New behauviour is required for checking pattern (magic number) of attachments. - If content-transfer-encoding is unknown, default extension is ".encoded". - Folder and file browser now notices if only directory name prefix is given (ie. name ending in /) and asks confirm (second enter) of name before accepting it. - display_central_message() is called nowhere. Removed it and replaced set_central_message() with lib_transient(), - Small optimization for default_unidata() - Small optimization for mail_gets() - Small optimization for parse_body_routine() - Small optimization for cs_clip_from_binary() - Small optimization for string_cmp() - Optimize find_header() by changing data structure. - Changes on mbx_mark_keep_normal() - Optimize mbx_copy_body_spool() - Changed read_line on lib/mbox/localmbx.c - cuserid() is not used so it needs not be in lib/opt_utils.c either. - removed pmalloc() and lib/pmalloc.c -- they are not used - Converted readmsg to use lib/mbox/mbox.c if state file does not exist. - Now readmsg works also for remote mailboxes - readmsg no longer removes empty lines from the end of message. - Small change on folder state file format. - Added elmrc option readmsg which tells path to readmsg -command (used internally of elm). > Meta expand provides: +filename == file on mail folder directory =filename == file on mail folder directory %filename == file on mail folder directory {rc}/filename == file on .elm subdirectory of home {lib}/filename == file on Elm's global library directory {etc}/filename == file on Elm's global configure directory {bin}/filename == file on Elm's binary installation directory And also same epansions than expand_env(): ~/filename == file on home direccory Environment variable components - Moved encode.c from src/ to melib/ - Moved part of header_parse_helper() from src/messages/header_alloc.c to melib/parse_helper.c - readmsg now outputs only the text only part of a mail by default. - Added -r (do raw output) option to readmsg. - Pipe (|) -command now uses -r option on readmsg. - Readmsg now decodes mime headers, if -r option is not used. - p)rint -command is enabled again. It does something like "readmsg | {print-command}". It was disabled on PL98 because it printed raw mime data. Because readmsg no longer outputs raw mime data, p)rint command can be enabled again. However, it is quite useless. p)rint command now acts as P)rint text -command. - If "store" is given to elmrc option "show-header-errors", header errors are not immediately printed. Letter 'h' is shown as second status letter on that case. - If mime part (or attached file) did not end in newline, garbage from the next part was included in the end of that part. That happened when the file had no LF in the end and the attached file was not required to be content-transfer-encoded. - Fix return value of get_word_from_string() - Elm ME+ failed to wrap mime encoded Subject: header under 80 characters on some situations. - If elmrc option "long-encoded-headers" is not set, Elm ME+ tries to wrap mime encoded headers so that encoded lines are shorter than 80 characters. If elmrc option "long-encoded-headers" is set (default), Elm ME+ tries to wrap headers that way that actual data (without encoding) is shorter than 80 characters. This produces over 80 character (and violates MIME) but may produce nicer result when headers are displayed with encoding decoded (if some part of header is not encoded). This is mainly used on Subject: -header. - Removed STATE_in_string from lib/state.c. It is not used. - Removed STATE_out_string from lib/state.c. It is not used. - Fix panic SCREEN PANIC in screen.c:944:menu_set_default >>>Not a main menu when elm is called as elm < /dev/null - Fix segmentation violation -crash when elm is called as elm --mailbox-title=xxx -f x -f z (when given folders do not exist.) - Allow setting "receivedmail" elmrc option (normally "=received") to "none". This disables Move read messages to "received" folder? (y/n) question. When "receivedmail" is set to "none", ">" can not be used as folder name. Requested by: Laura Kataja - Allow setting "sentmail" elmrc option (normally "=sent") to "none". When "sentmail" is set to "none", "<" can not be used as folder name. - If "sentmail" is set to "none", "copy" defaults to OFF. - Fix (or work around) error Message contains bare newlines when saving to some IMAP servers. - Make little better decoding of MIME encoding of subject. - Changed spelling of "Millenium" to "Millennium". Suggested by: Rob Kendrick - Removed lib/move_left.c. It is not used. - Elm failed add / to tmp elmrc variable when it was initialized from $TMPDIR - "The attached patch to elm PL122 causes THREAD sorting to go to the bottom of the mailbox if there are no unread messages, instead of the top. This is already done for sorts in mailbox order, sent, and received order, but I use thread by default, so this patch is helpful to me." From: Bruce Momjian - Let elm accept 'kb' from termcap also as backspace and not only VERASE value got from tty. - Allow marking messages deleted also with delete key ('kD' from termcap). - Let end key ('@7' from termcap) to go to the end of the message list. Corresponding to that the home key goes to the beginning of the message list. - Temporary copy for imap and pop folders is not longer /tmp/mbox.user@host or /tmp/mbox.user@host:tail. Instead it is /tmp/mbox.$USER.host.XXXX.XXXX - It is possible to use usernames which include / -character with IMAP -url syntax (/ need to be URL escaped). For example elm -O imap://dom%2Fuser%2Fmbx@server/INBOX ( Some exchange servers uses usernames like dom/user/mbx ) - Fix crash when loading garbage spool folder (ie. mailbox). New elmrc options: thread-sortby check-type-pattern attachment-fix-extension long-encoded-headers readmsg New command line options: -O Open url --confirm-url Ask option New tools: elmmimetypes New files: src/view_folder.c lib/mbox/Makefile.SH lib/mbox/def_mbox.h lib/mbox/init.c lib/mbox/remote_mbx.c lib/mbox/shared_mbox.c hdrs/mboxlib.h hdrs/state_imp.h lib/mbox/state.c lib/mbox/headers.c hdrs/connection_imp.h src/showmsg_1.c src/url/Makefile.SH src/url/def_url.h src/url/url.c src/url/url_element.c lib/mparse.c src/url/url_path.c src/url/no_url.c src/url/mailto.c src/block/block.c src/block/def_block.h src/block/fileblock.c src/block/stringblock.c src/list/def_list.h src/list/Makefile.SH src/list/list.c src/list/reply.c src/list/select.c src/list/info.c src/movement.c src/extended.c src/duplicate_removal.c src/messages/duplicate.c src/messages/status.c src/messages/status_common.c src/openmailbox.c lib/misc/Makefile.SH lib/misc/def_misc.h lib/misc/init.c hdrs/misclib.h lib/misc/terminal.c lib/misc/mime_types.c utils/elmmimetypes.c doc/elmmimetypes.1 ConfTool/GenMimetypes lib/misc/charset.c src/url/http.c src/messages/thread.c src/thread.c src/messages/thread_messages.c src/view_one_thread.c melib/type_check.c utils/readmsg/Makefile.SH utils/readmsg/def_readmsg.h utils/readmsg/fstate.c utils/readmsg/wrapper.c hdrs/readmsg.h utils/readmsg/folder.c lib/mbox/error.c melib/parse_helper.c src/url/imap.c src/mailbox.c src/list/visit_mailbox.c Moved files: lib/mbox.c => lib/mbox/mbox.c lib/localmbx.c => lib/mbox/localmbx.c lib/savefolder.c => lib/mbox/savefolder.c lib/imap.c => lib/mbox/imap.c lib/pop.c => lib/mbox/pop.c lib/mk_lockname.c => lib/mbox/mk_lockname.c lib/realfrom.c => lib/mbox/realfrom.c lib/forwarded.c => lib/mbox/forwarded.c lib/header_cmp.c => lib/mbox/header_cmp.c lib/expires.c => lib/mbox/expires.c lib/parsarpdat.c => lib/mbox/parsarpdat.c lib/getword.c => lib/mbox/getword.c lib/mediatype.c => lib/misc/mediatype.c utils/readmsg.c => utils/readmsg/readmsg.c src/encode.c => melib/encode.c Removed files: lib/move_left.c Changes of Elm 2.4ME+ PL122l (25) compared with Elm 2.4ME+ PL122k (25) ---------------------------------------------------------------------- [ This patch is branch from the main line. ] - Fix crash when loading garbage spool folder (ie. mailbox). - Elm failed add / to tmp elmrc variable when it was initialized from $TMPDIR - Some compilation fixes on SunOS. * NOTE: Changes for SunOS 5.10 are only compile tested. It is not tested that they produce working code. - tputs() workaround on Elm 2.4ME+ PL122d (25) causes compilation warning on SunOS, if compiled with gcc. Use workaround only when gcc is not used. Changes of Elm 2.4ME+ PL122k (25) compared with Elm 2.4ME+ PL122j (25) ---------------------------------------------------------------------- [ This patch is branch from the main line. ] - Mime encoding change on PL122j caused regression. Specially folding (of Subject) did not replaced space with folding but folding was appending after space. Logically after folding there was two spaces. - Specially Elm ME+ do not concate mime encoded words to together when decoding them if there is more than one space between. > Fixed folding so that space is replaced with folding. - Make little better decoding of MIME encoding of subject. Specially allow more than one space between mime encoded words. - Changed spelling of "Millenium" to "Millennium". Suggested by: Rob Kendrick * In my English to Finnish dictionary there is a word "millenium". And there is no word "millennium" in the dictionary. But apparently my dictionary is wrong. Changes of Elm 2.4ME+ PL122j (25) compared with Elm 2.4ME+ PL122i (25) ---------------------------------------------------------------------- [ This patch is branch from the main line. ] - Elm ME+ failed to wrap mime encoded Subject: header under 80 characters on some situations. - Fix return value of get_word_from_string() - Fix case where "Metamail selection" -screen actually not prompted for metamail. - Fix panic SCREEN PANIC in screen.c:929:menu_set_default >>>Not a main menu when elm is called as elm < /dev/null - Fix segmentation violation -crash when elm is called as elm --mailbox-title=xxx -f x -f z (when given folders do not exists.) - Fix (or work around) error Message contains bare newlines when saving to some IMAP servers. Changes of Elm 2.4ME+ PL122i (25) compared with Elm 2.4ME+ PL122h (25) ---------------------------------------------------------------------- [ This patch is branch from the main line. ] - If mime part (or attached file) did not end in a newline, garbage from the next part (until the first LF) was included in the end of that part. That happened when the file or mime part didn't have an LF in the end and it was not required to be content-transfer-encoded. > Fixed copy_part() Changes of Elm 2.4ME+ PL122h (25) compared with Elm 2.4ME+ PL122g (25) ---------------------------------------------------------------------- [ This patch is branch from the main line. ] - "I built your latest elm today and came across a smail issue as I build it on several architectures from the same source tree. I found make clean fails to remove utils/reghelper.o which leads to a failure to link obvously..." Reported by: janjaap@stack.nl (Janjaap van Velthooven) > Added reghelper.o to UTIL_OBJ - Added 'V' - command (View digest as mailbox) to help. - Added resort_mailbox() to leaving of A)ssemble message fragments -command/mode. Otherwise main mailbox is incorrectly sorted if new mail was arrived when A)ssemble message fragments -mode was active. - Fix possible redraw loop when prompting password - On A)ssemble message fragments -command menu there is "o)ptions" -command, but actual command was missing. Added 'o' to command loop. - On digest viewing menu there is "o)ptions" -command, but actual command was missing. Added 'o' to command loop. Changes of Elm 2.4ME+ PL122g (25) compared with Elm 2.4ME+ PL122f (25) ---------------------------------------------------------------------- [ This patch is branch from the main line. ] - Fix expansive debug loop on imap.c (so that loop is not run if dubugging is not used.) - Fix redraw handling on do_pipe - "elm -vvv" was printing wrong output: Mailer: unknown; path="/usr/sbin/sendmail" instead of Mailer: sendmail; path="/usr/sbin/sendmail"; add-from="dont"; supported-bodytype="8bit"; supports-dsn="yes" (actually on one line) Changes of Elm 2.4ME+ PL122f (25) compared with Elm 2.4ME+ PL122e (25) ---------------------------------------------------------------------- [ This patch is branch from the main line. ] - When saving mail forder time on "From " -separator line was shifted by one hour if it was on different zone than current time (ie. on daylight saving time versus normal time). - Folder browser was showing wrong entry on prompt line after TAB -character. Changes of Elm 2.4ME+ PL122e (25) compared with Elm 2.4ME+ PL122d (25) ---------------------------------------------------------------------- [ This patch is branch from the main line. ] - O)verride charset -command did was not effect on non-MIME messages. - Characters on "Change to which folder:" -prompt was echoed to wrong place after "Already reading that folder!" -message. Changes of Elm 2.4ME+ PL122d (25) compared with Elm 2.4ME+ PL122c (25) ---------------------------------------------------------------------- [ This patch is branch from the main line. ] - "I configured ELM 2.5 alpha 5 just like my ELM 2.5 alpha 4 that compiles nicely and got the following error from init.c on Solaris 8 gcc. <...> In file included from init.c:14: ../../hdrs/shared_imp.h:118: parse error before `*' init.c:18: `rc_DT_SHARED' undeclared here (not in a function)" Problem noted by: James Corey > Elm ME+ failed to compiled when USE_DLOPEN and SHARED_LIBS was not defined. - browser_descend_local() did not handled correctly case where given filename did not included path (and there was directory already selected.) - "I tried your patch for ELM 2.5 alpha5 and it failed to compile on Solaris. So tried the same thing with the new ELM 2.5 alpha6. Same thing." "cs_wfallback.c: In function `init_fallback': cs_wfallback.c:165: `Debug' undeclared (first use in this function)" Reported by: James Corey > Moved DEBUG_VAR(Debug,__FILE__,"charset") outside of #if 0 - On some cases filename -parameter was generated twice to Content-Disposition -header. - Tagged flag of current message was not cleared on V)iew digest command. - Allow canceling Already have selection criteria - add more? prompt with Ctrl-C (interrupt character) on systems which supports POSIX termios. - Let Configure locate ar and nm (and ranlib) instead just using PATH - Let makefiles use ar -command located by Configure - Fix some compilation warnings on SunOS 5.10 - Moved curses.h and term.h including from curses.c to def_screen.h before including termios.h. - SunOS 5.10 (Solaris) have problematic prototype for tputs() and do not have prototype for tgoto() when __STDC__ is defined. Added some workarounds. - Use both curses.h and term.h on SunOS (Solaris), not only term.h - Do not use USGNAMES on SunOS - iconv() on SunOS uses 'const char **inbuf' argument. * NOTE: Changes for SunOS 5.10 are only compile tested. It is not tested that they produce working code. - Fix USGNAMES compilation. Changes of Elm 2.4ME+ PL122c (25) compared with Elm 2.4ME+ PL122b (25) ---------------------------------------------------------------------- [ This patch is branch from the main line. ] - Fixed valgrind reported error on case elm -i non-existing-file address Conditional jump or move depends on uninitialised value(s) at 0x808B83E: reset_parts (mime.c:105) by 0x808B9D6: free_mime_send_info (mime.c:144) by 0x80871B9: mail (mailmsg2.c:1351) by 0x8083910: send_msg_middle (mailmsg1.c:589) - Ctrl-T {pattern} did not updated messages on screen to be tagged when visible messages was limited with l)imit -command. - Enchance redrawing on Delete message? "received" folder not available, continue leaving folder? Move read message to "received" folder? -prompts. - Fix -Wtraditional warning: mailer.c:1644: warning: non-static declaration for `sendmail_mailer_backend' follows static - Fix -Wtraditional warning: mailer.c:1902: warning: non-static declaration for `submitmail_mailer_backend' follows static - Fix -Wtraditional warning: mailer.c:1932: warning: non-static declaration for `execmail_mailer_backend' follows static - Fix -Wtraditional warning: ../../hdrs/elmlib.h:2278:21: warning: function-like macro "special" must be used with arguments in traditional C > special() -macro is removed, it seems not be used. ( No other -Wtraditional warnings are fixed. ) Changes of Elm 2.4ME+ PL122b (25) compared with Elm 2.4ME+ PL122a (25) --------------------------------------------------------------------- [ This patch is branch from the main line. ] - Fixed some -Wuninitialized compilation warnings. - Ctrl-T 'all' did not updated messages on screen to be tagged when visible messages was limited with l)imit -command. - Ctrl-T 'flagged' did not updated messages on screen to be tagged when visible messages was limited with l)imit -command. - Some minor fixes. Changes of Elm 2.4ME+ PL122a (25) compared with Elm 2.4ME+ PL122 (25) --------------------------------------------------------------------- [ This patch is branch from the main line. ] - Fix initialization error on lib/read_rc.c (uses $USER instead of $HOME) when pw_dir is NULL. - "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 > 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". Changes of Elm 2.4ME+ PL122 (25) compared with Elm 2.4ME+ PL121 (25) -------------------------------------------------------------------- Note: You must create directory lib/mailer before applying this patch! Undo Elm 2.4ME+ PL121a (25) - Elm 2.4ME+ PL121h (25) patches before applying this patch. WARNING: Quite lot of changes in many areas. So please report new bugs which you observe... * 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 ( 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 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 - "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 > 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 > 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: - Fixed 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() - Fixed "Reverse Thread" sorting order. - Fixed 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) - Fixed 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) - Fixed 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) - Fixed 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) - Fixed 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) - Fixed 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) - Fixed 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) - Fixed 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) - Fixed 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() - Fixed "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 - "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 > 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 definition 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 definition 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' definition. - 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 definition 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) does 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 - 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 - get_type_flags() was called with NULL-pointer argument from start_body_helper() line 381. Problem noted by: Vesa-Matti J Kari > 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 - 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 - 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. - 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: Mikhail T. * 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: Mikhail T. New elmrc options: 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 New elm command line option: -y Don't enter Elm if no unread mail is pending. New elm command: F)lag New files: 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/outheaders.c lib/mailer/shared_mailer.c lib/mailer/init.c lib/rc_delay.c melib/mime_param.c lib/write_rc.c Moved files: lib/mailer.c => lib/mailer/mailer.c Removed files: lib/add_site.c lib/strtokq.c doc/tmac.n doc/Alias.guide doc/Config.guid doc/Elm.cover doc/Form.guide doc/Ref.guide doc/Users.guide Changes of Elm 2.4ME+ PL121h (25) compared with Elm 2.4ME+ PL121g (25) ---------------------------------------------------------------------- [ This patch is branch from the main line. ] - On 21 lines window browser help (Folder selection) was not fitting to screen. - f)orget command on "Mail Pre-Send Screen" incorrectly sent mail when editor buffer was empty and on mail there was on attachment. Changes of Elm 2.4ME+ PL121g (25) compared with Elm 2.4ME+ PL121f (25) ---------------------------------------------------------------------- [ This patch is branch from the main line. ] - get_type_flags() was called with NULL-pointer argument from start_body_helper() line 381. Problem noted by: Vesa-Matti J Kari > 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.) - 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. - Ignore command letter 'm' on elm.filelist (used on Elm 2.4ME+ PL122). Changes of Elm 2.4ME+ PL121f (25) compared with Elm 2.4ME+ PL121e (25) ---------------------------------------------------------------------- [ This patch is branch from the main line. ] - Fix another "Append to mail folder " -question. - Configure was incorrectly made conlusion that nl_langinfo(CODESET) does 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 - Remove duplicates from bin/elm.mimecharsets during Configure - Compare charset names in case insensitive way on ConfTool/GenCharmap Changes of Elm 2.4ME+ PL121e (25) compared with Elm 2.4ME+ PL121d (25) ---------------------------------------------------------------------- [ This patch is branch from the main line. ] - Set close-on-exec flag for opened local mailbox. - Fix "Append to mail folder " -question. - "I am seeing two exit messages if I start elm and exit right away using ELM 2.4ME+ PL121" Problem noted by: Bruce Momjian - "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 > 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 definition 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 definition for charset. Changes of Elm 2.4ME+ PL121d (25) compared with Elm 2.4ME+ PL121c (25) ---------------------------------------------------------------------- [ This patch is branch from the main line. ] - Fix "Reverse Thread" sorting order. - Fixed valgrind reported memory leak: 24 bytes in 1 blocks are definitely lost in loss record 4 of 28 at 0x400260DC: malloc (vg_replace_malloc.c:153) by 0x8147EF3: safe_malloc (safemalloc.c:47) by 0x8068ACA: attach_menu (attach_menu.c:2253) by 0x80784E5: mailbox_command (elm.c:808) by 0x807920D: main (elm.c:1185) - Added redraw handling to display_file() - Fixed 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) - Fixed 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) - Fixed 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) - Fixed 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) - Fixed 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) - Fixed 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) - Fixed 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) - Fixed 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) - Fixed 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) Changes of Elm 2.4ME+ PL121c (25) compared with Elm 2.4ME+ PL121b (25) ---------------------------------------------------------------------- - Fixed incorrect drawing of "MIME structure Menu" when arrow cursor was used. Changes of Elm 2.4ME+ PL121b (25) compared with Elm 2.4ME+ PL121a (25) ---------------------------------------------------------------------- [ This patch is branch from the main line. ] - "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 ( Patch was agaist Elm ME+ 2.5 but applies also to Elm 2.4ME+ ) Changes of Elm 2.4ME+ PL121a (25) compared with Elm 2.4ME+ PL121 (25) --------------------------------------------------------------------- [ This patch is branch from the main line. ] - Fix error message Path component "none" not absolute on key "internal-mailcaps" value "none" when on elmrc have line internal-mailcaps = none Changes of Elm 2.4ME+ PL121 (25) compared with Elm 2.4ME+ PL120 (25) -------------------------------------------------------------------- SUMMARY: This release changes handling of shared libraries and includes some other minor changes or fixes. - Better rpath test on Configure - Better soname test on Configure - Some fixes about soname_include_path - Change soname_include_path values define/undef to y/n. It is not used for #define. - Allow setting soname_include_path=n always if rpath works - Add extra libraries needed by shared libraries (shared_libs/*/) to rpath of executable. - Effectively local-fast-lookup = ON is now always used when ASCII filenames are looked. - Removed Configure warning: "(I see you are using the Korn shell. Some ksh's blow up on Configure, especially on exotic machines. If yours does, try the Bourne shell instead.)" - Let builtin pager show also address and not only name of sender! - Fix error RC PANIC in rc_handle.c:1226:expand_dt_path >>>Bad state on end when incorrect elmrc is read weedout = *clear-weed-list*" Changes of Elm 2.4ME+ PL120 (25) compared with Elm 2.4ME+ PL119 (25) -------------------------------------------------------------------- SUMMARY: This release fixes handling of multiple To: headers, refines "showto" semantic and fixes envelope sender of "Canceled mail" -view. - Fix incorrect condition for deleting of messages marked for deletion (actually condition worked on Elm 2.4ME+ and did not worked on Elm ME+ 2.5 because different ison -macro) - Group reply did not worked correctly when on mail there was several To: -headers. - Refine "showto" semantic. If that elmrc variable is set and mail is not addressed to user, then To: address is shown. - Remove < > from address on real_from parsing. - Set envelope from address to username when reading Canceled mail special 'folder'. That way To: -address should be displayed when viewing that 'folder'. Changes of Elm 2.4ME+ PL119 (25) compared with Elm 2.4ME+ PL118 (25) -------------------------------------------------------------------- SUMMARY: This release includes various code changes, changes f)orget command and moves *.Canceled.mail to own directory. This release introduces elmrc option "dead-letter-dir". Any canceled mail can be picked with m)ail command. - Configure now locates system gencat command - Added file nls/Makefile.SH - File nls/Makefile is removed. Now it is generated by Configure - Made leave() to use give_next_open_mailbox() - Added free_all_mailboxes() to src/messages/messages.c - Made leave() to use free_all_mailboxes() - Made rm_temps_exit() to use free_all_mailboxes() - Made silently_exit() to use give_next_open_mailbox() - Made emergency_exit() to use give_next_open_mailbox() - Made leave_locked() to use give_next_open_mailbox() - Made usr1_signal() to use give_next_open_mailbox() - Made usr2_signal() to use give_next_open_mailbox() - Removed current_mailbox global variable - Added free_all_aliasviews() to src/aliases/aliases.c - Made leave() to use free_all_aliasviews() - Made silently_exit() to use free_all_aliasviews() - Made rm_temps_exit() to use free_all_aliasviews() - Made leave_locked() to use free_all_aliasviews() - Removed current_aliaslist global variable - Added menu_trigger_redraw() to src/screen/context.c - Changed resync() to use menu_trigger_redraw() - Changed help() to use menu_trigger_redraw() - Changed do_pipe() to use menu_trigger_redraw() - Changed change_file() to use menu_trigger_redraw() - Changed print_msg() to use menu_trigger_redraw() - Changed subshell() to use menu_trigger_redraw() - Changed pgp_extract_public_key() to use menu_trigger_redraw() - Changed forward() to use menu_trigger_redraw() - Changed reply_to_everyone() to use menu_trigger_redraw() - Changed pgp_mail_public_key() to use menu_trigger_redraw() - Changed send_msg_l() to use menu_trigger_redraw() - Changed print_text() to use menu_trigger_redraw() - Changed reply() to use menu_trigger_redraw() - Changed save() to use menu_trigger_redraw() - Changed pattern_match() to use menu_trigger_redraw() - Changed limit() to use menu_trigger_redraw() - Changed read_number to use menu_trigger_redraw() - Changed alias_help() to use menu_trigger_redraw() - Changed a_sendmsg() to use menu_trigger_redraw() - Changed mailbox_command() to use menu_trigger_redraw() - Changed motion() to use menu_trigger_redraw() - Changed new_mail_check() to use menu_trigger_redraw() - Changed mail() to use menu_trigger_redraw() - Changed send_msg_middle() to use menu_trigger_redraw() - Changed send_form() to use menu_trigger_redraw() - Added menu_trigger_redraw() to get_copies() - Added menu_trigger_redraw() to get_to() - Added menu_trigger_redraw() to copy_the_msg() - Added menu_trigger_redraw() to get_subject() - Changed send_msg_argv() to use menu_trigger_redraw() - Moved *.Canceled.mail to own directory Canceled.mail.dir - Editor buffer for f)orget messages is not kept. Instead cancele mails are picked from Canceled.mail.dir on m)ail -command ('/' on To: prompt gives menu of cancelled messages.) - Canceled.mail.dir is not available as folder (it can not given for c)hange folder commmand or -f option of Elm.) - When canceled mail is picked from re-sending, is is also deleted from Canceled.mail.dir (f)orget command will re-add it to Canceled.mail.dir.) - Name of Canceled.mail.dir can be changed with elmrc option dead-letter-dir. - Removed give_message_folder() - Added -g option to Configure New elmrc options: dead-letter-dir New file: src/messages/canceled_mail.c src/canceled.c nls/Makefile.SH Removed file: nls/Makefile (this is now generated by Configure) Changes of Elm 2.4ME+ PL118 (25) compared with Elm 2.4ME+ PL117 (25) -------------------------------------------------------------------- Undo Elm 2.4ME+ PL117a (25) and Elm 2.4ME+ PL117b (25) patches before applying this patch. - Interrupt signal (Ctrl-C) was ignored only, if Elm ME+ was compiled with -DDEBUG option. Problem noted by: Laura Kataja - Fix bug where Elm2.4ME+ PL117 was acting always as dsn-success was set. - Message/check "signature" used in obsolete way in .elm/elmrc file. removed. - Moved get_term_chars() from src/init.c to src/screen/init.c - PL108 added 'invoke e)ditor' command to header editing screen. That conflicts with 'E)xpires' command. Changed command to 'invoke e(d)itor'. - Allow canceling of following prompts with Ctrl-C (interrupt character) on systems which supports POSIX termios: Set current XXX to : Description: (Attachment Configuration) Content-Type: (Attachment Configuration) Content-Disposition: (Attachment Configuration) Search: (builtin pager) From: (Message Header Edit Screen) To: (Message Header Edit Screen) Cc: (Message Header Edit Screen) Bcc: (Message Header Edit Screen) Subject: (Message Header Edit Screen) Reply-to: (Message Header Edit Screen) Action: (Message Header Edit Screen) Priority: (Message Header Edit Screen) Precedence: (Message Header Edit Screen) In-reply-to: (Message Header Edit Screen) user defined header on Message Header Edit Screen Enter criteria or '?' for help: Send the message to: (prompt of m)ail command) To: (prompt of m)ail command) Subject: (prompt of m)ail command) Copies to: (prompt of m)ail command) Return-path: (Mail Pre-Send Screen) E)ditor (primary) : (ELM Options Editor) D)isplay mail using : (ELM Options Editor) C)alendar file : (ELM Options Editor) O)utbound mail saved : (ELM Options Editor) P)rint mail using : (ELM Options Editor) Y)our full name : (ELM Options Editor) V)isual Editor (~v) : (ELM Options Editor) E)xpires: (ELM Options Editor) Precede(n)ce: (ELM Options Editor) Enter pattern: To: (when encrypting message (pgp)) From: (when signing message (pgp)) Enter userid of public key: (prompt of Ctrl-K command) Override charset: Shell command: Pipe to: Enter alias name: (Alias mode) Current message address aliased to: Enter address for XXX: (Alias mode) Fully expand alias: (Alias mode) Enter last name for XXX: Enter first name for XXX: Enter optional comment for XXX: Forward message as separate part? Copy message? (prompt of m)ail command) Edit outgoing message? (prompt of f)orward command) - Treate Ctrl-C (interrupt character) as No on following prompts (on systems which support POSIX termios): Abandon change to mailbox? Abandon changes to mailbox? - Handling interrupt (Ctrl-C) on builtin editor without signals on systems which support POSIX termios (that edit_interrupt signal handler is not safe!) - GetPGPKey() did not always re-enabled raw-mode - Allow canceling of following (folder browser) prompts with Ctrl-C (interrupt character) on systems which supports POSIX termios: Change to which folder: Save text of message to: Copy text of message to: Save text messages to: Copy text messages to: Save message to: Copy message to: Save messages to: Copy messages to: Save copy in (use '?' for help): - Allow canceling of following (file browser) prompts with Ctrl-C (interrupt character) on systems which supports POSIX termios: To file: (MIME structure Menu) Filename: (Attachment Configuration) - Allow canceling leaving of folder on following prompts with Ctrl-C (interrupt character) on systems which supports POSIX termios: Delete message? Delete messages? Move read message to \"received\" folder? Move read messages to \"received\" folder? Keep unread message in incoming mailbox? Keep unread messages in incoming mailbox? - Now on address prompts also works \ quotation of interrupt character (for example @, if set that way) on systems which supports POSIX termios. - Allow canceling of password prompt of IMAP/POP with Ctrl-C (interrupt character) on systems which supports POSIX termios: Password for XXX@YYY: - Allow canceling of IMAP/POP connection attempt with Ctrl-C (interrupt character) on systems which supports POSIX sigaction: Connecting to XXX - Allow canceling alias menu help prompt with Ctrl-C (interrupt character) on systems which supports POSIX termios - Allow canceling messages/mailbox menu help prompt with Ctrl-C (interrupt character) on systems which supports POSIX termios - Allow canceling options menu help prompt with Ctrl-C (interrupt character) on systems which supports POSIX termios - Add READCH_CURSOR to ReadCh options so so that escape sequences from cursor keys do not cause misinterpration of selected option. - Allow folowing ON/OFF prompts to be canceled on options menu with Ctrl-C (interrupt character) on systems which supports POSIX termios: A)rrow cursor : M)enu display : - Allow options menu sorting criteria prompt to be canceled with Ctrl-C (interrupt character) on systems which supports POSIX termios: S)orting criteria : - Allow canceling DSN menu with Ctrl-C (interrupt character) on systems which supports POSIX termios (but not yet allow canceling of individual prompts.) - Allow quiting Attachment Configuration menu with Ctrl-C (interrupt character) on systems which supports POSIX termios (this not necessary forget/undo made changes however.) - Allow canceling encoding prompt on Configuration menu with Ctrl-C (interrupt character) on systems which supports POSIX termios: Content-Transfer-Encoding: - Allow quiting Attachment Menu with Ctrl-C (interrupt character) on systems which supports POSIX termios (this not necessary forget/undo made changes however.) - Redraw Mail Pre-Send Screen when quiting Attachment Menu or DSN menu. - Allow quiting Message Header Edit Screen with Ctrl-C (interrupt character) on systems which supports POSIX termios (this not necessary forget/undo made changes however.) - Allow quiting help text viewer with Ctrl-C (interrupt character) on systems which supports POSIX termios: Press to continue, 'q' to return. - Allow quiting of builtin pager with Ctrl-C (interrupt character) on systems which supports POSIX termios New file: src/screen/init.c lib/cancel.c Changes of Elm2.4ME+ PL117b (25) compared with Elm2.4ME+ PL117a (25) -------------------------------------------------------------------- [ This patch is branch from the main line. ] - Interrupt signal (Ctrl-C) was ignored only, if Elm ME+ was compiled with -DDEBUG option. Problem noted by: Laura Kataja Changes of Elm2.4ME+ PL117a (25) compared with Elm2.4ME+ PL117 (25) ------------------------------------------------------------------- [ This patch is branch from the main line. ] - Fix bug where Elm2.4ME+ PL117 was acting always as dsn-success was set. Changes of Elm2.4ME+ PL117 (25) compared with Elm2.4ME+ PL116 (25) ------------------------------------------------------------------- Undo Elm 2.4ME+ PL116a (25) patch before applying this patch. SUMMARY: This release collects patch Elm2.4ME+ PL116a, implements reconnection to mailer=submission, adds pgp-interactive and askmimeforward elmrc options and prompts about mimeforward on f)orward command. - Fix debug output of dump_expanded_address() - Implement reconnection for mailer=submission (however reconnection is not implemented for mailer=sendmail-bs). These mailer's open smtp (or submission) connection to server before editor is started. That is done for get capacity of mailer (for 8BITMIME). However sometime that times out if editing tooks too long and sending of mail fails. - Trying send encrypted messages with gpg was giving error message Couldn't find key matching 'xxx@yyy' Problem noted by: Olivier COLIN (and probably others) > Make GetPGPKey() retry reading of result on case of interrupt. - GetPGPKey() was not collect status of exted gpg and was left lot of defunct processes. Converted code to use start_run(). - Reprint last error on "Mail Pre-Send Screen" after clearing screen. - Added pgp-interactive option to elmrc. Setting that disables batch mode of pgp/gpg when encrypting/signing mail. - Alternatives and weedout and list was replaced with Q letters Problem noted by: Cyrille Lefevre - Do not quote addresses on alternatives. - Added elmrc variable type rc_DT_ESTR (a kind of expanded string). - Reimplemented elmrc variable "pager" as rc_DT_ESTR - Reimplemented elmrc variable "editor" as rc_DT_ESTR - Reimplemented elmrc variable "calendar" as rc_DT_ESTR - Reimplemented elmrc variable "localsignature" as rc_DT_ESTR - Reimplemented elmrc variable "remotesignature" as rc_DT_ESTR - Reimplemented elmrc variable "receivedmail" as rc_DT_ESTR - Reimplemented elmrc variable "sentmail" as rc_DT_ESTR - Reimplemented elmrc variable "incoming-mailbox" as rc_DT_ESTR - Removed valid_rc_type() - Add package test to Configure (as it is done Elm ME+ 2.5) for case that wrong config.sh is used. - Added malloc_gets() to lib/mail_gets.c - Changed send_msg_l(), mail(), mail_form(), mail_filled_in_form(), forward(), reply_to_everyone(), and reply() to use index, mailbox instead of current_header, infile, mailbox. - Added give_next_open_mailbox() to src/messages.c and made save_copy() to use it. - Moved definition of struct mv_storage and struct mv_digest out from src/messages/def_messages.h - When mail is forwarded mail, user is prompted Forward message as separate part? default value of answer depends "mimeforward" elmrc option. Setting elmrc option "askmimeforward" to OFF disables that prompt. - Added expanded_address_from_items() to lib/outheaders.c - Removed class_charset() from melib/mime_parse.c New elmrc options: pgp-interactive askmimeforward Changes of Elm2.4ME+ PL116a (25) compared with Elm2.4ME+ PL116 (25) ------------------------------------------------------------------- [ This patch is branch from the main line. ] - Alternatives and weedout and list was replaced with Q letters Problem noted by: Cyrille Lefevre - Reprint last error on "Mail Pre-Send Screen" after clearing screen. - Trying send encrypted messages with gpg was giving error message Couldn't find key matching 'xxx@yyy' Problem noted by: Olivier COLIN (and probably others) > Make GetPGPKey() retry reading of result on case of interrupt. - GetPGPKey() was not collect status of exted gpg and was left lot of defunct processes. Converted code to use start_run(). - Do not quote addresses on alternatives. Changes of Elm2.4ME+ PL116 (25) compared with Elm2.4ME+ PL115 (25) ------------------------------------------------------------------- SUMMARY: This patch fixes handling of unexpected return value of nl_langinfo(CODESET) on AIX, fixes value check of "internal-mailcaps" and "metamail-mailcaps" elmrc variables, fixes some prompts on situation where leaving of folder fails, reimplements "alternatives" and "weedout" elmrc variables, changes elm.filelist format (adds subcommand "copydoc" to elmregister), adds -s option to elmregister and adds RFC 2919 List-ID to list of known headers. WARNING: There is small change on elm.filelist format, so downgrading from Elm2.4ME+ PL116 (25) to Elm 2.4ME+ PL115 (25) or to Elm ME+ 2.5 PLalpha0 will not work (you need unistall or remove elm.filelist first.) - " When installing ELM (on AIX 5L), I get the following message: | Elm: Unable to map en_US locale (LC_CTYPE) to MIME charset. | Codeset name ISO8859-1 was unknown. Treating ISO8859-1 as MIME name. | Check /usr/local/lib/elm/elm.mimecharsets or | noam/.elm/mime.charsets | WARNING: Locale en_US (charset ISO8859-1) is unsupported, will cause problems! | Problem with locale (system character set)! Elm ME+ will | behave erratically." Problem noted by: Noam G. Nudelman - dt_PATH_print_value() was not printing always empty values correctly. - fix test on expand_dt_path(). Specially non-file values on "internal-mailcaps" and "metamail-mailcaps" was not giving error message. - Prompt "Failed to leave folder: Try to change again ? [P]anic" did not worked. Added new routine prompt_letter() - Changed prompt "Failed to leave folder: Try to quit again ?" - Changed prompt ""received" folder not available, continue? (y/n) n" - Also changed default answer to be yes on that prompt (that is usefull only when received folder is remote, but that error may occur also is somebody is set receivedmail = /invalid ) - Fix some possible compilation problems with traditional C compilers (as opposed to ANSI C ompilers) - Reimplemeted elmrc "alternatives" as type PATH and removed special elmrc type for alternatives. - Reimplemeted elmrc "weedout" as type PATH and removed special elmrc type for weedout. If first element on list is "*clear-weed-list*", then builtin weedout list is not used. - Fix typo PROMTP_yesno (to PROMPT_yesno) on Elm2.4ME+ PL115a (25) - Added command "elmregister copydoc" which works like "elmregister copy", but marks file to be document. - Added option "-s {stage-subdir}" to command "elmregister {command}". - Added RFC 2919 List-ID -header to array on lib/headers.c - Fix missing space between pharse and < > on result of hdr_decode_from_phrase() on lib/headers.c - If on header editing screen incoked editor and address was on form '"a" (c)", and then edited it on header editing screen address become as '"a" (c('. Changed on '(' to ')' on make_surface_addr() on lib/outheaders.c Changes of Elm2.4ME+ PL115a (25) compared with Elm2.4ME+ PL115 (25) ------------------------------------------------------------------- [ This patch is branch from the main line. ] SUMMARY: This patch fixes handling of unexpected return value of nl_langinfo(CODESET) on AIX, fixes value check of "internal-mailcaps" and "metamail-mailcaps" elmrc variables and fixes some prompts on situation where leaving of folder fails. - " When installing ELM (on AIX 5L), I get the following message: | Elm: Unable to map en_US locale (LC_CTYPE) to MIME charset. | Codeset name ISO8859-1 was unknown. Treating ISO8859-1 as MIME name. | Check /usr/local/lib/elm/elm.mimecharsets or | noam/.elm/mime.charsets | WARNING: Locale en_US (charset ISO8859-1) is unsupported, will cause problems! | Problem with locale (system character set)! Elm ME+ will | behave erratically." Problem noted by: Noam G. Nudelman - dt_PATH_print_value() was not printing always empty values correctly. - fix test on expand_dt_path(). Specially non-file values on "internal-mailcaps" and "metamail-mailcaps" was not giving error message. - Prompt "Failed to leave folder: Try to change again ? [P]anic" did not worked. Added new routine prompt_letter() - Changed prompt "Failed to leave folder: Try to quit again ?" - Changed prompt ""received" folder not available, continue? (y/n) n" - Also changed default answer to be yes on that prompt (that is usefull only when received folder is remote, but that error may occur also is somebody is set receivedmail = /invalid ) - Fix some possible compilation problems with traditional C compilers (as opposed to ANSI C ompilers) Changes of Elm2.4ME+ PL115 (25) compared with Elm2.4ME+ PL114 (25) ------------------------------------------------------------------ SUMMARY: This release changes temporary folder location on some situations, fixes crash on c)hange command on alias menu, adds elmrc options "local-sessionlock-dir" and "local-sessionlock-use-home", and changes SIGWINCH handling when waiting for editor. - If opened local mailbox is on somewhere else than on spool directory, use "tmpdir" setting from elm.rc for location of temporary file "mbox.{mailbox}-{username}" instead default_temp. NOTE: "tmpdir" was already used for temporary file "mbox.{username}@{popserver}" when reading pop mailbox and for temporary file "mbox.{username}@{imapserver}:{folder}" when reading imap folder of mailbox. - If opened local mailbox is on spool directory, use (new) "local-sessionlock-dir" setting from elm.rc for location of temporary file "mbox.{mailbox}" instead default_temp. - Added new elmrc option "local-sessionlock-dir". - "There are two behaviors that I need changed. One is the location of the temporary mbox-USERNAME file. Because our homedirs are nfs mounted to whatever machine we sit down at, having the temporary mbox-USERNAME file located in /tmp (or anywhere else local to the machine we are currently using) is not adequate protection from launching two invocations of elm on two different workstations and having both try and update the same inbox. This usually results in an error message about the mailbox being corrupted when we return to our primary workstation. To solve this it works better for us if the mbox-USERNAME file resides in our homedirs. I found no way to set this using the Configure script (can't use $HOME), so I did it by modifying imap.c, localmbx.c, and remote_mbx.c. Also, we prefer that these files be dot files (.mbox-USERNAME) so I also modified sysdefs.SH." Problem noted by: J.C. Webber III > Added new elmrc option "local-sessionlock-use-home". Possible values are "never", "spool", "always" and "non-spool". If this is set to "always", local mailbox opened use home for temporary file. Temporary file is renamed to ".mbox.{mailbox}-{username}" or ".mbox.{mailbox}". If this is set to "spool", temporary file for local mailboxes opened from spool directory are put to home directory. If this is set to "non-spool", temporary file for local mailboxes opened from non-spool directory are put to home directory. Value "never" do not relocate temporary file. - Fix crash when changing alias... - set SIGWINCH to SIG_DFL only on child (on system_call()) so that Elm will call menu_context_resize() when it is waiting child to complete ... New elmrc options: local-sessionlock-dir local-sessionlock-use-home Changes of Elm2.4ME+ PL114 (25) compared with Elm2.4ME+ PL113 (25) ------------------------------------------------------------------ Undo Elm2.4ME+ PL113a (25) patch before applying this patch. SUMMARY: This release collects PL113a patch, adds hack for hidding certain management mail used by some imap servers and splits elmrc option use-library to two variables. That should reduce loading of unnecessary libraries. New elmrc options "message-hide-hack", "use-base-library" and "use-connect-library" are added to this release. - "wouldn't it be nice to have an option to hide the management mail in imap-folders. This mail is in every mail-folder which is also accessed by imap. It always has: Subject: DON'T DELETE THIS MESSAGE -- FOLDER INTERNAL DATA I always use elm, but also access my mailbox remotely via imap. To access it locally with elm also by imap is slow, compared to direct access." Requested by: Axel Reinhold > Added elmrc option "message-hide-hack". Possible values are "none" and "FOLDER INTERNAL DATA". Hiding of that management mail do not affect to '-z' option -- that option still sees that mailbox is non-zero size. Also that option do not effect to any tools of elm. In other words 'frm' shows that management mail. - "I tried to compile elm2.4.ME+.113 on AIX 5.1 (maintenance level 05) or on AIX 5.2 (maintenance level 02) with gcc version 3.3.2 and got stuck with: gmake[1]: Entering directory `noam/elm2.4.ME+.113/src/screen' gcc -I../../hdrs -fpcc-struct-return -fPIC -O -c -o curses.o curses.c curses.c:282: error: parse error before '->' token" Problem reported by: Noam G. Nudelman > Fix again compilation problem fixed on PL106 but re-introduced on PL108. - "When running 'elm -c alias_name' with Elm 2.4ME+ PL113 on AIX, I get: ALIAS VIEW PANIC in aliases.c:340:update_aview >>>bad aliasview magic" Reported by: Noam G. Nudelman - On linux "elm -c xxx" crashes with: SIGNAL PANIC in signals.c:102:segv_signal >>> Segment Violation signal! > Moved initialization of aliasview to earlier. - Splited elmrc variable use-library = iconv smtp tls to two variables use-base-library = iconv use-connect-library = smtp tls - Content of variable use-library is automatically moved to variables use-base-library and use-connect-library. - This splitting tries avoid loading of unnecessary libraries. Note however that these libraries are loaded anyway if library specific options are used on elmrc or on mail.services. Also giving for example mailer = submission on global elm.rc load all libraries given on use-connect-library. New elmrc options: use-base-library use-connect-library message-hide-hack New files: lib/shared_all.c lib/shared_base.c lib/shared_connect.c Changes of Elm2.4ME+ PL113a (25) compared with Elm2.4ME+ PL113 (25) ------------------------------------------------------------------- [ This patch is branch from the main line. ] - "I tried to compile elm2.4.ME+.113 on AIX 5.1 (maintenance level 05) or on AIX 5.2 (maintenance level 02) with gcc version 3.3.2 and got stuck with: gmake[1]: Entering directory `noam/elm2.4.ME+.113/src/screen' gcc -I../../hdrs -fpcc-struct-return -fPIC -O -c -o curses.o curses.c curses.c:282: error: parse error before '->' token" Problem reported by: Noam G. Nudelman > Fix again compilation problem fixed on PL106 but re-introduced on PL108. - "When running 'elm -c alias_name' with Elm 2.4ME+ PL113 on AIX, I get: ALIAS VIEW PANIC in aliases.c:340:update_aview >>>bad aliasview magic" Reported by: Noam G. Nudelman - On linux "elm -c xxx" crashes with: SIGNAL PANIC in signals.c:102:segv_signal >>> Segment Violation signal! > Moved initialization of aliasview to earlier. Changes of Elm2.4ME+ PL113 (25) compared with Elm2.4ME+ PL112 (25) ------------------------------------------------------------------ SUMMARY: This release changes base64 decode algorithm, adds decoder from X-uuencoded content-transfer-encoding and adds handling of resizing to many screen. - Reimplemented base64_decode() from routine of kehlist (first occured on kehlist 1.1.2 9 Jun 1999 Author: Kari E. Hurtta ) [ Well, basically same decoding routine is on cs_add_streambyte_to_s_utf7() on lib/cs_utf.c And also found from kehpager (UTF7_convert() on charset.c, kehpager 1.2 1994 Author: Kari Hurtta ] - Added uudecode() routine, used for decoding nonstandard X-uuencoded content-transfer-encoding - Resizing of terminal is handled now also on following screens: - ELM Options Editor - Alias mode - Mail Pre-Send Screen - Message Header Edit Screen - Message Edit Screen (builtin editor) (perhaps) - Attachment Menu - MIME structure Menu - builtin pager - Folder selection (folder browser) - File selection (directory browser) - Attachment Configuratio (not an a filename or other prompts) - Multiple keys match (pgp key selection) - DSN (Delivery Status Notification) Configuration Resizing is not handled when some data is prompted on these screens. Generally that causes redraw event, which not repage / resize text but instead just redraws prompt. - Fixed compilation problem on case where REMOTE_MBX is not defined. - optionally_enter2 was not prompting text correctly when OE_APPEND_CURRENT was set. New files: src/screen/context.c Changes of Elm2.4ME+ PL112 (25) compared with Elm2.4ME+ PL111 (25) ------------------------------------------------------------------ Note: You must create directory src/menu_common before applying this patch! WARNING: Unified code between aliases and mailbox menu. Speciall there is changes of l)imit command. So please report new bugs which you observe... SUMMARY: This release collects patches PL111a and PL111b, unifies common routines of aliases and messages and changes handling of obsolete elmrc options. Now some more commands, which work on mailbox menu, works also on aliases menu. - Unified common routines for aliases and messages to struct menu_common. - 'ifmain' macro removed. - Giving argument 'tagged' to Ctrl-D works now also on aliases menu. - Argument 'all' on Ctrl-T now works also on aliases menu. - And ('&') and or ('|') on l)imit command are now available also on aliases menu. - Condition 'tagged' on l)imit command is available now also on aliases menu. - Fix crash on parse failure on command "View digest as mailbox". - Fix for src/Makefile - Fix crash if 'U' is pressed on aliases menu: SIGNAL PANIC in signals.c:102:segv_signal - Changed bug reporting address to elm@elmme-mailer.org (that is directed to hurtta+elm@posti.FMI.FI) - "I think they should be Warnings only. Like say Elmrc variable "bounceback" is obsolete and should be removed. and come up anyway." Requested by: James Corey > Added type rc_DT_OBS > Now warning Elmrc variable "XXX" is obsolete and should be removed from line YYY in "ZZZ" file is printed, but that is not very visible, because it was requested that Elm should be started on interactive mode anyway. > If iso646-charsets or compatcharsets is used, print also warning Setting "XXXX" on line YYY in "XXX" file is suboptimal. Use file .... or .elm/mime.charsets instead. - Do not drop privileges if -X (transcript file) option is given. Re-added elmrc options as obsolete: bounce bounceback hpkeypad hpsoftkeys keypad mailbox (was originally synonym of receivedmail) softkeys textencoding New files: src/menu_common/def_mcommon.h src/menu_common/Makefile.SH src/menu_common/mcommon.c src/menu_common/alias.c src/menu_common/mailbox.c src/menu_common/alias_limit.c src/menu_common/message_limit.c src/menu_common/alias_pattern.c src/menu_common/message_pattern.c src/menu_common/alias_screen.c src/menu_common/message_screen.c src/menu_common/mailbox_item.c src/menu_common/alias_item.c Changes of Elm2.4ME+ PL111b (25) compared with Elm2.4ME+ PL111a (25) -------------------------------------------------------------------- [ This patch is branch from the main line. ] - Fix crash on parse failure on command "View digest as mailbox". Changes of Elm2.4ME+ PL111a (25) compared with Elm2.4ME+ PL111 (25) ------------------------------------------------------------------- [ This patch is branch from the main line. ] SUMMARY: This patch fixes crash caused by 'U' command on aliases menu. - Fix for src/Makefile - Fix crash if 'U' is pressed on aliases menu: SIGNAL PANIC in signals.c:102:segv_signal - Changed bug reporting address to elm@elmme-mailer.org (that is directed to hurtta+elm@posti.FMI.FI) Changes of Elm2.4ME+ PL111 (25) compared with Elm2.4ME+ PL110 (25) ------------------------------------------------------------------ Note: You must create directory src/aliases before applying this patch! WARNING: Quite many changes specially on aliases. So please report new bugs which you observe... SUMMARY: This release collects patch PL110a, changes pub report address and makes some other changes. NOTE: Seems that anonymous ftp (and ftp.ozone.fmi.fi) will be removed. Then ftp://ftp.ozone.fmi.fi/KEH/ is not available ( http://www.ozone.fmi.fi/KEH/ probably remain. ) Also ozone.fmi.fi will retire. - Fix incorrect test on copy_pgp() -- length test should be applied to original data -- not a output of pgp (or gpg). - Add similar handling of interrupted read to copy_pgp() than is on pgp_decode() - Handle raw mode of terminal and status pg pgp/gpg on copy_pgp() wame way than on pgp_decode() - Make O)verride charset also be effective, when viewing attachment via MIME structure Menu -menu. - Elm was not displaying To: -address on some situations when showto was set, but acted instead as recipient was sender (or as mail was directed to user.) Possibly reported by: Sivasankar Chander ( Perhaps showto should ignore case where sender is recipient? ) - Changed alias routines. ( Why hash database is used for aliases, when aliases are searched linearly? -- see src/aliases/find_alias.c (originally src/find_alias.c)) - Avoid message [ Charset US-ASCII converted... ] as special case when using displaycharset=UTF-8. ( Also setting charset-convert-ok=Yes disables this message. ) - Changed bug report address Kari Hurtta to Kari Hurtta New files: src/aliases/Makefile.SH src/aliases/def_aliases.h src/aliases/aliases.c src/aliases/alias_alloc.c src/aliases/astorage.c src/aliases/astorage_hash.c Renamed files: src/find_alias.c => src/aliases/find_alias.c Changes of Elm2.4ME+ PL110a (25) compared with Elm2.4ME+ PL110 (25) ------------------------------------------------------------------ [ This patch is branch from the main line. ] SUMMARY: This patch fixes case, where output of pgp/gpg was not shown sometimes (on non-MIME messages), case where O)verride charset was ignored when displaying attachment (via MIME structure Menu -menu), and case where To: address was not shown on message list when showto elmrc option was set. - Fix incorrect test on copy_pgp() -- length test should be applied to original data -- not a output of pgp (or gpg). - Add similar handling of interrupted read to copy_pgp() than is on pgp_decode() - Handle raw mode of terminal and status pg pgp/gpg on copy_pgp() wame way than on pgp_decode() - Make O)verride charset also be effective, when viewing attachment via MIME structure Menu -menu. - Elm was not displaying To: -address on some situations when showto was set, but acted instead as recipient was sender (or as mail was directed to user.) Possibly reported by: Sivasankar Chander ( Perhaps showto should ignore case where sender is recipient? ) Changes of Elm2.4ME+ PL110 (25) compared with Elm2.4ME+ PL109 (25) ------------------------------------------------------------------ Undo Elm2.4ME+ PL109S (25) patch before applying this patch. Undo Elm2.4ME+ PL109a (25) and Elm2.4ME+ PL109b (25) patches before applying this patch. SUMMARY: This release collects patches PL109a and PL109b. Security fixes introduced in PL109S are included. Bogus charset initialization error caused by missing global elm.mimecharsets file is fixed. Some enchancements to l)imit command are introduced. This release also fixes extra "[Keeping all messages.]" messages introduced on PL109a fix. File MIME.txt compares Elm ME+ to MIME conformace criteria. - This file states "But anyway, Elm will never be MIME Conformant." Added file MIME.txt which enumerates RFC 2049 requirements and look which reuirements are not followed and on what conditions. - Change some Raw(OFF) to Raw_OFF() on leaving routines of src/utils.c > Also clear "[Keeping all messages.]" messages after leaving folder so that these are not printed because of Raw_OFF(); - Try fix MBX PANIC in imap.c:2578:end_imap_command when IMAP / TLS connection is closed by server. - Initialization of internal-mailcaps and metamail-mailcaps did not worked correctly. Moved initialization before reading of global elm.rc. Problem noted by: Xavi Serrano - On def_prompt_handler() final newline should be printed to terminal as prompt is printed (instead of stderr.) - Fix segmentation violation on l)mit command "header subject" (ie. without ':'). This is now interpreted to be all mails which have given header name. - l)imit command "aabbc: yyy" work now as "header aabbc: yyy" - User alias file was not opened, if system alias file existed. Fix potential security problems on systems where Elm ME+ is setgid mail and system do not support Posix saved IDs. Check output of 'elm -vvv' if your system have problems: Have Posix saved IDs: Yes (egid 12) If this is 'No' and egid is other than your gid, there is possibility that Elm ME+ can read or write some files which are readable or writable by group mail, when it should not access them. Note that these fixes can not be complete. There is race condition at least. Closing that race condition requires that Elm ME+ drop privileges temporary. For that Elm ME+ uses Posix saved IDs. - SECURITY: Add can_open() test to load_locale_map() - SECURITY: Add can_open() test to copy1() - SECURITY: Add can_open() test to parse_iso2022_map() - SECURITY: Add can_open() test to do_newalias() - SECURITY: Add can_open() test to dbz_fresh() - SECURITY: Add can_open() test to dbz_again() - SECURITY: Add can_open() test to dbz_open() - SECURITY: Add can_open() test to latebase() - SECURITY: Add can_open() test to read_rc_file() - SECURITY: Add can_open() test to parse_service_entries() - SECURITY: Add can_open() test to load_terminal_map() - SECURITY: Add can_open() test to read_mailcaps() - SECURITY: Add can_open() test to add_to_alias_text() - SECURITY: Add can_open() test to delete_from_alias_text() - SECURITY: Add can_open() test to mime_guess_content_type() - SECURITY: Add can_open() test to edit_the_message() - SECURITY: Add can_open() test to read_editor() - SECURITY: Add can_open() test to append() - SECURITY: Add can_open() test to check_form_file() - SECURITY: Add can_open() test to format_form() - SECURITY: Add can_open() test to edit_headers_on_editor() - SECURITY: Add can_open() test to mail() - SECURITY: Add can_open() test to save_options() - Add can_open() test to load_folder_state_file() - Add can_open() test to read_unidata_text() - Add can_open() test to display_file() - Avoid error message like following Elm: Unable to map en_US locale (LC_CTYPE) to MIME charset. Codeset name ISO-8859-15 was unknown. Treating ISO-8859-15 as MIME name. Check /usr/local/test/lib/elm.mimecharsets or .../.elm/mime.charsets Problem with locale (system character set)! Elm ME+ will behave erratically. on case where elm.mimecharsets is not installed. Codeset match was not used if either file elm.mimecharsets or mime.charsets existed. New files: MIME.txt Changes of Elm2.4ME+ PL109b (25) compared with Elm2.4ME+ PL109a (25) ------------------------------------------------------------------- [ This patch is branch from the main line. ] SUMMARY: This patch fixes segmentation violation on l)imit command and problem where user alias was not opened, if system alias file existed. - Fix segmentation violation on l)mit command "header subject" (ie. without ':'). - User alias file was not opened, if system alias file existed. Fixed short circuit evalution. Changes of Elm2.4ME+ PL109a (25) compared with Elm2.4ME+ PL109 (25) ------------------------------------------------------------------- [ This patch is branch from the main line. ] Undo Elm2.4ME+ PL109S (25) patch before applying this patch. SUMMARY: This patch address panic when imap server disconnects during password prompt, fixes initialization of internal-mailcaps and metamail-mailcaps elmrc options and fixes some cases where error message was not visible because of exiting of Elm ME+. Also security fixes of Elm2.4ME+ PL109S (25) are included to this patch (it is agaist Elm2.4ME+ PL109 (25)) - Changed some Raw(OFF) to Raw_OFF() on leaving routines of src/utils.c - Try fix MBX PANIC in imap.c:2578:end_imap_command when IMAP / TLS connection is closed by server. - Initialization of internal-mailcaps and metamail-mailcaps did not worked correctly. Moved initialization before reading of global elm.rc. Problem noted by: Xavi Serrano - On def_prompt_handler() final newline should be printed to terminal as prompt is printed (instead of stderr.) Fix potential security problems on systems where Elm ME+ is setgid mail and system do not support Posix saved IDs. Check output of 'elm -vvv' if your system have problems: Have Posix saved IDs: Yes (egid 12) If this is 'No' and egid is other than your gid, there is possibility that Elm ME+ can read or write some files which are readable or writable by group mail, when it should not access them. Note that these fixes can not be complete. There is race condition at least. Closing that race condition requires that Elm ME+ drop privileges temporary. For that Elm ME+ uses Posix saved IDs. - SECURITY: Add can_open() test to load_locale_map() - SECURITY: Add can_open() test to copy1() - SECURITY: Add can_open() test to parse_iso2022_map() - SECURITY: Add can_open() test to do_newalias() - SECURITY: Add can_open() test to dbz_fresh() - SECURITY: Add can_open() test to dbz_again() - SECURITY: Add can_open() test to dbz_open() - SECURITY: Add can_open() test to latebase() - SECURITY: Add can_open() test to read_rc_file() - SECURITY: Add can_open() test to parse_service_entries() - SECURITY: Add can_open() test to load_terminal_map() - SECURITY: Add can_open() test to read_mailcaps() - SECURITY: Add can_open() test to add_to_alias_text() - SECURITY: Add can_open() test to delete_from_alias_text() - SECURITY: Add can_open() test to mime_guess_content_type() - SECURITY: Add can_open() test to edit_the_message() - SECURITY: Add can_open() test to read_editor() - SECURITY: Add can_open() test to append() - SECURITY: Add can_open() test to check_form_file() - SECURITY: Add can_open() test to format_form() - SECURITY: Add can_open() test to edit_headers_on_editor() - SECURITY: Add can_open() test to mail() - SECURITY: Add can_open() test to save_options() - Add can_open() test to load_folder_state_file() - Add can_open() test to read_unidata_text() - Add can_open() test to display_file() Changes of Elm2.4ME+ PL109S (25) compared with Elm2.4ME+ PL109 (25) ------------------------------------------------------------------ Fix potential security problem on systems where Elm ME+ is setgid mail and system do not support Posix saved IDs. Check output of 'elm -vvv' if your system have problems: Have Posix saved IDs: Yes (egid 12) If this is 'No' and egid is other than your gid, there is possibility that Elm ME+ can read or write some files which are readable or writable by group mail, when it should not access them. Note that these fixes can not be complete. There is race condition at least. Closing that race condition requires that Elm ME+ drop privileges temporary. For that Elm ME+ uses Posix saved IDs. - SECURITY: Add can_open() test to load_locale_map() - SECURITY: Add can_open() test to copy1() - SECURITY: Add can_open() test to parse_iso2022_map() - SECURITY: Add can_open() test to do_newalias() - SECURITY: Add can_open() test to dbz_fresh() - SECURITY: Add can_open() test to dbz_again() - SECURITY: Add can_open() test to dbz_open() - SECURITY: Add can_open() test to latebase() - SECURITY: Add can_open() test to read_rc_file() - SECURITY: Add can_open() test to parse_service_entries() - SECURITY: Add can_open() test to load_terminal_map() - SECURITY: Add can_open() test to read_mailcaps() - SECURITY: Add can_open() test to add_to_alias_text() - SECURITY: Add can_open() test to delete_from_alias_text() - SECURITY: Add can_open() test to mime_guess_content_type() - SECURITY: Add can_open() test to edit_the_message() - SECURITY: Add can_open() test to read_editor() - SECURITY: Add can_open() test to append() - SECURITY: Add can_open() test to check_form_file() - SECURITY: Add can_open() test to format_form() - SECURITY: Add can_open() test to edit_headers_on_editor() - SECURITY: Add can_open() test to mail() - SECURITY: Add can_open() test to save_options() - Add can_open() test to load_folder_state_file() - Add can_open() test to read_unidata_text() - Add can_open() test to display_file() Changes of Elm2.4ME+ PL109 (25) compared with Elm2.4ME+ PL108 (25) ------------------------------------------------------------------ Undo Elm2.4ME+ PL108a (25) patch before applying this patch. SUMMARY: This release collects Elm2.4ME+ PL108a (25) patch, adds elmrc variable "prompt-after-metamail", changes iconv:auto-charset elmrc option to also apply to defined but unknown charsets, makes some changes to elm tools, adds binary mmappable file for charset tables for types ascii and one-byte-map and adds O)verride charset command. On elm tools there is new command "elmbindata". - "I would like to suggest a small change in elm. I use lynx as a HTML browser. When I exit from the lynx, I get the message: Press any key to return to index. and the only possible action is returning to the list of mail messages. This message seems to be unnecessary." Requested by: Witold Witkowski - Renamed "promptafter" elmrc variable to "prompt-after-pager". Added elmrc variable "prompt-after-metamail" Elmrc variable "promptafter" effects now both "prompt-after-pager" and "prompt-after-metamail". - elmregister was not fixing protections on replay phase - 'sh Configure -cfile' was not working, only 'sh Configure -c file' read 'file'. - "I type in the same text string to search again, it goes to the next matched line, but the surrounding lines are from the original match hit (the screen is not being updated)." ( about / -command) Problem noted by: Bruce Momjian - "The pgp message "[End of raw data]" is confused as a file inclusion when it appears in a reply. The following patch changes the message to "[ End of raw data]", which doesn't get confused." From: Bruce Momjian [ Patch little modified. ] - "With older elm versions, using '/', it remembered the old search string, so I could do '/', to find the next occurance of a single string. The new code doesn't do that." Reported by: Bruce Momjian > Returned variables to static (and avoiding freeing them on end of function) - Moved most of informative messages of elmregister from stderr to stdout. - iconv:auto-charset is now applied to charsets on lib/precompiled_sets.c if that charset is marked as unknown (ie. definition of predefined unknown charset is ignored.) NOTE: By default iconv:auto-charset is OFF. So that change to be effective, use iconv:auto-charset = ON on elm.rc. This makes unknow charset to be type "iconv" if iconv() is able to handle it. WARNING: Some care should be taken so that system or display charset does not result to have type "iconv". Look shared_libs/iconv/READ.ME+ - Use post_init_check() even when -G (global) flag is given on tools of elm. - Text form map files for charset types ascii and one-byte-map from elm.map.txt directory (and elsewhere) are stored to binary file elm.map.bin/unidata.bin. File is then readed or mmapped (similar than elm.map.bin/bindata.bin). File is generated with new tool elmbindata. - Added O)verride charset command to override charset= parameter of current or tagged mails. New elmrc options: prompt-after-pager prompt-after-metamail bindata New tools: elmbindata New files: lib/bindata.c lib/mmaputil.c hdrs/mmaputil.h hdrs/bindata.h utils/elmbindata.c utils/charmapcopy.c utils/charmapcopy.h doc/elmbindata.1 Changes of Elm2.4ME+ PL108a (25) compared with Elm2.4ME+ PL108 (25) ------------------------------------------------------------------ [ This patch is branch from the main line. ] SUMMARY: This patch makes some fixes for elmregister, and elm's search command ('/'). - elmregister was not fixing protections on replay phase - 'sh Configure -cfile' was not working, only 'sh Configure -c file' read 'file'. - "I type in the same text string to search again, it goes to the next matched line, but the surrounding lines are from the original match hit (the screen is not being updated)." ( about / -command) Problem noted by: Bruce Momjian - "The pgp message "[End of raw data]" is confused as a file inclusion when it appears in a reply. The following patch changes the message to "[ End of raw data]", which doesn't get confused." From: Bruce Momjian [ Patch little modified. ] - "With older elm versions, using '/', it remembered the old search string, so I could do '/', to find the next occurance of a single string. The new code doesn't do that." Reported by: Bruce Momjian > Returned variables to static (and avoiding freeing them on end of function) - Moved most of informative messages of elmregister from stderr to stdout. Changes of Elm2.4ME+ PL108 (25) compared with Elm2.4ME+ PL107 (25) ------------------------------------------------------------------ Note: You must create directory src/screen before applying this patch! Undo Elm2.4ME+ PL107a (25) patch before applying this patch. SUMMARY: This release collects PL107a patch, adds invoke e)ditor command to header editing screen, enhances internal mailcap parser and fixes some bugs. New elmrc options internal-mailcap-trusted-programs and internal-mailcap-prompt-trusted are added. - Return correct page after returning from o)ptions screen when sorting order is changed. Problem noted by: Ike Stoddard - Possible fix for error STREAMSCHED PANIC in streamsched.c:1127:ss_noaction_routine when IMAP / TLS connection is closed by server. - Handle better "skipped " counter, when there is lot of skipped mails. - Cursor movement is changed little - Added invoke e)ditor command to header editing screen. Following headers are supported: From: To: CC: Bcc: Reply-To: Subject: - Added elmrc variable internal-mailcap-trusted-programs which lists programs for which Mailcap program selection -screen answers 'Yes' by default. In all questions are answered 'Yes' by default, Mailcap program selection -screen is only set if new elmrc variable internal-mailcap-prompt-trusted is set. If program is on internal mailcap is with full path, it should be listed on internal-mailcap-trusted-programs also with full path. Note however that programs given on test= clause on mailcap are executed always without prompting. - Internal mailcap parser now support wildcarding of subtype, for example image/*. However these wildcarded entries are treated with lower priority than normal entries. So they normally do not match if there is more specific entry. - Avoid division be zero when opening non existing (or empty?) mailbox. From: Darren Reed ( Division by zero seems not be visible on all systems. ) New elmrc options: internal-mailcap-trusted-programs internal-mailcap-prompt-trusted New files: src/screen/def_screen.h src/screen/Makefile.SH src/screen/screen.c src/screen/curs_input.c src/screen/termbuffer.c src/screen/termtitle.c src/screen/termcharset.c src/screen/cur_process.c Removed files: src/curses.c hdrs/elm_curses.h Changes of Elm2.4ME+ PL107a (25) compared with Elm2.4ME+ PL107 (25) ------------------------------------------------------------------ [ This patch is branch from the main line. ] SUMMARY: This patch corrects page when returning from o)ptions screen and fixes some other minor bugs. - Return correct page after returning from o)ptions screen when sorting order is changed. Problem noted by: Ike Stoddard - Possible fix for error STREAMSCHED PANIC in streamsched.c:1127:ss_noaction_routine when IMAP / TLS connection is closed by server. - Handle better "skipped " counter, when there is lot of skipped mails. Changes of Elm2.4ME+ PL107 (25) compared with Elm2.4ME+ PL106 (25) ------------------------------------------------------------------ Note: You must create directory charset/MAPPINGS/MICSFT before applying this patch! SUMMARY: This release fixes some charset definitions, add some maps to distribution and new keyword to l)imit command. - Marked TIS-620 to be ISO-8859-11 on lib/precompiled_sets.c - Added some ISO-2022 codes. - changed codeset=VISCII to charset=VISCII on lib/precompiled_sets.c - changed codeset=DEC-MCS to charset=DEC-MCS on lib/precompiled_sets.c - Marked that windows-1250, windows-1253, windows-1254, windows-1256 and windows-1258 are superset of US-ASCII on lib/precompiled_sets.c - Marked that windows-1255 is superset of US-ASCII on lib/precompiled_sets.c (it is not superset of ISO-8859-8). - Marked that windows-1257 is superset of US-ASCII on lib/precompiled_sets.c (it is not superset of ISO-8859-13). - Map 0x80 - 0x9f to unicode 0x0080 - 0x009F on ISO-8859-1 map (function map_init_latin) on lib/cs_binary.c. On that range there is no characters, but this way is mapping done on http://www.unicode.org/Public/MAPPINGS/ISO8859/8859-1.TXT - Added some files for ConfTool/mapfiles NOTE: Answer 'y' to following Configure question Should Configure ignore existing elm.mimecharsets? [s] otherwise generated elm.mimecharsets do not include fixes from ConfTool/mapfiles. - Added ISO-2022-LIKE paramater to terminal.info - Accept 0x30..0x3F as final byte of ISO 2022 identification (these are on private use) - Added new l)imit keyword: header {header_name}: {header_value} Note that this is SLOW! Currently this limit keyword do not do MIME decoding for headers. New files: charset/MAPPINGS/viscii.txt charset/MAPPINGS/dec-mcs.txt charset/MAPPINGS/ISO8859/8859-11.TXT charset/MAPPINGS/hp-roman8.txt charset/MAPPINGS/MICSFT/CP437.TXT charset/MAPPINGS/MICSFT/CP1250.TXT charset/MAPPINGS/MICSFT/CP1253.TXT charset/MAPPINGS/MICSFT/CP1254.TXT charset/MAPPINGS/MICSFT/CP1255.TXT charset/MAPPINGS/MICSFT/CP1256.TXT charset/MAPPINGS/MICSFT/CP1257.TXT charset/MAPPINGS/MICSFT/CP1258.TXT Changes of Elm2.4ME+ PL106 (25) compared with Elm2.4ME+ PL105 (25) ------------------------------------------------------------------ SUMMARY: This release fixes some compilation and installation problems on AIX, some bugs on folder leaving/syncing, current pointer handling when new mail was arriving, and saving error (introduced on PL105) of assembled message. Builtin pager now by default overrides $PAGER environment variable. - Fix compilation error on AIX: curses.c:556: error: parse error before '->' token curses.c: In function `ScreenSize': Problem noted by: Noam G. Nudelman ( It still do not work on AIX ?) - Fix installation error gmake[2]: *** No rule to make target `libreg', needed by `install_s'. Stop. on case where shared libraries are not used. Problem noted by: Noam G. Nudelman - On leaving of folder action message was cleared immediately. - Current pointer location was not preserved when new mail arrived. - On syncing mailbox elm did not asked should messages to be deleted, if several mailbox was open and on last was no messages marked for deletion. - Saving of assembled message failed, because content_length was miscalculated (PL105 copied also Received: -headers from part 1 and these was not calculated.) - If builtin++ is selected as default pager, Configure now provides option that builtin pager is used even when environment variable $PAGER is set. That is now also default. Changes of Elm2.4ME+ PL105 (25) compared with Elm2.4ME+ PL104 (25) ------------------------------------------------------------------ SUMMARY: This release fixes various bugs, refines message/partial handling (command 'A') and refines searching of message bodies (command '//'.) - Elm2.4ME+ PL104 was giving BROWSER PANIC in savefolder.c:3690:folder_from_dir_item >>>No selection if prompt Select folder: . was cleared (on 'elm -f .'). - Generate $ELMSTATE state information also for assembed messages on on message assembly mode (command 'A'). - Don't print [ Command 'A' assembles fragmented messages. ] when replying (only when viewing message fragment) so that this message is similar than [ Use 'v' to view or save this part. ] message. - Copy Received: -headers from part 1 (from initial enclosing message) to assembled message. NOTE: MIME (RFC 2046) requires that all headers except Content-*, Subject, MIME-Version, Message-ID and Encrypted are copied to assembled message. It also requires that headers except Content-*, Subject, MIME-Version, Message-ID and Encrypted are ignored and dropped from enclosed message. Dropping extra headers from enclosed message makes assembly more complicated (and dropping of Received: -headers from enclosed message do not make sense) so it is not now done. - Change on handle_reply_to() - When l)imiting list of shown messages, current pointer was not updated to point to first visible message on Elm2.4ME+ PL104. - On '//' command seach also top level mail headers. They are MIME decoded before searching. - Command 'v' on process_showmsg_cmd() was using wrong mailbox data. - Added '|' -command to message assembly mode (uses readmsg and therefore requires that folder state information $ELMSTATE is available.) That command naturally do not work if message assembly mode is started from view digest as mailbox -mode (on that mode there is no usefull folder state information.) Changes of Elm2.4ME+ PL104 (25) compared with Elm2.4ME+ PL103 (25) ------------------------------------------------------------------ - Fix segmentation violation when sending mail from command line: 8 get_storage_count(mailbox = (nil)) [src/messages/messages.c:266] 9 save_copy(headers = 0x7fff2c98, cf = 0x7fff1f18, form = 0, mime_info = 0x7fff1f20, conv_file = 0xfb56fe8, mailbox = (nil)) [src/savecopy.c":217] Changes of Elm2.4ME+ PL103 (25) compared with Elm2.4ME+ PL102 (25) ------------------------------------------------------------------ Undo Elm2.4ME+ PL102a (25) patch before applying this patch. Note: You must create directory src/messages before applying this patch! WARNING: Quite many changes. So please report new bugs which you observe... SUMMARY: This release collects patch 102a, makes possible to view digets as mailbox (command 'V'), makes possible to view fragmented (message/partial) messages without help of metamail (command 'A') and accepts several -f (folder) command line options (and therefore makes possible to view several folders as one folder.) Searching of body of messages (command '//') now decodes mime encoding. New elmrc option fragment-handling is added. - Raw() was not masking NO_CHARSET from value (but actually Raw is not called with NO_CHARSET flag) - Removed unused function newmbox() from src/newmbox.c - '!' (subshell) command added to attach viewer - Now it is possible to give '-f folder' option several times to Elm 2.4ME+. On that case combined view of given folders is shown. - Added sync_write_folder() - If several folders is given with -f options, then --mailbox-title=name can be used to give name for combined view. - New command 'V' (uppercase v) is added to Subject (main) menu. This is "view digest as mailbox" -command. This shows included messages of current mail (digest) or tagged mails. That command can also be used to access original message on bounced mail. See chapter "View digest as mailbox" for details. - New command 'A' (uppercase a) is added to Subject (main) menu and to digest menu. - New elmrc option fragment-handling. Tells how fragmented (message/partial) should be handled. If "none", call metamail (if available) for these. If "manual", let user to give command 'A' to enter message assembly mode. If "auto", go automatically to message assembly mode. See chapter "Message assembly mode" for details. - pagemultipart was not handled correctly if subtype of multipart was unknown. - If .elm/mail.services was giving port for service (for example POP), and there was several IP addresses for name, wrong port was attempt for other than first address. - "Elm leaves a /tmp/elmfwd.xxx file behind when you forward a message" Reported by: Konstantinos Konstantinides - Stream > That happened when mimeforward = YES. Changed mime_t_clear() to take attention to unlink flag. - If given '^' command (toggle delete flag), go to next command regadles is next command marked for deletion or not on resolve mode. In other works same way than u)undelete command works. ( Well, '^' command is not very usefull when ^ on keyboard is 'dead' (ie. prefix or modifier) key. ) - Added string_matches_ascii() - '//' -command (seach message bodies) now decodes MIME content transfer encoding before searching data. Also charset is taken to account. - '//' command now takes accoount only selected messages (ie. works same way than '/' -command). Warning: Changes on redrawing of screen. Complain if redrawing do not work as usual on some situation. Impementation of current message "pointer" is changed. Complain if it shows to "wrong" message. Handling of Subject (main) menu is changed. Now '//' command mostly ignores mail (and MIME) headers when looking match. Message assembly do not have much testing, because generally MIME's message fragmentation -mechanism (message/partial) is not used. New elmrc option: fragment-handling New files: src/messages/Makefile.SH src/messages/def_messages.h src/messages/messages.c src/messages/header_alloc.c src/messages/storage.c src/messages/digest.c src/digest.c src/def_elm.h melib/def_melib.h melib/mimewalk.c src/messages/partial.c melib/partial.c src/partial.c Changes of Elm2.4ME+ PL102a (25) compared with Elm2.4ME+ PL102 (25) ------------------------------------------------------------------ [ This patch is branch from the main line. ] SUMMARY: This patch fixes temp file leak when forwarding with mimeforward = YES and connection to wrong port when name have several IP addresses and file .elm/mail.services was used. - Raw() was not masking NO_CHARSET from value (but actually Raw is not called with NO_CHARSET flag) - pagemultipart option was not handled correctly if subtype of multipart was unknown. - If .elm/mail.services was giving port for service (for example POP), and there was several IP addresses for name, wrong port was attempt on connection for other than first address. - "Elm leaves a /tmp/elmfwd.xxx file behind when you forward a message" Reported by: Konstantinos Konstantinides - Stream > That happened when mimeforward = YES. Changed mime_t_clear() to take attention to unlink flag. Changes of Elm2.4ME+ PL102 (25) compared with Elm2.4ME+ PL101 (25) ------------------------------------------------------------------ Undo Elm2.4ME+ PL101a (25), Elm2.4ME+ PL101b (25) and Elm2.4ME+ PL101c (25) patches before applying this patch. SUMMARY: This release collects patches 101a - 101c, adds support for environment variables (on some cases) to internal mailcap parser, changes folder handling of nfrm, adds new tool elmlibregister and fixes some bugs. Now dynamic libraries (iconv, smtp, tls) are registered on (post-)install time to global elm.rc, if wanted. - Fix (harmless) error message bin/elmregister: [on_current] Bad command letter: s (occurs when upgrading version.) - Fix elmregister message Keeping link .../elmuninstall.1 from old version (was (null)) - Running of test= on internal mailcap parser was causing segmentation violation - Added to support for environment variables ($xxxx) inside of " on internal mailcap parser (only environment variables formed from letters are supported). Environment variables outside of quotes are not supported by internal mailcap parser. - Fix crash on header editing screen - "We're setting up Elm 2.4ME+ PL99b (25) for use as an IMAP client to our mailserver, and I ran into a problem when configuring the main elm.rc file. I wanted to be able to set the incoming-mailbox variable to be $USER@engmail, so that by default users would be prompted for a password, and mail would be retrieved from their engmail account. However, when I set "incoming-mailbox = $USER@engmail" and ran elm, I got: Cannot initialize "incoming-mailbox" - error expanding "$USER@engmail". I traced the problem to the expand_path() routine in the lib/expand.c file. The environment variable expansion was using '/' as its only delimiter, so that the $USER portion wasn't being split off from the remainder of the path, and the environment variable lookup failed. By adding '@' to the possible delimiters, the problem goes away." From: Paul D. McKone - Adding X-ELM-OSV, X-Mailer or Content-Name headers to .elm/elmheaders was causing crash (now they are ignored.) - Add fclose() to mailcap.c - Do not ignore reply-to header on .elm/elmheaders. Problem noted by: Rui Aguiar - Fix crash ISO2022 PANIC in cs_iso2022.c:836:state_add_raw >>>Value not in range 0-255 - Fix Segmentation fault when viewing attachments when attachment have a corrupted header Content-Type: type=application/msword - Print enconding on MIME structure Menu also when it fits only partially to column - Reprint error message after turning Raw off when locking of mailbox fails. - Changed error messages of "frm". - If "frm -s new" or "nfrm" is given for folder instead of mailbox, show 'new' messages. But also print error message: WARNING: %s is folder, not mailbox! Delivery of new mail to folder when it is open may corrupt it. Setting default-folder-status = New disables warning. - Fix for valgrind reported error Conditional jump or move depends on uninitialised value(s) at 0x80E9136: expand_dt_path (rc_handle.c:1130) (actually loop condition did not depend uninitialized value although one subexpresions value was uninitialized on that situation.) - Fix for valgrind reported error/warning 1310 bytes in 177 blocks are definitely lost in loss record 19 of 25 at 0x4015E30F: malloc (vg_clientfuncs.c:103) by 0x80F081B: safe_malloc (safemalloc.c:46) by 0x80AE3B8: dequote_opt (charset.c:787) by 0x80AE985: load_charset_map_info (charset.c:948) - Fix for valgrind reported error/warning 552 bytes in 68 blocks are definitely lost in loss record 16 of 24 at 0x4015E30F: malloc (vg_clientfuncs.c:103) by 0x80F081B: safe_malloc (safemalloc.c:46) by 0x80F4F29: set_dir_selection (savefolder.c:2141) by 0x80F23A5: real_select_local (savefolder.c:747) - Fix for valgrind reported error/warning 528 bytes in 66 blocks are definitely lost in loss record 16 of 24 at 0x4015E30F: malloc (vg_clientfuncs.c:103) by 0x80F081B: safe_malloc (safemalloc.c:46) by 0x8105638: malloc_string (string.c:116) by 0x8105873: new_string2 (string.c:180) by 0x80C506A: hdr_text (hdrdecode.c:412) - Fix for valgrind reported error/warning 280 bytes in 35 blocks are definitely lost in loss record 16 of 24 at 0x4015E30F: malloc (vg_clientfuncs.c:103) by 0x80F0827: safe_malloc (safemalloc.c:46) by 0x8105644: malloc_string (string.c:116) by 0x810587F: new_string2 (string.c:180) by 0x80C4D7B: hdr_comment (hdrdecode.c:272) - Fix for valgrind reported error/warning 96 bytes in 12 blocks are definitely lost in loss record 11 of 24 at 0x4015E30F: malloc (vg_clientfuncs.c:103) by 0x80F0833: safe_malloc (safemalloc.c:46) by 0x8105650: malloc_string (string.c:116) by 0x810588B: new_string2 (string.c:180) by 0x80C4F1F: hdr_phrase (hdrdecode.c:348) - Fix for valgrind reported error/warning 224 bytes in 11 blocks are definitely lost in loss record 16 of 24 at 0x4015E30F: malloc (vg_clientfuncs.c:103) by 0x80F0847: safe_malloc (safemalloc.c:46) by 0x81056D2: malloc_string (string.c:130) by 0x8106B98: dup_string (string.c:678) by 0x80DAD85: add_expanded_addr_ (outheaders.c:134) - Fix for valgrind reported error/warning 24 bytes in 1 blocks are definitely lost in loss record 1 of 24 at 0x4015E30F: malloc (vg_clientfuncs.c:103) by 0x80F083B: safe_malloc (safemalloc.c:46) by 0x80C6887: update_header_list (headers.c:575) by 0x809C8BB: state_read_headers (parse_util.c:137) by 0x809C7C8: file_read_headers (parse_util.c:104) by 0x8076770: copy_message_2 (fileio.c:1048) - Fix for valgrind reported error/warning 52 bytes in 5 blocks are definitely lost in loss record 6 of 25 at 0x4015E30F: malloc (vg_clientfuncs.c:103) by 0x80F087B: safe_malloc (safemalloc.c:46) by 0x8105706: malloc_string (string.c:130) by 0x81057CC: new_string (string.c:153) by 0x80DB167: make_surface_addr (outheaders.c:235) by 0x8059485: build_address_l (addr_util.c:452) - Fix for valgrind reported error/warning 32 bytes in 4 blocks are definitely lost in loss record 5 of 25 at 0x4015E30F: malloc (vg_clientfuncs.c:103) by 0x80F089F: safe_malloc (safemalloc.c:46) by 0x81056BC: malloc_string (string.c:116) by 0x810627F: cat_strings (string.c:434) by 0x80C510B: hdr_text (hdrdecode.c:419) by 0x80C51E6: hdr_to_string (hdrdecode.c:462) by 0x80C5CC3: hdr_decode_from_text (headers.c:36) by 0x80C71C4: give_decoded_header (headers.c:816) by 0x809CB02: state_write_header (parse_util.c:197) - Fix for valgrind reported error/warning 32 bytes in 4 blocks are definitely lost in loss record 5 of 26 at 0x4015E30F: malloc (vg_clientfuncs.c:103) by 0x80F08B3: safe_malloc (safemalloc.c:46) by 0x8104DD1: alloc_simple (streamsched.c:1047) - Fix for valgrind reported error/warning 16 bytes in 2 blocks are definitely lost in loss record 1 of 25 at 0x4015E30F: malloc (vg_clientfuncs.c:103) by 0x80F08B3: safe_malloc (safemalloc.c:46) by 0x81056F8: malloc_string (string.c:116) by 0x810582C: new_string (string.c:153) by 0x807B350: enter_helper (in_utils.c:432) by 0x807BECE: optionally_enter2 (in_utils.c:863) by 0x807C01E: optionally_enter (in_utils.c:898) - Fix for valgrind reported error/warning 16 bytes in 2 blocks are definitely lost in loss record 1 of 26 at 0x4015E30F: malloc (vg_clientfuncs.c:103) by 0x80F08CB: safe_malloc (safemalloc.c:46) by 0x80B33D7: cs_stream_from_ascii (cs_binary.c:1508) by 0x8107089: stream_from_string (string.c:799) by 0x807C049: optionally_enter (in_utils.c:909) - Fix for valgrind reported error/warning 140 bytes in 1 blocks are definitely lost in loss record 13 of 24 at 0x4015E30F: malloc (vg_clientfuncs.c:103) by 0x80F0996: safe_realloc (safemalloc.c:62) by 0x80E509D: mbx_prepare_read_pop (pop.c:1592) - Fix for valgrind reported error/warning 15 bytes in 1 blocks are definitely lost in loss record 1 of 26 at 0x4015E30F: malloc (vg_clientfuncs.c:103) by 0x80F09A2: safe_realloc (safemalloc.c:62) by 0x80A1357: make_mailcap_arg (mailcap.c:918) by 0x80A1EF8: mailcap_view_command (mailcap.c:1319) by 0x80973A6: prompt_programs_1 (showmsg.c:131) by 0x8097587: prompt_programs_1 (showmsg.c:188) by 0x80975F1: prompt_programs (showmsg.c:211) - Fix for valgrind reported error/warning 32 bytes in 2 blocks are definitely lost in loss record 5 of 25 at 0x4015E30F: malloc (vg_clientfuncs.c:103) by 0x80F0933: safe_malloc (safemalloc.c:46) by 0x80C6973: update_header_list (headers.c:575) by 0x80C6D3F: read_folder_headers (headers.c:700) by 0x80D5771: prepare_message_access (mbox.c:1351) - Fix for valgrind reported error/warning 8 bytes in 1 blocks are definitely lost in loss record 1 of 25 at 0x4015E30F: malloc (vg_clientfuncs.c:103) by 0x80F094F: safe_malloc (safemalloc.c:46) by 0x8105794: malloc_string (string.c:116) by 0x8106CC8: dup_string (string.c:678) by 0x812FEB5: sb_get_line_from_mem (sb_mem.c:69) by 0x8109A89: get_line_from_stringbuffer (stringbuffer.c:177) by 0x8067162: builtinplusplus (builtin++.c:176) - Fix for valgrind reported error/warning 55 bytes in 2 blocks are definitely lost in loss record 6 of 25 at 0x4015E30F: malloc (vg_clientfuncs.c:103) by 0x80F099F: safe_malloc (safemalloc.c:46) by 0x80FDE2A: malloc_service_entry (service_list.c:198) - Fix for valgrind reported error/warning 3 bytes in 1 blocks are definitely lost in loss record 1 of 25 at 0x4015E30F: malloc (vg_clientfuncs.c:103) by 0x80F099F: safe_malloc (safemalloc.c:46) by 0x81221FC: imap_got_header_line (imap.c:5794) by 0x8122863: mbx_copy_header_imap (imap.c:5991) - Fix for valgrind reported error/warning 4050 bytes in 67 blocks are definitely lost in loss record 21 of 24 at 0x4015E8A3: realloc (vg_clientfuncs.c:276) by 0x80F0A6E: safe_realloc (safemalloc.c:62) by 0x80E0025: elm_vmessage (output.c:1229) by 0x80E0881: elm_message (output.c:1460) by 0x8121F12: mbx_copy_envelope_imap (imap.c:5687) - Fix for valgrind reported error/warning 9 bytes in 1 blocks are definitely lost in loss record 2 of 30 at 0x4015E30F: malloc (vg_clientfuncs.c:103) by 0x80F0B37: safe_strdup (safemalloc.c:78) by 0x80FB31A: probe_imap_capa_lib (shared.c:1010) - Fix for valgrind reported error/warning 40 bytes in 1 blocks are definitely lost in loss record 6 of 29 at 0x4015E8A3: realloc (vg_clientfuncs.c:276) by 0x80F0A6E: safe_realloc (safemalloc.c:62) by 0x80E0209: elm_vmessage (output.c:1281) by 0x80E0881: elm_message (output.c:1460) by 0x4146ED0A: smtp_common_mailer_backend (smtp.c:1026) - Fix for valgrind reported error Invalid read of size 4 at 0x80C0994: debug_level_check (debug.c:256) by 0x80F0B22: safe_realloc (safemalloc.c:69) by 0x80C08B1: set_debugging (debug.c:214) - Added "install_libs" target for testing top level Makefile - Due on error on Makefile on doc/, elmrc-info (and possible other files) was not installed. - Added new tool elmlibregister, which check is libraries given on use-library on elm.rc (or on .elm/elmrc) loadable. Now Configure asks which libraries should be registered on on (post-)install time. elmlibregister command is used to add these libraries to use-library line on global elm.rc. - Quotes was handled incorrectly on internal mailcap parser. New tools: elmlibregister New files: utils/elmlibregister.c doc/elmlibregister.1 Changes of Elm2.4ME+ PL101c (25) compared with Elm2.4ME+ PL101b (25) -------------------------------------------------------------------- [ This patch is branch from the main line. ] SUMMARY: This patch fixes segmentation fault, when when viewing attachment with unxepected Content-Type, and fixes some memory leaks and other errors found by memory checker tools. Also other small changes are included to this patch. - Fix Segmentation fault when viewing attachments when attachment have a corrupted header Content-Type: type=application/msword - Print enconding on MIME structure Menu also when it fits only partially to column - Reprint error message after turning Raw off when locking of mailbox fails. - Fix for valgrind reported error Conditional jump or move depends on uninitialised value(s) at 0x80E9136: expand_dt_path (rc_handle.c:1130) (actually loop condition did not depend uninitialized value although one subexpresions value was uninitialized on that situation.) - Fix for valgrind reported error/warning 1310 bytes in 177 blocks are definitely lost in loss record 19 of 25 at 0x4015E30F: malloc (vg_clientfuncs.c:103) by 0x80F081B: safe_malloc (safemalloc.c:46) by 0x80AE3B8: dequote_opt (charset.c:787) by 0x80AE985: load_charset_map_info (charset.c:948) - Fix for valgrind reported error/warning 552 bytes in 68 blocks are definitely lost in loss record 16 of 24 at 0x4015E30F: malloc (vg_clientfuncs.c:103) by 0x80F081B: safe_malloc (safemalloc.c:46) by 0x80F4F29: set_dir_selection (savefolder.c:2141) by 0x80F23A5: real_select_local (savefolder.c:747) - Fix for valgrind reported error/warning 528 bytes in 66 blocks are definitely lost in loss record 16 of 24 at 0x4015E30F: malloc (vg_clientfuncs.c:103) by 0x80F081B: safe_malloc (safemalloc.c:46) by 0x8105638: malloc_string (string.c:116) by 0x8105873: new_string2 (string.c:180) by 0x80C506A: hdr_text (hdrdecode.c:412) - Fix for valgrind reported error/warning 280 bytes in 35 blocks are definitely lost in loss record 16 of 24 at 0x4015E30F: malloc (vg_clientfuncs.c:103) by 0x80F0827: safe_malloc (safemalloc.c:46) by 0x8105644: malloc_string (string.c:116) by 0x810587F: new_string2 (string.c:180) by 0x80C4D7B: hdr_comment (hdrdecode.c:272) - Fix for valgrind reported error/warning 96 bytes in 12 blocks are definitely lost in loss record 11 of 24 at 0x4015E30F: malloc (vg_clientfuncs.c:103) by 0x80F0833: safe_malloc (safemalloc.c:46) by 0x8105650: malloc_string (string.c:116) by 0x810588B: new_string2 (string.c:180) by 0x80C4F1F: hdr_phrase (hdrdecode.c:348) - Fix for valgrind reported error/warning 224 bytes in 11 blocks are definitely lost in loss record 16 of 24 at 0x4015E30F: malloc (vg_clientfuncs.c:103) by 0x80F0847: safe_malloc (safemalloc.c:46) by 0x81056D2: malloc_string (string.c:130) by 0x8106B98: dup_string (string.c:678) by 0x80DAD85: add_expanded_addr_ (outheaders.c:134) - Fix for valgrind reported error/warning 24 bytes in 1 blocks are definitely lost in loss record 1 of 24 at 0x4015E30F: malloc (vg_clientfuncs.c:103) by 0x80F083B: safe_malloc (safemalloc.c:46) by 0x80C6887: update_header_list (headers.c:575) by 0x809C8BB: state_read_headers (parse_util.c:137) by 0x809C7C8: file_read_headers (parse_util.c:104) by 0x8076770: copy_message_2 (fileio.c:1048) - Fix for valgrind reported error/warning 52 bytes in 5 blocks are definitely lost in loss record 6 of 25 at 0x4015E30F: malloc (vg_clientfuncs.c:103) by 0x80F087B: safe_malloc (safemalloc.c:46) by 0x8105706: malloc_string (string.c:130) by 0x81057CC: new_string (string.c:153) by 0x80DB167: make_surface_addr (outheaders.c:235) by 0x8059485: build_address_l (addr_util.c:452) - Fix for valgrind reported error/warning 32 bytes in 4 blocks are definitely lost in loss record 5 of 25 at 0x4015E30F: malloc (vg_clientfuncs.c:103) by 0x80F089F: safe_malloc (safemalloc.c:46) by 0x81056BC: malloc_string (string.c:116) by 0x810627F: cat_strings (string.c:434) by 0x80C510B: hdr_text (hdrdecode.c:419) by 0x80C51E6: hdr_to_string (hdrdecode.c:462) by 0x80C5CC3: hdr_decode_from_text (headers.c:36) by 0x80C71C4: give_decoded_header (headers.c:816) by 0x809CB02: state_write_header (parse_util.c:197) - Fix for valgrind reported error/warning 32 bytes in 4 blocks are definitely lost in loss record 5 of 26 at 0x4015E30F: malloc (vg_clientfuncs.c:103) by 0x80F08B3: safe_malloc (safemalloc.c:46) by 0x8104DD1: alloc_simple (streamsched.c:1047) - Fix for valgrind reported error/warning 16 bytes in 2 blocks are definitely lost in loss record 1 of 25 at 0x4015E30F: malloc (vg_clientfuncs.c:103) by 0x80F08B3: safe_malloc (safemalloc.c:46) by 0x81056F8: malloc_string (string.c:116) by 0x810582C: new_string (string.c:153) by 0x807B350: enter_helper (in_utils.c:432) by 0x807BECE: optionally_enter2 (in_utils.c:863) by 0x807C01E: optionally_enter (in_utils.c:898) - Fix for valgrind reported error/warning 16 bytes in 2 blocks are definitely lost in loss record 1 of 26 at 0x4015E30F: malloc (vg_clientfuncs.c:103) by 0x80F08CB: safe_malloc (safemalloc.c:46) by 0x80B33D7: cs_stream_from_ascii (cs_binary.c:1508) by 0x8107089: stream_from_string (string.c:799) by 0x807C049: optionally_enter (in_utils.c:909) - Fix for valgrind reported error/warning 140 bytes in 1 blocks are definitely lost in loss record 13 of 24 at 0x4015E30F: malloc (vg_clientfuncs.c:103) by 0x80F0996: safe_realloc (safemalloc.c:62) by 0x80E509D: mbx_prepare_read_pop (pop.c:1592) - Fix for valgrind reported error/warning 15 bytes in 1 blocks are definitely lost in loss record 1 of 26 at 0x4015E30F: malloc (vg_clientfuncs.c:103) by 0x80F09A2: safe_realloc (safemalloc.c:62) by 0x80A1357: make_mailcap_arg (mailcap.c:918) by 0x80A1EF8: mailcap_view_command (mailcap.c:1319) by 0x80973A6: prompt_programs_1 (showmsg.c:131) by 0x8097587: prompt_programs_1 (showmsg.c:188) by 0x80975F1: prompt_programs (showmsg.c:211) - Fix for valgrind reported error/warning 32 bytes in 2 blocks are definitely lost in loss record 5 of 25 at 0x4015E30F: malloc (vg_clientfuncs.c:103) by 0x80F0933: safe_malloc (safemalloc.c:46) by 0x80C6973: update_header_list (headers.c:575) by 0x80C6D3F: read_folder_headers (headers.c:700) by 0x80D5771: prepare_message_access (mbox.c:1351) - Fix for valgrind reported error/warning 8 bytes in 1 blocks are definitely lost in loss record 1 of 25 at 0x4015E30F: malloc (vg_clientfuncs.c:103) by 0x80F094F: safe_malloc (safemalloc.c:46) by 0x8105794: malloc_string (string.c:116) by 0x8106CC8: dup_string (string.c:678) by 0x812FEB5: sb_get_line_from_mem (sb_mem.c:69) by 0x8109A89: get_line_from_stringbuffer (stringbuffer.c:177) by 0x8067162: builtinplusplus (builtin++.c:176) - Fix for valgrind reported error/warning 55 bytes in 2 blocks are definitely lost in loss record 6 of 25 at 0x4015E30F: malloc (vg_clientfuncs.c:103) by 0x80F099F: safe_malloc (safemalloc.c:46) by 0x80FDE2A: malloc_service_entry (service_list.c:198) - Fix for valgrind reported error/warning 3 bytes in 1 blocks are definitely lost in loss record 1 of 25 at 0x4015E30F: malloc (vg_clientfuncs.c:103) by 0x80F099F: safe_malloc (safemalloc.c:46) by 0x81221FC: imap_got_header_line (imap.c:5794) by 0x8122863: mbx_copy_header_imap (imap.c:5991) - Fix for valgrind reported error/warning 4050 bytes in 67 blocks are definitely lost in loss record 21 of 24 at 0x4015E8A3: realloc (vg_clientfuncs.c:276) by 0x80F0A6E: safe_realloc (safemalloc.c:62) by 0x80E0025: elm_vmessage (output.c:1229) by 0x80E0881: elm_message (output.c:1460) by 0x8121F12: mbx_copy_envelope_imap (imap.c:5687) - Fix for valgrind reported error/warning 9 bytes in 1 blocks are definitely lost in loss record 2 of 30 at 0x4015E30F: malloc (vg_clientfuncs.c:103) by 0x80F0B37: safe_strdup (safemalloc.c:78) by 0x80FB31A: probe_imap_capa_lib (shared.c:1010) - Fix for valgrind reported error/warning 40 bytes in 1 blocks are definitely lost in loss record 6 of 29 at 0x4015E8A3: realloc (vg_clientfuncs.c:276) by 0x80F0A6E: safe_realloc (safemalloc.c:62) by 0x80E0209: elm_vmessage (output.c:1281) by 0x80E0881: elm_message (output.c:1460) by 0x4146ED0A: smtp_common_mailer_backend (smtp.c:1026) - Fix for valgrind reported error Invalid read of size 4 at 0x80C0994: debug_level_check (debug.c:256) by 0x80F0B22: safe_realloc (safemalloc.c:69) by 0x80C08B1: set_debugging (debug.c:214) Changes of Elm2.4ME+ PL101b (25) compared with Elm2.4ME+ PL101a (25) -------------------------------------------------------------------- [ This patch is branch from the main line. ] SUMMARY: This patch makes possible to set incoming-mailbox = $USER@imap-sever on elm.rc, fixes crash caused by certain headers on .elm/elmheaders and fixes another crash when displaying EUC mail. Reply-To header on .elm/elmheaders is no longer ignored. - "We're setting up Elm 2.4ME+ PL99b (25) for use as an IMAP client to our mailserver, and I ran into a problem when configuring the main elm.rc file. I wanted to be able to set the incoming-mailbox variable to be $USER@engmail, so that by default users would be prompted for a password, and mail would be retrieved from their engmail account. However, when I set "incoming-mailbox = $USER@engmail" and ran elm, I got: Cannot initialize "incoming-mailbox" - error expanding "$USER@engmail". I traced the problem to the expand_path() routine in the lib/expand.c file. The environment variable expansion was using '/' as its only delimiter, so that the $USER portion wasn't being split off from the remainder of the path, and the environment variable lookup failed. By adding '@' to the possible delimiters, the problem goes away." From: Paul D. McKone - Adding X-ELM-OSV, X-Mailer or Content-Name headers to .elm/elmheaders was causing crash (now they are ignored.) - Do not ignore reply-to header on .elm/elmheaders. Problem noted by: Rui Aguiar - Fix crash ISO2022 PANIC in cs_iso2022.c:836:state_add_raw >>>Value not in range 0-255 Changes of Elm2.4ME+ PL101a (25) compared with Elm2.4ME+ PL101 (25) ------------------------------------------------------------------- [ This patch is branch from the main line. ] SUMMARY: This patch fixes crash on internal mailcap parser and on header editing screen. - Fix (harmless) error message bin/elmregister: [on_current] Bad command letter: s (occurs when upgrading version.) - Fix elmregister message Keeping link .../elmuninstall.1 from old version (was (null)) - Running of test= on internal mailcap parser was causing segmentation violation - Fix crash on header editing screen Changes of Elm2.4ME+ PL101 (25) compared with Elm2.4ME+ PL100 (25) ------------------------------------------------------------------ Undo Elm2.4ME+ PL100a (25) patch before applying this patch. SUMMARY: This release collects patch 100a, adds support for changing title of xterm, changes installation method (installed files are tracked during installation and elmuninstall command is added) and enhances internal mailcap parser. - Configure did not generated mapping for iso_8859_1 locale (on SunOS). Problem noted by: Tommi Nieminen - Do not use tempnam() on lib/mailer.c so that linker do not produce warnings (actual checks for attacks are done safeopen_rdwr() -- this does not effect to that.) - Now elm supports changing title (and icon name) of xterm window. Method to changing title must be specified on ~/elm/terminal.info or on global elm.terminalinfo like following: xterm FLAG xterm-title iris-ansi FLAG xwsh-title NOTE: Code currently assumes that title (and icon) are US-ASCII only. It is unclear how charsets are handled with xterm title (and icon) name. - New elmrc option set-window-title (default: OFF) enables automatic changing of title (and icon) name when folder is changed. - Command line options --title-name and --icon-name can set xterm's window title and icon name. These options override automatic title/icon name updating specified with elmrc option set-window-title . - Command line option --with-title sets initial title for Elm. After changing folder title (and icon) name is updated same way as elmrc option set-window-title is sit. Giving just option --with-title without title it is possible to enable title updating without setting elmrc option set-window-title. - Added attachment-dir elmrc variable, which can be used as {doc}/ prefix on filename prompts. - {doc}/ is offered on attachment filename prompts as default if attachment-dir directory exists. > Meta expand provides: +filename == file on mail folder directory =filename == file on mail folder directory %filename == file on mail folder directory {rc}/filename == file on .elm subdirectory of home {lib}/filename == file on Elm's global library directory {etc}/filename == file on Elm's global configure directory {doc}/filename == file on attachment-dir directory And also same epansions than expand_env(): ~/filename == file on home directory Environment variable components - If attachment-dir is not set and ~/Documents exists, then attachment-dir is set to ~/Documents. - {doc}/ is also added to file browser's default directory - "When I choose "f)orget" instead of "s)end" I abandon writing/sending the current piece of email and get the message: Message kept. Can be restored at next f)orward, m)ail or r)eply. Well, when I choose "f" or "m" the saved text of the message doesn't pop up." Problem noted by: Andrzej Marecki > Don't unlink temporary editor's work file if mail is abandon. - Fix case where file was "attached" when filename was not given. - Installed files are now tracked during installation. List of files is keep on $etc/elm.filelist. That is done with program elmregister. - Added tool $lib/elmuninstall which can used to uninstall elm (without that source tree is available -- so that "make uninstall" can be used.) - Commands elmterminal, elmrc-write, elmunidata, elmcharset are now executed after installation. These commands are recorded to $etc/elm.filelist during installation. Source data for these commands are stored to stage directory (../var/stage-elm2.4me+) during installation. These recorded post-install commands are executed with "elmregister replay" ("make install" does that automatically.) - Configure now asks that should it create "package" target to Makefile. Command make package ROOT=/directory can be used to install elm to directory /directory WITHOUT executing post-install command. Post installation commands are assumed to be executed with $lib/elmregister replay (if /directory is moved to / ie. final destination) Command /directory/$lib/elmregister replay -R /directory can be used to move files from /directory to / and execute post-install commands. That command is recorded to file /directory/README.PACKAGE.sh (if you move files from /directory to / you may want remove README.PACKAGE.sh first!) > If 'package' target is enabled, Configure assumes that Elm 2.4ME+ is compiled for binary package distributes, and do not store domainname as default domain. * In that case 'elm -v' says: Compiled for binary distribution. Send bug reports to packager of binary distribution. ( otherwise 'elm -v' says: Send bug reports to Kari Hurtta WARNING: Elm is not intended to be distributed in binary form. ) - Command $lib/elmregister unstage may be used to uninstall temporary files from stage directory (../var/stage-elm2.4me+). After that command "elmregister replay" do not have effect. - "make install" does "elmregister unstage" after "elmregister replay" - Fix case where elmunidata fails install unidata.bin when it does not exists. - Added to support to " and ' characters on internal mailcap parser (so these shell meta characters are supported on mailcap entries). - Added support for nametemplate on internal mailcap parser. Only templates what specify filename extension are supported. New command line options: --title-name=XXXXX --icon-name=XXXX --with-title=XXX --with-title New elmrc options: set-window-title attachment-dir New files: utils/elmregister.c hdrs/defs_major.h doc/prlong.1 Makefile-1.SH utils/reghelper.c hdrs/reghelper.h doc/elmregister.1 Changes of Elm2.4ME+ PL100a (25) compared with Elm2.4ME+ PL100 (25) ------------------------------------------------------------------ [ This patch is branch from the main line. ] - Configure did not generated mapping for iso_8859_1 locale (on SunOS). Problem noted by: Tommi Nieminen - Do not use tempnam() on lib/mailer.c so that linker do not produce warnings (actual checks for attacks are done safeopen_rdwr() -- this does not effect to that.) - "When I choose "f)orget" instead of "s)end" I abandon writing/sending the current piece of email and get the message: Message kept. Can be restored at next f)orward, m)ail or r)eply. Well, when I choose "f" or "m" the saved text of the message doesn't pop up." Problem noted by: Andrzej Marecki > Don't unlink temporary editor's work file if mail is abandon. Changes of Elm2.4ME+ PL100 (25) compared with Elm2.4ME+ PL99 (25) ---------------------------------------------------------------- Undo Elm2.4ME+ PL99a (25), Elm2.4ME+ PL99b (25) Elm2.4ME+ PL99c (25), Elm2.4ME+ PL99d (25), Elm2.4ME+ PL99e (25) and Elm2.4ME+ PL99f (25) patches before applying this patch. WARNING: Changes on MIME handling. So please report new bugs which you observe... SUMMARY: This release collects patches 99a - 99f. This release also adds (some) support for EUC charsets and for mailcaps without using metamail. Mailcap support uses new elmrc option internal-mailcaps. This release also includes various other changes. - There should not be Return-Path header visible on Pre-Send screen on Beginner user level. - For charset types utf-7, utf-8 and imap allow only "other-set" iso2022 bank specification. - Fix Segmentation fault with elm -D ISO-2022-JP when printing subject. - Handling of multipart/signed and multipart/encrypted was broken Elm2.4ME+ PL98 (25) > Problem noted by: Bruce Momjian - 'Configure -c FILE' reads FILE instead of config.sh (config.sh is written) - From (or To) name was not correctly clipped when used double width characters (ie. elm -D ISO-2022-JP) - Subject was incorrectly truncated when it included double wide characters (and was not highlighted) - Turns out that kterm suuports ISO-8859-1 -- actually builtin fontlist works. Added "kterm ISO-2022 ISO-8859-1" line to doc/terminal.info > 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') > To get best result give fontlist -fl option to kterm (example kterm -fl '-*-fixed-medium-r-normal--16-*-iso8859-*,\ -*-*-medium-r-normal--16-*-c-*-iso8859-*,\ -*-*-bold-r-normal--16-*-c-*-*.*-0' But that one line, removing \ and spaces.) - ConfTool/GenTerminalinfo is now able to add new charsets to existing terminal entries on bin/elm.terminalinfo - sh Configure -S and sh Configure -M now updates bin/elm.terminalinfo (and not only bin/elm.mimecharsets) - Whitespaces on end of lines of bin/elm.terminalinfo was causing parsing problems. Fixed similar problem on several parsing routine. - Fix panic with ISO-2022-JP text with message STRING PANIC in cs_iso2022.c:1757:add_char_stream >>>Bad control character caused by mishandling of corrupted or unexpected input - Fixed some compilation warnings. - If metamail is called when using 'h' command (show headers), add KEYHEADS=* and KEYIGNHEADS= to environment (causing metamail to print all headers) - Allow Unicode Format A maps to be space seperated (although they should be tab sebarated) - Inital bank settings was done incorrectly - Added support for EUC charsets (lib/cs_iso2022.c). - Terminal is now initialized to used charset even when switching of display charset is not asked. - "I'm working on updating the Debian elm-me+ package; a number of patches have accumulated over the years, and the first step seems to be integrating them with the upstream release." From: Matej Vela > Only very small part from that patch/patches is included on here: * shared_libs/iconv/config: Some typos fixed. * shared_libs/iconv/iconv.c: GNU libc 2.2 no longer uses const for iconv(3) args. * melib/pgp_decode.c: Default to GnuPG rather than PGP 5 have_pgp() will return PGP 5 if PGP 5 and GnuPG is not installed (when GnuPG is used as default). When PGP 5 is used as default have_pgp() do not check GnuPG at all. * "Configure: Linux standards (FSSTND, FHS) consider /usr/lib/sendmail obsolete and recommend /usr/sbin/sendmail: the former still exists as a symlink, so it's important to check for the latter first. " Also Sendmail Installation and Operation Guide says that binary is installed to /usr/sbin. * Fixed some typos. * "Changed Makefiles to use $(MFLAGS) rather than $(MAKEFLAGS) for compatibility with older makes (e.g. 4.2BSD). Modern makes which support $(MAKEFLAGS) pass it through the environment anyway; passing it explicitly will double the variable assignments on each level." * "Debian keeps the configuration files in /etc, so I've added support for a separate $etc directory. It still defaults to $lib." > Meta expand provides: +filename == file on mail folder directory =filename == file on mail folder directory %filename == file on mail folder directory {rc}/filename == file on .elm subdirectory of home {lib}/filename == file on Elm's global library directory {etc}/filename == file on Elm's global configure directory And also same epansions than expand_env(): ~/filename == file on home direccory Environment variable components - Do not remove $sendmail (SENDMAIL_MAILER_PATH) on Configure, if $mailer is some other. - Do not allow using /etc (or /etc/mail) as configuration directory $etc. That may cause conflict with file $etc/aliases (with sendmail's file of same name.) - melib/pgp_decode.c: If reading of pgp/gpg result is interrupted, retry reading of it. - shared_libs/tls/config: Try locate libssl from system directory Problem noted by: Matej Vela - shared_libs/iconv: Try locate libiconv from system library - Testing sendmail options with -bv is not posisible on sendmail 8.12 (if sendmail is installed as setgid and mqueue is not accessible by user). Threfore do testing of options by sending mail to user instead! - Fixed some file descriptor leaks Problem noted by: Darren Reed > Close file descriptor on load_locale_map() after reading elm.mimecharsets (.elm/mime.charsets). > Close file descriptor on load_terminal_map() after reading elm.terminalinfo (.elm/terminal.info) > Close file descriptor on get_unidata() after reading elm.map.bin/unidata.bin - "I don't believe it is closing the temporary file in /tmp when it is no longer being used after sending an email." Problem noted by: Darren Reed > Add mailer close function which closes descriptor (out_state_destroy() do not close it) - mailer info was not correctly deleted/closed -- therefore submission mailer did not closed socket to smtp server - Configure: On Linux no additional libraries (for example -lintl) are not needed - "But I have a little problem with imap: When elm connects to an IMAP server it first reads the list of messages and then the list of headers (read_headers, copy_envelope_folder ...). This takes a very long time: It starts with the UID=1 and increases the UID until it finds the message." "With these UIDs the search for the first message runs a loop from 1 to 337934011 which takes long! (imap.c line 5462-5477, elm2.4ME+PL99c)" Problem noted by: Rainer Bawidamann > Added fix to imap code - Trying send pgp2 (signed or encrypted) message was causing crash. - If terminal was (mis?)using ti (enter_ca_mode) / te (exit_ca_mode) to change screen, error message from "elm -f bad-folder" was not visible. - Reduce sleep after "You seem to have ELM already reading this mail" because now message is visible also after elm is exited. - (function hdr_decode_from_phrase) Printing of headers (which include phrases) was adding extra space between tokens -- adding of spaces between tokens is not needed because separating spaces (and comments) are not removed during parsing. This is visible on headers like In-reply-to: "Kari E. Hurtta's" message of "10 Nov 2002 12:04:00 +0200" - Added one missing unlink() to error handling on mime_decode.c - Removed space from end of some lines from MANIFEST Problem noted by: Matej Vela - Fix panic on header editing screen on In-Reply-To: STRING PANIC in cs_binary.c:1043:cs_give_unicode_from_ascii >>>Index out of array - Header editing screen was not regognizing In-reply-to if it only includes phrase (without message-id). In-reply-to header should include only message-id, but if but if only phrase is entered accept it (with warning as usual.) - "Now I have another problem: The IMAP RFC says that for a read-only folder the answer to the SELECT command MUST contain the READ-ONLY flag while for a read-write folder the response SHOULD contain the READ-WRITE flag. So the default (if no flag is given) is read-write (elm has read-only as default)." Problem noted by: Rainer Bawidamann > Assume folder to be writable just before calling SELECT - Free parser data on failure of mime_parser_parse() - Wait after error before calling exit() on init so that error messages are visible - Removed in_state_FILE() - Added some support mailcap support (without metmail). That uses elmrc variable "internal-mailcaps". List may be space or ':' seperated. Separate values may be quoted. Set value to "none" to disable internal mailcap support. NOTE: RFC 1343 (A User Agent Configuration Mechanism for Multimedia Mail Format Information) is NOT followed. RFC 1343 says: Because of differences in shells and the implementation and behavior of the same shell from one system to another, it is specified that the command line be intended as input to the Bourne shell, i.e. that it is implicitly preceded by "/bin/sh -c " on the command line. This is NOT done. Using of that may case that sender of mail may execute command by using shells special characters. Avoiding of that requires carefull quotation of mailcap entries. And correct quotation requires carefull parsing of Bourne shell syntax. And we do not really know if /bin/sh following Bourne shell syntax or have on it some extensions. Only view command and test command is supported. And only if there is not any meta character of shell on there so it can executed directly. - For internal mailcap processing, output of entries marked are with "copiousoutput" are piped back to Elm ME+. This may cause problems if output includes termianl escape sequences. - Terminal is given for processing if entry is marked with "needsterminal". - Also "textualnewlines" should have processed. It is not. NOTE: You need metamail yet at least for handling of fragmented messages (ie. message/partial). (Metamail's showpartial command is required and showpartial calls metamail.) Following character sets are redefined on lib/precompiled_sets.c: EUC-KR type=euc EUC-JP type=euc GB2312 type=euc (ASCII + GB 2312-80, really EUC-CN) Note that charset type=euc requires that mapping for unicode is available. Otherwise it does not know which characters are printable. On builtin definition there is only mapping for US-ASCII part (and ISO-8859-1 upper part) defined. See chapter "ISO2022 maps information" for examples for other mappings. Removed empty files: (not in MANIFEST) hdrs/filter.h hdrs/s_filter.h lib/addrmchusr.c lib/iprintf.c lib/parsarpwho.c lib/tail_of.c nls/C/C/C/s_filter.m src/parse_util.c src/pmalloc.c src/remailer.c New files: OBSOLETE melib/mailcap.c melib/mime_selector.c New elmrc options: internal-mailcaps Changes of Elm2.4ME+ PL99f (25) compared with Elm2.4ME+ PL99e (25) ------------------------------------------------------------------ [ This patch is branch from the main line. ] - Fix panic on header editing screen on In-Reply-To: STRING PANIC in cs_binary.c:1043:cs_give_unicode_from_ascii >>>Index out of array - Header editing screen was not regognizing In-reply-to if it only includes phrase (without message-id). In-reply-to header should include only message-id, but if but if only phrase is entered accept it (with warning as usual.) - "Now I have another problem: The IMAP RFC says that for a read-only folder the answer to the SELECT command MUST contain the READ-ONLY flag while for a read-write folder the response SHOULD contain the READ-WRITE flag. So the default (if no flag is given) is read-write (elm has read-only as default)." Problem noted by: Rainer Bawidamann > Assume folder to be writable just before calling SELECT - Free parser data on failure of mime_parser_parse() Changes of Elm2.4ME+ PL99e (25) compared with Elm2.4ME+ PL99d (25) ------------------------------------------------------------------ [ This patch is branch from the main line. ] - Trying send pgp2 (signed or encrypted) message was causing crash. - If terminal was (mis?)using ti (enter_ca_mode) / te (exit_ca_mode) to change screen, error message from "elm -f bad-folder" was not visible. - (function hdr_decode_from_phrase) Printing of headers (which include phrases) was adding extra space between tokens -- adding of spaces between tokens is not needed because separating spaces (and comments) are not removed during parsing. This is visible on headers like In-reply-to: "Kari E. Hurtta's" message of "10 Nov 2002 12:04:00 +0200" - Added one missing unlink() to error handling on mime_decode.c - Removed space from end of some lines from MANIFEST Problem noted by: Matej Vela Changes of Elm2.4ME+ PL99d (25) compared with Elm2.4ME+ PL99c (25) ------------------------------------------------------------------ [ This patch is branch from the main line. ] - "I'm working on updating the Debian elm-me+ package; a number of patches have accumulated over the years, and the first step seems to be integrating them with the upstream release." From: Matej Vela > Only very small part from that patch/patches is included on here: * shared_libs/iconv/config: Some typos fixed. * shared_libs/iconv/iconv.c: GNU libc 2.2 no longer uses const for iconv(3) args. * melib/pgp_decode.c: Default to GnuPG rather than PGP 5 have_pgp() will return PGP 5 if PGP 5 and GnuPG is not installed (when GnuPG is used as default). When PGP 5 is used as default have_pgp() do not check GnuPG at all. - melib/pgp_decode.c: If reading of pgp/gpg result is interrupted, retry reading of it. - shared_libs/tls/config: Try locate libssl from system directory Problem noted by: Matej Vela - shared_libs/iconv: Try locate libiconv from system library - Testing sendmail options with -bv is not posisible on sendmail 8.12 (if sendmail is installed as setgid and mqueue is not accessible by user). Threfore do testing of options by sending mail to user instead! - Fixed some file descriptor leaks Problem noted by: Darren Reed > Close file descriptor on load_locale_map() after reading elm.mimecharsets (.elm/mime.charsets). > Close file descriptor on load_terminal_map() after reading elm.terminalinfo (.elm/terminal.info) > Close file descriptor on get_unidata() after reading elm.map.bin/unidata.bin - "I don't believe it is closing the temporary file in /tmp when it is no longer being used after sending an email." Problem noted by: Darren Reed > Add mailer close function which closes descriptor (out_state_destroy() do not close it) - mailer info was not correctly deleted/closed -- therefore submission mailer did not closed socket to smtp server - Configure: On Linux no additional libraries (for example -lintl) are not needed - "But I have a little problem with imap: When elm connects to an IMAP server it first reads the list of messages and then the list of headers (read_headers, copy_envelope_folder ...). This takes a very long time: It starts with the UID=1 and increases the UID until it finds the message." "With these UIDs the search for the first message runs a loop from 1 to 337934011 which takes long! (imap.c line 5462-5477, elm2.4ME+PL99c)" Problem noted by: Rainer Bawidamann > Added possible fix (not tested) to imap code Removed empty files: (not in MANIFEST) hdrs/filter.h hdrs/s_filter.h lib/addrmchusr.c lib/iprintf.c lib/parsarpwho.c lib/tail_of.c nls/C/C/C/s_filter.m src/parse_util.c src/pmalloc.c src/remailer.c New files: OBSOLETE Changes of Elm2.4ME+ PL99c (25) compared with Elm2.4ME+ PL99b (25) ---------------------------------------------------------------- [ This patch is branch from the main line. ] - Handling of multipart/signed and multipart/encrypted was broken Elm2.4ME+ PL98 (25) > Problem noted by: Bruce Momjian Changes of Elm2.4ME+ PL99b (25) compared with Elm2.4ME+ PL99a (25) ---------------------------------------------------------------- [ This patch is branch from the main line. ] - Fix panic with ISO-2022-JP text with message STRING PANIC in cs_iso2022.c:1757:add_char_stream >>>Bad control character caused by mishandling of corrupted or unexpected input - Fixed some compilation warnings. Changes of Elm2.4ME+ PL99a (25) compared with Elm2.4ME+ PL99 (25) ---------------------------------------------------------------- [ This patch is branch from the main line. ] - There should not be Return-Path header visible on Pre-Send screen on Beginner user level. - Fix Segmentation fault with elm -D ISO-2022-JP when printing subject. - From (or To) name was not correctly clipped when used double width characters (ie. elm -D ISO-2022-JP) - Subject was incorrectly truncated when it included double wide characters (and was not higlighted) - Turns out that kterm supports ISO-8859-1 -- actually builtin fontlist works. Added "kterm ISO-2022 ISO-8859-1" line to doc/terminal.info > 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') > To get best result give fontlist -fl option to kterm (example kterm -fl '-*-fixed-medium-r-normal--16-*-iso8859-*,\ -*-*-medium-r-normal--16-*-c-*-iso8859-*,\ -*-*-bold-r-normal--16-*-c-*-*.*-0' But that one line, removing \ and spaces.) - ConfTool/GenTerminalinfo is now able to add new charsets to exitings terminal entries on bin/elm.terminalinfo - sh Configure -S and sh Configure -M now updates bin/elm.terminalinfo (and not only bin/elm.mimecharsets) - Whitespaces on end of lines of bin/elm.terminalinfo was causing parsing problems. Fixed similar problem on several parsing routine. Changes of Elm2.4ME+ PL99 (25) compared with Elm2.4ME+ PL98 (25) ---------------------------------------------------------------- Undo Elm2.4ME+ PL98a (25), Elm2.4ME+ PL98b (25) Elm2.4ME+ PL98c (25) patches before applying this patch. WARNING: Changes on address and terminal MIME handling. So please report new bugs which you observe... SUMMARY: This release adds users to possibility to specify envelope sender address (aka Return-Path). There is suboption allow-set-sender=yes on global elm.rc's mailer option for that. Envelope sender address can be given on .elm/elmheaders file as Return-Path header. Another new elmrc option is convert-utf-header. This release also adds (some) support for ISO 2022 as MIME charsets. This includes multibyte and double wide ISO 2022 chracters. This release fixs also some bugs. - On elm.rc mailer variable option allow-set-sender=yes for mailer type 'sendmail' allows user to set envelope sender address (aka Return Path). This is passed to sendmail via -f command line option. - On elm.rc mailer variable option allow-set-sender=yes for mailer types 'sendmail-bs' and 'submission' allows user to change envelope sender address (aka Return-Path). These mailers use envelope sender address on MAIL FROM: smtp command. - pre-send menu have now title "Mail Pre-Send Screen". Also screen is cleared before showing menu. - To header is now visible on "Mail Pre-Send Screen" - Envelope sender (aka MAIL FROM) is visible on "Mail Pre-Send Screen" as Return-path. Return-path is shown is envelope sender is changeable. - If mailer (for example 'submission' and 'sendmail-bs') passes MAIL FROM always it is printed (as Return-path) on "Mail Pre-Send Screen" anyway. - Envelope sender is written as Return-path: -header to saved copy of mail (and also to "From " separator of mails). - Envelope sender address can be given on .elm/elmheaders as Return-path: -header. - If global elm.rc option add-sender is set (default), Elm adds Sender: -header if user changes envelope sender address (aka Return-Path). - For b)ounce command .elm/elmheaders is now read to get envelope sender address (aka Return-Path). Note however that content of .elm/elmheaders is NOT put to b)ounced mail. NOTE: Is is not possible currently to use elm aliases to Return-Path: query on Mail Pre-Send Screen (altough elm aliases work on To: query on same screen) - fastmail command now reads .elm/elmheaders and append these headers to mail. Also envelope sender address (aka Return-Path) is updated. - Configure -DDEBUG -S can now used to enable debugging (in other words reconfiguration is not needed) - Moved from_addr_literal() from src/addr_util.c to lib/outheaders.c - Moved make_from_addr() from src/addr_util.c to lib/outheaders.c - Moved write_addr_header() and write_text_header() from src/addr_util.c to lib/write_hdr.c - Moved print_EOLN() from src/mime_encode.c to lib/write_hdr.c - Moved write_id_phrase_header() and write_string_header() from src/id_phrace.c to lib/id_phrace.c - Moved dump_expanded_address() from src/addr_util.c to lib/outheaders.c - Moved argv_from_headers() from src/addr_util.c to lib/mailer.c - Moved eval_backquote() from src/mkhdrs.c to lib/outheaders.c - Moved read_header_line() and state_read_hdr_line() from melib/parse_util.c to lib/headers. - fastmail also recognices $BCC environment variable - fastmail now does mime encoding for some headers (but otherwise fastmail still does not support MIME) - "since a number of releases frm doesn't detect status new correctly for me (Linux 2.4.18, elm2.4.ME+.98)." Problem noted by: Jan Willamowius > Changed utils/from.c logic same than src/newbox.c NOTE: Fastmail is still broken. - Be consistent and use everywhere #ifndef ANSI_C around of extern int errno; - Added walk parameter to mime_parse_content_opts() - Our non-standard headers was ignored: * X-ELM-OSV: hdr-charset=xxxx was ignored * Content-Length: xxxx was ignored - fastmail did not read standard input when - was specified as filename. - Elm ME+ failed to read IMAP mail when Return-Path included (unquoted) space on address. Problem noted by: graham@cplane.com - copy_message_2() lost header name when folding happeded immediately after header name (that specially was visible on copy of sent message when phrase was long.) - optionally_enter() was using wrong charset on some situation (ie. 'keyboard charset' instead of display charset) - Do not split UTF-8 to mime encoded words on middle of multi-byte UTF-8 character - Textual form ('surfcase form') of entered address is now "struct string" instead of "char *" -- that implies quite much changed on header editing screen and elsewhere. NOTE: Now if addressess are edited, phrases and comments on addresses to text-charset (if mapping of text-charset is known) If there is non-ascii parts on addresses (which is illegal) they may be presendted with UTF-8 charset. - open_mapname(), set_charmap_copy_callback() moved from lib/cs_binary.c to lib/iso2022_map.c - parser for Unicode Format A maps is moved to lib/iso2022_map.c - Added support for ISO-2022 charsets (lib/cs_iso2022.c). - Added support for new config files {lib}/elm.iso2022sets and ~/.elm/iso2022.sets. See chapter "ISO2022 maps information" for details. - New elmrc option convert-utf-header specifies if set (default) that UTF-7 charset should be favored instead of UTF-8 on headers. That avoid ridiculous per character expansion of encoding when UTF-8 is used on MIME encoded words. - Do not =xx encode + character on MIME encoded words. - Clear screen before calling external pager - Fix bogus message (which occured on some cases) [ Charset US-ASCII unsupported, converting... ] - Configure can now add new terminal definitions to exiting elm.terminalinfo from doc/terminal.info - Delay stat()ing directory entries on file browser to situation where flags are needed. - Directory browser was using / on end of directory names and therefore did not found names from listing - effectely local-fast-lookup = OFF was not working. Following character sets are redefined on lib/precompiled_sets.c: ISO-2022-KR type=iso2022 ISO-2022-JP type=iso2022 ISO646-JP type=iso646 ISO-2022-JP-2 type=iso2022 ISO-2022-CN type=iso2022 (1) ISO-2022-CN-EXT type=iso2022 (1) (2) (1) NOTE: Does not use single shifts! (2) NOTE: ISO-2022-CN-EXT includes several sets which final designation byte is unknown GB 12345, GB 7589, GB 13131, GB 7590, GB 13132 Note that charset type=iso2022 requires that mapping for unicode is available. Otherwise it does not know which characters are printable. On builtin definition there is only mapping for US-ASCII part and ISO-8859-1 upper part (on ISO-2022-JP-2) defined. See chapter "ISO2022 maps information" for examples for other mappings. WARNING: There is no support for input of these scripts. Seems that locales use EUC charsets. These are not supported. New elmrc options: convert-utf-header New tools: elmstringconvert New files: lib/write_hdr.c lib/cs_iso2022.c lib/iso2022_map.c hdrs/cs_terminal.h lib/stringtok.c utils/elmstringconvert.c doc/elmstringconvert.1 ConfTool/GenTerminalinfo Removed files: src/id_phrase.c Changes of Elm2.4ME+ PL98c (25) compared with Elm2.4ME+ PL98b (25) ------------------------------------------------------------------ [ This patch is branch from the main line. ] - copy_message_2() lost header name when folding happeded immediately after header name (that specially was visible on copy of sent message when phrase was long.) - Elm ME+ failed to read IMAP mail when Return-Path included (unquoted) space on address. Problem noted by: graham@cplane.com - fastmail did not read standard input when - was specified as filename. - optionally_enter() was using wrong charset on some siutation (ie. 'keyboard charset' instead of display charset) -- this specially effects -Dutf-8 option. - Do not split UTF-8 to mime encoded words on middle of multi-byte UTF-8 character Changes of Elm2.4ME+ PL98b (25) compared with Elm2.4ME+ PL98a (25) ------------------------------------------------------------------ [ This patch is branch from the main line. ] - Our non-standard headers was ignored: * X-ELM-OSV: hdr-charset=xxxx was ignored * Content-Length: xxxx was ignored Changes of Elm2.4ME+ PL98a (25) compared with Elm2.4ME+ PL98 (25) ---------------------------------------------------------------- [ This patch is branch from the main line. ] - "since a number of releases frm doesn't detect status new correctly for me (Linux 2.4.18, elm2.4.ME+.98)." Problem noted by: Jan Willamowius > Changed utils/from.c logic same than on src/newbox.c Changes of Elm2.4ME+ PL98 (25) compared with Elm2.4ME+ PL97 (25) ---------------------------------------------------------------- Undo Elm2.4ME+ PL97a (25), Elm2.4ME+ PL97b (25) Elm2.4ME+ PL97c (25) and Elm2.4ME+ PL97d (25) patches before applying this patch. WARNING: Quite lot of changes on MIME handling. So please report new bugs which you observe... * "What would be practical is that elmrc would set the usual address, but the user could override it by setting a user defined header when ie. posting to a mailing list." Requested by: Jernej Zajc - now .elm/mailheaders is read before mail is composed! .mailheaders now supports only X- headers and From: -header. X- header is shown on header editing screen as user defined header (and if you change it, it replaces headers given on .elm/mailheaders.) - If user gives From: -header on .mailheaders (or on header editing screen), Elm does not add it's own From: -header - 8-bit X- headers on .elm/mailheaders is now mime encoded. - Mime encoding on .elm/mailheaders is also regognized - If nohdrencoding is set on elmrc, MIME encoding is not done and not regognized on .elm/mailheaders. Also X-ELM-OSV: no-hdr-encoding=1 is added to mail. - Added global elm.rc option add-sender. If set (default), Elm adds Sender: -header if user specifies From: -header. If there is more than one address on From: -header, Sender: -header is always added. - With 'f' command it is possible to change or set From: header on header editing screen. However header editing screen shows From -header only when it is set. - Moved some routines from src/id_phrase.c to lib/id_phrase.c - Moved some routines from src/addr_util.c to lib/outheaders.c - binary flag was incorrectly set true (result on change on Elm2.4ME+ PL97 (25)). That caused that EOLN mail headers was always encoded with CRLF (and not LF) when mail was saved (or C)opied.) - Truncate long folder names on Reading ... message so that there is space left for "skipped" text. ( Small potential fix for "Reading in ..., message: xxx" counter. ) - Configure now ask option for position independent code. Decision is half automatic. - Added elmrc variable type rc_DT_PATH. - Added elmrc variable metamail-mailcaps. List of mailcaps for metamail. List may be space or ':' seperated. Separate values may be quoted. When metamail is called values are put to variable $MAILCAPS (as ':' -separated list). metamail-mailcaps may include variables (for example $MAILCAPS). Value of variables is splitted only from ':' (quotes and spaces are not treated specially.) - binary flag was incorrectly set true (result on change on Elm2.4ME+ PL97 (25)). That caused that EOLN mail headers was always encoded with CRLF (ant not LF) when mail was saved (or C)opied.) - Truncate long folder names on Reading ... message so that there is space left for "skipped" text. - "I cannot get PL97 to compile on OpenBSD. " "service_list.o: Undefined symbol `_get_option_type' referenced from text segment" Reported by: Jernej Zajc - "the new release of elm2.4.ME+.97 has a compilation problem on AIX 4.3.3" "ld: 0711-317 ERROR: Undefined symbol: .get_option_type" Reported by: Noam G. Nudelman > Make sure that get_option_type is inside of #ifdef USE_DLOPEN - Wrong answer to question "Any additional libraries" causes failure on "Trying locate terminfo routines" part. Problem noted by: "Noam G. Nudelman" > Detect failure with libraries earlier. - Wrong default was used for question "Both and found. Which one I should include for prototypes of tgetent() like functions when using $termlib." on IRIX 64. "To determine 'uname_os' you use 'uname -s' and on my host, the value returned is 'IRIX64' and not 'IRIX'. Accordingly, I get the default, [t] !!!!" Problem noted by: "Noam G. Nudelman" > Use IRIX* instead of IRIX on case switch - In IRIX Configure pics non-existing or unworking additional libraries. Problem noted by: "Noam G. Nudelman" > Use compilation on test -- hopefully this does not break on some OSes because interdepency of libs. - RPATH was not set for answer, elmalias, fastmail, frm, newalias, newmail, readmsg, prlong, elmcharset, elmrc-write, elmterminal, elmunidata. (Normally that that did not caused problem because to soname was compiled full path of shared library.) Problem noted by: "Noam G. Nudelman" - "As indicated in my mail from the 11th of February, when both and are included for "prototypes of tgetent() like functions when using -ltermlib", I receive an error. When selecting option 'c' (Include only ), it compiles without error." Reported by: "Noam G. Nudelman" > Changed default from b)oth to c)urses.h only for IRIX. - Allow "none" as value of roff - Possible shared library generation fix for OpenBSD. This is not tested, so quite probably it does not work. Problem noted by: Jernej Zajc - If there libintl.so (from GNU gettext) installed to /usr/local/lib on IRIX 6.5, Elm tries link agaist that. That causes problems. Problem noted by: "Noam G. Nudelman" > Set libswanted list to empty for IRIX 6.x (Configure later adds -lc_s to list but hopefully that does not matter.) - "Oh, yeah, the install program ask about if a call to the 'GNU' ispell spelling checker should be added, but the ispell program is not GNU, even though they do make it available for FTP as well as other sites." Problem noted by: Brian Waters - "Ah.. ok.. great, would it make any sense to make the p)rint be the same as P)rint for now as a build option. The users here are used to just hitting 'p', and almost always do not mean to print the mime as text. " Requested by: Brian Waters > Disable p)rint command (try P)rint text instead.) p)rint command does something like "readmsg | {print-command}". readmsg is quite broken. - readmsg didn't handle folders with CRLF as EOLN (Notice that readmsg is still several ways broken.) Problem noted by: Konstantinides, Konstantinos - Added lib/mediatype.c - Support for message/X-delivery-status-* type dropped (use message/delivery-status instead.) - Added melib/mparser.c, melib/mpar_rfc822.c, melib/mpar_multipart.c, melib/mpar_leaf.c, hdrs/mpar_imp.h - "Parsing MIME structure..." is now printed for all mail -- not only for multipart (and message/rfc822) mails. - Attachment Menu now show structure of mail when viewing mail -- It's title is now: MIME structure Menu - When sending mail do not use 7bit/8bit to determine is type text orienteed - Added warning "7bit/8bit is allowed only for line orienteed types -- check encoding" to attachment modifying New elmrc options: add-sender metamail-mailcaps New files: lib/outheaders.c lib/id_phrase.c lib/mediatype.c melib/mparser.c melib/mpar_rfc822.c melib/mpar_multipart.c melib/mpar_leaf.c hdrs/mpar_imp.h Changes of Elm2.4ME+ PL97d (25) compared with Elm2.4ME+ PL97c (25) ------------------------------------------------------------------ [ This patch is branch from the main line. ] - If there libintl.so (from GNU gettext) installed to /usr/local/lib on IRIX 6.5, Elm tries link agaist that. That causes problems. Problem noted by: "Noam G. Nudelman" > Set libswanted list to empty for IRIX 6.x (Configure later adds -lc_s to list but hopefully that does not matter.) - "Oh, yeah, the install program ask about if a call to the 'GNU' ispell spelling checker should be added, but the ispell program is not GNU, even though they do make it available for FTP as well as other sites." Problem noted by: Brian Waters - "Ah.. ok.. great, would it make any sense to make the p)rint be the same as P)rint for now as a build option. The users here are used to just hitting 'p', and almost always do not mean to print the mime as text. " Requested by: Brian Waters > Disable p)rint command (try P)rint text instead.) p)rint command does something like "readmsg | {print-command}". readmsg is quite broken. - readmsg didn't handle folders with CRLF as EOLN (Notice that readmsg is still several ways broken.) Problem noted by: Konstantinides, Konstantinos Changes of Elm2.4ME+ PL97c (25) compared with Elm2.4ME+ PL97b (25) ---------------------------------------------------------------- [ This patch is branch from the main line. ] - Wrong answer to question "Any additional libraries" causes failure on "Trying locate terminfo routines" part. Problem noted by: "Noam G. Nudelman" > Detect failure with libraries earlier. - Wrong default was used for question "Both and found. Which one I should include for prototypes of tgetent() like functions when using $termlib." on IRIX 64. "To determine 'uname_os' you use 'uname -s' and on my host, the value returned is 'IRIX64' and not 'IRIX'. Accordingly, I get the default, [t] !!!!" Problem noted by: "Noam G. Nudelman" > Use IRIX* instead of IRIX on case switch - In IRIX Configure pics non-existing or unworking additional libraries. Problem noted by: "Noam G. Nudelman" > Use compilation on test -- hopefully this does not break on some OSes because interdepency of libs. - RPATH was not set for answer, elmalias, fastmail, frm, newalias, newmail, readmsg, prlong, elmcharset, elmrc-write, elmterminal, elmunidata. (Normally that that did not caused problem because to soname was compiled full path of shared library.) Problem noted by: "Noam G. Nudelman" - "As indicated in my mail from the 11th of February, when both and are included for "prototypes of tgetent() like functions when using -ltermlib", I receive an error. When selecting option 'c' (Include only ), it compiles without error." Reported by: "Noam G. Nudelman" > Changed default from b)oth to c)urses.h only for IRIX. - Allow "none" as value of roff - Possible shared library generation fix for OpenBSD. This is not tested, so quite probably it does not work. Problem noted by: Jernej Zajc Changes of Elm2.4ME+ PL97b (25) compared with Elm2.4ME+ PL97a (25) ---------------------------------------------------------------- [ This patch is branch from the main line. ] - binary flag was incorrectly set true (result on change on Elm2.4ME+ PL97 (25)). That caused that EOLN mail headers was always encoded with CRLF (ant not LF) when mail was saved (or C)opied.) - Truncate long folder names on Reading ... message so that there is space left for "skipped" text. Changes of Elm2.4ME+ PL97a (25) compared with Elm2.4ME+ PL97 (25) ---------------------------------------------------------------- [ This patch is branch from the main line. ] - Fix state_printf panic "Embedded newlines are not supported" on case when there is on ~/.elm/elmheaders `backticked` command which produces output which does not fit to 80 characters. - "I cannot get PL97 to compile on OpenBSD. " "service_list.o: Undefined symbol `_get_option_type' referenced from text segment" Reported by: Jernej Zajc - "the new release of elm2.4.ME+.97 has a compilation problem on AIX 4.3.3" "ld: 0711-317 ERROR: Undefined symbol: .get_option_type" Reported by: Noam G. Nudelman > Make sure that get_option_type is inside of #ifdef USE_DLOPEN - Error on X-ELM-OSV: header output. Changes of Elm2.4ME+ PL97 (25) compared with Elm2.4ME+ PL96 (25) ---------------------------------------------------------------- Undo Elm2.4ME+ PL96a (25) and Elm2.4ME+ PL96b (25) patches before applying this patch. - If several entries on .elm/mail.services or on elm.mailservices matches for connection request, merge them (before use). If conflicting connection types are specified, then only later entry on file is used. For example on cyrus IMAP port=143 cyrus POP only POP entry is used (ie. connection to server "cyrus" is done with POP). - Split show_status() to two routine: show_message_status() and show_alias_status(); - Added prepare_message_access() routine - Added elmrc option imap-max-download-size (default 4 KB). IMAP messages bigger than this are not downloaded when mailbox is read. Value -1 for imap-max-download-size causes that all messages are downloaded. - Added elmrc option pop-max-download-size (default 4 KB). POP messages bigger than this are not downloaded when mailbox is read. This requires that POP server supports TOP command. Value -1 for pop-max-download-size causes that all messages are downloaded. - ! character as second letter on message status indicates that message is not downloaded. - Note that for readmsg only tagged messages and current message is downloaded before starting program. - Test whatever make sets $(MAKE) - If elm's shared library directory is on /etc/ld.so.conf file ldconfig prints warnings like "ldconfig: warning: can't link /usr/local/elmtest/lib//usr/local/elmtest/lib/libelmme-iconv.so.1.0.96x.Test to libelmme-iconv.so.1.0.96x.Test (No such file or directory)" > Now Configure prints following kind warning on that situation: "WARNING: Directory /usr/local/elmtest/lib is listed on file /etc/ld.so.conf Linux ldconfig gives errors when soname include pathnames. Select c) Change elm2.4me+ shared library location o) Omit pathname from soname i) ignore ldconfig warnings and include path on soname Your selection? [i]" - Install (link) manual page for nfrm - Set default attachment type to application/octet-stream instead of text/plain, if file looks like binary. Requested by: Volker Englisch > Move adding of charset to same function (attach_info). - m)odify command on attachment menu allowed to set content-transfer-encoding to bad values. - Metamail can not cope with CRLF Problem noted by: Konstantinos Konstantinides - When using b)ounce command, mailer = submission did not issued EHLO/HELO command to server. - Do not use state_printf to print prefix on src/fileio.c (instead use state_puts). - C)opy command failed copy Subject: header which included 8-bit characters when display charset was UTF-8 > Also use state_nlputs (and not state_printf) to print end of header so that conversions via display charset does not occur... - Some places use state_nlputs so that potential LF -> CRLF conversions occur - Fix typo on "elm -vv" output when SYSCALL_LOCKING is not defined: "in" => "is" - Added elmrc variable default-mime-text-charset, which specifies default charset for text/plain if charset parameter is not specified. Default is "US-ASCII". Prompted by: Tommi Nieminen - "I wonder is there a command like in mutt that would make current next unread message? "n" only changes to next message, regardless whether it has been read or not. If I have missed it and is indeed not available, would you consider adding such a feature? It would really have been awfully nice." Prompted by: Jernej Zajc > Added Ctrl-N as next unread message - CHARTYPE_Sk was incorrect on hdrs/unidata.h (should be 0x4003, was 0x3003). Regeneration of {lib}/elm.map.bin/unidata.bin is required. This caused (for example) that ^ was not treated as valid character. - If Configure does not figure how to resolve mail program (ie. main) symbols from dynamic library, do not compile libelmme-smtp.so New elmrc options: imap-max-download-size pop-max-download-size default-mime-text-charset Changes of Elm2.4ME+ PL96b (25) compared with Elm2.4ME+ PL96a (25) ------------------------------------------------------------------ [ This patch is branch from the main line. ] - Test whatever make sets $(MAKE) - If elm's shared library directory is on /etc/ld.so.conf file ldconfig prints warnings like "ldconfig: warning: can't link /usr/local/elmtest/lib//usr/local/elmtest/lib/libelmme-iconv.so.1.0.96x.Test to libelmme-iconv.so.1.0.96x.Test (No such file or directory)" > Now Configure print following kind warning on that situation: "WARNING: Directory /usr/local/elmtest/lib is listed on file /etc/ld.so.conf Linux ldconfig gives errors when soname include pathnames. Select c) Change elm2.4me+ shared library location o) Omit pathname from soname i) ignore ldconfig warnings and include path on soname Your selection? [i]" - Install (link) manual page for nfrm - Set default attachment type to application/octet-stream instead of text/plain, if file looks like binary. Requested by: Volker Englisch > Move adding of charset to same function (attach_info). - m)odify command on attachment menu allowed to set content-transfer-encoding to bad values. Changes of Elm2.4ME+ PL96a (25) compared with Elm2.4ME+ PL96 (25) ----------------------------------------------------------------- [ This patch is branch from the main line. ] - Metamail can not cope with CRLF Problem noted by: Konstantinos Konstantinides - When using b)ounce command, mailer = submission did not issued EHLO/HELO command to server. - Do not use state_printf to print prefix on src/fileio.c (instead use state_puts). - C)opy command failed copy Subject: header which included 8-bit characters when display charset was UTF-8 > Also use state_nlputs (and not state_printf) to print end of header so that conversions via display charset does not occur... - Some places use state_nlputs so that potential LF -> CRLF conversions occur - Fix typo on "elm -vv" output when SYSCALL_LOCKING is not defined: "in" => "is" Changes of Elm2.4ME+ PL96 (25) compared with Elm2.4ME+ PL95 (25) ---------------------------------------------------------------- You need create directories charset/MAPPINGS charset/MAPPINGS/ISO8859 shared_libs/smtp befre applying this patch. Undo Elm2.4ME+ PL95a (25), Elm2.4ME+ PL95b (25) and Elm2.4ME+ PL95c (25) patches before applying this patch. - Do not use commands "mail" or "mailx" as mailer. - Allow specify "none" as mailer on configuration time (that requires that mailer is given on global elm.rc on run time.) - Configure failed to locate terminfo routines (ie. termlib) on Linux Mandrake 7.2. Test rewritten. - Added -b (batchmode) option to Configure -- avoids all prompting of user - "Using PL95 with the two patches you send me, I encountered the following problem when searching for a string in a mail message: Search: Noam Couldn't malloc 0 bytes!!" Reported by: Noam G. Nudelman > Avoid mallocing 0 legth buffer on find_pattern_from_string() - Some documentation fixes. - Remove d_savegrpmboxid variable from Configure (is is not set and is not used) - "Following please find the error when trying to compile elm2.4.ME+.95 on AIX 4.3.3 (maintenance level 09): <...> ld: 0711-317 ERROR: Undefined symbol: .cs_auto_charset" Reported by: Noam G. Nudelman > Protect call of cs_auto_charset() on lib/charset.c with #ifdef USE_DLOPEN - Elm dies with Out of memory -messae on AIX. Reported by: Noam G. Nudelman > Avoid mallocing 0 length string on convert_string() - P)rint Text command did not correctly print non-ascii header data. > Reimplement fix on Elm2.4ME+ PL95 (25) / Elm2.4ME+ PL94a (25): When sending mail, saving copy of mail to folder failed when displaycharset = UTF-8 text-charset = ISO-8859-1 > Also set buffer.filter for state_write_header() on copy_message_2() ( similar than on metapager() ) > Do conversion on state_printf if buffers displayed charset (displaycharset) is different than (apparent) real one - Detect on Configure if nl_langinfo(CODESET) is supported - By default Configure does not generate locale charset mappings to elm.mimecharsets file if nl_langinfo(CODESET) is supported. That is because value given by nl_langinfo(CODESET) is more likely to be correct than guess given by Configure (specially if user does not manually fix these guesses) - Generating of elm.mimecharsets is moved to end of Configure - Option -N to Configure tells that it can generate elm.mimecharsets from scratch - Added builtin mapping for ISO-8859-15 character set. - Added value ISO-8859-15 for map parameter for type ascii-set. - Added ISO-8859-16 to builting character set list of ElmME+ - Added ISO-8859-16 to ConfTool/GenCharmap - Added 8859-15.TXT and 8859-16.TXT to ConfTool/mapfiles - ConfTool/GenCharmap generates now map=$file definitions also files which are on charset/MAPPINGS/ISO8859 directory - elmcharset takes -S option which specifies source directory for map files (so they can be copeid to elm.map.txt directory -- actually directory given on map-text-dir elm.rc option.) - Added -S ../charset/MAPPINGS/ISO8859 option to elmcharset invocation so misisng map files are copied. - Added codeset and MIBenum fields to struct charcode_info - Added chararacter sets from http://www.iana.org/assignments/character-sets to precompiled_sets[] on lib/charset.c. Most of them are added as cs_unknown indicating that Elm ME+ knows nothing about them. - Moved precompiled_sets[] to lib/precompiled_sets.c - elmcharset -M lists character sets on MIBenum order - "When you quit or when you change folders, there are usually questions like "Move read messages to "received" folder? (y/n)". Pressing y or n would generate "Yes" or "No" strings at the "answer" spot. Since there is usually some delay after that you may want to press some key again expecting those Yes/No strings and causing Elm behave unexpectedly (you would expect that Yes/No show up and then do what you asked it to)." Reported by: Peter > Added FlushBuffer() to want_to() - Now "make installs" installs also elm.terminalinfo file to elm's library directory. During Configure file goes to bin/elm.terminalinfo. As on Elm2.4ME+ PL79 (25) file elm.terminalinfo specifes instructions to Elm ME+ how to change charset of terminal. For more information see chapter "Additional terminal information". > For now just file doc/terminal.info is used (without processing). That may cause some error messages because of unkown character sets, but you should abel to ignore them. > Installation of elm.terminalinfo means that Elm ME+ will try change terminal character set during operation. If that does bad thing to you, please check correctness of elm.terminalinfo file. - To really take advantege of that add following to global elm.rc allow-charset-switching = ON - connection for mailbox server failed when thre was several IP addresses for server. - Debugging (of POP) caused crash. - When IMAP server returns mail where last line is incomplete, Elm ME+ goes to infinite loop. Problem noted by: Werner Guenther > Changed *_got_*_line() routines. Also made similar change on POP code (although probably this can not occur on POP code.) - Added support to specify conditions (for environment variables) on .elm/terminal.info or on elm.terminalinfo. That allows lines like linux PRIVATE ISO-8859-15 [ $SYSFONTACM="iso15" ] 1/11 2/8 4/11 0/15 on terminal.info (that line does not actually work because $SYSFONTACM is not exported.) > Added these to doc/terminal.info so they are also copied to to elm.terminalinfo - Output routine on panic() was inccorect - ~/elm/mail.services was not overriding global elm.mailservices - Moved kludge_addr() from src/addr_util.c to lib/mailer.c - Added shared library libelmme-smtp.so (shared_libs/smtp/) which implements message submission protocol (RFC 2476). To use that library add smtp to use-library -elmrc variable, for example use-library = iconv And specify mailer type with mailer -elmrc variable, for example mailer = submission See also: shared_libs/smtp/README.ME+ New files: charset/MAPPINGS/ISO8859/8859-2.TXT charset/MAPPINGS/ISO8859/8859-3.TXT charset/MAPPINGS/ISO8859/8859-4.TXT charset/MAPPINGS/ISO8859/8859-5.TXT charset/MAPPINGS/ISO8859/8859-6.TXT charset/MAPPINGS/ISO8859/8859-7.TXT charset/MAPPINGS/ISO8859/8859-8.TXT charset/MAPPINGS/ISO8859/8859-9.TXT charset/MAPPINGS/ISO8859/8859-10.TXT charset/MAPPINGS/ISO8859/8859-13.TXT charset/MAPPINGS/ISO8859/8859-14.TXT charset/MAPPINGS/ISO8859/8859-16.TXT ConfTool/validcharset.c ConfTool/Makefile lib/precompiled_sets.c shared_libs/smtp/Makefile.SH shared_libs/smtp/config shared_libs/smtp/elmsmtp.h shared_libs/smtp/smtp.c shared_libs/smtp/README.ME+ Changes of Elm2.4ME+ PL95c (25) compared with Elm2.4ME+ PL95b (25) ------------------------------------------------------------------ [ This patch is branch from the main line. ] - Do not use commands "mail" or "mailx" as mailer. - Allow specify "none" as mailer on configuration time (that requires that mailer is given on global elm.rc on run time.) - Configure failed to locate terminfo routines (ie. termlib) on Linux Mandrake 7.2. Test rewritten. - Added -b (batchmode) option to Configure -- avoids all prompting of user Changes of Elm2.4ME+ PL95b (25) compared with Elm2.4ME+ PL95a (25) ------------------------------------------------------------------ [ This patch is branch from the main line. ] - "Using PL95 with the two patches you send me, I encountered the following problem when searching for a string in a mail message: Search: Noam Couldn't malloc 0 bytes!!" Reported by: Noam G. Nudelman > Avoid mallocing 0 legth buffer on find_pattern_from_string() - Some documentation fixes. - Remove d_savegrpmboxid variable from Configure (is is not set and is not used) Changes of Elm2.4ME+ PL95a (25) compared with Elm2.4ME+ PL95 (25) ----------------------------------------------------------------- [ This patch is branch from the main line. ] - "Following please find the error when trying to compile elm2.4.ME+.95 on AIX 4.3.3 (maintenance level 09): <...> ld: 0711-317 ERROR: Undefined symbol: .cs_auto_charset" Reported by: Noam G. Nudelman > Protect call of cs_auto_charset() on lib/charset.c with #ifdef USE_DLOPEN - Elm dies with Out of memory -messae on AIX. Reported by: Noam G. Nudelman > Avoid mallocing 0 length string on convert_string() - P)rint Text command did not correctly print non-ascii header data. > Reimplement fix on Elm2.4ME+ PL95 (25) / Elm2.4ME+ PL94a (25): When sending mail, saving copy of mail to folder failed when displaycharset = UTF-8 text-charset = ISO-8859-1 > Also set buffer.filter for state_write_header() on copy_message_2() ( similar than on metapager() ) > Do conversion on state_printf if buffers displayed charset (displaycharset) is different than (apparent) real one Changes of Elm2.4ME+ PL95 (25) compared with Elm2.4ME+ PL94 (25) ---------------------------------------------------------------- - When sending mail, saving copy of mail to folder failed when displaycharset = UTF-8 text-charset = ISO-8859-1 - Segmentation fault on probe_imap_capa_lib() caused by unloading of libelmme-tls.so. - Segmentation fault on probe_pop_capa_lib() caused by unloading of libelmme-tls.so. - Guess multipart boundary if boundary parameter is missing. - Set status_chgd = TRUE on undelete_msg() and on unread_msg() so that flags are updated on exit. Specially on IMAP. - Also set status_chgd = TRUE tag_message() so that \Flagged on IMAP is updated on exit. (Tag flag '+' is only saved on IMAP so perhaps '+' should not be mapped to IMAP's \Flagged ?) - Remove IMAP \flags from imap_flags bitmask which do not have corresponding Elm status flags set or unset so that 'U' (unread) and 't' (tag / untag) commands work correctly. > Side effect is that \flags changes made by other IMAP clients (on same time) are undone. - If there was set \Deleted on IMAP beforehand, and user answered 'n' delete messages questions, that message was still deleted on 'mailbox unchanged." > Do not set IMAP_can_CLOSE on mbx_sessionlock_imap() (set only on mbx_end_keep_imap()) -- this can effect connection caching. - Cyrus imapd 2.0.14 fails [*] to parse command nnnn STORE xxx FLAGS () Example from log (got via -X log option): 3600 [9] 21:53:20 >>> [len 27] "A00928 STORE 306 FLAGS ()" 0D 0A 3600 [9] 21:53:20 <<< [len 48] "A00928 BAD Invalid flag name in Store command" 0D 0A > Therefore if flags was empty, calculate negative delta (if that is empty do not issue STORE command.) [*] That is Bug #941, see http://bugzilla.andrew.cmu.edu/show_bug.cgi?id=941 fixed on 31 Aug 2001 - remove unused charset_ok() from melib/mime.c - Split MIME_name_to_charset's create flag to bit mask: CHARSET_create and CHARSET_noautodef > That should allow using iconv: auto-charset = ON on global elm.rc without that it conflicts with existing alias definitions on global elm.mimecharsets file. - Fix generation of nls/gencat and remove dependency from libutil.a (aka libelme-base) - Elm 2.4 treated messages without status headers on folders as Read; From Elm 2.4 PL24ME8a to Elm2.4ME+ PL66 (25) treated messages without status headers as New; From Elm2.4ME+ PL67 (25) messages without status headers are treated as Old. * "As there are clearly different opinions on how to treat such messages in folders, what about having a configuration option (and/or elmrc option) to specify this? For example: In folders, should messages without Status header be marked (O)ld, (N)ew, or (R)ead? The former would then correspond to Elm2.4ME+ PL94, the second to Elm2.4ME+ PL66 (and what I prefer), the latter to Elm 2.4." Suggested by: Dirk Craeynest > Only elmrc option default-folder-status implemented. - Add missing declaration of process_expiration_date() hdrs/elmlib.h - lib/read_rc.c needs include unidata.h so that default_unidata()) is declared - shared_libs/tls/elmtls.h needs include RAND_file_name() and so on is declared - Add missing declaration of str_opt_nam() to hdrs/me.h - Moved syscall.c from melib/ to lib/ - Moved state.c from melib/ to lib/ - Changed WS_magic - Added lib/MAGIC which lists magic defines. That file is checked during compilation. - Mailer specific code moved to lib/mailer.c - src/mailmsg2.c and src/remail.c calls now lib/mailer.c routines - utils/fastmail.c calls now lib/mailer.c routines (WARNING: fastmail is currently broken in many ways) - Added new elmrc option mailer which specifies type and path and other properties of mailer (during compile time only default is given) Option "mailer" is available only on global elm.rc Possible mailer types are: unknown, sendmail, submitmail, execmail (NOTE: only type sendmail tested) Macros are changed in the following way: Configure old macro parameter for new default variable mailer option macro ============= ============== ========================= ===================== $mailer mailer path= DEFAULT_MAILER_PATH $sendmail sendmail SENDMAIL_MAILER_PATH $submit submitmail SUBMITMAIL_MAILER_PATH $execmail execmail EXECMAIL_MAILER_PATH $d_noaddfrom DONT_ADD_FROM add-from="dont" DEFAULT_DONT_ADD_FROM $d_usedomain USE_DOMAIN use-domain="yes" DEFAULT_USE_DOMAIN $d_8bitmime USE_8BITMIME supported-bodytype="8bit" DEFAULT_8BITMIME $d_binarymime USE_BINARYMIME supported-bodytype="binary" DEFAULT_BINARYMIME $d_dsn USE_DSN supports-dsn = "yes" DEFAULT_DSN See chapter "Mailer definition" below in this file. - sendmail -bv address can be used for elm's internal verification. However that is not activated by default (advantages from this is quite little.) To enable this use mailer = sendmail; verify=yes - Changed shared library interface: provides_shared_RCT_f provides_shared_SEOT_f provides_shared_ST_f provides_shared_FT_f provides_shared_CT_f - Removed struct IMAP_CON from inside of struct connection_cache (on union). Instead there is pointer to struct IMAP_CON (mbx_imp.h). Moved struct IMAP_CON from mbx_imp.h to imap.c - Added utility (elmrc-write) to write (or create) global elm.rc file (utility can be used also to write user's .elm/rlmrc file). - Global elm.rc is now rewritten during installation - Added elmrc option "auto-attachment", possible values are: "none", "application" (default) and "non-text". This affect how mime-parts, which have not Content-Disposition header, are treated. * If auto-attachment is none, missing Content-Disposition is treated as "Content-Disposition: inline". That is what MIME requires. * If auto-attachment is application, type is subtype of application and Elm can not handle type without calling of metamail, missing Content-Disposition is treated as "Content-Disposition: attachment". * If auto-attachment is non-text, type is not subtype of text or multipart, type is not message/rfc822 and Elm can not handle type without calling of metamail, missing Content-Disposition is treated as "Content-Disposition: attachment". * However is Content-Disposition is missing on top level that is treated as "Content-Disposition: inline". * If Elm can handle type, missing Content-Disposition is treated as "Content-Disposition: inline". - That changes Elm's behaviour so that in some situations when Elm normally calls metamail, it does not but instead the bodypart of the message is treated as an attachment. If you have have some type of mailcap and therefore you want metamail handle these types, set auto-attachment = none * NOTE: On many situations similar treatment than with option auto-attachment = non-text can reached with combination of options auto-attachment = none pagemultipart = on In other words there is situations where setting of option pagemultipart is sufficient (without new treatment which is implemented with option auto-attachment by default.) New elmrc options: auto-attachment default-folder-status mailer New tools: elmrc-write New files: lib/mailer.c lib/MAGIC hdrs/mailer_imp.h utils/elmrc-write.c doc/elmrc-write.1 Moved files: melib/syscall.c => lib/syscall.c melib/state.c => lib/state.c Removed files: lib/in_list.c lib/validname.c doc/Filter.guid lib/getrealname.c lib/remfirstwd.c Changes of Elm2.4ME+ PL94c (25) compared with Elm2.4ME+ PL94b (25) ------------------------------------------------------------------ - STORE FLAGS changes on Elm2.4ME+ PL94b (25) was always clearing \Seen flags -- It did always mark all messages as unread! (Cyrus imapd bug #941 is fixed on 31 Aug 2001, see http://bugzilla.andrew.cmu.edu/show_bug.cgi?id=941 ) Changes of Elm2.4ME+ PL94b (25) compared with Elm2.4ME+ PL94a (25) ------------------------------------------------------------------ - Segmentation fault on probe_imap_capa_lib() caused by unloading of libelmme-tls.so. - Segmentation fault on probe_pop_capa_lib() caused by unloading of libelmme-tls.so. - Guess multipart boundary if boundary parameter is missing. - Set status_chgd = TRUE on undelete_msg() and on unread_msg() so that flags are updated on exit. Specially on IMAP. - Also set status_chgd = TRUE tag_message() so that \Flagged on IMAP is updated on exit. (Tag flag '+' is only saved on IMAP so perhaps '+' should not be mapped to IMAP's \Flagged ?) - Remove IMAP \flags from imap_flags bitmask which do not have correspond Elm status flags set or unset so that 'U' (unread) and 't' (tag / untag) commands works correctly. > Side effect is that \flags changes made by other IMAP clients (on same time) are undone. - If there was set \Deleted on IMAP beforehand, and user answered 'n' delete messages questions, that message was still deleted on 'mailbox unchanged." > Do not set IMAP_can_CLOSE on mbx_sessionlock_imap() (set only on mbx_end_keep_imap()) -- this can effect connection caching. - Cyrus imapd 2.0.14 fails to parse command nnnn STORE xxx FLAGS () Example from log (got via -X log option): 3600 [9] 21:53:20 >>> [len 2