++PTF(ASP0919). /*----------------------------------------------------- ASP0919 011123 ASEF200 V110 Implement PASSWORD facility - batch only ASP0916 011107 ASEF200 Prevent loop when EOF reached on bad zip files ASP0907 010604 ASEF200 P907 Suppress COND CODE 0004 on wrap when WRAP keyword specified. COPYRIGHT AUSTRALIAN SYSTEMS ENGINEERING PTY. LTD. 2002 _APARLIST: ASZ3188 001031 44LNOR AW ISPZIP P870 ABS0C4 ISPZIPC ...... O__0907 Abend S0C4 when ISPZIP operand is specified in parm field. ASZ3189 001031 44LNOR AW ISPZIP P870 ABS0C4 ISPZIPC ...... O__0907 Abend S0C4 when ISPZIP is invoked without a PC filename and the input file is sequential. ASZ3202 010202 61VNAB CC ISPZIP P870 ABS878 ISPZIPC 000205 S__0907 AbendS878 if ISPZIP is called multiple times within the same step and DCB=BUFNO=nn is specified on input or output DD statement. ASZ3205 010213 44BEDS PH ISPZIP P870 INCORROUT ISPZIPX 010213 S__0907 When multiple files are uncompressed, TRMOD option is reset after the first file is processed. ASZ3210 010315 61VASE PS ASEF200 V201 INCORROUT ISPZIPC ...... s__0900 Incorrect CRC when uncompressing file created using the SHIP operand. ASZ3211 010330 61VASE GG ASEF200 V201 SUGG OK ISPZIPC ...... s__0900 Force ISPZIP to use the same compression algorithm as ASAP when operating in ASAP compatability mode. ASZ3216 010529 44DREA NC ASEF200 V110 SUGG OK ISPZIPX ...... S__0907 suppress COND CODE 0004 on wrap when WRAP keyword was specified ASZ3240 011031 61VPCS JL ASEF200 V1 LOOP ISPZIPX ...... S__0916 Loop when input ZIP dataset is invalid. _NOTES: This PTF includes changes made by PTFs ASP0907 AND ASP0916 This PTF adds support for data encryption to ISPZIP. Data encrytion improves the security of data held in a zip file by restricting access to the data to those that know a password associated with the file. When a file is compressed it can be encrypted by specifying a password on the SELECT statement. The file can only be uncompressed correctly by specifying the same password during the uncompress operation. The SELECT statement has been enhanced to support specification of the password via the PASS= or PASSWORD= keywords. The password is case sensitive i.e. OPENSESAME and opensesame are different passwords. The password can be up to 64 characters. The report produced by ISPZIP has been enhanced to include an extra flag (P) in the OPTION column to indicate that a file is or has been encrypted using a password. Example: The following example compresses members of a PDS into the file ASE.ZIP and encrypts them using three different passwords. //COMP EXEC PGM=ISPZIP, // PARM='COMP FDD=* TODD=ISPZOUT ZIP' //ISPZOUT DD DISP=SHR,DSN=ASE.ZIP //IN1 DD DISP=SHR,DSN=ASE.ASE.CNTL //ISPZPRNT DD SYSOUT=* //ISPZCNTL DD * EXT CTL ASCII CRLF LOG INC FROMDD IN1 S A*.CTL PASSWORD=mysecret S B*.CTL PASSWORD=DONTTELL S C*.CTL PASSWORD=OpenSesame The following job uncompresses all files beginning with A from ASE.ZIP. The password mysecret is required to decrypt the files. //UNCOMP EXEC PGM=ISPZIP, // PARM='UNCOMP FDD=* TDD=*' //ISPZIN DD DISP=SHR,DSN=ASE.ZIP //OUT1 DD DISP=SHR,DSN=ASE.NEW.CNTL //ISPZPRNT DD SYSOUT=* //ISPZCNTL DD * EXT CTL ASCII CRLF TRUNC PADC( ) REP TODD(OUT1) S A*.CTL PASSWORD=mysecret Example compress report: ISPZIP 1.1.0 - Copyright ASE 2000 Serial No: ISPZ110I Processing from DD IN4 ISPZ103I Input DSN: ASE.CLEARWTR.DATABASE Mode Charset Filename Ext I/p-size Strips-to O/p-size Save Member-- Options ZIP EBCDIC DB DAT 13171200 (NOSTRIP) 4975778 62% IDP Totals ----- Files 1 13171200 (NoStrip) 4975778 62% ISPZ070I Return code= 0 Example uncompress report: ISPZIP 1.1.0 - Copyright ASE 2000 Serial No: ISPZ017I Input DSN=ASE.BIG.ZIP ISPZ019W WARNING output lrecl shorter than input lrecl - wrapping data ISPZ022I OLD o/p DSN=ASE.TEMP.DATABASE 10976 10 Filename Ext Date------ Time- Orig-Size Comp-Size Save Method-- Member-- Options DB DAT 2002/01/09 18:21 13171200 4975778 62% DEFLATE WRP Totals Files: 1 13171200 4975778 62% ISPZ070I Return code= 0 In both reports the P in the Options column signifies that the file is encrypted and a password is required to unzip the file. ASP0907 Changes. ASP0907 changes the return code set during an UNCOMP operation when the WRAP keyword is specified and uncompressed records are longer than the output dataset LRECL. Prior to ASP0907 the following message: ISPZ019W WARNING output lrecl shorter than input lrecl - wrapping data would be issued if the records were wrapped and a return code 4 would be set. With ASP0907 applied, the ISPZ019W message will be issued but the return code will be set to 0 if the WRAP keyword was explicitly specified on the control cards or in the PARM field. If the WRAP keyword was not specified and wrapping occured by default then a return code 4 will be set. */ ++VER(Z038) FMID(ASEF200) PRE(ASP0870) SUP(ASZ3188,ASZ3189,ASZ3202,ASZ3205,ASZ3210,ASZ3211, ASP0900,ASZ3216,ASP0907,ASZ3240,ASP0916). ++HOLD(ASP0907) FMID(ASEF200) SYSTEM REASON(DOC) COMMENT(THE RETURN CODE SET WHEN DATA IS WRAPPED HAS CHANGED. REFER TO ASP0919 COVER LETTER NOTES). ++MOD(ISPZIPC). ++MOD(ISPZIPX). ++MOD(ISPZIPM).