Item 17: SLIP Traps and CICS (Paragraph 28.5 of the Technical Particulars)
Item 17: SLIP Traps and CICS (Paragraph 28.5 of the Technical Particulars)
IBM’s case is that Winsopia used the SLIP trap diagnostic tool to reverse engineer CICS data structures.
SLIP (Serviceability Level Indication Processing) is a diagnostic aid that can be configured to intervene during and interrupt the execution of a program and trigger a specified action, typically, a memory or system dump, enabling the user to have a snapshot of a system state or storage value at the time of the event, a Program Event Recording (“PER”).
The experts agree that PER SLIP traps have a performance impact on the operating system and therefore are used sparingly. Further, as SLIP traps can affect z/OS processing, they are usually set only by the z/OS administrator (systems programmer).
On 29 June 2014, LzLabs opened DR0111, requesting Winsopia to identify the four byte value of a data area created and stored in a register by CICS, at the moment that control is passed to a COBOL program during execution. It was suggested that Winsopia could use SLIP to obtain this information.
Simon Payne of Winsopia carried out the requested task by loading a COBOL program into CICS storage and setting a PER IF SLIP trap to produce a dump at the required offset when executing. Analysis of the dump enabled him to identify the value of the four byte STKLANG field in the register save area at that point and provide the information to LzLabs.
The issues in dispute are:
whether Winsopia’s analysis of the SLIP trap dump concerned an ICA Program for the purpose of the ICA;
whether Winsopia’s use of the SLIP trap constituted reverse engineering in breach of clause 4.1.3(a) of the ICA;
whether Winsopia’s actions fell within permitted observation, study and testing pursuant to Article 5(3) of the Software Directive.
IBM’s case is that Winsopia’s analysis involved either CICS Transaction Server v5 or Enterprise COBOL v4, and their associated runtimes. Both are ICA Programs. The defendants’ case is that the register save area is an interface; a data area that interacts with the COBOL Language Environment. As such is it not an ICA Program.
Mr Swanson’s evidence is that CICS is responsible for creating the register save area when control is passed from CICS to a COBOL program. Mr Stephens agreed in cross-examination that the data area is populated either by CICS or the Language Environment runtime. As submitted by IBM, both are ICA Programs.
Winsopia used a SLIP trap to produce a dump at the required offset so that it could inspect the register save area and identify the value of the four byte field at a specific point during execution. This interrogated the internal implementation of the operation of the CICS Transaction Server and amounted to reverse engineering. As Mr Stephens agreed in cross-examination, although the format of the register save area is published by IBM, the values that occupy the field in the data area at different times during runtime execution and the purposes served by such values are not publicly documented.
The defendants submit that Winsopia’s activities fell within Article 5(3) of the Software Directive on the ground that the purpose was to observe the input that is passed to the test program from CICS, at the point when the test program receives control, while it is executing. I reject that argument. The investigation went beyond mere observation, study or testing the input and output of the program. It entailed a detailed examination as to how control is passed between CICS and COBOL applications during execution. That concerned expression of the program, rather than its function.
In summary on this issue:
Winsopia’s analysis of the SLIP trap dump concerned an ICA Program for the purpose of the ICA.
Winsopia’s use of the SLIP trap constituted reverse engineering in breach of clause 4.1.3(a) of the ICA.
Winsopia’s actions did not fall within permitted observation, study and testing pursuant to Article 5(3) of the Software Directive.
- Heading
- Mrs Justice O’Farrell
- Section II - Background to the dispute
- The SDM
- Hercules
- Neon litigation
- Formation of LzLabs and Winsopia
- The ICA
- SDM development and the clean room procedures
- Launch of the SDM
- Project Eiger
- Further development of the SDM
- Audit request and termination
- Section III - The proceedings
- The Issues
- The factual witnesses
- Section IV - Construction of the ICA
- Approach to construction of the ICA
- Scope of licence
- The ICA Programs
- Customer applications
- Licensed Program Specifications
- Independent software vendors (ISVs)
- Debugging tools
- Restrictions on use of ICA Programs
- Legislative framework
- Berne Convention
- TRIPS
- WIPO
- Software Directive
- Copyright, Designs and Patents Act 1988 (CDPA)
- Applicable legal principles
- Conclusions on ICA
- Section V - Alleged breaches of the ICA
- Disassembly, decompilation and translation
- Item 2: Load Module Decompiler (“the LMD”) (Paragraph 11.2 of the Technical Particulars)
- Item 3: CICS Control Blocks Document (Paragraph 11.3 of the Technical Particulars)
- Item 4: EXEC DLI (Paragraphs 27.18 & 28.19 of RRRAPOC)
- Item 5: IBM Binder Software (Paragraph 11.4 of the Technical Particulars)
- Compiler listings – summary of the dispute
- Item 6: IGZCIVL COBOL runtime module (Paragraph 11.6 of the Technical Particulars)
- Item 7: CICS Translators (Paragraph 20.1-2 of the Technical Particulars)
- Item 8: Floating point rounding rules (Paragraph 20.3 of the Technical Particulars)
- Item 9: IBM PL/1 compiler (Paragraph 20.4 of the Technical Particulars & Paragraph 27 of the POC)
- Item 10: XML Parse statements (Paragraphs 33-38 of the Technical Particulars)
- Item 11: COBOL initialisation, branching and I/O declaratives (Paragraphs 27.4&27.5 RRRAPOC)
- Item 12: PL/I Condition handling (Paragraphs 27.10-27.12 of RRRAPOC)
- Reverse engineering through the systematic use of traces, dumps, slip traps, packet sniffing and other debugging tools techniques – summary of the dispute
- Item 13: CICS-to-CICS communications (Paragraph 28.1 of the Technical Particulars)
- Item 14: AMBLIST analysis of CICS Stubs (Paragraph 28.2 of the Technical Particulars)
- Item 15: Colesoft z/XDC and COBOL initialisation (Paragraph 28.3 of the Technical Particulars)
- Item 16: XDC and IMS (Paragraph 28.4 of the Technical Particulars)
- Additional examples
- Item 17: SLIP Traps and CICS (Paragraph 28.5 of the Technical Particulars)
- Item 18: SLIP Traps and COBOL (Paragraph 28.6 of the Technical Particulars)
- Macros and Copybooks - introduction
- Macros (Paragraphs 32.1-32.9 of the Technical Particulars) – summary of the dispute
- Item 19: DR-3246 (Paragraph 32.1 of the Technical Particulars)
- Item 20: DR-10237 (Paragraph 32.2 of the Technical Particulars)
- Item 21: DR-2753 (Paragraph 32.3 of the Technical Particulars)
- Item 22: DR-2771 (Paragraph 32.4 of the Technical Particulars)
- Item 23: DR-2796 (Paragraph 32.5 of the Technical Particulars)
- Item 24: DR-3280 (Paragraph 32.6 of the Technical Particulars)
- Item 25: DR-4281 (Paragraph 32.7 of the Technical Particulars)
- Item 26: DR-4322 (Paragraph 32.8 of the Technical Particulars)
- Item 27: DR-0847 (Paragraph 32.9 of the Technical Particulars)
- Macros - discussion
- Copybooks (Paragraphs 2.1.1.3 and 32.10-32.12 of the Technical Particulars) – nature of the dispute
- Item 28: DR-715 (Paragraph 32.10 of the Technical Particulars)
- Item 29: DR-753 (Paragraph 32.11 of the Technical Particulars)
- Item 30: DR-756 (Paragraph 2.1.1.3 of the Technical Particulars)
- Copybooks - discussion
- Transferring “unscrubbed” materials
- Item 31:Epiphany
- Item 32: Db2 Catalog table metadata
- Item 33: DSS dump
- Item 34: Kednos
- Item 35: CSECTs deliberately omitted from scrubbing
- Items 36 and 42: Unscrubbed CSECTs
- Items 37 and 40: IMS PROCLIB & DLIBATCH
- Item 38: DFHEI1 module
- Item 39: IGZXANE
- Item 41: IGZXNE3N
- Item 43: CEEBETBL, CEEBLLST, IBMPINPL & CEESG*
- Item 44: DR-4617
- Item 45: DR-171
- Item 46: Scrubbing failures
- Item 47: @@TRGLOC CSECT
- Item 48: PARMLIB & PROCLIB
- Use outside Enterprise and beyond Designated Machine
- Item 49: Brad Taylor (Paragraph 44.2 of the Technical Particulars)
- Item 50: Winsopia Pizzabox (Paragraph 44.5 of the Technical Particulars)
- Item 51: Justin Bendich (Paragraph 44.6 of the Technical Particulars)
- Conclusions on technical breaches
- Section VI - Wrongful procurement of breach
- Applicable legal principles
- LzLabs
- LzLabs UK
- Claims against the directors
- Mr Moores
- Summary on unlawful procurement
- Section VII - Unlawful means conspiracy
- Applicable legal principles
- Knowledge of unlawfulness
- Summary on unlawful means conspiracy
- Section VIII – Audit and Termination
- Validity of audit request
- Validity of termination
- Section IX - Limitation
- Contractual limitation
- Statutory Limitation
- Deliberate concealment
- Finding - section 32(1)(b)
- Finding - Section 32(2)
- Actual or constructive knowledge – legal principles
- Date of knowledge issues
- ICA 2013
- Mr Knight - 2017
- Mr Anzani - 2018
- Conclusions
![HT-2021-000363 - [2025] EWHC 532 (TCC)](https://backend.juristeca.com/files/emisores/logo_yJUntHA.png)