VistA-hash/KIDS.0

585 lines
13 KiB
Plaintext
Raw Normal View History

2010-01-26 22:53:53 -05:00
KIDS Distribution saved on Jan 12, 2010@09:43:23
Tuesday Jan 12
**KIDS**:VWHHS*00.1*5^
**INSTALL NAME**
VWHHS*00.1*5
"BLD",7076,0)
VWHHS*00.1*5^^0^3100112^n
"BLD",7076,4,0)
^9.64PA^^
"BLD",7076,6.3)
2
"BLD",7076,"KRN",0)
^9.67PA^8989.52^19
"BLD",7076,"KRN",.4,0)
.4
"BLD",7076,"KRN",.401,0)
.401
"BLD",7076,"KRN",.402,0)
.402
"BLD",7076,"KRN",.403,0)
.403
"BLD",7076,"KRN",.5,0)
.5
"BLD",7076,"KRN",.84,0)
.84
"BLD",7076,"KRN",3.6,0)
3.6
"BLD",7076,"KRN",3.8,0)
3.8
"BLD",7076,"KRN",9.2,0)
9.2
"BLD",7076,"KRN",9.8,0)
9.8
"BLD",7076,"KRN",9.8,"NM",0)
^9.68A^7^7
"BLD",7076,"KRN",9.8,"NM",1,0)
VWHSH0^^0^B4330045
"BLD",7076,"KRN",9.8,"NM",2,0)
VWHSH3^^0^B2878674
"BLD",7076,"KRN",9.8,"NM",3,0)
VWHSH8^^0^B1242378
"BLD",7076,"KRN",9.8,"NM",4,0)
VWHSHCLX^^0^B2011086
"BLD",7076,"KRN",9.8,"NM",5,0)
VWHSHCWN^^0^B1741215
"BLD",7076,"KRN",9.8,"NM",6,0)
VWHSHGTM^^0^B1519925
"BLD",7076,"KRN",9.8,"NM",7,0)
VWHSHTST^^0^B405235
"BLD",7076,"KRN",9.8,"NM","B","VWHSH0",1)
"BLD",7076,"KRN",9.8,"NM","B","VWHSH3",2)
"BLD",7076,"KRN",9.8,"NM","B","VWHSH8",3)
"BLD",7076,"KRN",9.8,"NM","B","VWHSHCLX",4)
"BLD",7076,"KRN",9.8,"NM","B","VWHSHCWN",5)
"BLD",7076,"KRN",9.8,"NM","B","VWHSHGTM",6)
"BLD",7076,"KRN",9.8,"NM","B","VWHSHTST",7)
"BLD",7076,"KRN",19,0)
19
"BLD",7076,"KRN",19.1,0)
19.1
"BLD",7076,"KRN",101,0)
101
"BLD",7076,"KRN",409.61,0)
409.61
"BLD",7076,"KRN",771,0)
771
"BLD",7076,"KRN",870,0)
870
"BLD",7076,"KRN",8989.51,0)
8989.51
"BLD",7076,"KRN",8989.52,0)
8989.52
"BLD",7076,"KRN",8994,0)
8994
"BLD",7076,"KRN","B",.4,.4)
"BLD",7076,"KRN","B",.401,.401)
"BLD",7076,"KRN","B",.402,.402)
"BLD",7076,"KRN","B",.403,.403)
"BLD",7076,"KRN","B",.5,.5)
"BLD",7076,"KRN","B",.84,.84)
"BLD",7076,"KRN","B",3.6,3.6)
"BLD",7076,"KRN","B",3.8,3.8)
"BLD",7076,"KRN","B",9.2,9.2)
"BLD",7076,"KRN","B",9.8,9.8)
"BLD",7076,"KRN","B",19,19)
"BLD",7076,"KRN","B",19.1,19.1)
"BLD",7076,"KRN","B",101,101)
"BLD",7076,"KRN","B",409.61,409.61)
"BLD",7076,"KRN","B",771,771)
"BLD",7076,"KRN","B",870,870)
"BLD",7076,"KRN","B",8989.51,8989.51)
"BLD",7076,"KRN","B",8989.52,8989.52)
"BLD",7076,"KRN","B",8994,8994)
"BLD",7076,"QUES",0)
^9.62^^0
"BLD",7076,"REQB",0)
^9.611^^
"MBREQ")
0
"QUES","XPF1",0)
Y
"QUES","XPF1","??")
^D REP^XPDH
"QUES","XPF1","A")
Shall I write over your |FLAG| File
"QUES","XPF1","B")
YES
"QUES","XPF1","M")
D XPF1^XPDIQ
"QUES","XPF2",0)
Y
"QUES","XPF2","??")
^D DTA^XPDH
"QUES","XPF2","A")
Want my data |FLAG| yours
"QUES","XPF2","B")
YES
"QUES","XPF2","M")
D XPF2^XPDIQ
"QUES","XPI1",0)
YO
"QUES","XPI1","??")
^D INHIBIT^XPDH
"QUES","XPI1","A")
Want KIDS to INHIBIT LOGONs during the install
"QUES","XPI1","B")
NO
"QUES","XPI1","M")
D XPI1^XPDIQ
"QUES","XPM1",0)
PO^VA(200,:EM
"QUES","XPM1","??")
^D MG^XPDH
"QUES","XPM1","A")
Enter the Coordinator for Mail Group '|FLAG|'
"QUES","XPM1","B")
"QUES","XPM1","M")
D XPM1^XPDIQ
"QUES","XPO1",0)
Y
"QUES","XPO1","??")
^D MENU^XPDH
"QUES","XPO1","A")
Want KIDS to Rebuild Menu Trees Upon Completion of Install
"QUES","XPO1","B")
NO
"QUES","XPO1","M")
D XPO1^XPDIQ
"QUES","XPZ1",0)
Y
"QUES","XPZ1","??")
^D OPT^XPDH
"QUES","XPZ1","A")
Want to DISABLE Scheduled Options, Menu Options, and Protocols
"QUES","XPZ1","B")
NO
"QUES","XPZ1","M")
D XPZ1^XPDIQ
"QUES","XPZ2",0)
Y
"QUES","XPZ2","??")
^D RTN^XPDH
"QUES","XPZ2","A")
Want to MOVE routines to other CPUs
"QUES","XPZ2","B")
NO
"QUES","XPZ2","M")
D XPZ2^XPDIQ
"RTN")
7
"RTN","VWHSH0")
0^1^B4330045
"RTN","VWHSH0",1,0)
VWHSH0 ;;GpZ; - ; IMPROVED HASHING UTILITY: MAIN INSTALL MODULE; 01/08/2010
"RTN","VWHSH0",2,0)
V ;;8.0;KERNEL;;Jul 10, 1995
"RTN","VWHSH0",3,0)
;; VWHSH
"RTN","VWHSH0",4,0)
CHECK ;;
"RTN","VWHSH0",5,0)
N %S,%D,%ZR,HSH,HASH,HASHLIST,MUMPS,OS,PATH,SCR,ZTOS
"RTN","VWHSH0",6,0)
DO
"RTN","VWHSH0",7,0)
. IF $$EN^XUSHSH("TEST")="TEST" S HASH="NONE" QUIT
"RTN","VWHSH0",8,0)
. S HASH=$P($G(^%ZOSF("HASHLIST")),"|") ; ID installed HASH from earlier version.
"RTN","VWHSH0",9,0)
. S HASH=$S($$EN^XUSHSH("TEST")="TEST":"NONE",$L($G(HASH))>0:HASH,1:"LEGACY") ; query current XUSHSH
"RTN","VWHSH0",10,0)
DO DEFHASH
"RTN","VWHSH0",11,0)
IF HASHLIST'[" MD5 " S ABORT="gpg FAILURE; CHECK for gnupg dependency & its PATH" GOTO ABORT
"RTN","VWHSH0",12,0)
S %S=$S(ZTOS=8:"VWHSHGTM",HASHLIST["Linux":"VWHSHCLX",1:"VWHSHCWN")
"RTN","VWHSH0",13,0)
S %D="XUSHSH",U="^",SCR="I 1"
"RTN","VWHSH0",14,0)
IF $T(^VWHSHLEG)="" S %S="XUSHSH^"_%S,%D="VWHSHLEG^"_%D
"RTN","VWHSH0",15,0)
; preserve old ^XUSHSH as ^VWHSHLEG
"RTN","VWHSH0",16,0)
S U="^",SCR="I 1"
"RTN","VWHSH0",17,0)
DO MOVE^ZTMGRSET
"RTN","VWHSH0",18,0)
QUIT
"RTN","VWHSH0",19,0)
;
"RTN","VWHSH0",20,0)
DEFHASH ;; Entry point for changing default hash.
"RTN","VWHSH0",21,0)
IF '$L($G(HASH)) DO
"RTN","VWHSH0",22,0)
. S HASH=$P($G(^%ZOSF("HASHLIST")),"|")
"RTN","VWHSH0",23,0)
. QUIT:$L($G(HASH))
"RTN","VWHSH0",24,0)
. S:$T(^VWHSHLEG)>"" HASH=$S($$EN^VWHSHLEG("TEST")="TEST":"NONE",1:"LEGACY")
"RTN","VWHSH0",25,0)
. QUIT:$L($G(HASH))
"RTN","VWHSH0",26,0)
. S HASH="LEGACY" ; hard-coded default hash is LEGACY
"RTN","VWHSH0",27,0)
. QUIT
"RTN","VWHSH0",28,0)
S HASH=$TR(HASH,"abcdefghijklmnopqrstuvwxyz- ","ABCDEFGHIJKLMNOPQRSTUVWXYZ")
"RTN","VWHSH0",29,0)
S MUMPS=^%ZOSF("OS"),ZTOS=$S(MUMPS["GT.M":8,MUMPS["OpenM":3)
"RTN","VWHSH0",30,0)
; SHOULD ERROR IF neither GTM nor Cache.
"RTN","VWHSH0",31,0)
S HASHLIST=HASH_"||"_$$INIT^@("VWHSH"_ZTOS)()
"RTN","VWHSH0",32,0)
S ^%ZOSF("HASHLIST")=HASHLIST
"RTN","VWHSH0",33,0)
QUIT
"RTN","VWHSH0",34,0)
;
"RTN","VWHSH0",35,0)
ABORT ;; Failed to find gpg hashes.
"RTN","VWHSH0",36,0)
U 0 W !,ABORT,! W $G(^%ZOSF("HASHLIST")),!
"RTN","VWHSH3")
0^2^B2878674
"RTN","VWHSH3",1,0)
VWHSH3 ;;GpZ; - ; IMPROVED HASHING UTILITY: INSTALL MODULE, OpenM; 01/08/2010
"RTN","VWHSH3",2,0)
V ;;8.0;KERNEL;;Jul 10, 1995
"RTN","VWHSH3",3,0)
;
"RTN","VWHSH3",4,0)
QUIT
"RTN","VWHSH3",5,0)
;
"RTN","VWHSH3",6,0)
INIT() S MUMPS=^%ZOSF("OS"),OS=$$OPENM("uname -o","Linux")
"RTN","VWHSH3",7,0)
IF OS'["Linux" S OS=$$OPENM("Ver","Microsoft") DO
"RTN","VWHSH3",8,0)
. S PIPE="PATH"
"RTN","VWHSH3",9,0)
. OPEN PIPE:"Q" USE PIPE READ PATH CLOSE PIPE
"RTN","VWHSH3",10,0)
. S PATH=PATH_";C:\""Program Files""\GNU\GnuPG\"
"RTN","VWHSH3",11,0)
. F I=1:1:$L(PATH,";") Q:($P(PATH,";",I)["GnuPG")
"RTN","VWHSH3",12,0)
. S PATH=$P(PATH,";",I)
"RTN","VWHSH3",13,0)
ELSE S PATH=$P($P($$OPENM("whereis gpg","gpg")," ",2),"gpg")
"RTN","VWHSH3",14,0)
S ZUT=$ZUTIL(68,40,1)
"RTN","VWHSH3",15,0)
S PIPE=$G(PATH)_"gpg --version"
"RTN","VWHSH3",16,0)
OPEN PIPE:"Q"
"RTN","VWHSH3",17,0)
F I=1:1:20 USE PIPE R HASHLIST QUIT:$ZEOF<0 D:HASHLIST["'gpg' is not recognized" q:HASHLIST["Hash:"
"RTN","VWHSH3",18,0)
. S HASHLIST="Hash:gpg_not_found:gpg_HASHES_not_available"
"RTN","VWHSH3",19,0)
CLOSE PIPE
"RTN","VWHSH3",20,0)
S ZUT=$ZUTIL(68,40,ZUT)
"RTN","VWHSH3",21,0)
S HASHLIST=HASHLIST
"RTN","VWHSH3",22,0)
S HASHLIST=$TR($P(HASHLIST,"Hash:",2),",")
"RTN","VWHSH3",23,0)
S HASHLIST=HASHLIST_" ||"_PATH_"||"_MUMPS_OS_"||"
"RTN","VWHSH3",24,0)
QUIT HASHLIST
"RTN","VWHSH3",25,0)
;
"RTN","VWHSH3",26,0)
OPENM(PIPE,SEEKING) ;;
"RTN","VWHSH3",27,0)
N (PIPE,SEEKING)
"RTN","VWHSH3",28,0)
S ZUT=$ZUTIL(68,40,1)
"RTN","VWHSH3",29,0)
OPEN PIPE:"Q"
"RTN","VWHSH3",30,0)
F I=1:1:4 USE PIPE READ X Q:$ZEOF<0 Q:X[SEEKING
"RTN","VWHSH3",31,0)
CLOSE PIPE
"RTN","VWHSH3",32,0)
S ZUT=$ZUTIL(68,40,ZUT)
"RTN","VWHSH3",33,0)
QUIT X
"RTN","VWHSH8")
0^3^B1242378
"RTN","VWHSH8",1,0)
VWHSH8 ;;GpZ; - ; IMPROVED HASHING UTILITY: INSTALL MODULE, GT.M; 01/08/2010
"RTN","VWHSH8",2,0)
V ;;8.0;KERNEL;;Jul 10, 1995
"RTN","VWHSH8",3,0)
;
"RTN","VWHSH8",4,0)
QUIT
"RTN","VWHSH8",5,0)
;
"RTN","VWHSH8",6,0)
INIT() S MUMPS=^%ZOSF("OS"),OS=$$GTM("uname -o")
"RTN","VWHSH8",7,0)
S PATH=$P($P($$GTM("whereis gpg")," ",2),"gpg")
"RTN","VWHSH8",8,0)
S X=$TR("host:"_MUMPS_OS_":","^ ","-")
"RTN","VWHSH8",9,0)
O "PIPE":(COMM="gpg --version|grep -E ^Hash:":READONLY)::"PIPE"
"RTN","VWHSH8",10,0)
U "PIPE" R HASHLIST
"RTN","VWHSH8",11,0)
C "PIPE" U 0
"RTN","VWHSH8",12,0)
S HASHLIST=$TR($P(HASHLIST,"Hash:",2),",")
"RTN","VWHSH8",13,0)
S HASHLIST=HASHLIST_" ||"_PATH_"||"_MUMPS_OS_"||"
"RTN","VWHSH8",14,0)
QUIT HASHLIST
"RTN","VWHSH8",15,0)
;
"RTN","VWHSH8",16,0)
GTM(PIPE) ;
"RTN","VWHSH8",17,0)
N (PIPE)
"RTN","VWHSH8",18,0)
OPEN "PIPE":(command=PIPE)::"pipe"
"RTN","VWHSH8",19,0)
S X="" F I=1:1:4 U "PIPE" R XX Q:$ZEOF S X=X_XX
"RTN","VWHSH8",20,0)
CLOSE "PIPE"
"RTN","VWHSH8",21,0)
QUIT X
"RTN","VWHSHCLX")
0^4^B2011086
"RTN","VWHSHCLX",1,0)
XUSHSH ;;GpZ; - ; IMPROVED HASHING UTILITY: for Cache/Linux (VWHSHCLX); 01/08/2010
"RTN","VWHSHCLX",2,0)
V ;;8.0;KERNEL;;Jul 10, 1995
"RTN","VWHSHCLX",3,0)
;;
"RTN","VWHSHCLX",4,0)
A S X=$$EN(X) Q
"RTN","VWHSHCLX",5,0)
;;
"RTN","VWHSHCLX",6,0)
EN(X,HASH) ;;
"RTN","VWHSHCLX",7,0)
N (X,HASH)
"RTN","VWHSHCLX",8,0)
D:'$L($G(^%ZOSF("HASHLIST"))) DEFHASH^VWHSH0
"RTN","VWHSHCLX",9,0)
S HASHLIST=^%ZOSF("HASHLIST")
"RTN","VWHSHCLX",10,0)
S HASH=$S('$L($G(HASH)):$P(HASHLIST,"|",1),1:$TR(HASH,"abcdefghijklmnopqrstuvwxyz- ","ABCDEFGHIJKLMNOPQRSTUVWXYZ"))
"RTN","VWHSHCLX",11,0)
IF HASH="LEGACY" QUIT $$EN^VWHSHLEG(X)
"RTN","VWHSHCLX",12,0)
Q:HASHLIST'[(" "_HASH_" ") X
"RTN","VWHSHCLX",13,0)
S SED="sed -e 's/$/\r/'|"
"RTN","VWHSHCLX",14,0)
N PIPE,ZUT,I
"RTN","VWHSHCLX",15,0)
S ZUT=$ZUTIL(68,40,1) ;; MSM-style End-of-File Handling
"RTN","VWHSHCLX",16,0)
S PIPE=" echo "_X_"||"_SED_$P(HASHLIST,"||",3)_"gpg --print-md "_HASH
"RTN","VWHSHCLX",17,0)
OPEN PIPE:"Q"
"RTN","VWHSHCLX",18,0)
F I=1:1:4 USE PIPE R X Q:$ZEOF<0 S HASHOUT=$G(HASHOUT)_X
"RTN","VWHSHCLX",19,0)
CLOSE PIPE
"RTN","VWHSHCLX",20,0)
S ZUT=$ZUTIL(68,40,ZUT),X=HASHOUT
"RTN","VWHSHCLX",21,0)
Q $TR(X," ")
"RTN","VWHSHCWN")
0^5^B1741215
"RTN","VWHSHCWN",1,0)
XUSHSH ;;GpZ; ; IMPROVED HASHING UTILITY: Cache/Windows (VWHSHCWN);01/08/2010
"RTN","VWHSHCWN",2,0)
V ;;8.0;KERNEL;;Jul 10, 1995
"RTN","VWHSHCWN",3,0)
;;
"RTN","VWHSHCWN",4,0)
A S X=$$EN(X) Q
"RTN","VWHSHCWN",5,0)
;;
"RTN","VWHSHCWN",6,0)
EN(X,HASH) ;;
"RTN","VWHSHCWN",7,0)
N (X,HASH)
"RTN","VWHSHCWN",8,0)
D:'$L($G(^%ZOSF("HASHLIST"))) DEFHASH^VWHSH0
"RTN","VWHSHCWN",9,0)
S HASHLIST=^%ZOSF("HASHLIST")
"RTN","VWHSHCWN",10,0)
S HASH=$S('$L($G(HASH)):$P(HASHLIST,"|",1),1:$TR(HASH,"abcdefghijklmnopqrstuvwxyz- ","ABCDEFGHIJKLMNOPQRSTUVWXYZ"))
"RTN","VWHSHCWN",11,0)
IF HASH="LEGACY" QUIT $$EN^VWHSHLEG(X)
"RTN","VWHSHCWN",12,0)
Q:HASHLIST'[(" "_HASH_" ") X
"RTN","VWHSHCWN",13,0)
N PIPE,ZUT,I
"RTN","VWHSHCWN",14,0)
S ZUT=$ZUTIL(68,40,1)
"RTN","VWHSHCWN",15,0)
S PIPE=" echo "_X_"||"_$P(HASHLIST,"||",3)_"gpg --print-md "_HASH
"RTN","VWHSHCWN",16,0)
OPEN PIPE:"Q"
"RTN","VWHSHCWN",17,0)
F I=1:1:4 USE PIPE R X Q:$ZEOF<0 S HASHOUT=$G(HASHOUT)_X
"RTN","VWHSHCWN",18,0)
CLOSE PIPE
"RTN","VWHSHCWN",19,0)
S ZUT=$ZUTIL(68,40,ZUT),X=HASHOUT
"RTN","VWHSHCWN",20,0)
Q $TR(X," ")
"RTN","VWHSHGTM")
0^6^B1519925
"RTN","VWHSHGTM",1,0)
XUSHSH ;;GpZ; - ; IMPROVED HASHING UTILITY: GT.M Version (VWHSHGTM); 01/08/2010
"RTN","VWHSHGTM",2,0)
V ;;8.0;KERNEL;;Jul 10, 1995
"RTN","VWHSHGTM",3,0)
;;
"RTN","VWHSHGTM",4,0)
A S X=$$EN(X) Q
"RTN","VWHSHGTM",5,0)
;;
"RTN","VWHSHGTM",6,0)
EN(X,HASH) ;;
"RTN","VWHSHGTM",7,0)
N (X,HASH)
"RTN","VWHSHGTM",8,0)
D:'$L($G(^%ZOSF("HASHLIST"))) DEFHASH^VWHSH0
"RTN","VWHSHGTM",9,0)
S HASHLIST=^%ZOSF("HASHLIST")
"RTN","VWHSHGTM",10,0)
S HASH=$S('$L($G(HASH)):$P(HASHLIST,"|",1),1:$TR(HASH,"abcdefghijklmnopqrstuvwxyz- ","ABCDEFGHIJKLMNOPQRSTUVWXYZ"))
"RTN","VWHSHGTM",11,0)
IF HASH="LEGACY" QUIT $$EN^VWHSHLEG(X)
"RTN","VWHSHGTM",12,0)
Q:HASHLIST'[(" "_HASH_" ") X
"RTN","VWHSHGTM",13,0)
S SED="sed -e 's/$/\r/'|"
"RTN","VWHSHGTM",14,0)
OPEN "PIPE":(COMM=SED_"gpg --print-md "_HASH)::"PIPE"
"RTN","VWHSHGTM",15,0)
USE "PIPE" W X,! W /EOF
"RTN","VWHSHGTM",16,0)
F R X Q:$ZEOF S HASHOUT=$G(HASHOUT)_X
"RTN","VWHSHGTM",17,0)
CLOSE "PIPE"
"RTN","VWHSHGTM",18,0)
Q $TR(HASHOUT," ")
"RTN","VWHSHTST")
0^7^B405235
"RTN","VWHSHTST",1,0)
XUSHSH ;JL.Z; ROBUST PASSWORD HASH TEST xushsh; 11 SEPTEMBER 2009
"RTN","VWHSHTST",2,0)
;;8.0;KERNEL;**60**;Jul 10, 1995
"RTN","VWHSHTST",3,0)
;;
"RTN","VWHSHTST",4,0)
;;
"RTN","VWHSHTST",5,0)
;;SF-ISC/STAFF - PASSWORD ENCRYPTION ;3/23/89 15:09 ; 4/14/05 1:22pm
"RTN","VWHSHTST",6,0)
;;8.0;KERNEL;;Jul 10, 1995
"RTN","VWHSHTST",7,0)
;; Input in X
"RTN","VWHSHTST",8,0)
;; Output in X
"RTN","VWHSHTST",9,0)
;; Algorithm for VistA Office EHR encryption (BSL)
"RTN","VWHSHTST",10,0)
A ;
"RTN","VWHSHTST",11,0)
S X=$$EN(X)
"RTN","VWHSHTST",12,0)
Q
"RTN","VWHSHTST",13,0)
;
"RTN","VWHSHTST",14,0)
EN(X)
"RTN","VWHSHTST",15,0)
Q X
"RTN","VWHSHTST",16,0)
"RTN","VWHSHTST",17,0)
"RTN","VWHSHTST",18,0)
"RTN","VWHSHTST",19,0)
"RTN","VWHSHTST",20,0)
"RTN","VWHSHTST",21,0)
"RTN","VWHSHTST",22,0)
"RTN","VWHSHTST",23,0)
"RTN","VWHSHTST",24,0)
"RTN","VWHSHTST",25,0)
"RTN","VWHSHTST",26,0)
"RTN","VWHSHTST",27,0)
"RTN","VWHSHTST",28,0)
"RTN","VWHSHTST",29,0)
"RTN","VWHSHTST",30,0)
"RTN","VWHSHTST",31,0)
"RTN","VWHSHTST",32,0)
"RTN","VWHSHTST",33,0)
"RTN","VWHSHTST",34,0)
"RTN","VWHSHTST",35,0)
"VER")
8.0^22.0
**END**
**END**