VistA-FOIAVistA/r/VISTALINK_SECURITY-XOBS/XOBSRA1.m

55 lines
1.9 KiB
Mathematica

XOBSRA1 ;mjk,esd/alb - VistALink Reauthentication Code ; 05/22/2003 07:00
;;1.5;VistALink Security;;Sep 09, 2005
;;Foundations Toolbox Release v1.5 [Build: 1.5.0.026]
;
QUIT
;
KILL ; -- clean up partition's local symbol table ; called from INIT^XOBSRA
;SET AAXOB="before" DO ^%ZTER ; -- used to view symbol table 'before' state
;
IF XOBOS["OpenM" DO
. ; -- Stack: CACHEVMS^XOBVTCP
. ; SPAWN^XOBVLL
. ; NXTCALL^XOBVLL
. ; EN^XOBVRM
. ; EN^XOBVRPC()
. ; SETUPDUZ^XOBSRA()
. ;
. ; -- NEW non-XOB variables created in above stack
. NEW DIQUIET,DX,DY,RPC0,RPCNAME,RPCIEN,TAG,ROU,METHSIG,XRTN
. DO CACHE("XOB")
ELSE DO
. DO OTHER
;
;SET AAXOB="after" DO ^%ZTER ; -- used to view symbol table 'after' state
QUIT
;
CACHE(%NS) ; -- KILL all 'L'ocal 'VAR'iables except for a 'N'ame'S'pace (%NS) and Kernel for Cache systems
NEW %LVAR,%NSLEN
SET %NSLEN=$LENGTH(%NS)
SET %LVAR=%NS
FOR SET %LVAR=$ORDER(@%LVAR) QUIT:%LVAR=""!($EXTRACT(%LVAR,1,%NSLEN)'=%NS) NEW @%LVAR
; -- NEW Kernel variables and do the big KILL
DO KILL^XUSCLEAN
QUIT
;
OTHER ; -- explicit NEW'ing for other for non-Cache M implementations
; -- The following are NEW'ed as part KILL^XOBVLL call:
; XOBPORT,XOBSTOP,XOBNULL,XOBOS,XOBSYS,XOBHDLR,XOBOK
; -- additional NEW'ing needed to preserve for CACHEVMS^XOBVTCP
NEW XOBEC
; -- additional NEW'ing needed to preserve for SPAWN^XOBVLL
NEW XOBLASTR
; -- additional NEW'ing needed to preserve for NXTCALL^XOBVLL
NEW XOBROOT,XOBREAD,XOBTO,XOBFIRST,XOBDATA,DIQUIET
; -- additional NEW'ing needed to preserve for EN^XOBVRM
NEW XOBOPT
; -- additional NEW'ing needed to preserve for EN^XOBVRPC()
NEW DX,DY,RPC0,RPCNAME,RPCIEN,TAG,ROU,METHSIG,XOBERR,XOBR,XOBSEC,XOBWRAP,XRTN,XOBRA,XOBVER,XOBPTYPE
; -- additional NEW'ing needed to preserve for SETUPDUZ^XOBSRA()
NEW XOBERR,XOBID,XOBTYPE
; -- call KILL^XOBVLL to finish NEW'ing and execute Kernel call to kill
DO KILL^XOBVLL
QUIT
;