1 
  2 09/21/87  mail_system
  3 Known errors in the current release of mail_system.
  4 #         Associated TR's
  5 Description
  6 
  7 0507  phx20861
  8 update_mail_table_entry and add_mail_table_entry are not consistent in
  9 validating addresses.  update performs no validation while add
 10 performs validation which causes a problem when the entry is a forum
 11 meeting to which the system administrator does not have access.
 12 
 13 0504  phx20700
 14 An entry cannot be deleted from the mail table using
 15 delete_mail_table_entry if the directory in which the object segment
 16 resided has been deleted from the system.  delete_mail_table_entry
 17 should verify that the pathname of the entry is valid, and if not,
 18 inform the user and query him for whether the entry should be deleted.
 19 
 20 0502  phx20589
 21 In read_mail, execution of some of the active requests causes the
 22 current message to be updated with the result of the request.  The
 23 current message should remain unchanged.
 24 
 25 0495  phx20027
 26 mlsys_utils_$parse_mailbox_control_args adds an extra ".mbx" in the
 27 error message when the user specifies "<something>.mbx", and leaves
 28 out the ".mbx" if the user didn't specify it.  The problem is that the
 29 sense of the "has_suffix" test at TRY_USER_NAME_OR_MTE_HUERISTIC is
 30 backwards.
 31 
 32 0494  phx19989
 33 mail_table_mgr_ doesn't always ignore error_table_$checksum_failure
 34 when looking up an entry.
 35 
 36 0491  phx19688 phx20316
 37 If the Acknowledge-To field in a message specifies a mail table entry
 38 that doesn't translate to a local mailbox then
 39 mail_system_$acknowledge_message returns mlsys_et_$bad_acknowledge_to.
 40 Either mail_system_$deliver_message should be changed to specify
 41 User.Project if the sender's mail table address is not a local mailbox
 42 (currently it only does this if the mail table address is invalid,
 43 e.g.  it specifies a nonexistent entry or is circular), or
 44 mail_system_$acknowledge_message should be changed to use the sender
 45 address if the acknowledge_to address is not a mailbox.  The latter is
 46 preferable, as it handles the case in which the address becomes
 47 invalid after the message has been sent.
 48 
 49 0483  phx16735
 50  The mail system should not require a valid Date field in order to
 51  accept a message header as valid.  It should, if no valid Date field
 52  is present, use the earliest available Delivery-Date field in the
 53  message or, if none are present, the Delivery-Date supplied by ring 1.
 54  If any date/time field is missing a time zone or contains an invalid
 55  time zone, the mail system should assume GMT.
 56 
 57 0471  phx08922 phx08923 phx11356
 58  The read_mail and send_mail write, preface, and append requests
 59  should not trap record quota overflows.
 60 
 61 0465  phx17468 phx19307
 62  The network mail support supplied as part of the TCP/IP RPQ
 63  interprets the address
 64       User%Foreign-System at Local-System
 65  as equivalent to
 66       User at Foreign-System via Local-System
 67 
 68  When the original address is used by a system that does not itself
 69  recognize this "%" convention, it will deliver any mail for the
 70  address to the local system which will then forward it to the foreign
 71  system for actual delivery.
 72 
 73  In addition, the mail system of several other operating systems will,
 74  when sending mail via a mail gateway, change all local address in the
 75  message from
 76       User at System
 77   to
 78       User%System at Gateway-System
 79   on the assumption that the gateway system follows the "%" convention.
 80 
 81  When a Multics system is used as the gateway for a message whose
 82  addresses have been so transformed, the foreign recipients of the
 83  message will be able to reply to the message because the addresses in
 84  their replies will be interpreted by the network mailer.  However, the
 85  local recipients of the message will not be able to reply because the
 86  Multics mail system proper does not follow the "%" convention and will
 87  interpret the transformed addresses as the names of mail table entries.
 88 
 89  The message parser, therefore, must be changed to follow the "%"
 90  convention when parsing local addresses.
 91 
 92 0464  phx18294
 93  A user's mail table entry should include a local mailbox pathname in
 94  addition to a mailing address.  If a user does not set his local
 95  mailbox, it will default to his mailing address if said address is a
 96  local mailbox; otherwise, it will default to the default mailbox on
 97  his default project.  Options should be provided when using mail
 98  table addresses to indicate whether the mailing address or local
 99  mailbox is to be used when actually delivering a message to the
100  address.  This entry is defined as a problem because, without these
101  changes, the message facility (send_message) can not make proper use
102  of the mail table to send messages to users without having to know
103  on whic projects they are registered.
104 
105 0463  phx16250
106  The mail system attempts to guarentee that it will always deliver an
107  acknowledgement for any message requesting one by sending a "negative"
108  acknowledgement if the message is deleted without a prior call to
109  mail_system_$acknowledge_message.  However, as the mailbox_ gate is
110  accessible from the user ring, a program can either call
111  mailbox_$delete_index to delete a message directly or delete the
112  entire mailbox using the delete command.  In these cases, the mail
113  system will not be able to acknowledge the message.  This problem can
114  only be solved by restricing the mailbox_ gate to the mail system ring
115  and forcing all message and mailbox deletion to pass through the mail
116  system.
117 
118 0462  phx18308
119  The message parser does not recognize Redistributed-cc and
120  Redistributed-bcc as synonyms of the Redistributed-To field.
121 
122 0461  phx18509
123  The to, cc, from, and reply_to requests always add any "-log" and
124  "-save PATH" addresses to the bcc field.  In addition, the remove
125  request will only try to remove these addresses from the bcc field.
126 
127 0460  phx19035
128  If all addresses given on a send request line have syntax errors,
129  the send request will attempt to send the mail to the recipients
130  given in the message header rather than aborting.  For example,
131       send_mail User1 -rql
132       ...
133       send User2 -comment
134  will send the message to User1.
135 
136 0459  phx19118
137  The "-between_time" message selection control argument's test for
138  a valid date/time range is inverted.  As a result, any attempt to use
139  this control argument will either complain about an invalid range or
140  fail to find any messages which lie in the desired range.
141 
142 0458  phx19187
143  mlsys_utils_$print_message_summary will generate an out_of_bounds
144  fault when invoked with a line length shorter than 15 characters.
145  In fact, this entrypoint should not attempt to include any part of
146  the subject in the summary when the line length is under 22
147  characters as that is the minimum line length required to insure that
148  at least one character from the subject will appear in the summary.
149  (This entrypoint is the one used by the read_mail list request.)
150 
151 0457  phx15783 phx19099
152  If a read_mail request which defaults to the current message is
153  invoked without message specifiers but with the "-only_deleted"
154  control argument, the request will process the current message.
155  However, as the current message can never be a deleted message, this
156  scenario should always produce the error message
157       read_mail (REQUEST): Message N is not a deleted message.
158 
159 0456  phx19090 phx20005 phx20977
160  If a message contains more than 9999 lines,
161  mlsys_utils_$print_message_summary will signal the size condition
162  when trying to format the line count for insertion into the message
163  summary.  (This entrypoint is the one used by the read_mail list
164  request.)
165 
166 0455  phx17868
167  The targets of the mail_system_, mail_table_,
168  mail_table_initializer_, and mail_table_priv_ gates do not properly
169  access their parameters.  Both input and output parameters are
170  referenced multiple times and data structures are not properly
171  copied.
172 
173 0454  phx18557 phx20253
174  The installed print_mail command believes that it is version
175  "3.0a EXL" and that its "new_features" info file resides in
176  >exl>info rather than >doc>info.
177 
178 0453  phx18528
179  mail_table_$get will report that its input string is ambiguous if it
180  refers to a single mail table entry which has more than one name which
181  differ only by case and the supplied string does not exactly match one
182  of the entry's names.  For example, if a mail table entry has the
183  names "Le-Mann" and "LE-MANN", calling mail_table_$get with the string
184  "le-mann" will fail.
185 
186 0452
187  The message parser does not recognize the "{invalid STR}" address
188  construct.
189 
190 0450  phx18036
191  mail_system_$deliver_message and mail_system_$redistribute_message
192  will incorrectly claim that the message has been delivered to a
193  mailing list if the abort-on-errors delivery option is selected, all
194  addresses in the mailing list are valid, and at least one other
195  recipient of the message is invalid.
196 
197 0449
198  When parsing messages in the mailbox, the mail system will use the
199  Message-ID field of the original mailing for any redistributions
200  rather than using the appropriate Redistributed-Message-ID fields.
201 
202 0448
203  The address control argument parser inverts any explicit route
204  supplied by the user with "-via" control arguments.  I.e.
205       USER -at HOST -via A -via B -via C
206  is interpreted as
207       USER -at HOST -via C -via B -via A
208  causing "A" to be used as the first relay system instead of "C"
209  when the message is transmitted.
210 
211 0447  phx17498
212  When the mail system canonicalizes a system name (ie:  removes all
213  domains in common with the local system name), the resulting name may
214  be ambiguous.  For example, if the local system name is CISL.ARPA,
215  the mail system will canonicalize the name SMALL.ARPA into SMALL even
216  though the NIT may contain distinct systems named SMALL.ARPA and
217  SMALL.MIT.  The mail system should check for such ambiguities and, if
218  detected, not remove any domain names from the system name.
219  (Eventually, the NIT itself will provide a name canonicalization
220  service.)
221 
222 0446  phx17353 phx17540 phx18564
223  If the last message processed by a read_mail request is a deleted
224  message specified via "-include_deleted", the request will set the
225  current message to said deleted message.  The current message should
226  never be a deleted message.  Instead, the current message should be
227  set to the first undeleted message after the deleted message.  This
228  behavior will make the use of "-include_deleted" equivalent to the
229  request line:
230       retrieve N; REQUEST N; delete N
231 
232 0445  phx17774 phx20967
233  The mail table interfaces used to set data in the table do not
234  interpret the mail table name in a case insensitive manner.  As a
235  result, the set_mailing_address command, when used with "-entry",
236  must be given the exact spelling of the mail table entry.
237 
238 0444  phx17501
239  The mail table software permits the creation of circular entries.
240  For example:
241       smla A -entry B
242       smla B -entry A
243 
244 0443
245  The mail system can not parse Relayed fields containing relay IDs or
246  recipients if the field is in canonical form.
247 
248 0442  phx17497 phx19470 phx19355
249  When computing the route to be used to send a reply to a given
250  message, the mail system should use the implicit route (Return-Path)
251  associated with the message if it can not compute the route based
252  on information from the NIT.
253 
254 0431  phx17154
255  The mail system will discard the Delivery-By field if the address
256  contained therein is equal to the address in the Sender field (or
257  From field).  However, only the address constructed for the
258  Delivery-By field actually contains the project ID of the user who
259  delivered the mail.  Thus, messages no longer include their
260  author's project ID.
261 
262 0401  phx13551 phx18851 phx20089
263  If certain errors occur during execution of the "print_original",
264  etc.  requests in send_mail, the send_mail created to compose the
265  reply will be aborted and the user left back in read_mail.  Errors
266  which cause this action include referencing non-existent messages,
267  syntax errors in message specifiers, etc.
268 
269 0369  phx09121
270  send_mail will allow the user to add the same address to the To
271  or cc field multiple times; it should reject attempts to add the
272  duplicates.
273 
274 0362  phx06801 phx08877 phx10009 phx15485
275  read_mail should check for new messages after every request line
276  rather than only before certain requests; otherwise, much
277  confusion is generated when new messages arrive and the keyword
278  "last" is used.
279 
280 0212
281  Case independent searching should apply to the message text, as
282  well as to the header fields.