cdc:nos2.source:nam5871:nvftvaa
Table of Contents
NVFTVAA
Table Of Contents
- [00005] PROC NVFTVAA1)
- [00006] NVFTVAA - VALIDATE USER'S RIGHT TO ACCESS APPL
- [00010] VALIDATE USER'S RIGHT TO ACCESS APPLICATION.
- [00060] PROC NVFTCRN
- [00061] PROC NVFTILP
- [00062] PROC NVFTPSV
- [00063] PROC NVFTPUV
- [00064] PROC NVFUMQE
- [00065] PROC NVFTRLC
- [00071] PROC MESSAGE
- [00212] PROC DAPNAME
- [00213] DAPNAME - DETERMINE SWITCH APPLICATION NAME
- [00217] DAPNAME - DETERMINE SWITCH APPLICATION NAME.
Source Code
- NVFTVAA.txt
- *DECK NVFTVAA
- USETEXT TEXTNVF
- USETEXT TXTANVF
- USETEXT TXSMNVF
- PROC NVFTVAA((PT));
- # TITLE NVFTVAA - VALIDATE USER'S RIGHT TO ACCESS APPL #
- BEGIN # NVFTVAA #
- #
- ** NVFTVAA - VALIDATE USER'S RIGHT TO ACCESS APPLICATION.
- *
- * E. THAVIKULWAT 81/10/28
- * C. BRION 83/05/10
- *
- * THIS PROCEDURE'S MAIN FUNCTION IS TO DETERMINE IF APPLICATION
- * NAME IS VALID (EXIST IN *AST* TABLE), AND IF SO, IS USER VALIDATED
- * TO ACCESS THE APPLICATION. IT IS CALLED INTO EXECUTION BY THE
- * FOLLOWING PROCEDURES:
- * *NVFTETI* *NVFTVVD*
- *
- * PROC NVFTVAA((PT))
- *
- * ENTRY:
- * PT = POINTER TO PTAC ENTRY
- *
- * EXIT:
- * APPROPRIATE MESSAGE ISSUED IF ANY ERRORS. OTHERWISE, PTAC ENTRY
- * UPDATED WITH THE APPLICATION NAME TO SWITCH TO.
- *
- * NOTES:
- * 1) USER VOLUNTEERED APPLICATION NAME OF "HELLO", "LOGIN", "BYE",
- * OR "LOGOUT" OVERRIDES ANY MANDATORY/IMPLIED MANDATORY/PRIMARY
- * APPLICATION NAME.
- * 2) IF THE MANDATORY/PRIMARY APPLICATION NAME FROM THE *LCF* IS
- * USED AND IF THE NAME IS ONE OF THE RESERVED APPLICATION NAME
- * OF "HELLO", "LOGIN", "BYE", OR "LOGOUT", THEN THE NAME WILL
- * NOT BE IN THE *AST* TABLE AND WILL RESULT IN ILLEGAL
- * APPLICATION.
- *
- * METHOD:
- * IF USER VOLUNTEERED APPLICATION NAME EXIST, CALL PROCEDURE
- * *NVFTCRN* TO DETERMINE IF IT IS ONE OF THE RESERVED APPLICATION
- * NAME OF "HELLO", "LOGIN", "BYE", OR "LOGOUT". IF IT IS, JUST
- * EXIT AS *NVFTCRN* WOULD HAVE TAKEN APPROPRIATE ACTION DEPENDING
- * ON THE RESERVED NAME. IF IT IS NOT, CALL INTERNAL PROCEDURE
- * *DAPNAME* TO DETERMINE THE SWITCH APPLICATION NAME. SEARCH
- * *AST* TABLE FOR A MATCH ON THE APPLICATION NAME. IF MATCH AND
- * THE ACCESS WORD BIT POSITION OF THE USER'S ACCESS WORD IS SET,
- * THEN USER IS VALIDATED TO ACCESS THE REQUESTED APPLICATION.
- * OTHERWISE, USER IS NOT VALIDATED TO ACCESS THE REQUESTED
- * APPLICATION.
- #
- #
- **** PROC NVFTVAA - XREF LIST.
- #
- XREF
- BEGIN
- PROC NVFTCRN; # CHECK FOR RESERVED APPLICATION NAME #
- PROC NVFTILP; # ISSUE LOGIN PROMPT #
- PROC NVFTPSV; # PROCESS SUCCESSFUL VALIDATION #
- PROC NVFTPUV; # PROCESS UNSUCCESSFUL VALIDATION #
- PROC NVFUMQE; # TRANSFER TEXT TO QUEUE #
- PROC NVFTRLC; # REFUSE LOANED CONNECTION #
- END
- $BEGIN
- XREF
- BEGIN
- PROC MESSAGE; # ISSUE DAYFILE MESSAGE #
- END
- $END
- #
- ****
- #
- *CALL TMSGNVF
- ITEM ADDR I; # ADDRESSING INFORMATION FOR ABH #
- ITEM BPOS I; # BIT POSITION (SYMPL NOTATION) #
- ITEM ERRFLAG B; # ERROR INDICATOR FLAG #
- ITEM I I; # LOOP VARIABLE #
- ITEM MATCH B; # EXIT LOOP VARIABLE #
- ITEM NENTRY I; # NUMBER OF ENTRIES IN TABLE #
- ITEM PT I; # SUBSCRIPT FOR ARRAY PTAC #
- ITEM RNAME I; # RESERVED NAME INDICATOR #
- ITEM SMOUT B; # SM TYPE OUT FOR NVFTRLC #
- CONTROL EJECT;
- #
- * IF USER VOLUNTEERED APPLICATION NAME AND NAME IS NOT INVALID,
- * CALL *NVFTCRN* TO DETERMINE IF NAME IS ONE OF THE RESERVED
- * APPLICATION NAME.
- #
- IF (PTA$VAF[PT]) AND (NOT PTA$INVAF[PT])
- THEN # VOLUNTEERED AND VALID #
- BEGIN
- NVFTCRN(PT,RNAME);
- IF (RNAME NQ NORESNAM$)
- THEN
- BEGIN
- IF RNAME EQ LOGIN$
- THEN
- BEGIN
- #
- * RESERVED APPLICATION NAME OF "HELLO" OR "LOGIN".
- * IF NOT LOAN REQUEST TYPE, ISSUE PROMPT.
- #
- IF PTA$LRC[PT] LS RCRC"LSA"
- THEN
- BEGIN
- NVFTILP(PT);
- END
- IF PTA$LRC[PT] GQ RCRC"LSA"
- THEN
- BEGIN
- #
- * RESERVED APPLICATION NAME AND LOAN REQUEST CONNECTION.
- * NOT ALLOWED, RETURN CONNECTION TO PRIMARY.
- #
- IF PTA$LRC[PT] EQ RCRC"LSA"
- THEN
- SMOUT = TRUE;
- ELSE
- SMOUT = FALSE;
- PTA$LRC[PT] = RCRC"SNA";
- NVFTRLC(PT,SMOUT,PTA$LRC[PT]);
- END
- END
- #
- * IF ANY RESERVED NAME WAS FOUND, JUST RETURN. IF THE RESERVED
- * NAME WAS "BYE" OR "LOGOUT", NVF WILL HAVE ALREADY TERMINATED
- * THE CONNECTION.
- #
- RETURN;
- END
- END
- #
- * CALL INTERNAL PROCEDURE *DAPNAME* TO DETERMINE SWITCH APPLICATION
- * NAME.
- #
- DAPNAME;
- #
- * *DAPNAME* WILL RETURN AN ERROR IF BOTH MANDATORY AND IMPLIED
- * MANDATORY APPLICATION NAME IS SPECIFIED AND THE NAMES ARE NOT
- * THE SAME.
- #
- IF (NOT ERRFLAG) AND (NOT PTA$INVAF[PT])
- THEN # NO ERROR #
- BEGIN
- #
- * SEARCH *AST* TABLE FOR THE REQUESTED APPLICATION NAME. IF
- * MATCH AND USER HAS PERMISSION TO ACCESS APPLICATION, THEN CALL
- * *NVFTPSV* TO CONTINUE PROCESSING. OTHERWISE, CALL *NVFTPUV* TO
- * ISSUE APPROPRIATE ERROR MESSAGE.
- #
- ERRFLAG = TRUE;
- MATCH = FALSE;
- NENTRY = ASTLNGTH / ASTSIZ$;
- FOR I = 0 STEP 1 WHILE (NOT MATCH AND I LS NENTRY)
- DO
- BEGIN
- IF (AST$ANAM[I] EQ PTA$SWTAPP[PT])
- THEN # FOUND REQUESTED APPLICATION #
- BEGIN
- IF AST$AWBP[I] NQ NSAWBP$
- THEN
- BEGIN # APPLICATION NOT "NS" #
- BPOS = 59 - AST$AWBP[I]; # BIT POSITION (SYMPL NOTATION) #
- IF (B<BPOS,1>PTA$AAVW[PT] EQ 1)
- THEN # USER VALIDATED TO ACCESS APPL #
- BEGIN
- ERRFLAG = FALSE; # INDICATE APPLICATION FOUND #
- END
- END
- MATCH = TRUE; # EXIT LOOP #
- END
- END
- END
- IF NOT MATCH AND (PTA$LRC[PT] EQ RCRC"LSA")
- THEN # SECONDARY APPLICATION DOES NOT EXIT #
- BEGIN
- SMOUT = TRUE;
- PTA$LRC[PT] = RCRC"SAI";
- NVFTRLC (PT,SMOUT,PTA$LRC[PT]); # SEND CR/RCN/A WITH RC=23B #
- RETURN;
- END
- IF (PTA$INVAF[PT]) OR (ERRFLAG)
- THEN # INVALID APPL OR USER OF APPL #
- BEGIN
- NVFTPUV(PT); # UNSUCCESSFUL APPL VALIDATION #
- END
- ELSE # VALID APPL AND USER #
- BEGIN
- PTA$PROMPT[PT] = AWTAPP$;
- NVFTPSV(PT); # SUCCESSFUL APPL VALIDATION #
- END
- RETURN;
- CONTROL EJECT;
- PROC DAPNAME;
- # TITLE DAPNAME - DETERMINE SWITCH APPLICATION NAME #
- BEGIN # DAPNAME #
- #
- ** DAPNAME - DETERMINE SWITCH APPLICATION NAME.
- *
- * E. THAVIKULWAT 81/10/28
- *
- * THIS PROCEDURE IS INTERNAL TO PROCEDURE *NVFTVAA* AND IS CALLED
- * ONLY BY *NVFTVAA*. IT'S MAIN FUNCTION IS TO DETERMINE THE
- * APPROPRIATE APPLICATION TO SWITCH THE USER TO.
- *
- * PROC DAPNAME
- *
- * ENTRY:
- * PT = POINTER TO PTAC ENTRY.
- *
- * EXIT:
- * SWITCH APPLICATION NAME ENTERED IN PTAC ENTRY.
- *
- * NOTES:
- * FOR AUTOLOGIN DATA, THE FOLLOWING ORDER OF PRECEDENCE IS USED
- * TO DETERMINE SWITCH APPLICATION NAME:
- * 1) MANDATORY OR IMPLIED MANDATORY APPLICATION NAME,
- * WHICHEVER IS SPECIFIED.
- * 2) PRIMARY APPLICATION NAME IF PRIMARY INDICATED AND USER
- * VOLUNTEERED VALUE IS "NULL" OR BLANK.
- * 3) USER VOLUNTEERED APPLICATION NAME IS USED OTHERWISE.
- *
- * IF MANDATORY AND IMPLIED MANDATORY APPLICATION NAME ARE BOTH
- * SPECIFIED, THE NAMES MUST BE THE SAME. OTHERWISE, AN ERROR IS
- * ISSUED AND THE CONNECTION TERMINATED.
- *
- * METHOD:
- * IF MANDATORY OR IMPLIED MANDATORY APPLICATION NAME SPECIFIED
- * AND USER STILL VOLUNTEERED AN APPLICATION NAME (CAN ONLY BE
- * VIA ABBREVIATED FORMAT), CLEAR APPLICATION INVALID FLAG FIELD
- * IN PTAC ENTRY AS THE VOLUNTEERED NAME WILL NOT BE USED AND
- * ISSUE MESSAGE THAT VOLUNTEERED NAME IS IGNORED. SET SWITCH
- * APPLICATION NAME TO MANDATORY OR IMPLIED MANDATORY, WHICHEVER
- * ONE IS SPECIFIED. IF DEFAULT (ACTUALLY PRIMARY BUT IS CHANGED
- * TO DEFAULT BY *NVFTILP* SO THAT SUBSEQUENT LOGIN WILL SOLICIT
- * APPLICATION PROMPT) SPECIFIED INSTEAD AND VOLUNTEERED
- * APPLICATION NAME IS "NULL" OR BLANK, SET SWITCH APPLICATION NAME
- * TO THE DEFAULT(PRIMARY) VALUE. OTHERWISE, SET SWITCH APPLICATION
- * NAME TO THE USER VOLUNTEERED APPLICATION NAME.
- #
- ERRFLAG = FALSE;
- IF (PTA$APPIND[PT] EQ MNDATRY$) OR (PTA$VDSF[PT])
- THEN # MANDATORY AND/OR IMPLIED MANDATORY #
- BEGIN
- PTA$SWTAPP[PT] = PTA$ALIAPP[PT]; # PRESET TO MANDATORY #
- IF (PTA$VAF[PT])
- THEN # HAVE USER VOLUNTEERED APPL #
- BEGIN # SEND APPLICATION IGNORED MSG #
- PTA$INVAF[PT] = FALSE; # CLEAR INVALID APPL FLAG #
- UPA$TYPE[0] = "APPLICATION";
- ADDR = PTA$ACN[PT];
- NVFUMQE(P<CTQ>,UPABUF[0],APPTTX$,ADDR,LMSG40$);
- END
- #
- * IF MANDATORY AND IMPLIED MANDATORY ARE BOTH SPECIFIED, THE
- * NAMES MUST BE THE SAME.
- #
- IF (PTA$APPIND[PT] EQ MNDATRY$) AND (PTA$VDSF[PT])
- THEN # MANDATRY AND IMPLIED MANDATRY #
- BEGIN
- IF (PTA$ALIAPP[PT] NQ PTA$VDSAPP[PT])
- THEN # NAMES NOT THE SAME #
- BEGIN
- ERRFLAG = TRUE;
- END
- END
- ELSE # MANDATORY OR IMPLIED MANDATRY #
- BEGIN
- IF (PTA$VDSF[PT])
- THEN # IMPLIED MANDATORY #
- BEGIN
- PTA$SWTAPP[PT] = PTA$VDSAPP[PT]; # SET TO IMPLIED MNDATRY #
- END
- END
- END
- ELSE # NON-MANDATORY #
- BEGIN
- PTA$SWTAPP[PT] = PTA$VLTAPP[PT]; # PRESET TO VOLUNTEERED APPL #
- #
- * IF VOLUNTEERED APPLICATION NAME IS "NULL" OR BLANK, AND DEFAULT
- * (ACTUALLY PRIMARY) SPECIFIED, USE THE DEFAULT NAME. OTHERWISE,
- * USE THE VOLUNTEERED NAME.
- #
- IF (PTA$APPIND[PT] EQ DEFAULT$)
- AND ((PTA$VLTAPP[PT] EQ NULL$) OR (PTA$VLTAPP[PT] EQ " "))
- THEN # DEFAULT AND NULL (OR BLANK) #
- BEGIN
- PTA$SWTAPP[PT] = PTA$ALIAPP[PT]; # USE DEFAULT NAME #
- END
- END
- END # END DAPNAME #
- END # END NVFTVAA #
- TERM
1)
PT
cdc/nos2.source/nam5871/nvftvaa.txt ยท Last modified: 2023/08/05 17:23 by Site Administrator