Patch Name: PHNE_10091 Patch Description: s700_800 10.20 FTAM9000 E.04.00 cumulative patch Creation Date: 97/02/12 Post Date: 97/02/24 Hardware Platforms - OS Releases: s700: 10.20 s800: 10.20 Products: FTAM9000 : 10.20 Filesets: FTAM9000.FTAM,E.04.00 FTAM9000.FTAM_MAN,E.04.00 Automatic Reboot?: No Status: General Superseded Critical: No Path Name: /hp-ux_patches/s700_800/10.X/PHNE_10091 Symptoms: PHNE_10091: 1. No error is flagged even if the number of responders forked off exceeds ae_max_inb_assoc. 2. When only T and TM service classes are negotiated, ftam does not give an error 3. When a document type not negotiated is sent, ftam_init does not indicate error 4. ftam handles the Presentation context definition reply list inconsistently 5. errors in fchdoc if LANG is set to C 6. Errors in demo programs 7. The future filesize is displayed incorrectly with "fls" and "ftam". 8. ftam_init hangs when source or destination file is removed during an fcp. 9. pwd command of interactive ftam works only after a "cd" is issued. 10. The first cd in interactive ftam has to be with an absolute path 11. 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. 12. 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". 13. 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. 14. In interactive ftam, "set o y" and "set o n" does not work. Irrespective of y/ n, the overwrite option always toggles. 15. The binary files, FTAM-3 documents with variable string significance could not be transferred with HP FTAM. 16. 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. 17. FTAM hangs if remote aborts while reading attributes. Interactive ftam sometimes hangs with get/ put operation. However the file seems to get transferred. 18. If the remote responder accepts only graphic string passwords, ftam cannot connect to such machines. 19. During nettl tracing if ACSE_US entity is enabled, ftam returns with an error "Service Provider unavailable 20. 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 21. FTAM unable to handle strings of length > 2GB 22. FTAM sends future file size as 0, which actually means the filesize cannot grow beyond zero. If future file size is partially supported, then it need not be sent at all. 23. FTAM returns wrong error code when invalid filestore password or an incorrect user name is specified. Defect Description: PHNE_10091: 1. The logic to keep track of the number of responders forked off was not existing. This has now been added. 2. There was a bug in the code that was checking the permitted combinations of service classes. So ftam_init was allowing T and TM to be negotiated. 3. In ftam_init, the logic to check the document type negotiated against the document that the user was trying to send was not present. For instance, if INTAP-1 was not negotiated and the user tries sending it, no error was being indicated. 4. In CPA PPDU, the NBS-OLD Abstract syntax was being shown as user reject. It should be indicated as provider reject. In CPR PPDU, the same abstract syntax was being accepted. 5. fchdoc was giving errors if LANG=C was set. 6. The source and destination parameters were interchanged in the demo programs. 7. 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. 8. 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. 9. 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. 10. 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 was initialised to null string. 11. The error checking part of the service class negotiation code was wrong. It doesnot differentiate between the two conditions "unsupported" and "inconsistent". 12. 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. 13. Memory 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. 14. 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. 15. The variable string significant FTAM-3 documents were not supported by HP FTAM. But as per the standards, the string significance can be anything. 16. 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). 17. 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. 18. 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. 19. 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. 20. AE Qualifiers whose MSB is set or whose value is -ve were not encoded properly. 21. The string lengths were being received and stored as signed intergers. So the maximum string length that could be handled was only 2GB 22. FTAM was sending the future file size as 0, which actually means the filesize cannot grow beyond zero. If futurefile size is partially supported, then it need not be sent at all. 23. The error codes returned when an invalid filestore or an incorrect filename was specified were wrong. SR: 4701343566 1653197913 1653194365 1653193524 1653193904 1653194753 1653197111 1653186387 1653177311 1653179556 1653174490 1653163337 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 /opt/ftam/lib/nls/C/fchdoc.cat /opt/ftam/demos/ftm_parm.c what(1) Output: /opt/ftam/lbin/ftam_init: FTAM: E.04.00 PHNE_10091 97/02/12 s800 ftam_init /opt/ftam/lbin/ftam_resp: FTAM: E.04.00 PHNE_10091 97/02/12 s800 ftam_resp /opt/ftam/lib/libmapftam.a: FTAM: E.04.00 PHNE_10091 97/02/12 s800 libmapftam.a /opt/ftam/shlib/libmapftam.sl: FTAM: E.04.00 PHNE_10091 97/02/12 s800 libmapftam.s l /etc/opt/ftam/conf/ftam_pw: FTAM Passwd Config file /opt/ftam/man/man1.Z/fchdoc.1: None /opt/ftam/man/man1.Z/ftam.1: None /opt/ftam/man/man3.Z/ft_rdata.3n: None /opt/ftam/man/man3.Z/ft_rdataqos.3n: None /opt/ftam/shlib/libmap.sl: FTAM: E.04.00 PHNE_10091 97/02/12 s800 libmap.sl /opt/ftam/lib/libmap.a: FTAM: E.04.00 PHNE_10091 97/02/12 s800 libmap.a /opt/ftam/bin/ftam: FTAM: E.04.00 PHNE_10091 97/02/12 s800 ftam FTAM: E.04.00 PHNE_10091 97/02/12 s800 libmapftam.a /opt/ftam/bin/fchdoc: FTAM: E.04.00 PHNE_10091 97/02/12 s800 fchdoc /opt/ftam/lib/nls/C/fchdoc.cat: FTAM: E.04.00 PHNE_10091 97/02/12 s800 ftam change d ocument catalog /opt/ftam/demos/ftm_parm.c: FTAM: ftm_parm.c $Revision: 9.3 $ $Date: 94/11/18 11 :24:37 $ cksum(1) Output: 1333998889 1515532 /opt/ftam/lbin/ftam_init 2436204682 1404628 /opt/ftam/lbin/ftam_resp 2411470741 475758 /opt/ftam/lib/libmapftam.a 1896433056 633211 /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 3696462005 480853 /opt/ftam/shlib/libmap.sl 3799366611 366068 /opt/ftam/lib/libmap.a 1317593514 679026 /opt/ftam/bin/ftam 1740971471 49349 /opt/ftam/bin/fchdoc 609414484 5836 /opt/ftam/lib/nls/C/fchdoc.cat 3196377980 44517 /opt/ftam/demos/ftm_parm.c Patch Conflicts: None Patch Dependencies: None Hardware Dependencies: None Other Dependencies: None Supersedes: None Equivalent Patches: None Patch Package Size: 5610 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_10091 5a. For a standalone system, run swinstall to install the patch: swinstall -x autoreboot=true -x match_target=true \ -s /tmp/PHNE_10091.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_10091.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_10091. 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_10091.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_10091.depot of=/dev/rmt/0m bs=2k Special Installation Instructions: None