Die SAT-Exit-Routine wird nur für Ereignisse aufgerufen, die protokolliert werden sollen, siehe Handbuch „SECOS“ [12]. Dies geschieht unmittelbar bevor das Ereignis in die SAT-Protokolldatei geschrieben wird. Die Exit-Routine muss von der Systembetreuung geladen und vom Sicherheitsbeauftragten aktiviert werden (/MODIFY-SAT-PRESELECTION EXIT=YES
).
Die Exit-Routine kann
gezielte Reaktionen einleiten (z.B. Sperrung einer Benutzerkennung nach einer bestimmten Anzahl fehlerhafter LOGON-Versuche)
einen eigenen SATLOG-Satz schreiben (Ereignis ANY, Makro $SATANY)
bei Rückkehr zu SAT über den Returncode das Schreiben des analysierten SATLOG-Satzes zulassen oder unterdrücken.
Folgende Information wird an die Routine übergeben:
R1 = A(EX110-Parameterbereich) R12 = A(TPR Program Manager) R13 = A(Sicherungsbereich der rufenden Komponente) R14 = A(indirekter Rücksprung) R15 = A(Exit-Routine)
Die Rückkehrinformation an die aufrufende Systemkomponente erfolgt über die Parameterliste SATZPMDL im Feld SATZSR1.
SATZSR1 = X'00' (das Ereignis soll in die SAT-Protokolldatei geschrieben werden)
SATZSR1 = X'04' (das Ereignis soll nicht in die SAT-Protokolldatei geschrieben werden)
Die Parameter-Liste, die an die Exit-Routine übergeben wird, enthält eine Kopie des Protokolldatensatzes. Dadurch wird sichergestellt, dass die Originalinformation nicht verändert werden kann.
Die Parameter-Liste hat folgenden Inhalt:
Standardheader
Länge des Datensatzes (2 Byte)
reserviert (2 Byte)
Protokolldatensatz (fester und variabler Teil)
Der Protokolldatensatz ist im Handbuch „SECOS“ [12] beschrieben. Er besteht aus einem festen Teil und einem variablen Teil. Der variable Teil enthält eine Liste von Informationsfeldern. Es gibt zwei Typen von Informationsfeldern:
Das Standard-Informationsfeld
Längenangabe
Identifikator (siehe Handbuch „SECOS“ [12])
zugehöriges Datenfeld
Das *LNG-Feld
Feld mit dem Wert 255 (Indikator für *LNG-Feld)
negativen Indikator
Längenangabe
2 Byte reserviert
zugehöriges Datenfeld
Die Beschreibung des Parameterbereichs gibt nur das Layout für ein Informationsfeld (Standard-Informationsfeld bzw. *LNG-Feld) des variablen Teils an.
DSECT
EX110 MF=D MFTST MF=D,PREFIX=S,MACID=ATZ,ALIGN=F, C DMACID=ATZ,SUPPORT=(D,C),DNAME=ATZPMDL SATZPMDL DSECT , *,##### PREFIX=S, MACID=ATZ ##### * set for subcode_1 SATZLOG EQU 0 record-log requested SATZRJ EQU 4 reject record * SATZIMDL EQU 5900 max. length of logging record * SATZILFP EQU 28 length of fixed part in * logging record * * parameter list description SATZHDR FHDR MF=(C,SATZ),EQUATES=NO standard header SATZHDR DS 0A SATZFHE DS 0XL8 0 GENERAL PARAMETER AREA HEADER * SATZIFID DS 0A 0 INTERFACE IDENTIFIER SATZFCTU DS AL2 0 FUNCTION UNIT NUMBER * BIT 15 HEADER FLAG BIT, * MUST BE RESET UNTIL FURTHER NOTICE * BIT 14-12 UNUSED, MUST BE RESET * BIT 11-0 REAL FUNCTION UNIT NUMBER SATZFCT DS AL1 2 FUNCTION NUMBER SATZFCTV DS AL1 3 FUNCTION INTERFACE VERSION NUMBER * SATZRET DS 0A 4 GENERAL RETURN CODE SATZSRET DS 0AL2 4 SUB RETURN CODE SATZSR2 DS AL1 4 SUB RETURN CODE 2 SATZSR1 DS AL1 5 SUB RETURN CODE 1 SATZMRET DS 0AL2 6 MAIN RETURN CODE SATZMR2 DS AL1 6 MAIN RETURN CODE 2 SATZMR1 DS AL1 7 MAIN RETURN CODE 1
SATZFHL EQU 8 8 GENERAL OPERAND LIST HEADER LENGTH * * main return codes SATZOK EQU 0 no error * SATZLEN DS H length of logging record SATZRS1 DS XL2 alignment * SATZREC DS 0XL5928 logging record * SATZFIX DS 0XL28 fixed part of logging record SATZUID DS CL8 user id SATZTSN DS CL4 TSN SATZEVT DS CL3 event SATZRES DS CL1 event result * SATZTSP DS 0XL8 time stamp SATZDAT DS CL4 YYYYMMDD SATZTIM DS CL4 HHMMSS00 * SATZSAT DS X SAT version SATZETT DS X reserved for extent SATZSCF DS X caller SATZSCV DS X caller version * SATZVAR DS 0XL5900 variable part of logging * record SATZDAR DS CL5900 variable part ORG SATZVAR * SATZFLD DS 0XL258 layout of a standard field SATZVLN DS X length of the field SATZVID DS CL2 id of the field SATZVDT DS CL255 data * ORG SATZVAR * SATZEFLD DS 0XL4007 layout of a *LNG field SATZVLND DS X 255 to indicate *LNG-field SATZNIDE DS CL2 negative id of the field SATZFLEN DS CL2 length of *LNG-field SATZABRL DS CL2 on exit 110 always zero SATZLVAL DS CL4000 data * ORG SATZVAR+5900 * SATZ# EQU *-SATZHDR