Patch Name: PHNE_9221 Patch Description: s700_800 10.10 FTAM9000 E.03.00 cumulative patch Creation Date: 96/12/03 Post Date: 96/12/04 Repost: 96/12/20 The patch documentation was modified to remove references to a defect that is not corrected in this patch. Hardware Platforms - OS Releases: s700: 10.10 s800: 10.10 Products: FTAM9000 : 10.10 Filesets: FTAM9000.FTAM,E.03.01 FTAM9000.FTAM_MAN,E.03.01 Automatic Reboot?: No Status: General Superseded Critical: No (superseded patches were critical) PHNE_8087: MEMORY_LEAK PHNE_6945: OTHER ftam_resp with -api option was not working for customer due to which customer was unable to use ftam responder. Path Name: /hp-ux_patches/s700_800/10.X/PHNE_9221 Symptoms: PHNE_9221: 1. The future filesize is displayed incorrectly with "fls" and "ftam". 2. ftam_init hangs when source or destination file is removed during an fcp. 3. pwd command of interactive ftam works only after a "cd" is issued. 4. The first "cd" in interactive ftam has to be with an absolute path. 5. FTAM returns inappropriate error in Service class negotiation. When an initiator issues a request to establish FTAM regime with specifying only TM class, 9k responder gives error message "unsupported service class" instead of "inconsistent service class" which is more appropriate. 6. FTAM hangs when qos is set to FT_CLASS_1_RECOVERY. It was found to transfer some data before hanging. This was observed with the demo program "ftm_llcopy". 7. The "put" function of interactive ftam was not working for large files when ft_qos was set to 2. The process "ftam_init" dumps core. 8. In interactive ftam, "set o y" and "set o n" does not work. Irrespective of y/ n, the overwrite option always toggles. 9. The binary files, FTAM-3 documents with variable string significance could not be transferred with HP FTAM. 10. There was a discrepancy between FTAM Programmer's guide and fchdoc. Also the string significance for FTAM-3 documents could not be set to "variable" using fchdoc. 11. FTAM hangs if remote aborts while reading attributes. Interactive ftam sometimes hangs with get/ put operation. However the file seems to get transferred. PHNE_8263: 1. If the remote responder accepts only graphic string passwords, ftam cannot connect to such machines. 2. During nettl tracing if ACSE_US entity is enabled, ftam returns with an error "Service Provider unavailable". PHNE_8087: 1. Time varying and machine dependent memory leak with the interactive ftam get operation, fcp and high level copy. 2. Memory leak with low level copy operations. 3. Wrong encoding of AE_QUALIFIER. If the value of the AE qualifier has the MSB set or if it is -ve number, the encoding was wrong. PHNE_6945: 1. FTAM responder with api option does not work properly in E.03.00 2. Demo program ftm_connect does not work from E.03.00 ftam initiator to D.02.02.03 ftam responder Defect Description: PHNE_9221: 1. There was a bug in the initialization of the bit mask which was being used to check the attributes to be printed. Also the future filesize field was being wrongly initialized to -2 instead of 0 in some cases. 2. The state machine part of the code had some bugs. When the destination file was removed in a particular state of "ftam_resp", it was taking a wrong action and state transfer finally resulting in a deadlock condition. 3. A local variable was being maintained to track the working directory on the remote side (for the "pwd" command of interactive ftam). Since it was initialized to empty string ( "" ) at connection/ login, pwd without a "cd" issued before it was giving an error. 4. In interactive ftam, a "cd" without any arguments gives an error. Also the first "cd" issued should be with some absolute path. This was because a local variable was maintained to track the working directory on the remote side and it was initialized to null string. 5. The error checking part of the service class negotiation code was wrong. It doesnot differentiate between the two conditions "unsupported" and "inconsistent". 6. ftm_llcopy doesnot work if qos > 0. While receiving the requested data through ft_rdata(), the destination connection id is not specified in the user process. This causes a problem because in ftam_init, the destination qos is extracted using the dest_cid. Also at the ftam_init end, when the checkpoint window is found to be full,the initiator process does not send any indication of this to the user process, instead goes into a wait state (waiting for a new request). The user process on the other end keeps waiting for the requested data. Hence a new API ft_rdataqos() is added and some changes are done in the SPP. 7. Memeory corruption occurs in the part of the code that deals with qos > 0. The freed memory was used resulting in core dump. The flow control part of the code was not working properly. 8. In interactive ftam, there was a bug in the part of the code that handles the parameter to the "set o" option. Due to this the user specified input (either 'y' or 'n') was being ignored. 9. The variable string significant FTAM-3 documents were not supported by HP FTAM. But as per the standards, the string significance can be anything. 10. Though the programmer's guide says that only "no" significance is supported for FTAM-3 documents, fchdoc accepts "fixed" significance as well. Also the standards say that FTAM-3 document can be of any type ( no/ fixed/ variable significance). 11. After the file was transferred, the attributes of the file were read. If an abort comes from the remote at this point, FTAM hangs. This part of the code has memory corruption/ initialization problem. PHNE_8263: 1. FTAM did not have a provision to encode and send the passwords as graphic strings. This is required if FTAM has to be conformant to ENV-41204 and ISP-AFT11. 2. With ACSE_US entity enabled for nettl tracing, some memory corruption was happening which resulted in ftam_init getting killed and ftam returning errror message. PHNE_8087: 1. In FTAM for 10.10 version, the encoded PDUs are sent to a stream. If the stream is full, the PDUs are put in a queue and written to the stream later. Under this condition some memory allocated to the enqueued PDUs was not being released. This problem happens when the source machine has higher throughput than the destination machine or when the destination machine is heavily loaded. 2. In the case of low level copy the PDUs received from a remote responder are decoded and queued up by the SPP and sent to the UP later. The flow control mechnaism which was regulating the number of pdus queued up had a bug. This bug resulted in the pdus simply piling up at the SPP. 3. AE Qualifiers whose MSB is set or whose value is -ve were not encoded properly. PHNE_6945: 1. The data structures required for interprocess communication between ftam responder and the user process were not initialized. This resulted in failure of "ftam_resp -api". When the data structures were initialized properly, the problem was solved 2. The called and calling qualifier field in AARQ(Association Request) PDU of ACSE was not coded properly by ftam_init. The ftam responder on the other side treated it as error and aborted the connection SR: 1653177311 1653179556 1653165423 1653171975 1653174490 1653163337 1653154880 1653154203 1653186379 1653178269 1653185637 1653188383 4701328997 1653178848 1653192740 1653190934 1653193300 1653191213 Patch Files: /opt/ftam/lbin/ftam_init /opt/ftam/lbin/ftam_resp /opt/ftam/lib/libmapftam.a /opt/ftam/shlib/libmapftam.sl /etc/opt/ftam/conf/ftam_pw /opt/ftam/man/man1.Z/fchdoc.1 /opt/ftam/man/man1.Z/ftam.1 /opt/ftam/man/man3.Z/ft_rdata.3n /opt/ftam/man/man3.Z/ft_rdataqos.3n /opt/ftam/shlib/libmap.sl /opt/ftam/lib/libmap.a /opt/ftam/bin/ftam /opt/ftam/bin/fchdoc what(1) Output: /opt/ftam/lbin/ftam_init: FTAM: E.03.01 96/12/03 s800 ftam_init 10.10 apri_aif.c, 96/11/27 PHNE_9221 $Header: msg.c,v 8.14 96/12/03 10:30:00 PHNE_9221 $ /opt/ftam/lbin/ftam_resp: FTAM: E.03.01 96/12/03 s800 ftam_resp 10.10 apri_aif.c, 96/11/27 PHNE_9221 $Header: msg.c,v 8.14 96/12/03 10:30:00 PHNE_9221 $ /opt/ftam/lib/libmapftam.a: $Header: aif_util.c,v 9.2 96/12/03 10:30:00 PHNE_922 1 $ FTAM: E.03.01 96/12/03 s800 libmapftam.a /opt/ftam/shlib/libmapftam.sl: FTAM: E.03.01 96/12/03 s800 libmapftam.sl $Header: aif_util.c,v 9.2 96/12/03 10:30:00 PHNE_922 1 $ /etc/opt/ftam/conf/ftam_pw: FTAM Passwd Config file /opt/ftam/man/man1.Z/fchdoc.1: nil /opt/ftam/man/man1.Z/ftam.1: nil /opt/ftam/man/man3.Z/ft_rdata.3n: nil /opt/ftam/man/man3.Z/ft_rdataqos.3n: nil /opt/ftam/shlib/libmap.sl: FTAM: E.03.01 96/12/03 s800 libmap.sl $Header: msg.c,v 8.14 96/12/03 10:30:00 PHNE_9221 $ /opt/ftam/lib/libmap.a: $Header: msg.c,v 8.14 96/12/03 10:30:00 PHNE_9221 $ FTAM: E.03.01 96/12/03 s800 libmap.a /opt/ftam/bin/ftam: FTAM: E.03.01 96/12/03 s800 ftam $Header: aif_util.c,v 9.2 96/12/03 10:30:00 PHNE_922 1 $ FTAM: E.03.01 96/12/03 s800 libmapftam.a $Header: msg.c,v 8.14 96/12/03 10:30:00 PHNE_9221 $ /opt/ftam/bin/fchdoc: FTAM: E.03.01 96/12/03 s800 fchdoc cksum(1) Output: 2310450219 1110606 /opt/ftam/lbin/ftam_init 3462820021 1012198 /opt/ftam/lbin/ftam_resp 1952397375 372562 /opt/ftam/lib/libmapftam.a 1414192625 580061 /opt/ftam/shlib/libmapftam.sl 803747064 2141 /etc/opt/ftam/conf/ftam_pw 1939742239 3883 /opt/ftam/man/man1.Z/fchdoc.1 4237591471 6460 /opt/ftam/man/man1.Z/ftam.1 3107377653 2546 /opt/ftam/man/man3.Z/ft_rdata.3n 2078762775 2800 /opt/ftam/man/man3.Z/ft_rdataqos.3n 1033544714 430915 /opt/ftam/shlib/libmap.sl 1880162021 445748 /opt/ftam/lib/libmap.a 1609238537 605066 /opt/ftam/bin/ftam 3484906884 49262 /opt/ftam/bin/fchdoc Patch Conflicts: None Patch Dependencies: None Hardware Dependencies: None Other Dependencies: None Supersedes: PHNE_6945 PHNE_8087 PHNE_8263 Equivalent Patches: None Patch Package Size: 4590 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_9221 5a. For a standalone system, run swinstall to install the patch: swinstall -x autoreboot=true -x match_target=true \ -s /tmp/PHNE_9221.depot 5b. For a homogeneous NFS Diskless cluster run swcluster on the server to install the patch on the server and the clients: swcluster -i -b This will invoke swcluster in the interactive mode and force all clients to be shut down. WARNING: All cluster clients must be shut down prior to the patch installation. Installing the patch while the clients are booted is unsupported and can lead to serious problems. The swcluster command will invoke an swinstall session in which you must specify: alternate root path - default is /export/shared_root/OS_700 source depot path - /tmp/PHNE_9221.depot To complete the installation, select the patch by choosing "Actions -> Match What Target Has" and then "Actions -> Install" from the Menubar. 5c. For a heterogeneous NFS Diskless cluster: - run swinstall on the server as in step 5a to install the patch on the cluster server. - run swcluster on the server as in step 5b to install the patch on the cluster clients. By default swinstall will archive the original software in /var/adm/sw/patch/PHNE_9221. If you do not wish to retain a copy of the original software, you can create an empty file named /var/adm/sw/patch/PATCH_NOSAVE. Warning: If this file exists when a patch is installed, the patch cannot be deinstalled. Please be careful when using this feature. It is recommended that you move the PHNE_9221.text file to /var/adm/sw/patch for future reference. To put this patch on a magnetic tape and install from the tape drive, use the command: dd if=/tmp/PHNE_9221.depot of=/dev/rmt/0m bs=2k Special Installation Instructions: None