*TITLEJGPASS -- RETRIEVE RACF USER/PASSWORD IN BATCH 00010000 C*********************************************************************** C COPYRIGHT ATLANTIC RICHFIELD COMPANY 1991 * C*********************************************************************** *A AUTHOR R. S. KELLY 00020000 *A DESIGNER R. S. KELLY 00030000 *A SYSTEM IBM (SEE CRAY) 00040000 *A WRITTEN 04/11/84 00050000 * REVISED 00060000 * 4-11-84 RSK BECAUSE OF NEW RACF/JES2 USERID PROPAGATION * 00070000 * CODE, PASSWORD IS NO LONGER AVAILABLE IN THE * 00080000 * JCT. THIS ROUTINE WILL RETURN USERID AS * 00090000 * BEFORE, BUT THE PASSWORD FIELD WILL CONTAIN * 00100000 * BLANKS IF NO PASSWORD IS FOUND, IE. IF THE * 00110000 * USERID PROPAGATION FEATURE IS BEING USED. * 00120000 * * 00130000 * 4-1-85 RSK COMMENTED OUT CODE THAT TRIES TO RETRIEVE * 00140000 * PASSWORD. SPACES ARE RETURNED. * 00150000 * * 00160000 * 2-24-88 REM BLANK USER-ID AND PASSWORD AT BEGINNING TO AVOID * 00170000 * PROBLEMS WITH SHORT USER-IDS. * 00180000 * * 00190000 *A THIS ROUTINE IS CALLED BY 'JOBGEN' (OR ANY PGM RUNNING AS A MAIN * 00200000 *A TASK IN A BATCH INITIATOR) TO RETRIEVE THE RACF USER-ID AND * 00210000 *A PASSWORD ON THE JOB CARD. THE USER-ID IS RETRIEVED FROM THE ACEE * 00220000 *A AND THE PASSWORD FROM THE JES2 JCT. * 00230000 *A * 00240000 *A TO ASSEMBLE, THE FOLLOWING MUST BE AVAILABLE: * 00250000 *A 1. THE JES2 'HASPSRC' DATASET. * 00260000 *A 2. 'SYS1.AMODGEN' * 00270000 *A * 00280000 *A * 00290000 *A UPON ENTRY, R1 POINTS TO A 28 BYTE AREA WHICH LOOKS AS FOLLOWS: * 00300000 *A * 00310000 *A * 00320000 *A BYTES CONTENT TYPE FILLED IN BY * 00330000 *A * 00340000 *A 1-8 USER-ID CHARACTER 'JGPASS' * 00350000 *A 9-16 PASSWORD CHARACTER 'JGPASS' (NOT USED) * 00360000 *A 17-24 RETURN CODE BINARY 'JGPASS' * 00370000 *A * 00380000 *A * 00390000 *A RETURN-CODES: * 00400000 *A * 00410000 *A 0 NORMAL RETURN * 00420000 *A 2 ERROR IN ACCESSING ACEE * 00430000 *A 4 USER NOT A RACF USER * 00440000 * * 00450000 * * 00460000 * REGISTER USAGE: * 00470000 * R1 PARAMETER PASSING * 00480000 * R2 WORK REGISTER * 00490000 * R5 WORK REGISTER * 00500000 * R9 AREA WHERE PASSWORD STORED * 00510000 * R10 PARMS PASSED BY CALLER * 00520000 * R12 BASE REGISTER * 00530000 * R13 SAVE AREA * 00540000 * R14 RETURN ADDRESS * 00550000 * R15 EPA / RETURN CODE * 00560000 * * 00570000 PRINT NOGEN 00580000 SPACE 00590000 R0 EQU 0 00600000 R1 EQU 1 00610000 R2 EQU 2 00620000 R3 EQU 3 00630000 R4 EQU 4 00640000 R5 EQU 5 00650000 R6 EQU 6 00660000 R7 EQU 7 00670000 R8 EQU 8 00680000 R9 EQU 9 00690000 R10 EQU 10 00700000 R11 EQU 11 00710000 R12 EQU 12 00720000 R13 EQU 13 00730000 R14 EQU 14 00740000 R15 EQU 15 00750000 JCT EQU 0 00760000 EJECT 00770000 JGPASS CSECT 00780000 STM R14,R12,12(R13) HOUSEKEEPING 00790000 LR R12,R15 00800000 USING JGPASS,R12 00810000 LA R2,REGSAV 00820000 ST R13,4(R2) 00830000 ST R2,8(R13) 00840000 LR R13,R2 00850000 L R10,0(R1) ADDRESS OF PARMS 00860000 USING INPARM,R10 00870000 XR R15,R15 INITIALIZE RETURN CODE 00880000 ST R15,INRC 00890000 * INITIALIZE UESR-ID AND PASSWORD FIELDS TO BLANKS 00900000 MVC INUSER,KSPACE SPACE OUT USER FIELD 00910000 MVC INPASS,KSPACE SPACE OUT PASSWORD FIELD 00920000 * 00930000 * GET JES2 JCT 00940000 * USING PSA,R0 NOTE PSA ADDRESSABILITY 00950000 * L R5,PSATOLD CURRENT TCB 00960000 * USING TCB,R5 NOTE TCB ADDRESSABILITY 00970000 * L R5,TCBJSCB JOB STEP CONTROL BLOCK 00980000 * USING IEZJSCB,R5 NOTE ADDRESSABILITY 00990000 * L R5,JSCBACT ACTIVE JOB STEP CONTROL BLOCK 01000000 * L R5,JSCBSSIB SSIB 01010000 * USING SSIB,R5 01020000 * L R5,SSIBSUSE GET $SJB 01030000 * USING SJBDSECT,R5 01040000 * L R5,SJBJCT 01050000 * USING JCTDSECT,R5 01060000 * CLC JCTNUPAS,KSPACE NEW PASSWORD PRESENT? 01070000 * BH USENEW USE IT. 01080000 * MVC INPASS,JCTPASS 01090000 * B USEOLD ELSE USE CURRENT PASSWORD. 01100000 USENEW EQU * 01110000 * MVC INPASS,JCTNUPAS 01120000 * 01130000 USEOLD EQU * 01140000 L R5,X'10' CVT ADDRESS 01150000 L R5,0(R5) ADDRESS OF 'QUAD-WORD' 01160000 L R5,12(R5) ADDRESS OF CURRENT ASCB 01170000 USING ASCB,R5 01180000 L R5,ASCBASXB ADDRESS OF ASXB 01190000 USING ASXB,R5 01200000 L R5,ASXBSENV ADDRESS OF ACEE 01210000 USING ACEE,R5 01220000 LTR R5,R5 ACEE THERE? 01230000 BZ RC02 IF NOT, ERROR 01240000 * 01250000 CLC ACEEACEE,KACEE IS IT AN ACEE? 01260000 BNE RC02 IF NOT, ERROR 01270000 TM ACEEFLG1,ACEERACF RACF USER? 01280000 BNO RC04 IF NOT, ERROR 01290000 XR R2,R2 01300000 IC R2,ACEEUSRL GET USER LENGTH 01310000 BCTR R2,0 DECMEMENT FOR EXECUTE 01320000 EX R2,MOVEIT MOVE IN USER 01330000 B GOBACK 01340000 * 01350000 RC02 EQU * 01360000 LA R15,2 01370000 ST R15,INRC 01380000 B GOBACK 01390000 RC04 EQU * 01400000 LA R15,4 01410000 ST R15,INRC 01420000 B GOBACK 01430000 GOBACK EQU * 01440000 L R13,4(R13) RETURN TO CALLER 01450000 LM R14,R12,12(R13) 01460000 XR R15,R15 01470000 BR R14 GOBACK 01480000 SPACE 2 01490000 * 01500000 *** DATA AREAS 01510000 * 01520000 REGSAV DC 18F'0' 01530000 KSPACE DC CL8' ' 01540000 KACEE DC CL4'ACEE' 01550000 MOVEIT MVC INUSER(0),ACEEUSRI 01560000 PRINT NOGEN 01570000 * 01580000 INPARM DSECT 01590000 INUSER DS CL8 01600000 INPASS DS CL8 01610000 INRC DS F 01620000 IHAPSA 01630000 IKJTCB LIST=YES 01640000 IHAASCB 01650000 IHAACEE 01660000 IHAASXB 01670000 IEZJSCB 01680000 IEFJSSIB 01690000 JGPASS CSECT 01700000 * $BUFFER 01710000 * $DEB 01720000 * $JCT 01730000 * $SJB 01740000 LTORG 01750000 END 01760000