09/21/87 mail_system Known errors in the current release of mail_system. # Associated TR's Description 0507 phx20861 update_mail_table_entry and add_mail_table_entry are not consistent in validating addresses. update performs no validation while add performs validation which causes a problem when the entry is a forum meeting to which the system administrator does not have access. 0504 phx20700 An entry cannot be deleted from the mail table using delete_mail_table_entry if the directory in which the object segment resided has been deleted from the system. delete_mail_table_entry should verify that the pathname of the entry is valid, and if not, inform the user and query him for whether the entry should be deleted. 0502 phx20589 In read_mail, execution of some of the active requests causes the current message to be updated with the result of the request. The current message should remain unchanged. 0495 phx20027 mlsys_utils_$parse_mailbox_control_args adds an extra ".mbx" in the error message when the user specifies ".mbx", and leaves out the ".mbx" if the user didn't specify it. The problem is that the sense of the "has_suffix" test at TRY_USER_NAME_OR_MTE_HUERISTIC is backwards. 0494 phx19989 mail_table_mgr_ doesn't always ignore error_table_$checksum_failure when looking up an entry. 0491 phx19688 phx20316 If the Acknowledge-To field in a message specifies a mail table entry that doesn't translate to a local mailbox then mail_system_$acknowledge_message returns mlsys_et_$bad_acknowledge_to. Either mail_system_$deliver_message should be changed to specify User.Project if the sender's mail table address is not a local mailbox (currently it only does this if the mail table address is invalid, e.g. it specifies a nonexistent entry or is circular), or mail_system_$acknowledge_message should be changed to use the sender address if the acknowledge_to address is not a mailbox. The latter is preferable, as it handles the case in which the address becomes invalid after the message has been sent. 0483 phx16735 The mail system should not require a valid Date field in order to accept a message header as valid. It should, if no valid Date field is present, use the earliest available Delivery-Date field in the message or, if none are present, the Delivery-Date supplied by ring 1. If any date/time field is missing a time zone or contains an invalid time zone, the mail system should assume GMT. 0471 phx08922 phx08923 phx11356 The read_mail and send_mail write, preface, and append requests should not trap record quota overflows. 0465 phx17468 phx19307 The network mail support supplied as part of the TCP/IP RPQ interprets the address User%Foreign-System at Local-System as equivalent to User at Foreign-System via Local-System When the original address is used by a system that does not itself recognize this "%" convention, it will deliver any mail for the address to the local system which will then forward it to the foreign system for actual delivery. In addition, the mail system of several other operating systems will, when sending mail via a mail gateway, change all local address in the message from User at System to User%System at Gateway-System on the assumption that the gateway system follows the "%" convention. When a Multics system is used as the gateway for a message whose addresses have been so transformed, the foreign recipients of the message will be able to reply to the message because the addresses in their replies will be interpreted by the network mailer. However, the local recipients of the message will not be able to reply because the Multics mail system proper does not follow the "%" convention and will interpret the transformed addresses as the names of mail table entries. The message parser, therefore, must be changed to follow the "%" convention when parsing local addresses. 0464 phx18294 A user's mail table entry should include a local mailbox pathname in addition to a mailing address. If a user does not set his local mailbox, it will default to his mailing address if said address is a local mailbox; otherwise, it will default to the default mailbox on his default project. Options should be provided when using mail table addresses to indicate whether the mailing address or local mailbox is to be used when actually delivering a message to the address. This entry is defined as a problem because, without these changes, the message facility (send_message) can not make proper use of the mail table to send messages to users without having to know on whic projects they are registered. 0463 phx16250 The mail system attempts to guarentee that it will always deliver an acknowledgement for any message requesting one by sending a "negative" acknowledgement if the message is deleted without a prior call to mail_system_$acknowledge_message. However, as the mailbox_ gate is accessible from the user ring, a program can either call mailbox_$delete_index to delete a message directly or delete the entire mailbox using the delete command. In these cases, the mail system will not be able to acknowledge the message. This problem can only be solved by restricing the mailbox_ gate to the mail system ring and forcing all message and mailbox deletion to pass through the mail system. 0462 phx18308 The message parser does not recognize Redistributed-cc and Redistributed-bcc as synonyms of the Redistributed-To field. 0461 phx18509 The to, cc, from, and reply_to requests always add any "-log" and "-save PATH" addresses to the bcc field. In addition, the remove request will only try to remove these addresses from the bcc field. 0460 phx19035 If all addresses given on a send request line have syntax errors, the send request will attempt to send the mail to the recipients given in the message header rather than aborting. For example, send_mail User1 -rql ... send User2 -comment will send the message to User1. 0459 phx19118 The "-between_time" message selection control argument's test for a valid date/time range is inverted. As a result, any attempt to use this control argument will either complain about an invalid range or fail to find any messages which lie in the desired range. 0458 phx19187 mlsys_utils_$print_message_summary will generate an out_of_bounds fault when invoked with a line length shorter than 15 characters. In fact, this entrypoint should not attempt to include any part of the subject in the summary when the line length is under 22 characters as that is the minimum line length required to insure that at least one character from the subject will appear in the summary. (This entrypoint is the one used by the read_mail list request.) 0457 phx15783 phx19099 If a read_mail request which defaults to the current message is invoked without message specifiers but with the "-only_deleted" control argument, the request will process the current message. However, as the current message can never be a deleted message, this scenario should always produce the error message read_mail (REQUEST): Message N is not a deleted message. 0456 phx19090 phx20005 phx20977 If a message contains more than 9999 lines, mlsys_utils_$print_message_summary will signal the size condition when trying to format the line count for insertion into the message summary. (This entrypoint is the one used by the read_mail list request.) 0455 phx17868 The targets of the mail_system_, mail_table_, mail_table_initializer_, and mail_table_priv_ gates do not properly access their parameters. Both input and output parameters are referenced multiple times and data structures are not properly copied. 0454 phx18557 phx20253 The installed print_mail command believes that it is version "3.0a EXL" and that its "new_features" info file resides in >exl>info rather than >doc>info. 0453 phx18528 mail_table_$get will report that its input string is ambiguous if it refers to a single mail table entry which has more than one name which differ only by case and the supplied string does not exactly match one of the entry's names. For example, if a mail table entry has the names "Le-Mann" and "LE-MANN", calling mail_table_$get with the string "le-mann" will fail. 0452 The message parser does not recognize the "{invalid STR}" address construct. 0450 phx18036 mail_system_$deliver_message and mail_system_$redistribute_message will incorrectly claim that the message has been delivered to a mailing list if the abort-on-errors delivery option is selected, all addresses in the mailing list are valid, and at least one other recipient of the message is invalid. 0449 When parsing messages in the mailbox, the mail system will use the Message-ID field of the original mailing for any redistributions rather than using the appropriate Redistributed-Message-ID fields. 0448 The address control argument parser inverts any explicit route supplied by the user with "-via" control arguments. I.e. USER -at HOST -via A -via B -via C is interpreted as USER -at HOST -via C -via B -via A causing "A" to be used as the first relay system instead of "C" when the message is transmitted. 0447 phx17498 When the mail system canonicalizes a system name (ie: removes all domains in common with the local system name), the resulting name may be ambiguous. For example, if the local system name is CISL.ARPA, the mail system will canonicalize the name SMALL.ARPA into SMALL even though the NIT may contain distinct systems named SMALL.ARPA and SMALL.MIT. The mail system should check for such ambiguities and, if detected, not remove any domain names from the system name. (Eventually, the NIT itself will provide a name canonicalization service.) 0446 phx17353 phx17540 phx18564 If the last message processed by a read_mail request is a deleted message specified via "-include_deleted", the request will set the current message to said deleted message. The current message should never be a deleted message. Instead, the current message should be set to the first undeleted message after the deleted message. This behavior will make the use of "-include_deleted" equivalent to the request line: retrieve N; REQUEST N; delete N 0445 phx17774 phx20967 The mail table interfaces used to set data in the table do not interpret the mail table name in a case insensitive manner. As a result, the set_mailing_address command, when used with "-entry", must be given the exact spelling of the mail table entry. 0444 phx17501 The mail table software permits the creation of circular entries. For example: smla A -entry B smla B -entry A 0443 The mail system can not parse Relayed fields containing relay IDs or recipients if the field is in canonical form. 0442 phx17497 phx19470 phx19355 When computing the route to be used to send a reply to a given message, the mail system should use the implicit route (Return-Path) associated with the message if it can not compute the route based on information from the NIT. 0431 phx17154 The mail system will discard the Delivery-By field if the address contained therein is equal to the address in the Sender field (or From field). However, only the address constructed for the Delivery-By field actually contains the project ID of the user who delivered the mail. Thus, messages no longer include their author's project ID. 0401 phx13551 phx18851 phx20089 If certain errors occur during execution of the "print_original", etc. requests in send_mail, the send_mail created to compose the reply will be aborted and the user left back in read_mail. Errors which cause this action include referencing non-existent messages, syntax errors in message specifiers, etc. 0369 phx09121 send_mail will allow the user to add the same address to the To or cc field multiple times; it should reject attempts to add the duplicates. 0362 phx06801 phx08877 phx10009 phx15485 read_mail should check for new messages after every request line rather than only before certain requests; otherwise, much confusion is generated when new messages arrive and the keyword "last" is used. 0212 Case independent searching should apply to the message text, as well as to the header fields. ----------------------------------------------------------- Historical Background This edition of the Multics software materials and documentation is provided and donated to Massachusetts Institute of Technology by Group BULL including BULL HN Information Systems Inc. as a contribution to computer science knowledge. This donation is made also to give evidence of the common contributions of Massachusetts Institute of Technology, Bell Laboratories, General Electric, Honeywell Information Systems Inc., Honeywell BULL Inc., Groupe BULL and BULL HN Information Systems Inc. to the development of this operating system. Multics development was initiated by Massachusetts Institute of Technology Project MAC (1963-1970), renamed the MIT Laboratory for Computer Science and Artificial Intelligence in the mid 1970s, under the leadership of Professor Fernando Jose Corbato. Users consider that Multics provided the best software architecture for managing computer hardware properly and for executing programs. Many subsequent operating systems incorporated Multics principles. Multics was distributed in 1975 to 2000 by Group Bull in Europe , and in the U.S. by Bull HN Information Systems Inc., as successor in interest by change in name only to Honeywell Bull Inc. and Honeywell Information Systems Inc. . ----------------------------------------------------------- Permission to use, copy, modify, and distribute these programs and their documentation for any purpose and without fee is hereby granted,provided that the below copyright notice and historical background appear in all copies and that both the copyright notice and historical background and this permission notice appear in supporting documentation, and that the names of MIT, HIS, BULL or BULL HN not be used in advertising or publicity pertaining to distribution of the programs without specific prior written permission. Copyright 1972 by Massachusetts Institute of Technology and Honeywell Information Systems Inc. Copyright 2006 by BULL HN Information Systems Inc. Copyright 2006 by Bull SAS All Rights Reserved