Patch Name: PHNE_17525 Patch Description: s700_800 10.20 FTAM9000 E.04.0[01] cumulative patch Creation Date: 99/09/02 Post Date: 99/09/27 Hardware Platforms - OS Releases: s700: 10.20 s800: 10.20 Products: FTAM9000 E.04.00 E.04.01 Filesets: FTAM9000.FTAM,E.04.00,E.04.01 FTAM9000.FTAM_MAN,E.04.00,E.04.01 Automatic Reboot?: No Status: General Superseded Critical: Yes PHNE_17525: HANG CORRUPTION ABORT FTAM transfer hangs, when ft_connect() API runs with parameter number_of_retry > 0. ftam_init hangs the system, by running at real time priority. Memory corruption in calling fr_rireceive() API. The transfer for FTAM-1 file-type files with fixed length string significance ,aborts while communicating to DEC and SUN FTAM. ftm_llcopy() appln. is hanging when transfering large files. PHNE_13964: CORRUPTION PHNE_11568: CORRUPTION Path Name: /hp-ux_patches/s700_800/10.X/PHNE_17525 Symptoms: PHNE_17525: 1. JAGaa44222 (SR 1653284604 ): em_wait() hangs sometimes when it is run in a loop. 2. JAGaa32723 (SR 1653275875): Data lost at ACSE layer using FTAM-3 files with maximum record length of 32767 bytes. 3. JAGaa62777 (SR 1653292391): The transfer for FTAM-1 file-type files with fixed length string significance , aborts while communicating to DEC and SUN FTAM. 4. JAGab03867 (SR 1653300228 ): For FTAM-1 files with fixed record length ,space characters are truncated. 5. JAGab17979 (SR 1653305920): ft_connect() hangs if a DR-TPDU is received in answer to a CN-SPDU . 6. JAGab12535 (SR 1653301200): FTAM CPU usage is very high depending on X25 parameters and TPDU size . 7. JAGab39184 : vspy() application is dumping core . 8. JAGab71376 : System hangs with ftam_init running at priority 0. 9. JAGab73454 : ftm_llcopy application hangs when transferring large files. PHNE_16637: 1. SR 1653274027: FTAM dumps core when multiple local applications are defined in the local_app file. 2. SR 1653263673: Low layer FTAM APIs hang when receiving a F-P-ABORT PDU. 3. SR 5003413518: Enhancement request to make FTAM C2 compliant in 10.20. 4. SR 1653261453: FTAM does not send F-P-Abort when functional units are missing in F-INITIALIZE response. 5. SR 1653261461: FTAM does not send F-P-Abort when the grouping bit in the functional unit is not present in F-INITIALIZE response. 6. SR 1653261487: F-U-Abort is incorrectly sent instead of F-P-Abort if the F-INITIALIZE-Reponse includes more document types than requested in the F-INITIALIZE request. 7. SR 1653261479: F-P-Abort is not sent when QOS is not present in the F-INITIALIZE response. 8. SR 5003439562: ANSI C compiler returns invalid prototype error in mapftam.h file. PHNE_16296: 1. SR 1653257238: ft_egroup() hangs when "illegal grouping sequence" error is received. 2. SR 1653267682: FTAM_INIT does not handle ABORT PDU properly under some situations. 3. SR 4701400010 FTAM takes null password when there is no entry in .ftamrc file. 4. SR 1653263665 Enhancement to include prototypes for FTAM API functions for C++ support. PHNE_15317: 1. SR 1653256594: Enhancement for fcp to not prompt for password when there is no password. 2. SR 5003414391: FTAM - NSAP rollover code is not working. 3. SR 4701393975: FTAM API trace log file is incomplete if application is interrupted by a Control-C. 4. SR 1653206110: Improper member declaration in structures using reserved keywords. 5. SR 1653211663: FTAM changes the value of the string length when the files are transferred. 6. SR 1653212027: Enhancement to make the default document type configurable. 7. SR 1653251959: ft_sdata is not working with data unit that is larger than 7K 8. SR 1653255919: ft_rdata hangs when max rec length received is equal to 32767 9. SR 1653234286: Enhancement to have a maximum record length up to 32K for FTAM-3 files. PHNE_14264: 1. SR 4701383489: Fix for improper reading of directory data when encoded as indefinite length PDUs has problems(refer SR1653240754). PHNE_13964: 1. SR 1653227264: When ft_create/ft_open is used to open a file with EXCLUSIVE access and REPLACE mode, another ft_create/ft_open can access this file. This is not correct. 2. SR 1653228031: Concurrency control information not being sent in F-SELECT and F-CREATE. 3. SR 1653228049: Reading an NBS-9 document that does not have 'x' permission does not work correctly. 4. SR 1653229864: Incorrect Diagnostic info sent in F-CANCEL-rsp PDU. It is just a copy of F-CANCEL-req. 5. SR 1653234229: When error id 1007 (F-P-ABORT) is reported, an additional error (1011: Lower Layer failure) is also reported. 6. SR 1653234237: When error id 2003 is reported, error id 1011 is also additionally reported. This is incorrect. 7. SR 1653237685: The count for the connect request retry mechanism to be made configurable. 8. SR 1653239871: Incorrect Action-result and diagnostic type for F-CREATE_rsp when the create fails due to disk full condition. 9. SR 1653240754: FTAM does not read directory data properly when encoded as indefinite length PDUs. 10. SR 4701377648: fdel/fls dumps core with file path names greater than 256. 11. SR 1653231480: netfmt dumps core when formatting CM messages. 12. SR 1653234211: When reading data from a remote machine, ft_sdata hangs when local file system is full. 13. SR 1653237180: FTAM does not accept new connections after receiving a disconnect. 14. SR 1653226209: Inconsistency between action-result and diagnostic type in F-CANCEL PDU. 15. SR 1653228916: Checkpoints value in MIP SPDU is incremented without waiting for MIA. 16. SR 1653230458: In a grouped sequence, even if one of operations fails, others are executed. This happens with a grouped sequence consisting of F-SELECT/F-CHANGE-ATTR/F-OPEN. Even if F-OPEN fails, F-CHANGE-ATTR is executed. This is incorrect. 17. SR 5003398040: When multiple simultaneous ftam connections are initiated, at times, some of the connection requests fail. 18. Reference to incorrect patch number in symptoms field of patch document for PHNE_11568 has been corrected. PHNE_13086: 1.FTAM dir command does not work correctly under some conditions. 2.ft_create() fails with FT_FA_REPLACE or FT_FA_EXTEND. 3.FTAM changes the string length when transfering files. 4.Inconsistent attributes specified in ft_select/ft_open causes problems. 5.Wrong error_source value is set by responder when error_id = 3028. 6.ftam API tracing causes core dump due to bad fprintf(). 7.FTAM sends calling-AE-invocation-identifier by default which is not accepted by some switches. 8.Wrong action-result in F-INITIALIZE-rsp when wrong Functional Unit is specified in the F-INITIALIZE-req. 9.Wrong error_observer/error_source set in F-CANCEL-req. 10.Enhancement Request for adding the option 'N' to fcp command. PHNE_12731: 1.Enhancement Request to make FTAM PDU size configurable. PHNE_11568: 1. Incorrect Diagnostic information being returned by FTAM for some PDUs. 2. Encoding of error_observer and error source fields of diagnostics incorrect for some PDUs. 3. ft_connect() does not use the called AE/AP invocation identifiers even when they are explicitly specified. 4. F-CANCEl PDUs are logged twice in the nettl trace file for a single ft_cancel() call. 5. Incorrect diagnostics generated for F-CANCEL response by FTAM. 6. When API tracing is enabled, FTAM logs diagnostics twice for ft_cancel and the first instance is incorrect. 7. When F_READ_ATTRIBUTES is issued without specifying FT_FA_READ_ATTRIBUTE in ft_select(), the diagnostics are displayed incorrectly. 8. ftam_init writes the F_CANCEL_rsp PDU twice in the nettl trace file. 9. Transfer of FTAM-3 document with small string lengths (< 16 bytes) not possible. When nettl trace is enabled only on the initiator machine, an IPC error happens. When nettl is enabled on both machines, the connection is aborted by the responder. 10. ft_sdata call fails with a core dump when API tracing is enabled and when the remote issues a F_CANCEL request. 11. When a F_DELETE is issued without specifying FT_FA_DELETE_FILE in F_SELECT, the diagnostics displayed by ftam_init are incorrect. 12. When ftam_init sends a F-TRANSFER-END request and if the ftam_resp issues a F-CANCEL request before receiving this, then ftam_init hangs. 13. ftam_resp sends the future file size incorrectly as 0 in the F-CREATE-rsp PDU. This should be NULL. 14. ftam_init generates "Lower Layer Failure" error when multiple simultaneous connections are attempted. 15. ftam_resp dumps core when the Calling NSAP is sent as NULL by a remote system. 16. FTAM exits with "IPC Error" with 'get' operations when USE_VFS_LINK is set to no. This happens when transferring files that are more than a few MB in size. 17. Error in Manpages for ft_aereset and ft_aedeactivation 18. fchdoc manpage does not document "Traversal" permitted action. 19. Unresolved symbols in FTAM shared library libmap.sl. 20. Interactive FTAM does not work when LANG=C, due to bad catalog file. 21. Interactive ftam with overwrite set to no does not work when LANG is set to ja_JP.SJIS or ja_JP.eucJP. 22. osistat does not work. 23. Error in filesize when transferring files of size less than 11 bytes. 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_17525: 1. JAGaa44222 (SR 1653284604): The variable con_id was not being initialized to zero and it used to have a random value. That is why em_wait() was hanging sometimes and not consistently. Resolution: The con_id is being initialized to zero, therefore now the hang does not occur. 2. JAGaa32723 (SR 1653275875): When the PDU size is large(~32767) FTAM splits the data and calls ap_snd() twice. When ap_snd() sends the first part of the data and returns AP_AGAIN, FTAM queues the data and does not send the second part of data, resulting in data loss. Resolution: When ap_snd() returns AP_AGAIN, ap_snd() is invoked again with the same parameters, till it is successful,therefore no data loss occurs now . 3. JAGaa62777 (SR 1653292391): There was a bug due to which parsing of the attributes of the file was returning invalid value and hence the transfer was aborting. Resolution: While reading the string length of the file we were using the routine getunsignedlong and the string length was being interpreted as negative value. Now we are using the routine getlonglong and it is working fine. 4. JAGab03867 (SR 1653300228): While receiving the data of document type FTAM1 and fixed string significance (fixed string length), by default the space characters are removed because padding characters also happen to be space characters. Resolution: A flag (FTAM1_PADDING_FLAG) has been provided in the ftam_conf file, which has to be set to the value 1 in order to suppress the default behaviour so that the space characters will not be removed. 5. JAGab17979 (SR 1653305920): There was a bug in the way the Provider Abort indication was handled for the case where retry parameters(retry on transient errors)for ft_connect() was set greater than 0. Resolution: The data structure which stores the retry parameters for Abort indication, is now being used for ft_connect() with retry parameter set to greater than zero also . 6. JAGab12535 (SR 1653301200): ap_rcv() is retried as long as the ap_rcv() returns with ap_errno set to AP_AGAIN . This looping and invoking of ap_rcv() was causing the SPP to consume CPU whereas no productive work was being achieved . Resolution: ap_rcv() is retried after a delay of one second, if AP_AGAIN is returned more than twice. 7. JAGab39184 : A global array was used to copy memory address in API call fr_rireceive(), which was freed upon Termination or Abort indication .When applications were connecting to vspy app. and doing multiple file transfers ,unallocated memory was being used to store the memory addresses, causing core dump. Resolution: The 12 bytes allocation which is done on the invocation of fr_ireceive() API , is being freed after the completion of the event, in the event-handler. 8. JAGab71376 : If the file to be accessed is already locked exclusively by someone else, the ftam_init tries to clean up the lock entries if owned by dead processes .The implementation of this was done using rtprio() system call which was wrong. This was causing ftam_init to become a real-time process and cause system hang. Resolution: The implementation was changed to make use of another appropriate system call. 9. JAGab73454 : In the demos file ftm_parm.c the QOS value is set to FT_CLASS_1_RECOVERY . (*input_dcb)->connect_in_info.quality_of_service = FT_CLASS_1_RECOVERY; ftm_llcopy application with this setting and ft_rdata() api is causing the ftam_init to hang. Resolution : The ftm_parm.c file has been changed such that QOS has been set to FT_NO_RECOVERY . PHNE_16637: 1. SR 1653274027: Insufficient size of an array used to read the contents of the local_app file, was causing a segmentation violation. 2. SR 1653263673: Uninitialized contexts were resulting in incorrect decoding of an ABORT PDU. 3. SR 5003413518: Enhancement Request to make FTAM C2 compliant in 10.20. 4. SR 1653261453: FTAM Protocol Abort was not being sent when the F-INITIALIZE response contained invalid mandatory parameters. 5. SR 1653261461: FTAM Protocol Abort was not being sent when the F-INITIALIZE response contained invalid mandatory parameters. 6. SR 1653261487: FTAM Protocol Abort was not being sent when the F-INITIALIZE response contained invalid mandatory parameters. 7. SR 1653261479: FTAM Protocol Abort was not being sent when the F-INITIALIZE response contained invalid mandatory parameters. 8. SR 5003439562: Invalid prototypes for FTAM API functions in mapftam.h was causing compilation errors with ANSIC compilers. PHNE_16296: 1. SR 1653257238: Uninitialized contexts were resulting in incorrect decoding of an ABORT PDU. 2. SR 1653267682: Uninitialized contexts were resulting in incorrect decoding of an ABORT PDU. 3. SR 4701400010 Incorrect value for a variable was making FTAM not prompt for a password when the .ftamrc file was not being used. 4. SR 1653263665 Enhancement to include prototypes for FTAM API functions for C++ support. PHNE_15317: 1. SR 1653256594: Enhancement for fcp to not prompt for password when there is no password. When there's no password field in the ftamrc file, fcp will not prompt for a password. 2. SR 5003414391: The NSAP rollover code was not part of the abort processing code. 3. SR 4701393975: The FTAM API trace log file was not getting flushed. This has been rectfied now. 4. SR 1653206110: Improper member declaration in structures using reserved keywords. For example the C++ reserved keyword "class" was being used as a structure member. 5. SR 1653211663: When a file is transferred with string-length equal to zero, there is a discrepency between the string length value present in the source and destination attribute files and the string length value on the request and response PDUs. When the string length is set to zero, FTAM was internally assuming certain default values and using these for the transfer. 6. SR 1653212027: FTAM has been enchanced so that the default document type assumed is configurable. The user can now specify the default type to be used in the ftam configuration file (/etc/opt/ftam/conf/ftam_conf). The document parameters can be specified in this file. In the absence of these parameters or if they are set to invalid values, FTAM continues to assume the default document type as FTAM-1. The user is allowed to set only the following 4 parameters: Document type (Mandatory), String type (optional), Maximum string length (optional), String significance (optional). The default value for the permitted actions is set depending on the document type and the user is not allowed to set the permitted actions in the configuration file. This enhancement will be available for all modes of FTAM: Interactive, Commandline and Application Programmatic Interface.The configuration file if present is also used by fchdoc in the display mode. If the shadow file is not present and if the ftam_conf contains the default document type, then fchdoc displays this. An additional message is also added to indicate that the attributes are being read out of the ftam_conf file. 7. SR 1653251959: There was a limitation on the size of sockets used for communication between the user process and ftam_init. 8. SR 1653255919: There was a bug in the code which determines the number of data elements to be sent to the user process. 9. SR 1653234286: FTAM has been enhanced to handle Maximum Record Lengths of upto 32767 for FTAM-3 files. The user can set the Maximum Record Length for FTAM-3 files using fchdoc (as before).The user can also set the Maximum record length using the ftam configuration file(refer SR1653212027). The allowed range for the FTAM data PDU size that can be set in the configuration has been increased from 7168/12288 to 7168/32767(refer SR4701369835). This enhancement will be available for all modes of FTAM: Interactive, Commandline and Application Programmatic Interface. PHNE_14264: 1. SR 4701383489: Fix for improper reading of directory data when encoded as indefinite length PDUs has problems(refer SR1653240754). PHNE_13964: 1. SR 1653227264: FTAM was not setting the concurrency control lock for EXCLUSIVE. Because of this, another ftam was able to access the same file. This has been rectified. 2. SR 1653228031: When the attribute groups specified are kernel and storage, FTAM was not sending out concurrency information even if it was specified by the user. This is not correct because concurrency is a storage group function. This has been corrected. 3. SR 1653228049: There was a bug in the FTAM code because of which even the filenames were not read correctly if the directory does not have 'x' permission. This has been corrected. 4. SR 1653229864: There was a bug in the FTAM code that was causing incorrect Diagnostic info to be sent in F-CANCEL-rsp PDU. 5. SR 1653234229: FTAM was incorrectly processing User Aborts as Provider Aborts. This was causing error_id 1011 to be reported with 1007. 6. SR 1653234237: When a connection request has a failure, ftam_init was incorrectly generating an abort. 7. SR 1653237685: The count for the connect request retry mechanism has been made configurable. The default value is still 10. 8. SR 1653239871: Bug in the code which caused the diag type to be set incorrectly. 9. SR 1653240754: There was a bug in the code that was handling directory data when encoded as indefinite length PDUs. This has been rectified. 10. SR 4701377648: There was an character array definition of size 256 which was causing the core dump. 11. SR 1653231480: Incorrect variable declaration in the subformatter function was causing a core dump. 12. SR 1653234211: There was a bug in the code handling the diskfull condition for the local file system. 13. SR 1653237180: The ABORT received was not being processed because of incorrect control flow. 14. SR 1653226209: There was a bug in the code where the diag type info was being generated which was not matching the value of the action result. 15. SR 1653228916: The responder was using the initiator's check point window value for processing, which is incorrect. This has been rectified. 16. SR 1653230458: FTAM was executing the change attributes without checking whether the open would succeed. If open fails, we find that the change attributes has already been executed. This is not correct. 17. SR 5003398040: This problem was happening because FTAM was using the same P-addr for all the connections. Now an option has been added in the /etc/opt/ftam/ftam_conf file where the user can specify ftam_init to use a unique P-sel for each connection request. This option can be enabled by setting the flag UNIQUE_PSEL_FLAG to 1. If this option is not specified or this flag has a value 0 or any other invalid value, then FTAM will use a default behaviour, wherein a unqiue P-sel is not specified for each connection. 18. Reference to incorrect patch number in defect description field of patch document for PHNE_11568 has been corrected. PHNE_13086: 1.The initiator was ignoring the contents type sent to it and was instead using "FT_CONTENTS_UNKNOWN" to send the request to the remote machine. 2.Mapping of ftam READ and WRITE actions to UNIX read and write modes was wrong. All write actions mapped to "r+" forcing the user to specify a READ in the processing-mode of ft_open() even when only a write action is what was required. 3.When either no string-length is specified(contents-type unknown)or when string-length is ZERO, string-length is not specified in the request PDU. At the destination this no value available is interpreted as a max-string-length value of 7168 or a default fixed string length of 132. 4.The code where the character-set relaxation was done had an error - it was allowing a superclass(general-str) to be relaxed to a subclass(IA5-str). 5.When this error occurs the diagnostic type was being set to TRANSIENT error, while the action result was set to PERMANENT. 6.The format specifier in the fprintf() was missing. 7.The calling-AE-invocation-identifier value in the ACSE-AARQ PDU is optional, but FTAM was sending it by default. 8.Limited File Management FU is mandatory for supporting Enhanced File Management FU. But FTAM was not checking this condition correctly. It was allowing the remote to specify only Enhanced File Management FU without Limited File Management FU. 9.There was a bug while setting the error_observer and error_source value. 10.The option 'N' with fcp command facilitates the copying of a file without reading the attributes of the source file. This option is useful when the ftam_init is not allowed to read the attributes of the source file. PHNE_12731: 1. FTAM has been enhanced to make the FTAM PDU size configurable.The user can now specify the PDU size in the ftam configuration file(/etc/opt/ftam/conf/ftam_conf). The PDU size can be set to any value in a permitted range. This range is 7168 to 12288 (7K to 12K). If the value specified is invalid or not in this valid range, then the default value (7168) will be used. The values set will be applicable to all document types and will be applicable only to Data PDUs. This value determines the maximum number of bytes (from the file to be transferred)that will be sent in one PDU. This value does not include: a) Escape sequences that might be added. b) ASN Encoding. This enhancement will be available for all modes of FTAM: Interactive, Commandline and Application Programmatic Interface. PHNE_11568: 1. The FTAM code was assigning the fields of the diagnostic information wrongly. 2. There was a bug in the code which resulted in the error source and error_observer fields being set incorrectly. 3. The bit mask that was used by the service provider to identify the fields that have to be processed was incorrectly set. So the Called AE/AP were not being processed even if are explicitly specified. 4. The ft_cancel related code was calling the function to write the PDU into the trace file, twice. 5. There was a bug in the code that was processing the F_CANCEL response and so the diagnostics fields were being set wrongly. 6. There was a bug in the code which was resulting in a wrong pointer being used to de-reference the ft_cancel() diagnostics. This caused multiple instances to be logged. 7. The diagnostics returned from the remote were not processed correctly. So a wrong error code was displayed. 8. The ft_cancel response code was invoking the function to write to the nettl trace file twice. 9. With FTAM-3 documents the character set info is added to each record. The buffer space assigned to hold the PDU data for nettl tracing was not adequate. This is beacuse when the the character set info is added, the size exceeds the space allocated. This was causing IPC error at the init end and core dump at the responder end. 10. In ft_sdata(), the dereferencing of some pointers was incorrect when API tracing is enabled. This was casuing core dumps. 11. The PDU received from the remote systems was not being processed correctly. The diagnostics info was being handled erroneously. 12. There was a bug in the FTAM Responder protocol state machine that was causing this. Actually the ftam_resp should issue an abort after receiving a F-TRANSFER-END, since it has moved out of the data transfer regime after issuing a F-CANCEL request. 13. ftam_resp was wrongly using zero to represent "no value available". It should be a NULL. 14. Since all the connections were using the same P-address, what happens sometimes is, before the first request receives a response, a second request is also sent. This causes OTS to reject the second request. This results in the "Lower Layer failure" error for some connections. 15. ftam_resp was copying from an uninitialised buffer when the Calling NSAP was NULL. This casues memory corruption and core dump. 16. The flow control mechanism to regulate the inbound PDUs was disabled. This caused "IPC error" at the ftam_init end. 17. The Ae_label variable used in these APIs was wrongly shown as a pointer in the manpages. 18. Although the permitted action "traversal" is supported, the manpages of fchdoc does not document this. 19. Some of the functions not accessible to the user had unresolved symbols. Certain files used in the creation of the archive library were not being used while creating the shared library. 20. The updated catalog file was not sent in earlier patch. 21. Interactive ftam was using the obsoleted YESSTR and NOSTR for processing the overwrite option set in the .ftamrc file. These were not working when LANG is set to ja_JP.SJIS or ja_JP.eucJP. 22. osistat was using the 9.x pathname for the location of hp-ux. This has been corrected. 23. FTAM code was incorreclty using ftruncate() instead of ftruncate64(). In 10.20 since large files are supported, the filesize is stored in 64 bits. So ftruncate64() should be used. 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: 1653284604 1653275875 1653292391 1653300228 1653305920 1653301200 1653274027 1653263673 5003413518 1653261453 1653261461 1653261487 1653261479 5003439562 1653257238 1653267682 4701400010 1653263665 1653256594 5003414391 4701393975 1653206110 1653211663 1653212027 1653251959 1653255919 1653234286 4701383489 1653227264 1653228031 1653228049 1653229864 1653234229 1653234237 1653237685 1653239871 1653240754 4701377648 1653231480 1653234211 1653237180 1653226209 1653228916 1653230458 5003398040 1653204230 1653211722 1653221663 1653223784 1653223883 1653226001 1653229575 1653230094 1653226407 4701374785 4701369835 1653208843 1653209197 1653209536 1653210856 1653210872 1653211326 1653212480 1653212597 1653212837 1653212829 1653212811 1652212779 5003371880 1653210120 1653214049 4701348300 4701348318 1653198234 1653199034 1653204503 1653204511 1653211516 1653222372 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 /opt/ftam/shlib/libmapftam.1 /etc/opt/ftam/conf/ftam_conf /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/shlib/libmap.1 /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 /opt/ftam/lib/nls/C/ftam_cmds.cat /opt/ftam/lib/nls/C/ftamfmt.cat /opt/ftam/lib/nls/C/mapftam.cat /opt/ftam/man/man3.Z/ft_aereset.3n /opt/ftam/man/man3.Z/ft_aedeacti.3n /opt/ftam/include/mapftam.h /opt/ftam/sbin/osistat /opt/ftam/lib/nls/C/osistat.cat /opt/ftam/man/man1.Z/fcp.1 /opt/ftam/shlib/libfmt122f.sl /opt/ftam/man/man4.Z/ftamrc.4 /opt/ftam/include/map.h /opt/ftam/include/f_error.h /opt/ftam/demos/Makefile /opt/ftam/demos/ftm_llcopy.c /opt/ftam/demos/ftm_util.c /opt/ftam/demos/ftm_dirnam.c /opt/ftam/demos/cnvrt_addr.c /opt/ftam/demos/ftm_globs.h what(1) Output: /opt/ftam/lbin/ftam_init: FTAM: E.04.01 PHNE_17525 99/09/20 s800 ftam_init /opt/ftam/lbin/ftam_resp: FTAM: E.04.01 PHNE_17525 99/09/20 s800 ftam_resp /opt/ftam/lib/libmapftam.a: $Header: aif_util.c,v 9.2 96/12/03 10:30:00 $ FTAM: E.04.01 PHNE_17525 99/09/20 s800 libmapftam.a /opt/ftam/shlib/libmapftam.sl: FTAM: E.04.01 PHNE_17525 99/09/20 s800 libmapftam.sl $Header: aif_util.c,v 9.2 96/12/03 10:30:00 $ /opt/ftam/shlib/libmapftam.1: FTAM: E.04.01 PHNE_17525 99/09/20 s800 libmapftam.sl $Header: aif_util.c,v 9.2 96/12/03 10:30:00 $ /etc/opt/ftam/conf/ftam_conf: FTAM Configuration file /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.01 PHNE_17525 99/09/20 s800 libmap.sl /opt/ftam/shlib/libmap.1: FTAM: E.04.01 PHNE_17525 99/09/20 s800 libmap.sl /opt/ftam/lib/libmap.a: FTAM: E.04.01 PHNE_17525 99/09/20 s800 libmap.a /opt/ftam/bin/ftam: FTAM: E.04.01 PHNE_17525 99/09/20 s800 ftam $Header: aif_util.c,v 9.2 96/12/03 10:30:00 $ FTAM: E.04.01 PHNE_17525 99/09/20 s800 libmapftam.a /opt/ftam/bin/fchdoc: FTAM: E.04.01 PHNE_17525 99/09/20 s800 fchdoc /opt/ftam/lib/nls/C/fchdoc.cat: FTAM: E.04.01 PHNE_17525 99/09/20 s800 ftam change d ocument catalog /opt/ftam/demos/ftm_parm.c: FTAM: ftm_parm.c $Revision: 9.3 $ $Date: 96/11/03 11 :24:37 $ /opt/ftam/lib/nls/C/ftam_cmds.cat: FTAM: E.04.01 PHNE_17525 99/09/20 s800 ftam command NLS catalog /opt/ftam/lib/nls/C/ftamfmt.cat: FTAM: E.04.01 PHNE_17525 99/09/20 s800 FTAM format c atalog /opt/ftam/lib/nls/C/mapftam.cat: FTAM: E.04.01 PHNE_17525 99/09/20 s800 FTAM ft_gperr or() catalog /opt/ftam/man/man3.Z/ft_aereset.3n: None /opt/ftam/man/man3.Z/ft_aedeacti.3n: None /opt/ftam/include/mapftam.h: $Header: mapftam.h,v 8.3 94/07/27 17:37:47 lau Exp $ /opt/ftam/sbin/osistat: FTAM: E.04.01 PHNE_17525 99/09/20 s800 osistat OTS: C.07.00 mbuf.c 5.3 (Berkeley) 2/3/87 /opt/ftam/lib/nls/C/osistat.cat: None /opt/ftam/man/man1.Z/fcp.1: None /opt/ftam/shlib/libfmt122f.sl: None /opt/ftam/man/man4.Z/ftamrc.4: None /opt/ftam/include/map.h: None /opt/ftam/include/f_error.h: $Source: /nfs/hpindgr/osi1/rcs/gosip/osirel/ftam/fta m_util/RCS/f_error.h,v $ $Revision: 9.1 $ /opt/ftam/demos/Makefile: FTAM: Demo Makefile $Revision: 9.2 $ $Date: 94/12/15 13:21:11 $ /opt/ftam/demos/ftm_llcopy.c: FTAM: ftm_llcopy.c $Revision: 9.1 $ $Date: 94/11/18 11:23:26 $ /opt/ftam/demos/ftm_util.c: FTAM: ftm_util.c $Revision: 9.1 $ $Date: 94/11/18 11 :26:02 $ /opt/ftam/demos/ftm_dirnam.c: FTAM: ftm_dirnam.c $Revision: 9.1 $ $Date: 94/11/18 11:20:41 $ /opt/ftam/demos/cnvrt_addr.c: FTAM cnvrt_addr.c: $Revision: 1.2 $ $Date: 94/11/18 11:09:59 $ /opt/ftam/demos/ftm_globs.h: FTAM: ftm_globs.h $Revision: 9.0 $ $Date: 92/09/02 1 1:15:25 $ cksum(1) Output: 2298774585 1175552 /opt/ftam/lbin/ftam_init 1500487025 1060864 /opt/ftam/lbin/ftam_resp 608383839 496192 /opt/ftam/lib/libmapftam.a 3908324579 667648 /opt/ftam/shlib/libmapftam.sl 3908324579 667648 /opt/ftam/shlib/libmapftam.1 1289520991 5612 /etc/opt/ftam/conf/ftam_conf 803747064 2141 /etc/opt/ftam/conf/ftam_pw 3773906155 3956 /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 3845312513 471040 /opt/ftam/shlib/libmap.sl 3845312513 471040 /opt/ftam/shlib/libmap.1 1419917895 323968 /opt/ftam/lib/libmap.a 3715387939 630784 /opt/ftam/bin/ftam 2100480369 57344 /opt/ftam/bin/fchdoc 2606266567 6057 /opt/ftam/lib/nls/C/fchdoc.cat 3138096481 51037 /opt/ftam/demos/ftm_parm.c 4262571166 27051 /opt/ftam/lib/nls/C/ftam_cmds.cat 3706008612 163903 /opt/ftam/lib/nls/C/ftamfmt.cat 1040261212 93 /opt/ftam/lib/nls/C/mapftam.cat 3887749338 1990 /opt/ftam/man/man3.Z/ft_aereset.3n 2132714984 1987 /opt/ftam/man/man3.Z/ft_aedeacti.3n 4178958119 74947 /opt/ftam/include/mapftam.h 4288021441 40960 /opt/ftam/sbin/osistat 1472828038 4359 /opt/ftam/lib/nls/C/osistat.cat 1994658770 3614 /opt/ftam/man/man1.Z/fcp.1 1976864025 45056 /opt/ftam/shlib/libfmt122f.sl 2312707677 4094 /opt/ftam/man/man4.Z/ftamrc.4 105093454 20058 /opt/ftam/include/map.h 3101821789 7613 /opt/ftam/include/f_error.h 4237588445 4005 /opt/ftam/demos/Makefile 1388678851 26710 /opt/ftam/demos/ftm_llcopy.c 805695987 2791 /opt/ftam/demos/ftm_util.c 742454924 3538 /opt/ftam/demos/ftm_dirnam.c 2614664908 12661 /opt/ftam/demos/cnvrt_addr.c 3705370399 6516 /opt/ftam/demos/ftm_globs.h Patch Conflicts: None Patch Dependencies: None Hardware Dependencies: None Other Dependencies: None Supersedes: PHNE_10091 PHNE_11568 PHNE_12731 PHNE_13086 PHNE_13964 PHNE_14264 PHNE_15317 PHNE_16296 PHNE_16637 Equivalent Patches: None Patch Package Size: 5390 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_17525 5a. For a standalone system, run swinstall to install the patch: swinstall -x autoreboot=true -x match_target=true \ -s /tmp/PHNE_17525.depot By default swinstall will archive the original software in /var/adm/sw/patch/PHNE_17525. 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_17525.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_17525.depot of=/dev/rmt/0m bs=2k Special Installation Instructions: 1.This patch will install /etc/opt/ftam/conf/ftam_conf file. If this file already exists, then the existing one will be saved as /etc/opt/ftam/conf/ftam_conf.old. 2.This patch will install /etc/opt/ftam/conf/ftam_pw file.If this file already exists, then the existing one will be saved as /etc/opt/ftam/conf/ftam_pw.old.