ECO NUMBER: ALPMAIL03_062 PRODUCT: OpenVMS Alpha OPERATING SYSTEM 6.2 UPDATE PRODUCT: OpenVMS Alpha OPERATING SYSTEM 6.2 COVER LETTER 1 KIT NAME: ALPMAIL03_062 2 KITS SUPERSEDED BY THIS KIT: ALPMAIL02_062 3 KIT DEPENDENCIES: 3.1 The following remedial kit(s) must be installed BEFORE installation of this, or any required kit: None. 3.2 In order to receive all the corrections listed in this kit, the following remedial kits should also be installed: None. 4 KIT DESCRIPTION: 4.1 Version(s) of OpenVMS to which this kit may be applied: OpenVMS Alpha V6.2, V6.2-1H1, V6.2-1H2, V6.2-1H3 4.2 Files patched or replaced: o [SYSEXE]MAIL.EXE (new image) o [SYSLIB]MAILSHR.EXE (new image) o [SYSLIB]MAILSHRP.EXE (new image) o [SYSEXE]MAIL_SERVER.EXE (new image) 5 PROBLEMS ADDRESSED IN ALPMAIL03_062 KIT o A SSRVEXCEPT error occurred due to an access violation occurred in MAILSHR after a locked UAF record signal was processed by a condition handler. -- COVER LETTER -- Page 2 13 July 1998 o More MAILSHRP SSRVEXCEPT crashes occurred. The address of the privileged context was zero, causing any downstream access to any offset within the context it to access violate. This problem occurred mostly, but not always, when an error was being handled. o A problem results when copying mail messages from a sequential mail file into an indexed mail file. From within MAIL, a sequential mail file was opened containing small (less than 3 blocks) and large (greater than 3 blocks) mail messages. These messages are selected and then copied into a folder in an indexed mail file. After reading and deleting a large message, the body of the sample small message shown below was lost. (The header is there, but the body is gone.) The following steps can be used to reproduce the behavior: $ MAIL MAIL> set file seq_mail_file.mai ! Sequential mail file MAIL> copy/all test test.mai ! Copy all messages from ! sequential mail file into ! folder 'test' in indexed ! mail file 'test.mai'. Note ! that 2 messages were copied ! - a large one and a small ! one. The file TEST.MAI was ! created by the copy command. MAIL> set file test.mai ! Point to indexed mail file MAIL> dir test ! See both mail messages ! Read both messages to ensure they exist MAIL> delete 1 ! Delete the large mail message MAIL> purge ! Ensure it gets deleted MAIL> EXIT $ MAIL MAIL> set file test.mai ! Read the second message and the body will be gone This problem with bodies of emails being lost occurs when the following conditions are true: 1. At least 2 emails in the sequential mail file are created within 1 minute. 2. Emails are copied to an indexed sequential access mode (ISAM) mail file. 3. Order of emails in the sequential mail file are such that the first email results in an external EMAIL file being created (MAIL$*.MAI). (The second email results in the entire message being saved in the mail file MAIL.MAI.) -- COVER LETTER -- Page 3 13 July 1998 4. Email that results in the external EMAIL file being deleted. 5. The body of the remaining email is now lost. 6 PROBLEMS ADDRESSED IN ALPMAIL02_062 KIT o Sending a mail message to a large distribution list (between 200 to 700 local users) intermittently signals a nonfatal SSRVEXCEPTN bugcheck for the sending process. 7 PROBLEMS ADDRESSED IN ALPMAIL01_062 KIT o In the event of an error opening or reading SYSUAF.DAT and a subsequent continuation or unwind request, the protected image's condition handler must place the condition value in the mechanism array. If this event does not occur, SIGNAL returns an undefined value. the error does not get passed back to the user mode code, and then MAIL attempts to continue. o One of the privileged code condition handlers expects the address of the privileged context block in the enable vector when it is invoked. It then attempts to store the signal arguments at an offset within that context block. However, under certain circumstances, the address of the privileged context is zero when a UAF record locked condition is being handled. The ACCVIO occurs because the offset for the signal arguments within the context block is invalid. o When calling MAIL$MAILFILE_PURGE_WASTE from a detached process, the image was aborting with a LIB$_NOCLI message. o Programs using callable MAIL routines from AST level code will often receive ACCVIOs when RMS errors are signaled. o Strange characters are displayed in the DIR command when a user has no mail messages and no folders. o A program using callable mail routine MAIL$USER_GET_INFO will receive an EXEC mode access violation and the process is deleted. A non-fatal SSRVEXCEPTN bugcheck is generated. o A program using callable mail routine MAIL$USER_GET_INFO will receive an EXEC mode access violation and the process is deleted when the MAIL$_USER_NEXT item code is used before MAIL$_USER_FIRST or MAIL$_USER_USERNAME. A non-fatal SSRVEXCEPTN bugcheck is generated. -- COVER LETTER -- Page 4 13 July 1998 o Two SSRVEXCEPTION crashes occur in MAILSHRP when running LBN disk I/O or UETP, in the context of the image DTWM. o When using callable mail to send messages, it will eventually run out of virtual memory. There is a memory leak in both MAIL$SEND_BEGIN and MAIL$SEND_END routines. o Defining a Logical for Username in the following manner produces Forward Loop in MAIL. $DEFINE/TRANSLATION_ATTRIB=TERMINAL name node::name eg. $ define/tran=terminal system quebit::system MAIL> send To: system %MAIL-E-FORWLOOP, infinite forwarding detected sending to user netaly o The TO line in a received message can become so skewed that passwords for remote distribution lists may be visible in a received message. o When sending mail to a REMOTE and LOCAL user of the same name, and the send to the REMOTE recipient-name fails, the mail message is NOT sent to the LOCAL recipient-name either. However, other recipient names listed receive the mail. o When a mail message is sent and the TO: field incorporates a set of quotes, and the TO: field/addressee is incorrect, there is no error message returned. o A VAX C application that uses the MAIL$ callable API runs for varied lengths of time, then crashes due to insufficient virtual memory. o When using MAIL$MESSAGE_COPY to copy messages from one mail file to another version of the same file, the messages are not copied to the target file, but rather are copied to the source file. o Depending on DECnet Plus namespace configuration, appearance of MAIL> prompt can be very slow 8 KIT INSTALLATION RATING: The following kit installation rating, based upon current CLD information, is provided to serve as a guide to which customers should apply this remedial kit. (Reference attached Disclaimer of Warranty and Limitation of Liability Statement) -- COVER LETTER -- Page 5 13 July 1998 INSTALLATION RATING: INSTALL_1 : To be installed by all customers. 9 INSTALLATION INSTRUCTIONS: Install this kit with the VMSINSTAL utility by logging into the SYSTEM account, and typing the following at the DCL prompt: @SYS$UPDATE:VMSINSTAL ALPMAIL03_062 [location of the saveset] The saveset location may be a tape drive, or a disk directory that contains the kit saveset. No reboot is necessary after successful installation of the kit. Copyright (c) Digital Equipment Corporation, 1998 All Rights Reserved. Unpublished rights reserved under the copyright laws of the United States. The software contained on this media is proprietary to and embodies the confidential technology of Digital Equipment Corporation. Possession, use, or dissemination of the software and media is authorized only pursuant to a valid written license from Digital Equipment Corporation. DISCLAIMER OF WARRANTY AND LIMITATION OF LIABILITY THIS PATCH IS PROVIDED AS IS, WITHOUT WARRANTY OF ANY KIND. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR PARTICULAR PURPOSE, OR NON-INFRINGEMENT, ARE HEREBY EXCLUDED TO THE EXTENT PERMITTED BY APPLICABLE LAW. IN NO EVENT WILL DIGITAL BE LIABLE FOR ANY LOST REVENUE OR PROFIT, OR FOR SPECIAL, INDIRECT, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY, WITH RESPECT TO ANY PATCH MADE AVAILABLE HERE OR TO THE USE OF SUCH PATCH.