Eine PSWORD-Exit-Routine kann ein MODIFY-USER-PROTECTION-Kommando annehmen oder abweisen. Die zur Überprüfung notwendigen Daten werden in einer variablen Änderungsliste zur Verfügung gestellt. Die Adresse der Änderungsliste wird im Exit-Parameterbereich $SRMSYE nach dem Standardheader im Feld SRMFSYEPT übergeben.
Zusätzliche Informationen über die betroffenen Benutzerkennungen oder andere Systemwerte können mit den entsprechenden Systemschnittstellen abgefragt werden.
Folgende Informationen werden an die Exit-Routine übergeben:
R1 = A(Parameterbereich $SRMSYE) R2 .... R11 sind undefiniert. R12 = A(TPR Program Manager) R13 = A(Save Area) R14 = A(indirekter Rücksprung) R15 = A(Exit-Routine)
Die Exit-Routine wird in zwei verschiedenen Formaten aufgerufen. Diese werden durch das Versionskennzeichen SRMFFCTV (siehe "DSECT") unterschieden.
SRMFFCTV=1
Mit diesem Format wird die Exit-Routine bei der Verarbeitung des Kommandos MODIFY-USER-PROTECTION aufgerufen, wenn SECOS ab Version V3.0 im Einsatz ist. In diesem Fall erfolgen zwei Aufrufe:
Eine Änderungsliste wird übergeben, anhand derer in der Exit-Routine entschieden werden kann, ob das Kommando ausgeführt werden soll oder nicht.
Die Änderungsliste hat folgendes Format:
Kennzeichen für Kennwortänderung
X'03'
------- unbenutzt -------
X'01'
neues Kennwort (unverschlüsselt)
*8 Byte
altes Kennwort
*8 Byte
Endekennzeichen
X'FF'
PVS-Kennzeichen
1 Byte
PVS-Id
4 Byte
Benutzerkennung
8 Byte
TID
4 Byte
RUN (1. oder 2. Aufruf)
1 Byte
RESULT(Aufrufergebnis)
1 Byte
*Das neue Kennwort wird stets unverschlüsselt an der Schnittstelle bereitgestellt. Das alte Kennwort ist gemäß der Class-2-Option ENCRYPT verschlüsselt.
Bei diesem Aufruf hat das Feld RUN den Wert 1 und das Feld RESULT den Wert 0.
Die Rückkehrinformation an die rufende Systemkomponente erfolgt über den Maincode1 des Parameterbereichs $SRMSYE im rechten Byte des Feldes SRMFSYEHDR.
SRMFMR1=X'00'
Das Kommando soll ausgeführt werden.
SRMFMR1=X'01'
Das Kommando soll abgewiesen werden.
Danach finden im System weitere Überprüfungen statt, die entscheiden, ob das Kennwort geändert werden kann, z. B. Prüfung auf hinreichende Komplexität.
Im Feld RESULT der Änderungsliste wird übermittelt, ob das Kennwort erfolgreich geändert werden konnte oder nicht:
RESULT=1
Das Kennwort wurde erfolgreich geändert.
RESULT=2
Das Kennwort wurde nicht geändert.
Das Feld RUN hat den Wert 2.
Hat die Exit-Routine das MODIFY-USER-PROTECTION-Kommando abgewiesen, wird folgende Meldung ausgegeben:
% SRM2301 KOMMANDO WURDE DURCH EINE SYSTEM-EXIT-ROUTINE ABGEWIESEN
SRMFFCTV=0
Mit diesem Format wird die Exit-Routine bei der Verarbeitung des Kommandos MODIFY-USER-PROTECTION aufgerufen, wenn SECOS nicht eingesetzt wird oder eine SECOS-Version < V3.0 im Einsatz ist. Bei der Verarbeitung des ISP-Kommandos PSWORD wird die Exit-Routine ebenfalls in diesem Format aufgerufen, unabhängig davon ob und welche Version von SECOS eingesetzt wird.
Die Änderungsliste hat folgendes Format:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
*Das neue Kennwort wird stets unverschlüsselt an der Schnittstelle bereitgestellt. Das alte Kennwort ist gemäß der Class-2-Option ENCRYPT verschlüsselt. |
Die Rückkehrinformation an die rufende Systemkomponente erfolgt über den Maincode1 des Parameterbereichs $SRMSYE im rechten Byte des Feldes SRMFSYEHDR.
|
|
|
|
Hat die Exit-Routine das MODIFY-USER-PROTECTION-Kommando abgewiesen, wird folgende Meldung ausgegeben:
% SRM2301 KOMMANDO WURDE DURCH EINE SYSTEM-EXIT-ROUTINE ABGEWIESEN
DSECT
$SRMSYE MF=D MFTST MF=D,PREFIX=S,MACID=RMF,ALIGN=F, C DMACID=RMF,SUPPORT=(D,C,M,L),DNAME=RMF_MDL SRMF_MDL DSECT , *,##### PREFIX=S, MACID=RMF ##### * parameterarea description SRMFSYEHDR FHDR MF=(C,SRMF),EQUATES=NO Standardheader SRMFSYEHDR DS 0A SRMFFHE DS 0XL8 0 GENERAL PARAMETER AREA HEADER * SRMFIFID DS 0A 0 INTERFACE IDENTIFIER SRMFFCTU 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 SRMFFCT DS AL1 2 FUNCTION NUMBER SRMFFCTV DS AL1 3 FUNCTION INTERFACE VERSION NUMBER * SRMFRET DS 0A 4 GENERAL RETURN CODE SRMFSRET DS 0AL2 4 SUB RETURN CODE SRMFSR2 DS AL1 4 SUB RETURN CODE 2 SRMFSR1 DS AL1 5 SUB RETURN CODE 1 SRMFMRET DS 0AL2 6 MAIN RETURN CODE SRMFMR2 DS AL1 6 MAIN RETURN CODE 2 SRMFMR1 DS AL1 7 MAIN RETURN CODE 1 SRMFFHL EQU 8 8 GENERAL OPERAND LIST HEADER LENGTH * * main return codes SRMFSUCC EQU 0 CMD accepted SRMFREJE EQU 1 CMD rejected * SRMFSYEPT DS A POINTER SRMF# EQU *-SRMFSYEHDR