CA SymDump System provides two user exits for advanced control over product behavior.
User exit CADVUSR1 is called before the dump capture evaluation process to allow for complex evaluation of dump capture criteria.
User exit CADVUSR2 is called before viewing a captured dump to allow for security validation of the potential viewer.
This section contains the following topics:
The source and JCL for each of the user exits can be found in the CAI.CCPIJCL library. Each exit is provided as a shell, providing no control logic. Since the CAI.CCPIJCL library is SMP/E controlled, user exit members must be copied to non-SMP/E controlled datasets before being modified. After the user exit source has been modified, submit the assemble and link JCL. Unlike modifying the options table, a product re-initialization is not required when changing a user exit.
Use this exit program to control the evaluation of dump capture criteria when the available selection criteria in the options table are not adequate for your needs.
The parm area CADVPRM1, shown below, contains information about the dumping address space that you can use to make your decision.
Fields in the parm area include:
The sample user exit CADVUSR1 is shown here:
CADVUSR1 TITLE 'CA SymDump System Sample User Exit (#1)' **-----------------------------------------------------------------** ** ** ** CADVUSR1 - CA SymDump System User Exit (#1) ** ** ** ** This user exit allows for the evaluation of complex ** ** dump capture criteria during dump capture. ** ** ** ** Input Registers: ** ** ** ** R1 contains the address of the parm area (CADVPRM1) ** ** R13 contains the address of a register save area ** ** R14 contains the return address ** ** R15 contains the address of CADVUSR1 ** ** ** ** All other registers are unpredictable. ** ** ** ** Output Registers: ** ** ** ** R15 contains the return code (described below) ** ** ** ** All other registers must be returned unchanged. ** ** ** ** Return Codes ** ** ** ** R15 = 0 Tells CA SymDump System to use the ** ** normal dump capture criteria from CADVTABL. ** ** ** ** R15 = 4 Tells CA SymDump System to capture ** ** the dump. ** ** ** ** R15 = 8 Tells CA SymDump System to suppress ** ** dump capture. ** ** ** **-----------------------------------------------------------------** SPACE , CADVUSR1 CSECT USING CADVUSR1,R12 Map the User Exit USING LDATA,R13 Map Local Data USING CADVPRM1,R8 Map the Parameter Area SPACE , STM R14,R12,12(R13) Save caller's registers LR R12,R15 Set procedure base LR R8,R1 Set parm base SPACE , LA R1,PRM1WORK @ Work area provided ST R13,4(,R1) Save backward chain ST R1,8(,R13) Save forward chain LR R13,R1 Set our RSA address SPACE , * Perform complex selection criteria here. SPACE , SLR R15,R15 RC=0 (no decision) SPACE , L R13,4(,R13) Restore @ caller's rsa L R14,12(,R13) Load return address LM R0,R12,20(R13) Restore registers BR R14 Return to caller TITLE 'LITERALS' LTORG , TITLE 'DSECTS: Local Data' LDATA DSECT LDSAVE DS 18F TITLE 'DSECTS: Parameter Area' **-------------------------------------------------------------------** ** ** ** CADVPRM1 - CA SymDump System Parameter Area # 1 ** ** ** ** This copy member maps the parameter area passed to CADVUSR1 ** ** during dump capture. ** ** ** **-------------------------------------------------------------------** SPACE , CADVPRM1 DSECT PRM1JOB DS CL8 Job Name PRM1PROG DS CL8 Program Name PRM1USER DS CL8 User Id PRM1CODE DS XL4 Completion Code *---------------------------------------------------------------------- * System abend codes ===> 00sss000 * User abend codes ===> 00000uuu * CICS dump codes ===> ddddcccc * CICS transaction abend codes ===> tttttttt * * Where: * sss is a three-digit hexidecimal system completion code * uuu is a three-digit hexidecimal user abend code * dddd is a two-character EBCDIC CICS facility id (ie. AP or SM) * cccc is a two-byte binary code (0-9999) * tttttttt is a four-character EBCDIC transaction abend code (ie. ASRA) * *---------------------------------------------------------------------- PRM1OFST DS XL4 Program Offset PRM1WORK DS XL256 256-BYTE WORK AREA LPRM1 EQU *-CADVPRM1 TITLE 'REGISTER EQUATES' R0 EQU 0 R1 EQU 1 R2 EQU 2 R3 EQU 3 R4 EQU 4 R5 EQU 5 R6 EQU 6 R7 EQU 7 R8 EQU 8 R9 EQU 9 R10 EQU 10 R11 EQU 11 R12 EQU 12 R13 EQU 13 R14 EQU 14 R15 EQU 15 END CADVUSR1
Use this exit program to control access to captured dumps by potential viewers. Since all dumps captured use the same high-level qualifier, this user exit can be used to deny access to sensitive dump data.
The parm area CADVPRM2, shown next, contains information about the captured dump and also the ID of the user attempting to view it.
Fields in the parm area include:
Request codes include:
The sample user exit CADVUSR2 is shown next:
CADVUSR2 TITLE 'CA SymDump System Sample User Exit (#2)' **------------------------------------------------------------------** ** ** ** CADVUSR2 - CA SymDump System User Exit (#2) ** ** ** ** This user exit performs security validation prior to ** ** dump loading by the viewer. ** ** ** ** Input Registers: ** ** ** ** R1 contains the address of the parm area (CADVPRM2) ** ** R13 contains the address of a register save area ** ** R14 contains the return address ** ** R15 contains the address of CADVUSR2 ** ** ** ** All other registers are unpredictable. ** ** ** ** Output Registers: ** ** ** ** R15 contains the return code (described below) ** ** ** ** All other registers must be returned unchanged. ** ** ** ** Return Codes ** ** ** ** R15 = 0 Allow dump viewing. ** ** ** ** R15 > 0 Disallow dump viewing. ** ** ** **------------------------------------------------------------------** SPACE , CADVUSR2 CSECT USING CADVUSR2,R12 Map the User Exit USING LDATA,R13 Map Local Data USING CADVPRM2,R8 Map the Parameter Area SPACE ,
STM R14,R12,12(R13) Save caller's registers LR R12,R15 Set procedure base LR R8,R1 Set parm base SPACE , LA R1,PRM2WORK @ Work area provided XC 0(256,R1),0(R1) Clear it out ST R13,4(,R1) Save backward chain ST R1,8(,R13) Save forward chain LR R13,R1 Set our RSA address SPACE ,
* Perform security validation here. SPACE , RETURN DS 0H L R15,LDRC Load the return code L R13,4(,R13) Restore @ caller's rsa L R14,12(,R13) Load return address LM R0,R12,20(R13) Restore registers BR R14 Return to caller TITLE 'LITERALS' LTORG , TITLE 'DSECTS: Local Data' LDATA DSECT
LDSAVE DS 18F LDRC DS F TITLE 'DSECTS: Parameter Area'
**------------------------------------------------------------------** ** ** ** CADVPRM2 - CA SymDump System Parameter Area #2 ** ** ** ** This copy member maps the parameter area passed to CADVUSR2 ** ** prior to dump loading. ** ** ** **------------------------------------------------------------------** SPACE , CADVPRM2 DSECT PRM2REQ DS XL4 Request type P2_OPEN EQU 5 5 = OPEN A DUMP FOR VIEWING P2_DDEL EQU 7 7 = DELETE A DUMP P2_LOCK EQU 22 22 = LOCK A DUMP INDEX ENTRY P2_UNLK EQU 23 23 = UNLOCK A DUMP INDEX ENTRY P2_DDLX EQU 28 28 = DELETE A DUMP INDEX ENTRY P2_BSTX EQU 31 31 = BUILD ASTORAGE INDEX PRM2USR DS CL8 Requestor's user id PRM2DJOB DS CL8 Dump job name PRM2DUSR DS CL8 Dump user id PRM2WORK DS XL256 256-BYTE WORK AREA LPRM2 EQU *-CADVPRM2 TITLE 'REGISTER EQUATES' R0 EQU 0 R1 EQU 1 R2 EQU 2 R3 EQU 3 R4 EQU 4 R5 EQU 5 R6 EQU 6 R7 EQU 7 R8 EQU 8 R9 EQU 9 R10 EQU 10 R11 EQU 11 R12 EQU 12 R13 EQU 13 R14 EQU 14 R15 EQU 15 END CADVUSR2
|
Copyright © 2014 CA Technologies.
All rights reserved.
|
|