Patch Name: PHNE_23640 Patch Description: s700_800 11.X HP X400 cumulative patch Creation Date: 01/03/15 Post Date: 01/03/20 Hardware Platforms - OS Releases: s700: 11.00 11.11 s800: 11.00 11.11 Products: HP_X.400 D.02.01 Filesets: X400.X400-RUN,fr=D.02.01.00,fa=HP-UX_B.11.00_32/64,v=HP X400.X400-GAPI-PRG,fr=D.02.01.00,fa=HP-UX_B.11.00_32/64,v=HP X400.X400-HLAPI-PRG,fr=D.02.01.00,fa=HP-UX_B.11.00_32/64,v=HP Automatic Reboot?: No Status: General Release Critical: No Category Tags: defect_repair general_release Path Name: /hp-ux_patches/s700_800/11.X/PHNE_23640 Symptoms: PHNE_23640: CR: JAGad40859 SR: 8606171595 MTA SHUTDOWN due to interrup signal 10 (X4EVENT 2196) PHNE_22569: CR: JAGad35069 SR: 8606165778 Add 11.11 support for HP X.400 patches PHNE_22119: CR: JAGab37610 SR: 1653215822 Configuring an adjacent MTA with NSAP and SSAP causes SSAP to become TSAP CR: JAGad12445 SR: 8606143102 Delivery report generated by HP X.400 is rejected by some of the foreign MTAs. CR: JAGab74934 SR: 8606106089 PDUs originating from Lotus mta are undelivered. CR: JAGab37632 SR: 1653308734 Attachments originating from netscape which are RFC2157 compliant are being lost by gapi. CR: JAGab34128 SR: 1653302414 GAPI fails to parse if PDU contains more than one Single ASN1 encoded attachments. CR: JAGab32364 SR: 1653232124 Attachments originating from netscape are being lost. PHNE_17288: 5003441824: X4ERR 2013 in x4logview after installing patch PHNE_14985 1653210526: X.400 not upshift globalIDs before deciding whether to add traceinfo PHNE_16628: 1653282707: MTA Critical Error, Signal 11, X4ERR 2041, messages not moved to uq 1653279406: After PHNE_14985 install msgs fail with Error near byte 0 and moved to uq 1653275578: Missing error log info when moving bad messages to UQ D500412205: x4logview returns a usage string when year field is 00 PHNE_16480: 5003416305: x4_receive / x4_get_attributes can't overwrite default bp directory. 5003413757: elm or mailx aliases for X400 address creates full name for the alias as Bcc. 5003353862: Problem with ASN.1 parser leaving t files within OQs after issue. 1653243790: Mailnodes not in the primary routing table may return NDN not use altrt. 1653238758: If there are persistent transient network problems, sometimes RTS is not returning the message to MTA for generating NDN, after the maximum transfer time (MTT) is crossed. 1653238766: If there are persistent transient network problems, after some time RTS stops sending outbound messages. D500352518: While parsing octect body part the Mapper fails with OM-TEMPORARY ERROR-22 Defect Description: PHNE_23640: CR: JAGad40859 SR: 8606171595 The MTA tried to route a message to an adjacent MTA which was unresponsive. The first MTA failed when trying to find an alternative. (No alternative was configured.) The MTA code was repaired to allow to MTA to correctly return an NDN to the sender. PHNE_22569: CR: JAGad35069 SR: 8606165778 With the advent of HP-UX 11.11 the X400 cumulative patch needed to be reissued such that it would install on HPUX 11.11, as well as previous platforms. This is a cumulative patch as always, that contains bug fixes that went in the patches released after the 11.x base release D.02.01. PHNE_22119: CR: JAGab37610 SR: 1653215822 The configuration files rxxx.conf stores the NSAP, TSAP and SSAP values in the format NSAP:TSAP:SSAP. When an adjacent MTA is configured with NSAP and SSAP but not with a TSAP, the format in the config file looks like NSAP::SSAP.The config file is not read properly by the routines. Config file read routines are fixed to address this problem. CR: JAGad12445 SR: 8606143102 The Gateway API produces delivery reports without the per recipient indicator's responsibility bit set. X.411 standards mention that this bit can be set to 0 or 1. It is left to the implementors to make it to 1 or 0. Some foreign MTAs do not accept the delivery report if this bit is turned off. Code is fixed to follow the majority of the MTAs (ISOCOR, Digital Mail bus API) implementation to set this bit to 1 by default. CR: JAGab74934 SR: 8606106089 Lotus sends the last-modification-time for the file attachments as UTC time fields. As per the MAWG specs (version 1.5.2), the last-modification-time should be a generalized time. X.400 expects this to be a generalized time and hence the problem. X.400 code is worked around to accept UTC format. CR: JAGab37632 SR: 1653308734 X.400 code limits GraphicStrings up to a maximum of 16 octets. The PDU contains a GraphicString of 23 octets which caused the overflow error. Code is fixed to accept any number of octets. CR: JAGab34128 SR: 1653302414 When there are more than one single ASN1 attachments, GAPI does not parse the end of contents octets properly. Code is fixed to parse these octets properly. CR: JAGab32364 SR: 1653232124 Attachments originating from Netscape are Single ASN1 encoded with constructed octet strings. These strings are not getting decoded properly. This is because the constructed octet strings are not read properly by the gapi code. Gapi is fixed to address this problem. PHNE_17288: 5003441824: MTA aborts with critical error when a message with externally defined bodyparts are present and user groups are configured. The critical error occurs when the t file is opened for encoding whereas it does not exist. After encoding a bodypart, the t file is unlinked which is opened again. Code is fixed to not to unlink the file as 'unlinking' is done when memory is cleared, once after the message is processed. 1653210526: ISOCORE interprets a non-looping message that it receives from HP X400 as a looping message because of the incorrect trace information that HP X.400 has added to it. Problem occurs when the CAP attributes are same for the local mta , adjacent mta and the openmail mailnode and the openmail mailnode has the attributes in lowercase. MTA incorrectly adds an extra bit of trace info since the comparison of CAP attributes are case-sensitive. Code is fixed to convert the CAP attributes to uppercase before comparison. PHNE_16628: 1653282707: MTA aborts with critical error, signal 11 and moves the messages to oq for further processing by rts. MTA, when it finds an error in parsing/formatting, does not discard the message (i.e. move to uq) but continues to do further processing. It is caused by the code not checking for the return_value from one of the parsing/formatting routines. Also, mta aborts, because of a certain memory being freed twice. Code is fixed to check for the return value from the parsing/formatting routine. Also , the freeing of memory is avoided for the second time. Presence of the file /etc/opt/x400/.avoid_crit_err solves problems mentioned in this sr. 1653279406: MTA when it encounters a corrupted PDU , does not process the pdus further and puts in uq. It is caused by a flag in the code which is set whenever a corrupted PDU is present and it is never reset. If the MTA is restarted after processing the corrupted pdu, the problem is not encountered as the flag is initialized whenever MTA is started. Code is fixed to reset the flag whenever the corrupted pdu processing is complete. 1653275578: MTA does not log when moving corrupted messages to uq. Code is fixed to log the error message in mta.evnt file. Presence of the file /etc/opt/x400/.log_mv_to_uq enables this logging. D500412205: x4logview returns usage string when year field is 00 x4logview returns a usage string when a date string of format YYMMDDhhmm is piped into x4logview -t -b Code is fixed to take care of the 00 input for year. PHNE_16480: 5003416305: Using the High Level API commands, the x4_receive command may be used to change the default directory. This doesn't overwrite the default directory. It is caused because of the default directory name being used instead of the directory that is provided. Now the code is fixed to use the directory if it is provided otherwise the default directory. 5003413757: If a message is sent from elm or mailx to X.400 using an alias the full name of the recipient becomes Bcc. x4mailer creates the full name as Bcc. x4mailer goes thru the list of recipients provided in its command line and compares the address with the qf file that it receives. If it doesn't find the address in qf file, it considers the address as Bcc. When an alias is used as To recipient, the command line to x4mailer contains the expanded alias name whereas the qf file contains alias name. Since it results in a mismatch, x4mailer considers this address as Bcc. Code is fixed to not to show the Bcc recipients. This behaviour is in consistent with elm or mailx. The old behaviour can be switched to the above behaviour. This is done by having a special file. 5003353862: While processing the corrupted PDUs , which caused the MTA to loop indefinetely was fixed in the patch PHNE_8698 for SR5000716738. However the result leaves t files in the the /oq directory.The parser creates a t file in OQ at the time of formatting the PDU.As per the previous fix , while formating and copying the content part of PDU, as soon as it detects the corruption in PDU, it just moves the original PDU to UQ, leaving the t file in OQ as such. The current fix before moving the PDU to UQ, deletes the t file in OQ directory. 1653243790: While handling messages without having matching route in the primary routing table , the previous algorithm checks for the default route and routes it to default MTA. If there is no default , it generates NDNs. If the message has returned from default route, it doesnot check for the alternate route for default , instead sends NDN.The current fix checks for the alternate link to default route and if exists it routes the message to the alternate link.If that alternate link to default also fails, it checks for the next alternate link and try to reroute the message. Once there are no more alternate links to default route, an NDN will be generated. 1653238758: RTS, while sending the messages or after sending the messages if there is no response from the adjacent RTS, and MTT is over, then sends a Activity discard request and waits for the response. If there is no response waits indefinitely, and so not returning the message to MTA, for NDN. This has been modified so that if MTT is over and no responses, then RTS will abort the connection and give the message to MTA. (Fixed in RTS version D.02.00.10). To enable this patch /etc/opt/x400/.ub_on_timeout file must exist 1653238766: If RTS is not able to establish connection with adjacent RTS within the MTT (No confirmation for connect request) because of transient network problems, RTS give back the message to MTA for NDN, without actually closing the attempted connection. Since there are only 128 concurrent connections to OTS stack is possible after 128 unsuccessful connections, RTS can't get new connection ids from OTS. So RTS will not be able to send outgoing messages. This is has been fixed, so that RTS will send an user abort after unsuccessful connection. (Fixed in RTS version D.02.00.10). To enable this patch /etc/opt/x400/.ub_on_timeout file must exist. D500352518: While parsing the octet body part, if there is a failure, the read_octv function returns -1, if success there is not return statement and so some garbage is returned. So eventhough the read_octv function is success, the return value may be negative and hence the failure. File changed ext.c SR: 8606171595 1653215822 8606143102 8606106089 1653308734 1653302414 1653232124 5003441824 1653210526 1653282707 1653279406 1653275578 D500412205 5003416305 5003413757 5003353862 1653243790 1653238758 1653238766 D500352518 Patch Files: X400.X400-RUN,fr=D.02.01.00,fa=HP-UX_B.11.00_32/64,v=HP: /opt/x400/lbin/admin /opt/x400/lbin/rts /opt/x400/lbin/mta /opt/x400/lbin/x4mailer /opt/x400/bin/x4logview /opt/x400/bin/patch/PHNE_23640/ompatch.idx X400.X400-GAPI-PRG,fr=D.02.01.00,fa=HP-UX_B.11.00_32/64, v=HP: /opt/x400/lib/gtwapi/libMT.a X400.X400-HLAPI-PRG,fr=D.02.01.00,fa=HP-UX_B.11.00_32/64, v=HP: /opt/x400/lib/hlapi/x4apilib.a what(1) Output: X400.X400-RUN,fr=D.02.01.00,fa=HP-UX_B.11.00_32/64,v=HP: /opt/x400/lbin/admin: X400-RUN: D.02.01.02 (11.x) $Date: 2000/08/01 09:27: 30 $ X400-RUN: D.02.00.02 (10.x) $Date: 2000/08/01 09:27: 30 $ /opt/x400/lbin/rts: X400-RUN: D.02.00.11 - HP-UX 10.x $Date: 2000/08/01 05:37:35 $ X400-RUN: D.02.01.02 - HP-UX 11.x $Date: 2000/08/01 05:37:35 $ /opt/x400/lbin/mta: X400-RUN: D.02.00.12 - HP-UX 10.x $Date: 2001/03/14 18:37:47 $ X400-RUN: D.02.01.04 - HP-UX 11.x $Date: 2001/03/14 18:37:47 $ /opt/x400/lbin/x4mailer: X400-RUN: D.02.00.02 - HP-UX 10.X $Date: 98/09/21 13 :54:28 $ X400-RUN: D.02.01.01 - HP-UX 11.X $Date: 98/09/21 13 :54:28 $ 9.X nsswitch patch Rev B /opt/x400/bin/x4logview: X400-RUN: D.02.01.01 - HP-UX 11.x $Date: 98/12/18 04 :44:14 $ X400-RUN: D.02.00.01 - HP-UX 10.x $Date: 98/12/18 04 :44:14 $ /opt/x400/bin/patch/PHNE_23640/ompatch.idx: No what strings X400.X400-GAPI-PRG,fr=D.02.01.00,fa=HP-UX_B.11.00_32/64, v=HP: /opt/x400/lib/gtwapi/libMT.a: X400-GTWAPI: D.02.00.14 - HP-UX 10.x $Date: 2000/07 /31 11:08:40 $ X400-GTWAPI: D.02.01.06 - HP-UX 11.x $Date: 2000/07 /31 11:08:40 $ X400.X400-HLAPI-PRG,fr=D.02.01.00,fa=HP-UX_B.11.00_32/64, v=HP: /opt/x400/lib/hlapi/x4apilib.a: X400-RUN: D.02.00.01 - HP-UX 10.x $Date: 98/09/22 14 :34:18 $ X400-RUN: D.02.01.01 - HP-UX 11.x $Date: 98/09/22 14 :34:18 $ cksum(1) Output: X400.X400-RUN,fr=D.02.01.00,fa=HP-UX_B.11.00_32/64,v=HP: 975616442 1118168 /opt/x400/lbin/admin 2834384056 580284 /opt/x400/lbin/rts 2360350711 716294 /opt/x400/lbin/mta 1603242453 847872 /opt/x400/lbin/x4mailer 2870182083 208896 /opt/x400/bin/x4logview 193183982 16565 /opt/x400/bin/patch/PHNE_23640/ompatch.idx X400.X400-GAPI-PRG,fr=D.02.01.00,fa=HP-UX_B.11.00_32/64, v=HP: 3135669356 1711256 /opt/x400/lib/gtwapi/libMT.a X400.X400-HLAPI-PRG,fr=D.02.01.00,fa=HP-UX_B.11.00_32/64, v=HP: 2885645769 1377708 /opt/x400/lib/hlapi/x4apilib.a Patch Conflicts: None Patch Dependencies: None Hardware Dependencies: None Other Dependencies: None Supersedes: PHNE_16480 PHNE_16628 PHNE_17288 PHNE_22119 PHNE_22569 Equivalent Patches: PHNE_23639: s700: 10.01 10.10 10.20 10.30 s800: 10.01 10.10 10.20 10.30 Patch Package Size: 6470 KBytes Installation Instructions: Please review all instructions and the Hewlett-Packard SupportLine User Guide or your Hewlett-Packard support terms and conditions for precautions, scope of license, restrictions, and, limitation of liability and warranties, before installing this patch. ------------------------------------------------------------ 1. Back up your system before installing a patch. 2. Login as root. 3. Copy the patch to the /tmp directory. 4. Move to the /tmp directory and unshar the patch: cd /tmp sh PHNE_23640 5. Run swinstall to install the patch: swinstall -x autoreboot=true -x patch_match_target=true \ -s /tmp/PHNE_23640.depot By default swinstall will archive the original software in /var/adm/sw/save/PHNE_23640. If you do not wish to retain a copy of the original software, use the patch_save_files option: swinstall -x autoreboot=true -x patch_match_target=true \ -x patch_save_files=false -s /tmp/PHNE_23640.depot WARNING: If patch_save_files is false when a patch is installed, the patch cannot be deinstalled. Please be careful when using this feature. For future reference, the contents of the PHNE_23640.text file is available in the product readme: swlist -l product -a readme -d @ /tmp/PHNE_23640.depot To put this patch on a magnetic tape and install from the tape drive, use the command: dd if=/tmp/PHNE_23640.depot of=/dev/rmt/0m bs=2k Special Installation Instructions: SUBSYSTEM_SHUT 1. General HP X.400 and any applications utilising the XAPI interface must be shut down before installing this patch. 2. Sending User abort if MTT times out and No response To ebnable RTS to send user abort on timeout (SR 1653238758 and 1653238766 of patch PHNE_14985), the file /etc/opt/x400/.ub_on_timeout special must exist. To create the file, log on as x400 user and execute the following command touch /etc/opt/x400/.ub_on_timeout for HP UX-10.x Note: The default behaviour of the RTS is unchanged 3. Expanded alias not to be considered as Bcc recipient: To DISABLE showing the Bcc recipients , a file namely ".no_bcc" should be present. (SR 5003413757 of patch PHNE_16480) To create the file, log on as x400 user and execute the following command for HP-UX 10.x & 11.x: touch /etc/opt/x400/.no_bcc Note: The default behaviour of the x4mailer is unchanged. 4. Log when moving files to uq in mta.evnt To make mta log when moving corrupted messages to uq, a file namely .log_mv_to_uq should be present. (SR 1653275578 of patch PHNE_16628) To create the file, log on as x400 user and execute the following command touch /etc/opt/x400/.log_mv_to_uq 5. Avoid mta critical error and move corrupt messages to uq To avoid mta critical error and to move corrupt messages to uq the file .avoid_crit_err should be present (SR 1653282707 of patch PHNE_16628) To create this file , log on as x400 user and execute the following command touch /etc/opt/x400/.avoid_crit_err 6. To solve the problem mentioned in CR JAGad12445: Apart from using the new version of the GAPI library shipped with this patch, the class files xmhp84 and xmhp88 under /opt/x400/lib/gtwapi should be changed. The following line needs to be added for the classes 0x1E, 0x1F and 0x20 in the MH 84 and MH 88 packages. 288 1 NA NA 1 1 NA 1 NA Alternatively, copy the line which has the first column as '288' under class '0x1A'. Paste this line after the attribute '277' in classes 0x1E, 0x1F and 0x20. Remove the file xmhp84.fc and xhmp88.fc under /opt/x400/lib/gtwapi. Restart the application interface that uses HP X.400 Gateway API.