PKZIPÒ Version 2.6 for MVS T4ASI026-04-00

Patch Notes


Ascent Solutions Inc.
9009 Springboro Pike,
Miamisburg,
Dayton,
OH 45342,
USA

Support: +1 937 847 2687
Sales: +1 937 847 2374
Fax: +1 937 847 2375
Internet http://www.asizip.com
E-mail:

Targetfour Limited
Imperial House
8 Oaklands Park
Fishponds Road
Wokingham
Berkshire RG41 2FD
United Kingdom

Telephone: +44 (0) 118 936 4300
Fax: +44 (0) 118 936 4329
Internet: www.targetfour.com
Email:
Helpdesk: +44 (0) 118 936 4100

First Edition (January 2001)

This edition applies to the following ASi licensed program:

PKZIP Version 2.6 for MVS (Level 1, January 2001)

All trademarks acknowledged.

Any reference to licensed programs or other material, belonging to any company, is not intended to state or imply that such programs or material are available or may be used.

The copyright in this work is vested in Ascent Solutions Inc. and Targetfour Limited and the document is issued in confidence for the purpose only for which it is supplied. It must not be reproduced in whole or in part or used for tendering purposes except under an agreement or with the consent in writing of Ascent Solutions Inc. or Targetfour Limited and then only on condition that this notice is included in any such reproduction. No information as to the contents or subject matter of this document or any part thereof either directly or indirectly arising therefrom shall be given or communicated in any manner whatsoever to a third party being an individual firm or company or any employee thereof without the prior consent in writing of Ascent Solutions Inc. or Targetfour Limited.

Copyright© 1989-2001 ASi®, PKWare Inc.® and Targetfour Ltd. All rights reserved.

T4ASI026-04-00 Patches 3

Preface

These notes provide information on known defects in PKZIP Version 2.6 for MVS (and OS/390), Level 1.

Patches to be incorporated into this Release

Patch Level: Level 1

Date: January 2001

The fixes listed in this document should be included in Version 2.6 Level 1.

Applying these patches

The process of applying patches and the use of the patch report (ZIPPATCH) is documented in PKZIP for MVS: Using PKZIP for MVS manual.

Notes for users migrating from previous releases

The JCL used for applying patches in this level utilizes the IGNIDRFULL parameter to remove the requirement to re-link the modules. Without this parameter, patches may not be applied correctly. Please ensure JCL used to apply patches uses this parameter to AMASPZAP.

T4ASI026-04-00 Patches 19

Patches

Patch 001

Error Description

The Short-Term License utility (ZIPPSTL) generates a license update that is not applicable to this level of PKZIP for MVS.

With this patch applied, the utility will generate a correct license update.

Corrective Action

The following patches should be applied to ZIPPSTL and ZIPPATCH modules.

//PKZAP EXEC PGM=AMASPZAP,PARM=IGNIDRFULL

//SYSLIB DD DISP=SHR,DSN=<PKZIP 2.6 level 1 load library>

//SYSPRINT DD SYSOUT=*

//SYSIN DD *

NAME ZIPPSTL XXXPSTL

VERIFY 0966 F4F0

REP 0966 F2F6

NAME ZIPPATCH PATCHTAB

VERIFY 0001 40

REP 0001 E8

CHECKSUM 14B727E6

/*

Issued

January 2001.

Patch 002

Error Description

This patch note corrects three problems and adds support for suppressing the return code from message 796:

·  Messages relating to the specification and use of the ARCHTEMPSUFFIX command were missed from the Messages and Codes Manual.

·  When processing some GZIP archives, especially those transferred from other platforms, PKZIP will output the following message, and then ABEND with System A78 Abend code.
UNZIP090W Potential Storage overwrite detected at:…, Header:STOR0046RGZPCONV, …

·  When creating an archive using an NIA command to set the name of the file in the archive, processing may ABEND with a S0C4, at offset x’8EDC’ in ZFSZDF00 (x’2AC’ in CSECT NIAS000).

·  Message 796 is issued with return code 4 (warning) when a record is truncated by the PKUNZIP processing.

This patch note documents the messages relating to ARCHTEMPSUFFIX. It corrects the Storage problem by correctly setting the “extra field length” when the attributes in the archive are not useful to PKZIP for MVS. It corrects the NIA problem by correctly setting the length for the compare used when finding matching parts of the NIA name – this length can be set incorrectly when the processing tries to match wild cards in the output name. It also allows the message 796 to be suppressed.

Corrective Action

The messages documented below should be added to the Messages and Codes Manual.

The following patch should be applied to the PKZIP, PKUNZIP, ZFSZDF00, ZIPATASK, ZIPBTASK and ZIPPATCH modules.

//PKZAP EXEC PGM=AMASPZAP,PARM=IGNIDRFULL

//SYSLIB DD DISP=SHR,DSN=<PKZIP 2.6 level 1 load library>

//SYSPRINT DD SYSOUT=*

//SYSIN DD *

NAME ZFSZDF00 NIAS000

VERIFY 0276 41E0,000E

REP 0276 58E0,D1A8

NAME PKZIP ZIPSERV

VERIFY 01DC 5010,D07C

VERIFY 02B4 0000,0000

VERIFY 02B8 0000,0000

VERIFY 02BC 0000

VERIFY 02BE 0000,0000

VERIFY 02C2 0000,0000

VERIFY 02C6 0000,0000

VERIFY 02CA 0000,0000

REP 01DC 47F0,C2B4

REP 02B4 5010,D07C

REP 02B8 58E1,0000

REP 02BC 18FE

REP 02BE 54F0,C338

REP 02C2 BAEF,1000

REP 02C6 4740,C2B8

REP 02CA 47F0,C1E0

NAME PKUNZIP ZIPSERV

VERIFY 01DC 5010,D07C

VERIFY 02B4 0000,0000

VERIFY 02B8 0000,0000

VERIFY 02BC 0000

VERIFY 02BE 0000,0000

VERIFY 02C2 0000,0000

VERIFY 02C6 0000,0000

VERIFY 02CA 0000,0000

REP 01DC 47F0,C2B4

REP 02B4 5010,D07C

REP 02B8 58E1,0000

REP 02BC 18FE

REP 02BE 54F0,C338

REP 02C2 BAEF,1000

REP 02C6 4740,C2B8

REP 02CA 47F0,C1E0

NAME ZIPATASK RGZPCONV

VERIFY 033C 4780,C3D4

VERIFY 0368 47F0,C3D4

VERIFY 039E 4780,C3D4

REP 033C 4780,C3D8

REP 0368 47F0,C3D8

REP 039E 4780,C3D8

NAME ZIPBTASK RGZPCONV

VERIFY 033C 4780,C3D4

VERIFY 0368 47F0,C3D4

VERIFY 039E 4780,C3D4

REP 033C 4780,C3D8

REP 0368 47F0,C3D8

REP 039E 4780,C3D8

NAME ZIPMS ZIPMS

VERIFY 38BC 0000,0026,0004

REP 38BC 0001,0026,0004

NAME ZIPPATCH PATCHTAB

VERIFY 0002 40

REP 0002 E8

CHECKSUM E8DBAD5F

Messages
New Messages

These messages should be added to the Messages and Codes Manual.

373 Severity: Warning

Message Text: "APPEND" specified for ARCHTEMPSUFFIX is not valid for PDS/PDSE archive datasets, "REPLACE" used.

Explanation: The ARCHTEMPSUFFIX command has been used with the APPEND option, which is not valid when creating a member. REPLACE has been substituted.

Action: Change the input command to specify REPLACE (or let it default). Alternatively use a different type of file (such as a sequential file) for the archive.

374 Severity: Error

Message Text: Final Archive name and temporary Archive name must be different, both are:<file name>.

Explanation: The values used or defaulted for the ARCHTEMPSUFFIX command mean that the temporary Archive dataset has the same name (<file name>) as the final archive. In this situation, the temporary Archive could overwrite the real one, so processing is terminated.

Action: Correct the input ARCHTEMPSUFFIX command to ensure that the temporary name is different to the final name.

875 Severity: Warning (Suppressible)

Message Text: Archive name has been truncated for use with "new" archive, to: <archive file name 'prefix'>.

Explanation: The values used or defaulted for the ARCHTEMPSUFFIX command mean that the temporary Archive dataset name is too long (greater than 44 characters). The name used is constructed by shortening the dataset name to give <archive file name 'prefix'>, then adding the appropriate suffix.

Action: In most cases, processing will continue with the shortened name and this dataset will be renamed to the final name on completion of the processing. Correct the input ARCHTEMPSUFFIX command to ensure that the temporary name is not too long in the future.
Note however that in some situations, the generated file name may cause a number of problems with installation specified facilities, for example, with SMS and Security processing where these expect specific dataset names. In these cases, a shorter suffix, the use of the REPLACE option or a change to the Archive file name may be required to meet the installation requirements.

Updated Message

The following message should be updated in the Messages and Codes Manual - note that the only change is the addition of the word 'Suppressible' on the Severity line.

796 Severity: Warning (Suppressible)

Message Text: Record(s) in file have been truncated.

Explanation: The record length of the output file is shorter than the length of one or more records in the archive. The records that exceeded the output record length have been truncated.

Action: Ensure that the record length of the output file is the desired length. Note that this length could be specified in a variety of places including the file itself (if it already existed) and the OUTLRL command.

Issued

February 2001.

Patch 003

Error Description

This patch resolves the following issues with PKZIP for MVS:

·  Documents a restriction when compressing single PDS/PDSE members using the INDD command.

·  Documents ZIP support for the XPLink Interface.

·  Fixes a problem when compressing a Variable length file (Sequential, PDS or PDSE datasets only, not VSAM), which contains null (0 length) records.

The documentation updates are described later in this patch note.

The problem only occurs when processing the last record in a block for a variable length file (which is the only record for a variable length file that is not blocked – and note that the last record in the file is also at the end of a block). The processing assumes that this last record will contain at least 1 byte of user data (in addition to the RDW associated with the record). If this record is a null record (i.e. has a length of 0), ZIP processing will ignore the record.

With this patch applied, ZIP will not ignore the null record at the end of the block.

Corrective Action

The following patches should be applied to ZFHRGEN and ZIPPATCH modules.

//PKZAP EXEC PGM=AMASPZAP,PARM=IGNIDRFULL

//SYSLIB DD DISP=SHR,DSN=<PKZIP 2.6 level 1 load library>

//SYSPRINT DD SYSOUT=*

//SYSIN DD *

NAME ZFHRGEN CRED000

VERIFY 0266 47B0,C28A

REP 0266 4720,C28A

NAME ZFHRGEN TRNS000

VERIFY 01B2 18F4,06F0

VERIFY 0352 0000

VERIFY 0354 0000,0000

VERIFY 0358 0000

VERIFY 035A 0000,0000

REP 01B2 47F0,C352

REP 0352 12F4

REP 0354 47D0,C1D0

REP 0358 06F0

REP 035A 47F0,C1B6

NAME ZIPPATCH PATCHTAB

VERIFY 0003 40

REP 0003 E8

CHECKSUM 7E98546A

/*

Manual Updates

Chapters in the following manuals are added or updated as a result of this patch:

·  Chapter 7. Processing PDS Members, Chapter 8. Processing PDSE Members and Chapter 15. Invoking PKZIP/PKUNZIP from a Program of Using PKZIP for MVS and

·  Chapter 1. PKZIP Commands of the Reference Manual.

In Chapter 7. Processing PDS Members of Using PKZIP for MVS, the following note should be added to both the Supported PDS files and Selection using a DD sections.

Note:

·  When a PDS is specified using the INDD command and the DD specifies a single member, (e.g. //INPDS DD MY.INPUT.PDS(AMEMBER)) PKZIP will (like most utilities), process this member as a sequential dataset. This PDS must be catalogued for PKZIP to find it. If it is important to process the member as a PDS member or have the dataset as an non-catalogued PDS (e.g. a temporary PDS), then the member name can be specified as part of the INDD (e.g. INDD(INPDS,AMEMBER))

In Chapter 8. Processing PDSE Members of Using PKZIP for MVS, the following note should be added to both the Supported PDSE files and Selection using a DD sections.

Note:

·  When a PDSE is specified using the INDD command and the DD specifies a single member, (e.g. //INPDSE DD MY.INPUT.PDSE(AMEMBER)) PKZIP will (like most utilities), process this member as a sequential dataset. This PDSE must be catalogued for PKZIP to find it. If it is important to process the member as a PDSE member or have the dataset as an non-catalogued PDSE (e.g. a temporary PDSE), then the member name can be specified as part of the INDD (e.g. INDD(INPDSE,AMEMBER))

In Chapter 15. Invoking PKZIP/PKUNZIP from a Program of Using PKZIP for MVS, the following note should be added to Application Program Interface (API) general information section.

Note:

·  The XPLink Interface is not used by PKZIP for MVS. Application programs using this interface should invoke PKZIP or PKUNZIP using non-XPLink Interface code. There are no performance benefits using XPLink with PKZIP for MVS.

The following note should be added to the -INDD section of Chapter 1. PKZIP Commands of the Reference Manual.

Note:

·  When a PDS/PDSE is specified using the INDD command and the DD specifies a single member, (e.g. //INPDS DD MY.INPUT.PDS(AMEMBER)) PKZIP will (like most utilities), process this member as a sequential dataset. This PDS/PDSE must be a catalogued dataset for PKZIP to find it. If it is important to process the member as a PDS/PDSE member or have the dataset as an non-catalogued PDS/PDSE (e.g. a temporary PDS), then the member name can be specified as part of the INDD (e.g. INDD(INPDS,AMEMBER))

Issued

March 2001.

Patch 004

Error Description

This patch resolves a problem when compressing a Variable length file, which contains null (0 length) records using Delimiters (i.e. –TEXT has been specified or PKZIP has detected that the file requires EBCDIC to ASCII conversion and a –DELIM value has been specified or defaulted). When doing this, PKZIP may do one or both of the following:

·  Abend with an S0C4 and offset x’586A’ in module ZFHRGEN

·  Output the following message,
ZIP090W Potential Storage overwrite detected at:…, Header:STOR0158ALLOCBUF, …

The problem only occurs when processing a null record coincides with the end of an internal storage block. The null record is moved into the internal block with an incorrect length, which overwrites following storage. If this storage is not in use by PKZIP, an S0C4 will occur immediately. If the storage is used by PKZIP, then the ZIP090W message will be output later in the processing, when PKZIP checks its internal storage chains.

With this patch applied, PKZIP will use the correct length when moving a delimited null record.

Corrective Action

The following patches should be applied to ZFHRGEN and ZIPPATCH modules.

//PKZAP EXEC PGM=AMASPZAP,PARM=IGNIDRFULL

//SYSLIB DD DISP=SHR,DSN=<PKZIP 2.6 level 1 load library>

//SYSPRINT DD SYSOUT=*

//SYSIN DD *

NAME ZFHRGEN READ000

VERIFY 0760 18F9,18E5

VERIFY 078E 1869

VERIFY 089E 0000

VERIFY 08A0 0000

VERIFY 08A2 0000,0000

VERIFY 08A6 0000,0000