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.