|
|
DataMuseum.dkPresents historical artifacts from the history of: IBM System/3 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about IBM System/3 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 4318 (0x10de)
Types: s3xseg
Names: »S$ESEC«
└─⟦d0bc1a931⟧ Bits:30009189 5704-sc1.V08.ccp
└─⟦64693a1c9⟧
└─⟦this⟧ »S$ESEC«
└─⟦4498c64f7⟧ Bits:30009191 5704-sc2.V05.ccp
└─⟦95ee7795b⟧
└─⟦this⟧ »S$ESEC«
MACRO 00010000
.********************************************************************** 00020000
.* * 00030000
.* NAME: $ESEC * 00040000
.* * 00050000
.* MODIFICATION LEVEL: VERSION 0, MODIFICATION LEVEL 0 * 00060000
.* * 00070000
.* FUNCTION: * 00080000
.* * 00090000
.* . CCP GENERATION FIRST PASS MACRO INSTRUCTION -- SPECIFY * 00100000
.* SIGN-ON SECURITY SUPPORT IN USER'S VERSION OF CCP. * 00110000
.* . THIS GENERATION MACRO IS OPTIONAL -- IF OMITTED, *NO* SIGN-ON * 00120000
.* SECURITY SUPPORT WILL BE GENERATED INTO THE USER'S CCP. * 00130000
.* * 00140000
.* INPUT OPERANDS: * 00150000
.* * 00160000
.* . SECURE-NO/CCP/USER * 00170000
.* * 00180000
.* SPECIFY WHAT SECURITY CHECKING IS TO BE DONE AT SIGN-ON: * 00190000
.* NO -- NEITHER CCP PASSWORD CHECK NOR USER ROUTINE CHECK * 00200000
.* CCP -- CCP PASSWORD CHECKING * 00210000
.* USER -- USER WILL SUPPLY HIS OWN ROUTINE (AND LUSI MUST BE * 00220000
.* SPECIFIED IN THIS MACRO-INSTRUCTION. * 00230000
.* DEFAULT IS NO. * 00240000
.* * 00250000
.* . LUSI-NUMBER * 00260000
.* * 00270000
.* THIS OPERAND IS SPECIFIED ONLY WHEN SECURE-USER IS SPECIFIED. * 00280000
.* INDICATES NUMBER OF BYTES TO RESERVE IN LOAD MODULE '$CC4Z9' * 00290000
.* AND IN MAIN STORAGE DURING CCP EXECUTION FOR USER SECURITY * 00300000
.* DATA. * 00310000
.* * 00320000
.********************************************************************** 00330000
$ESEC &SECURE-NO,&LUSI-0 00340000
.* 00350000
GBLB &TERR . TERMINATION ERROR SWITCH 00360000
GBLA &SEQ . SEQUENCE CONTROL: 00370000
.* . MUST BE 3 UPON ENTRY 00380000
.* . IS MADE 4 AFTER PROCESSING 00390000
GBLB &CPW,&UPW . CCP CHECKING / USER CHECKING 00400000
GBLA &LUS . LENGTH OF USER SECURITY DATA 00410000
TEXT 00420000
.* 00430000
.*--------- CHECK STATEMENT SEQUENCE -------------------------------* 00440000
.* 00450000
AIF (&SEQ EQ '3').SEQOK . SKIP IF IN SEQUENCE 00460000
.* 00470000
*!150E $ESEC STATEMENT OUT OF SEQUENCE -- OR PRECEDING STATEMENT ERROR 00480000
&TERR SETB 1 . SET TERMINATION ERROR SWITCH 00490000
&CPW SETB 0 . MAKE NULL PREVIOUS SPEC 00500000
&UPW SETB 0 . MAKE NULL PREVIOUS SPEC 00510000
.* 00520000
.SEQOK ANOP . STATEMENT IN PROPER SEQUENCE 00530000
.* 00540000
.*--------- SECURE-NO/CCP/USER 00550000
.* 00560000
AIF (&SECURE EQ 'N').LUEQ0 . SKIP IF SECURE-N 00570000
AIF (&SECURE EQ 'NO').LUEQ0 . SKIP IF SECURE-NO 00580000
AIF (&SECURE EQ 'CCP').CCP . SKIP IF SECURE-CCP 00590000
AIF (&SECURE EQ 'USER').USER . SKIP IF SECURE-USER 00600000
.* 00610000
*!155E INVALID 'SECURE' PARAMETER -- MUST BE CCP/USER/NO 00620000
&TERR SETB 1 . SET TERMINATION ERROR SWITCH 00630000
AGO .LUEQ0 . SKIP TO CHECK LUSI OPERAND 00640000
.* 00650000
.CCP ANOP . SECURE-CCP 00660000
&CPW SETB 1 00670000
.* 00680000
.LUEQ0 ANOP . CHECK LUSI-0 OR OMITTED 00690000
AIF (&LUSI EQ '0').SECND . SKIP IF 0 OR OMITTED 00700000
.* 00710000
*!160E INVALID 'LUSI' PARAMETER -- ONLY 0 IS VALID UNLESS SECURE-USER 00720000
&TERR SETB 1 . SET TERMINATION ERROR SWITCH 00730000
AGO .SECND 00740000
.* 00750000
.USER ANOP . SECURE-USER 00760000
.* 00770000
.*--------- LUSI-NUMBER --------------------------------------------* 00780000
.* 00790000
AIF (&LUSI NE '0').LUOK1 . SKIP IF VALUE SPECIFIED 00800000
.* 00810000
*!165E LUSI-0 SPECIFIED, OR 'LUSI' OPERAND OMITTED, WITH SECURE-USER 00820000
&TERR SETB 1 . SET TERMINATION ERROR SWITCH 00830000
AGO .SECND 00840000
.* 00850000
.LUOK1 AIF (T'&LUSI EQ 'N').LUOK2 . SKIP IF VALUE IS NUMERIC 00860000
.* 00870000
*!170E INVALID 'LUSI' PARAMETER -- MUST BE NUMBER IN RANGE 1-4096 00880000
&TERR SETB 1 . SET TERMINATION ERROR SWITCH 00890000
AGO .SECND 00900000
.* 00910000
.LUOK2 AIF (&LUSI LE '4096').LUOK . SKIP IF IN RANGE 1 - 4096 00920000
.* 00930000
*!170E INVALID 'LUSI' PARAMETER -- MUST BE NUMBER IN RANGE 1 - 4096 00940000
&TERR SETB 1 . SET TERMINATION ERROR SWITCH 00950000
AGO .SECND 00960000
.* 00970000
.LUOK ANOP . VALID LUSI PARAMETER 00980000
&LUS SETA &LUSI 00990000
&UPW SETB 1 01000000
.* 01010000
.*--------- SET STATEMENT SEQUENCE ---------------------------------* 01020000
.* 01030000
.SECND ANOP . END PROCESSING $ESEC STATEMENT 01040000
&SEQ SETA 4 . INDICATE $ESEC PROCESSED 01050000
.* 01060000
MEND 01070000