*DECK NVFTPVR USETEXT TEXTNVF USETEXT TEXTSS USETEXT TXTANVF PROC NVFTPVR((PT)); # TITLE NVFTPVR - PREPARE VALIDATION REQUEST # BEGIN # NVFTPVR # # ** NVFTPVR - PREPARE VALIDATION REQUEST. * * E. THAVIKULWAT 81/10/08 * * THIS PROCEDURE SETS UP THE CPM 56B VALIDATE USER REQUEST. IT IS * CALLED INTO EXECUTION BY THE FOLLOWING PROCEDURES: * *NVFTETI* *NVFTILP* * * PROC NVFTPVR((PT)) * * ENTRY: * PT = POINTER TO PTAC ENTRY. * * EXIT: * CPM 56B VALIDATE USER REQUEST ENTERED IN *CPMRQ* QUEUE. * * NOTES: * FOR AUTOLOGIN DATA, THE FOLLOWING ORDER OF PRECEDENCE IS USED * TO DETERMINE FAMILY AND USER NAME: * 1) MANDATORY NAME IS USED IF MANDATORY IS INDICATED. * 2) DEFAULT NAME IS USED IF DEFAULT IS INDICATED AND * USER VOLUNTEERED VALUE IS "NULL". * 3) IF DEFAULT IS INDICATED FOR FAMILY AND USER VOLUNTEERED * VALUE IS "0", THE SYSTEM DEFAULT FAMILY WILL BE USED. * 4) USER VOLUNTEERED VALUE IS USED OTHERWISE. * * IF USER NAME IS OBTAINED FROM THE *LCF* (LOCAL CONFIGURATION * FILE), PASSWORD IS NOT VALIDATED. A MESSAGE IS DISPLAYED ON * THE USER'S SCREEN IF VOLUNTEERED USER OR PASSWORD, ENTERED IN * THE ABBREVIATED FORMAT, IS IGNORED BECAUSE OF PRESENCE OF * AUTOLOGIN DATA. * * METHOD: * PRESET FAMILY, USER, AND PASSWORD TO VOLUNTEERED VALUES. IF * THERE IS AUTOLOGIN DATA, DETERMINE IF IT IS FOR FAMILY OR USER * OR BOTH AND CHANGE FAMILY, USER, AND PASSWORD TO BE USED * ACCORDINGLY. ENTER CPM 56B IN *CPMRQ* QUEUE. # # **** PROC NVFTPVR - XREF LIST. # XREF BEGIN PROC NVFUMQE; # TRANSFER TEXT TO QUEUE # END # **** # *CALL TMSGNVF ITEM ADDR I; # ADDRESSING INFORMATION FOR ABH # ITEM LNGTH I; # LENGTH OF MESSAGE # ITEM PT I; # SUBSCRIPT FOR ARRAY PTAC # ITEM PTIND I; # AUTOLOGIN TYPE INDICATOR VARIABLE # # * THE FOLLOWING ARRAY DEFINES ONE ZERO IN DISPLAY CODE STORED LEFT- * JUSTIFIED AND BINARY ZERO FILLED. # ARRAY ZERO[00:00] S(1); BEGIN ITEM ZRO$PARAM C(00,00,07); ITEM ZRO$DSP C(00,00,01) = ["0"]; END # * POINT BASE ARRAY TO OUTPUT HALF OF *MSGBUF* AND CLEAR THE BUFFER. # P = LOC(MSGBUF[0]) + ((NMSGBUF$ + 1) / 2); CRQ$FCWORD[0] = 0; CRQ$FWORD[0] = 0; CRQ$PWORD[0] = 0; CRQ$UWORD[0] = 0; # * PRESET FAMILY, USER, AND PASSWORD TO USER VOLUNTEERED VALUES. # CRQ$FNAM[0] = PTA$VLTFAM[PT]; CRQ$PASSWD[0] = PTA$VLTPW[PT]; CRQ$IFCTF[0] = TRUE; CRQ$VPWF[0] = FALSE; CRQ$UNUM[0] = PTA$VLTUSR[PT]; CRQ$RETPED[0] = TRUE; # RETURN PASSWORD EXP DATE # CRQ$RETPID[0] = TRUE; # RETURN PERSONAL IDENTIFIER # PTA$VLTPW[PT] = 0; # DONT KEEP PASSWORD ANY LONGER THAN NEDED# # * CHECK IF AUTOLOGIN DATA EXIST FOR FAMILY AND/OR USER. IF IT * DOES, CHANGE VALUES FOR FAMILY, USER, AND PASSWORD ACCORDINGLY. # IF PTA$ALIF[PT] THEN BEGIN # HAVE AUTOLOGIN DATA # PTIND = PTA$FAMIND[PT]; IF PTIND NQ 0 THEN BEGIN # * MANDATORY OR DEFAULT FAMILY SPECIFIED. IF MANDATORY, USE * MANDATORY FAMILY NAME. IF DEFAULT, AND VOLUNTEERED FAMILY * VALUE IS "NULL", USE DEFAULT FAMILY NAME. IF DEFAULT, AND * VOLUNTEERED FAMILY VALUE IS "ZERO", USE SYSTEM DEFAULT FAMILY. * IF DEFAULT, AND VOLUNTEERED FAMILY VALUE IS NEITHER "NULL" * NOR "ZERO", USE VOLUNTEERED VALUE. # IF (PTIND EQ MNDATRY$) OR (PTIND EQ PRIMARY$) OR ((PTIND EQ DEFAULT$) AND (PTA$VLTFAM[PT] EQ NULL$)) THEN # MNDATRY OR DEFAULT AND "NULL" # BEGIN CRQ$FNAM[0] = PTA$ALIFAM[PT]; END ELSE # DEFAULT AND NOT "NULL" # BEGIN IF PTA$VLTFAM[PT] EQ ZRO$PARAM[0] THEN # DEFAULT AND "ZERO" # BEGIN # USE SYSTEM DEFAULT FAMILY # CRQ$FWORD[0] = 0; END END IF PTIND EQ PRIMARY$ THEN BEGIN PTA$FAMIND[PT] = DEFAULT$; END END PTIND = PTA$USRIND[PT]; IF PTIND NQ 0 THEN BEGIN # * MANDATORY OR DEFAULT USER SPECIFIED. IF MANDATORY, USE * MANDATORY USER NAME. IF DEFAULT, AND VOLUNTEERED USER VALUE * IS "NULL", USE DEFAULT USER NAME. IF DEFAULT, AND VOLUNTEERED * USER VALUE IS NOT "NULL", USE VOLUNTEERED VALUE. IF MANDATORY * OR DEFAULT USER NAME USED, THEN VALIDATE WITH NO PASSWORD. # IF (PTIND EQ MNDATRY$) OR (PTIND EQ PRIMARY$ AND PTA$VLTUSR[PT] EQ NULL$) OR ((PTIND EQ DEFAULT$) AND (PTA$VLTUSR[PT] EQ NULL$)) THEN # MNDATRY OR DEFAULT AND "NULL" # BEGIN CRQ$UNUM[0] = PTA$ALIUSR[PT]; CRQ$VPWF[0] = TRUE; IF ((PTIND EQ MNDATRY$) AND (PTA$VUF[PT])) OR (PTA$VPF[PT]) THEN BEGIN # * VOLUNTEERED USER AND/OR PASSWORD ENTERED IN ABBREVIATED * FORMAT. SEND "VOLUNTEERED USER/PASSWORD IGNORED" MESSAGE * TO TERMINAL. # UPA$TYPE[0] = "USER/PASSWORD"; ADDR = PTA$ACN[PT]; NVFUMQE(P,UPABUF[0],APPTTX$,ADDR,LMSG40$); END END END IF PTIND EQ PRIMARY$ THEN BEGIN PTA$USRIND[PT] = DEFAULT$; END END # * ENTER CPM 56B IN *CPMRQ* QUEUE. # CRQ$FC[0] = CPM56B$; CRQ$ACN[0] = PTA$VCB[PT]; CRQ$QNUM[0] = LOC(P); # SET DEST QUEUE NUMBER # CRQ$NOROUT[0]=TRUE; LNGTH = CRQVSIZ$ * 10; NVFUMQE(P,CRQBUF[0],APPTTX$,0,LNGTH); PTA$STATE[PT] = PTACST"AWTVAL"; # SET STATE TO AWAIT VALIDATION # END # END NVFTPVR # TERM