1 | KIDS Distribution saved on Jan 12, 2010@09:43:23
|
---|
2 | Tuesday Jan 12
|
---|
3 | **KIDS**:VWHHS*00.1*5^
|
---|
4 |
|
---|
5 | **INSTALL NAME**
|
---|
6 | VWHHS*00.1*5
|
---|
7 | "BLD",7076,0)
|
---|
8 | VWHHS*00.1*5^^0^3100112^n
|
---|
9 | "BLD",7076,4,0)
|
---|
10 | ^9.64PA^^
|
---|
11 | "BLD",7076,6.3)
|
---|
12 | 2
|
---|
13 | "BLD",7076,"KRN",0)
|
---|
14 | ^9.67PA^8989.52^19
|
---|
15 | "BLD",7076,"KRN",.4,0)
|
---|
16 | .4
|
---|
17 | "BLD",7076,"KRN",.401,0)
|
---|
18 | .401
|
---|
19 | "BLD",7076,"KRN",.402,0)
|
---|
20 | .402
|
---|
21 | "BLD",7076,"KRN",.403,0)
|
---|
22 | .403
|
---|
23 | "BLD",7076,"KRN",.5,0)
|
---|
24 | .5
|
---|
25 | "BLD",7076,"KRN",.84,0)
|
---|
26 | .84
|
---|
27 | "BLD",7076,"KRN",3.6,0)
|
---|
28 | 3.6
|
---|
29 | "BLD",7076,"KRN",3.8,0)
|
---|
30 | 3.8
|
---|
31 | "BLD",7076,"KRN",9.2,0)
|
---|
32 | 9.2
|
---|
33 | "BLD",7076,"KRN",9.8,0)
|
---|
34 | 9.8
|
---|
35 | "BLD",7076,"KRN",9.8,"NM",0)
|
---|
36 | ^9.68A^7^7
|
---|
37 | "BLD",7076,"KRN",9.8,"NM",1,0)
|
---|
38 | VWHSH0^^0^B4330045
|
---|
39 | "BLD",7076,"KRN",9.8,"NM",2,0)
|
---|
40 | VWHSH3^^0^B2878674
|
---|
41 | "BLD",7076,"KRN",9.8,"NM",3,0)
|
---|
42 | VWHSH8^^0^B1242378
|
---|
43 | "BLD",7076,"KRN",9.8,"NM",4,0)
|
---|
44 | VWHSHCLX^^0^B2011086
|
---|
45 | "BLD",7076,"KRN",9.8,"NM",5,0)
|
---|
46 | VWHSHCWN^^0^B1741215
|
---|
47 | "BLD",7076,"KRN",9.8,"NM",6,0)
|
---|
48 | VWHSHGTM^^0^B1519925
|
---|
49 | "BLD",7076,"KRN",9.8,"NM",7,0)
|
---|
50 | VWHSHTST^^0^B405235
|
---|
51 | "BLD",7076,"KRN",9.8,"NM","B","VWHSH0",1)
|
---|
52 |
|
---|
53 | "BLD",7076,"KRN",9.8,"NM","B","VWHSH3",2)
|
---|
54 |
|
---|
55 | "BLD",7076,"KRN",9.8,"NM","B","VWHSH8",3)
|
---|
56 |
|
---|
57 | "BLD",7076,"KRN",9.8,"NM","B","VWHSHCLX",4)
|
---|
58 |
|
---|
59 | "BLD",7076,"KRN",9.8,"NM","B","VWHSHCWN",5)
|
---|
60 |
|
---|
61 | "BLD",7076,"KRN",9.8,"NM","B","VWHSHGTM",6)
|
---|
62 |
|
---|
63 | "BLD",7076,"KRN",9.8,"NM","B","VWHSHTST",7)
|
---|
64 |
|
---|
65 | "BLD",7076,"KRN",19,0)
|
---|
66 | 19
|
---|
67 | "BLD",7076,"KRN",19.1,0)
|
---|
68 | 19.1
|
---|
69 | "BLD",7076,"KRN",101,0)
|
---|
70 | 101
|
---|
71 | "BLD",7076,"KRN",409.61,0)
|
---|
72 | 409.61
|
---|
73 | "BLD",7076,"KRN",771,0)
|
---|
74 | 771
|
---|
75 | "BLD",7076,"KRN",870,0)
|
---|
76 | 870
|
---|
77 | "BLD",7076,"KRN",8989.51,0)
|
---|
78 | 8989.51
|
---|
79 | "BLD",7076,"KRN",8989.52,0)
|
---|
80 | 8989.52
|
---|
81 | "BLD",7076,"KRN",8994,0)
|
---|
82 | 8994
|
---|
83 | "BLD",7076,"KRN","B",.4,.4)
|
---|
84 |
|
---|
85 | "BLD",7076,"KRN","B",.401,.401)
|
---|
86 |
|
---|
87 | "BLD",7076,"KRN","B",.402,.402)
|
---|
88 |
|
---|
89 | "BLD",7076,"KRN","B",.403,.403)
|
---|
90 |
|
---|
91 | "BLD",7076,"KRN","B",.5,.5)
|
---|
92 |
|
---|
93 | "BLD",7076,"KRN","B",.84,.84)
|
---|
94 |
|
---|
95 | "BLD",7076,"KRN","B",3.6,3.6)
|
---|
96 |
|
---|
97 | "BLD",7076,"KRN","B",3.8,3.8)
|
---|
98 |
|
---|
99 | "BLD",7076,"KRN","B",9.2,9.2)
|
---|
100 |
|
---|
101 | "BLD",7076,"KRN","B",9.8,9.8)
|
---|
102 |
|
---|
103 | "BLD",7076,"KRN","B",19,19)
|
---|
104 |
|
---|
105 | "BLD",7076,"KRN","B",19.1,19.1)
|
---|
106 |
|
---|
107 | "BLD",7076,"KRN","B",101,101)
|
---|
108 |
|
---|
109 | "BLD",7076,"KRN","B",409.61,409.61)
|
---|
110 |
|
---|
111 | "BLD",7076,"KRN","B",771,771)
|
---|
112 |
|
---|
113 | "BLD",7076,"KRN","B",870,870)
|
---|
114 |
|
---|
115 | "BLD",7076,"KRN","B",8989.51,8989.51)
|
---|
116 |
|
---|
117 | "BLD",7076,"KRN","B",8989.52,8989.52)
|
---|
118 |
|
---|
119 | "BLD",7076,"KRN","B",8994,8994)
|
---|
120 |
|
---|
121 | "BLD",7076,"QUES",0)
|
---|
122 | ^9.62^^0
|
---|
123 | "BLD",7076,"REQB",0)
|
---|
124 | ^9.611^^
|
---|
125 | "MBREQ")
|
---|
126 | 0
|
---|
127 | "QUES","XPF1",0)
|
---|
128 | Y
|
---|
129 | "QUES","XPF1","??")
|
---|
130 | ^D REP^XPDH
|
---|
131 | "QUES","XPF1","A")
|
---|
132 | Shall I write over your |FLAG| File
|
---|
133 | "QUES","XPF1","B")
|
---|
134 | YES
|
---|
135 | "QUES","XPF1","M")
|
---|
136 | D XPF1^XPDIQ
|
---|
137 | "QUES","XPF2",0)
|
---|
138 | Y
|
---|
139 | "QUES","XPF2","??")
|
---|
140 | ^D DTA^XPDH
|
---|
141 | "QUES","XPF2","A")
|
---|
142 | Want my data |FLAG| yours
|
---|
143 | "QUES","XPF2","B")
|
---|
144 | YES
|
---|
145 | "QUES","XPF2","M")
|
---|
146 | D XPF2^XPDIQ
|
---|
147 | "QUES","XPI1",0)
|
---|
148 | YO
|
---|
149 | "QUES","XPI1","??")
|
---|
150 | ^D INHIBIT^XPDH
|
---|
151 | "QUES","XPI1","A")
|
---|
152 | Want KIDS to INHIBIT LOGONs during the install
|
---|
153 | "QUES","XPI1","B")
|
---|
154 | NO
|
---|
155 | "QUES","XPI1","M")
|
---|
156 | D XPI1^XPDIQ
|
---|
157 | "QUES","XPM1",0)
|
---|
158 | PO^VA(200,:EM
|
---|
159 | "QUES","XPM1","??")
|
---|
160 | ^D MG^XPDH
|
---|
161 | "QUES","XPM1","A")
|
---|
162 | Enter the Coordinator for Mail Group '|FLAG|'
|
---|
163 | "QUES","XPM1","B")
|
---|
164 |
|
---|
165 | "QUES","XPM1","M")
|
---|
166 | D XPM1^XPDIQ
|
---|
167 | "QUES","XPO1",0)
|
---|
168 | Y
|
---|
169 | "QUES","XPO1","??")
|
---|
170 | ^D MENU^XPDH
|
---|
171 | "QUES","XPO1","A")
|
---|
172 | Want KIDS to Rebuild Menu Trees Upon Completion of Install
|
---|
173 | "QUES","XPO1","B")
|
---|
174 | NO
|
---|
175 | "QUES","XPO1","M")
|
---|
176 | D XPO1^XPDIQ
|
---|
177 | "QUES","XPZ1",0)
|
---|
178 | Y
|
---|
179 | "QUES","XPZ1","??")
|
---|
180 | ^D OPT^XPDH
|
---|
181 | "QUES","XPZ1","A")
|
---|
182 | Want to DISABLE Scheduled Options, Menu Options, and Protocols
|
---|
183 | "QUES","XPZ1","B")
|
---|
184 | NO
|
---|
185 | "QUES","XPZ1","M")
|
---|
186 | D XPZ1^XPDIQ
|
---|
187 | "QUES","XPZ2",0)
|
---|
188 | Y
|
---|
189 | "QUES","XPZ2","??")
|
---|
190 | ^D RTN^XPDH
|
---|
191 | "QUES","XPZ2","A")
|
---|
192 | Want to MOVE routines to other CPUs
|
---|
193 | "QUES","XPZ2","B")
|
---|
194 | NO
|
---|
195 | "QUES","XPZ2","M")
|
---|
196 | D XPZ2^XPDIQ
|
---|
197 | "RTN")
|
---|
198 | 7
|
---|
199 | "RTN","VWHSH0")
|
---|
200 | 0^1^B4330045
|
---|
201 | "RTN","VWHSH0",1,0)
|
---|
202 | VWHSH0 ;;GpZ; - ; IMPROVED HASHING UTILITY: MAIN INSTALL MODULE; 01/08/2010
|
---|
203 | "RTN","VWHSH0",2,0)
|
---|
204 | V ;;8.0;KERNEL;;Jul 10, 1995
|
---|
205 | "RTN","VWHSH0",3,0)
|
---|
206 | ;; VWHSH
|
---|
207 | "RTN","VWHSH0",4,0)
|
---|
208 | CHECK ;;
|
---|
209 | "RTN","VWHSH0",5,0)
|
---|
210 | N %S,%D,%ZR,HSH,HASH,HASHLIST,MUMPS,OS,PATH,SCR,ZTOS
|
---|
211 | "RTN","VWHSH0",6,0)
|
---|
212 | DO
|
---|
213 | "RTN","VWHSH0",7,0)
|
---|
214 | . IF $$EN^XUSHSH("TEST")="TEST" S HASH="NONE" QUIT
|
---|
215 | "RTN","VWHSH0",8,0)
|
---|
216 | . S HASH=$P($G(^%ZOSF("HASHLIST")),"|") ; ID installed HASH from earlier version.
|
---|
217 | "RTN","VWHSH0",9,0)
|
---|
218 | . S HASH=$S($$EN^XUSHSH("TEST")="TEST":"NONE",$L($G(HASH))>0:HASH,1:"LEGACY") ; query current XUSHSH
|
---|
219 | "RTN","VWHSH0",10,0)
|
---|
220 | DO DEFHASH
|
---|
221 | "RTN","VWHSH0",11,0)
|
---|
222 | IF HASHLIST'[" MD5 " S ABORT="gpg FAILURE; CHECK for gnupg dependency & its PATH" GOTO ABORT
|
---|
223 | "RTN","VWHSH0",12,0)
|
---|
224 | S %S=$S(ZTOS=8:"VWHSHGTM",HASHLIST["Linux":"VWHSHCLX",1:"VWHSHCWN")
|
---|
225 | "RTN","VWHSH0",13,0)
|
---|
226 | S %D="XUSHSH",U="^",SCR="I 1"
|
---|
227 | "RTN","VWHSH0",14,0)
|
---|
228 | IF $T(^VWHSHLEG)="" S %S="XUSHSH^"_%S,%D="VWHSHLEG^"_%D
|
---|
229 | "RTN","VWHSH0",15,0)
|
---|
230 | ; preserve old ^XUSHSH as ^VWHSHLEG
|
---|
231 | "RTN","VWHSH0",16,0)
|
---|
232 | S U="^",SCR="I 1"
|
---|
233 | "RTN","VWHSH0",17,0)
|
---|
234 | DO MOVE^ZTMGRSET
|
---|
235 | "RTN","VWHSH0",18,0)
|
---|
236 | QUIT
|
---|
237 | "RTN","VWHSH0",19,0)
|
---|
238 | ;
|
---|
239 | "RTN","VWHSH0",20,0)
|
---|
240 | DEFHASH ;; Entry point for changing default hash.
|
---|
241 | "RTN","VWHSH0",21,0)
|
---|
242 | IF '$L($G(HASH)) DO
|
---|
243 | "RTN","VWHSH0",22,0)
|
---|
244 | . S HASH=$P($G(^%ZOSF("HASHLIST")),"|")
|
---|
245 | "RTN","VWHSH0",23,0)
|
---|
246 | . QUIT:$L($G(HASH))
|
---|
247 | "RTN","VWHSH0",24,0)
|
---|
248 | . S:$T(^VWHSHLEG)>"" HASH=$S($$EN^VWHSHLEG("TEST")="TEST":"NONE",1:"LEGACY")
|
---|
249 | "RTN","VWHSH0",25,0)
|
---|
250 | . QUIT:$L($G(HASH))
|
---|
251 | "RTN","VWHSH0",26,0)
|
---|
252 | . S HASH="LEGACY" ; hard-coded default hash is LEGACY
|
---|
253 | "RTN","VWHSH0",27,0)
|
---|
254 | . QUIT
|
---|
255 | "RTN","VWHSH0",28,0)
|
---|
256 | S HASH=$TR(HASH,"abcdefghijklmnopqrstuvwxyz- ","ABCDEFGHIJKLMNOPQRSTUVWXYZ")
|
---|
257 | "RTN","VWHSH0",29,0)
|
---|
258 | S MUMPS=^%ZOSF("OS"),ZTOS=$S(MUMPS["GT.M":8,MUMPS["OpenM":3)
|
---|
259 | "RTN","VWHSH0",30,0)
|
---|
260 | ; SHOULD ERROR IF neither GTM nor Cache.
|
---|
261 | "RTN","VWHSH0",31,0)
|
---|
262 | S HASHLIST=HASH_"||"_$$INIT^@("VWHSH"_ZTOS)()
|
---|
263 | "RTN","VWHSH0",32,0)
|
---|
264 | S ^%ZOSF("HASHLIST")=HASHLIST
|
---|
265 | "RTN","VWHSH0",33,0)
|
---|
266 | QUIT
|
---|
267 | "RTN","VWHSH0",34,0)
|
---|
268 | ;
|
---|
269 | "RTN","VWHSH0",35,0)
|
---|
270 | ABORT ;; Failed to find gpg hashes.
|
---|
271 | "RTN","VWHSH0",36,0)
|
---|
272 | U 0 W !,ABORT,! W $G(^%ZOSF("HASHLIST")),!
|
---|
273 | "RTN","VWHSH3")
|
---|
274 | 0^2^B2878674
|
---|
275 | "RTN","VWHSH3",1,0)
|
---|
276 | VWHSH3 ;;GpZ; - ; IMPROVED HASHING UTILITY: INSTALL MODULE, OpenM; 01/08/2010
|
---|
277 | "RTN","VWHSH3",2,0)
|
---|
278 | V ;;8.0;KERNEL;;Jul 10, 1995
|
---|
279 | "RTN","VWHSH3",3,0)
|
---|
280 | ;
|
---|
281 | "RTN","VWHSH3",4,0)
|
---|
282 | QUIT
|
---|
283 | "RTN","VWHSH3",5,0)
|
---|
284 | ;
|
---|
285 | "RTN","VWHSH3",6,0)
|
---|
286 | INIT() S MUMPS=^%ZOSF("OS"),OS=$$OPENM("uname -o","Linux")
|
---|
287 | "RTN","VWHSH3",7,0)
|
---|
288 | IF OS'["Linux" S OS=$$OPENM("Ver","Microsoft") DO
|
---|
289 | "RTN","VWHSH3",8,0)
|
---|
290 | . S PIPE="PATH"
|
---|
291 | "RTN","VWHSH3",9,0)
|
---|
292 | . OPEN PIPE:"Q" USE PIPE READ PATH CLOSE PIPE
|
---|
293 | "RTN","VWHSH3",10,0)
|
---|
294 | . S PATH=PATH_";C:\""Program Files""\GNU\GnuPG\"
|
---|
295 | "RTN","VWHSH3",11,0)
|
---|
296 | . F I=1:1:$L(PATH,";") Q:($P(PATH,";",I)["GnuPG")
|
---|
297 | "RTN","VWHSH3",12,0)
|
---|
298 | . S PATH=$P(PATH,";",I)
|
---|
299 | "RTN","VWHSH3",13,0)
|
---|
300 | ELSE S PATH=$P($P($$OPENM("whereis gpg","gpg")," ",2),"gpg")
|
---|
301 | "RTN","VWHSH3",14,0)
|
---|
302 | S ZUT=$ZUTIL(68,40,1)
|
---|
303 | "RTN","VWHSH3",15,0)
|
---|
304 | S PIPE=$G(PATH)_"gpg --version"
|
---|
305 | "RTN","VWHSH3",16,0)
|
---|
306 | OPEN PIPE:"Q"
|
---|
307 | "RTN","VWHSH3",17,0)
|
---|
308 | F I=1:1:20 USE PIPE R HASHLIST QUIT:$ZEOF<0 D:HASHLIST["'gpg' is not recognized" q:HASHLIST["Hash:"
|
---|
309 | "RTN","VWHSH3",18,0)
|
---|
310 | . S HASHLIST="Hash:gpg_not_found:gpg_HASHES_not_available"
|
---|
311 | "RTN","VWHSH3",19,0)
|
---|
312 | CLOSE PIPE
|
---|
313 | "RTN","VWHSH3",20,0)
|
---|
314 | S ZUT=$ZUTIL(68,40,ZUT)
|
---|
315 | "RTN","VWHSH3",21,0)
|
---|
316 | S HASHLIST=HASHLIST
|
---|
317 | "RTN","VWHSH3",22,0)
|
---|
318 | S HASHLIST=$TR($P(HASHLIST,"Hash:",2),",")
|
---|
319 | "RTN","VWHSH3",23,0)
|
---|
320 | S HASHLIST=HASHLIST_" ||"_PATH_"||"_MUMPS_OS_"||"
|
---|
321 | "RTN","VWHSH3",24,0)
|
---|
322 | QUIT HASHLIST
|
---|
323 | "RTN","VWHSH3",25,0)
|
---|
324 | ;
|
---|
325 | "RTN","VWHSH3",26,0)
|
---|
326 | OPENM(PIPE,SEEKING) ;;
|
---|
327 | "RTN","VWHSH3",27,0)
|
---|
328 | N (PIPE,SEEKING)
|
---|
329 | "RTN","VWHSH3",28,0)
|
---|
330 | S ZUT=$ZUTIL(68,40,1)
|
---|
331 | "RTN","VWHSH3",29,0)
|
---|
332 | OPEN PIPE:"Q"
|
---|
333 | "RTN","VWHSH3",30,0)
|
---|
334 | F I=1:1:4 USE PIPE READ X Q:$ZEOF<0 Q:X[SEEKING
|
---|
335 | "RTN","VWHSH3",31,0)
|
---|
336 | CLOSE PIPE
|
---|
337 | "RTN","VWHSH3",32,0)
|
---|
338 | S ZUT=$ZUTIL(68,40,ZUT)
|
---|
339 | "RTN","VWHSH3",33,0)
|
---|
340 | QUIT X
|
---|
341 | "RTN","VWHSH8")
|
---|
342 | 0^3^B1242378
|
---|
343 | "RTN","VWHSH8",1,0)
|
---|
344 | VWHSH8 ;;GpZ; - ; IMPROVED HASHING UTILITY: INSTALL MODULE, GT.M; 01/08/2010
|
---|
345 | "RTN","VWHSH8",2,0)
|
---|
346 | V ;;8.0;KERNEL;;Jul 10, 1995
|
---|
347 | "RTN","VWHSH8",3,0)
|
---|
348 | ;
|
---|
349 | "RTN","VWHSH8",4,0)
|
---|
350 | QUIT
|
---|
351 | "RTN","VWHSH8",5,0)
|
---|
352 | ;
|
---|
353 | "RTN","VWHSH8",6,0)
|
---|
354 | INIT() S MUMPS=^%ZOSF("OS"),OS=$$GTM("uname -o")
|
---|
355 | "RTN","VWHSH8",7,0)
|
---|
356 | S PATH=$P($P($$GTM("whereis gpg")," ",2),"gpg")
|
---|
357 | "RTN","VWHSH8",8,0)
|
---|
358 | S X=$TR("host:"_MUMPS_OS_":","^ ","-")
|
---|
359 | "RTN","VWHSH8",9,0)
|
---|
360 | O "PIPE":(COMM="gpg --version|grep -E ^Hash:":READONLY)::"PIPE"
|
---|
361 | "RTN","VWHSH8",10,0)
|
---|
362 | U "PIPE" R HASHLIST
|
---|
363 | "RTN","VWHSH8",11,0)
|
---|
364 | C "PIPE" U 0
|
---|
365 | "RTN","VWHSH8",12,0)
|
---|
366 | S HASHLIST=$TR($P(HASHLIST,"Hash:",2),",")
|
---|
367 | "RTN","VWHSH8",13,0)
|
---|
368 | S HASHLIST=HASHLIST_" ||"_PATH_"||"_MUMPS_OS_"||"
|
---|
369 | "RTN","VWHSH8",14,0)
|
---|
370 | QUIT HASHLIST
|
---|
371 | "RTN","VWHSH8",15,0)
|
---|
372 | ;
|
---|
373 | "RTN","VWHSH8",16,0)
|
---|
374 | GTM(PIPE) ;
|
---|
375 | "RTN","VWHSH8",17,0)
|
---|
376 | N (PIPE)
|
---|
377 | "RTN","VWHSH8",18,0)
|
---|
378 | OPEN "PIPE":(command=PIPE)::"pipe"
|
---|
379 | "RTN","VWHSH8",19,0)
|
---|
380 | S X="" F I=1:1:4 U "PIPE" R XX Q:$ZEOF S X=X_XX
|
---|
381 | "RTN","VWHSH8",20,0)
|
---|
382 | CLOSE "PIPE"
|
---|
383 | "RTN","VWHSH8",21,0)
|
---|
384 | QUIT X
|
---|
385 | "RTN","VWHSHCLX")
|
---|
386 | 0^4^B2011086
|
---|
387 | "RTN","VWHSHCLX",1,0)
|
---|
388 | XUSHSH ;;GpZ; - ; IMPROVED HASHING UTILITY: for Cache/Linux (VWHSHCLX); 01/08/2010
|
---|
389 | "RTN","VWHSHCLX",2,0)
|
---|
390 | V ;;8.0;KERNEL;;Jul 10, 1995
|
---|
391 | "RTN","VWHSHCLX",3,0)
|
---|
392 | ;;
|
---|
393 | "RTN","VWHSHCLX",4,0)
|
---|
394 | A S X=$$EN(X) Q
|
---|
395 | "RTN","VWHSHCLX",5,0)
|
---|
396 | ;;
|
---|
397 | "RTN","VWHSHCLX",6,0)
|
---|
398 | EN(X,HASH) ;;
|
---|
399 | "RTN","VWHSHCLX",7,0)
|
---|
400 | N (X,HASH)
|
---|
401 | "RTN","VWHSHCLX",8,0)
|
---|
402 | D:'$L($G(^%ZOSF("HASHLIST"))) DEFHASH^VWHSH0
|
---|
403 | "RTN","VWHSHCLX",9,0)
|
---|
404 | S HASHLIST=^%ZOSF("HASHLIST")
|
---|
405 | "RTN","VWHSHCLX",10,0)
|
---|
406 | S HASH=$S('$L($G(HASH)):$P(HASHLIST,"|",1),1:$TR(HASH,"abcdefghijklmnopqrstuvwxyz- ","ABCDEFGHIJKLMNOPQRSTUVWXYZ"))
|
---|
407 | "RTN","VWHSHCLX",11,0)
|
---|
408 | IF HASH="LEGACY" QUIT $$EN^VWHSHLEG(X)
|
---|
409 | "RTN","VWHSHCLX",12,0)
|
---|
410 | Q:HASHLIST'[(" "_HASH_" ") X
|
---|
411 | "RTN","VWHSHCLX",13,0)
|
---|
412 | S SED="sed -e 's/$/\r/'|"
|
---|
413 | "RTN","VWHSHCLX",14,0)
|
---|
414 | N PIPE,ZUT,I
|
---|
415 | "RTN","VWHSHCLX",15,0)
|
---|
416 | S ZUT=$ZUTIL(68,40,1) ;; MSM-style End-of-File Handling
|
---|
417 | "RTN","VWHSHCLX",16,0)
|
---|
418 | S PIPE=" echo "_X_"||"_SED_$P(HASHLIST,"||",3)_"gpg --print-md "_HASH
|
---|
419 | "RTN","VWHSHCLX",17,0)
|
---|
420 | OPEN PIPE:"Q"
|
---|
421 | "RTN","VWHSHCLX",18,0)
|
---|
422 | F I=1:1:4 USE PIPE R X Q:$ZEOF<0 S HASHOUT=$G(HASHOUT)_X
|
---|
423 | "RTN","VWHSHCLX",19,0)
|
---|
424 | CLOSE PIPE
|
---|
425 | "RTN","VWHSHCLX",20,0)
|
---|
426 | S ZUT=$ZUTIL(68,40,ZUT),X=HASHOUT
|
---|
427 | "RTN","VWHSHCLX",21,0)
|
---|
428 | Q $TR(X," ")
|
---|
429 | "RTN","VWHSHCWN")
|
---|
430 | 0^5^B1741215
|
---|
431 | "RTN","VWHSHCWN",1,0)
|
---|
432 | XUSHSH ;;GpZ; ; IMPROVED HASHING UTILITY: Cache/Windows (VWHSHCWN);01/08/2010
|
---|
433 | "RTN","VWHSHCWN",2,0)
|
---|
434 | V ;;8.0;KERNEL;;Jul 10, 1995
|
---|
435 | "RTN","VWHSHCWN",3,0)
|
---|
436 | ;;
|
---|
437 | "RTN","VWHSHCWN",4,0)
|
---|
438 | A S X=$$EN(X) Q
|
---|
439 | "RTN","VWHSHCWN",5,0)
|
---|
440 | ;;
|
---|
441 | "RTN","VWHSHCWN",6,0)
|
---|
442 | EN(X,HASH) ;;
|
---|
443 | "RTN","VWHSHCWN",7,0)
|
---|
444 | N (X,HASH)
|
---|
445 | "RTN","VWHSHCWN",8,0)
|
---|
446 | D:'$L($G(^%ZOSF("HASHLIST"))) DEFHASH^VWHSH0
|
---|
447 | "RTN","VWHSHCWN",9,0)
|
---|
448 | S HASHLIST=^%ZOSF("HASHLIST")
|
---|
449 | "RTN","VWHSHCWN",10,0)
|
---|
450 | S HASH=$S('$L($G(HASH)):$P(HASHLIST,"|",1),1:$TR(HASH,"abcdefghijklmnopqrstuvwxyz- ","ABCDEFGHIJKLMNOPQRSTUVWXYZ"))
|
---|
451 | "RTN","VWHSHCWN",11,0)
|
---|
452 | IF HASH="LEGACY" QUIT $$EN^VWHSHLEG(X)
|
---|
453 | "RTN","VWHSHCWN",12,0)
|
---|
454 | Q:HASHLIST'[(" "_HASH_" ") X
|
---|
455 | "RTN","VWHSHCWN",13,0)
|
---|
456 | N PIPE,ZUT,I
|
---|
457 | "RTN","VWHSHCWN",14,0)
|
---|
458 | S ZUT=$ZUTIL(68,40,1)
|
---|
459 | "RTN","VWHSHCWN",15,0)
|
---|
460 | S PIPE=" echo "_X_"||"_$P(HASHLIST,"||",3)_"gpg --print-md "_HASH
|
---|
461 | "RTN","VWHSHCWN",16,0)
|
---|
462 | OPEN PIPE:"Q"
|
---|
463 | "RTN","VWHSHCWN",17,0)
|
---|
464 | F I=1:1:4 USE PIPE R X Q:$ZEOF<0 S HASHOUT=$G(HASHOUT)_X
|
---|
465 | "RTN","VWHSHCWN",18,0)
|
---|
466 | CLOSE PIPE
|
---|
467 | "RTN","VWHSHCWN",19,0)
|
---|
468 | S ZUT=$ZUTIL(68,40,ZUT),X=HASHOUT
|
---|
469 | "RTN","VWHSHCWN",20,0)
|
---|
470 | Q $TR(X," ")
|
---|
471 | "RTN","VWHSHGTM")
|
---|
472 | 0^6^B1519925
|
---|
473 | "RTN","VWHSHGTM",1,0)
|
---|
474 | XUSHSH ;;GpZ; - ; IMPROVED HASHING UTILITY: GT.M Version (VWHSHGTM); 01/08/2010
|
---|
475 | "RTN","VWHSHGTM",2,0)
|
---|
476 | V ;;8.0;KERNEL;;Jul 10, 1995
|
---|
477 | "RTN","VWHSHGTM",3,0)
|
---|
478 | ;;
|
---|
479 | "RTN","VWHSHGTM",4,0)
|
---|
480 | A S X=$$EN(X) Q
|
---|
481 | "RTN","VWHSHGTM",5,0)
|
---|
482 | ;;
|
---|
483 | "RTN","VWHSHGTM",6,0)
|
---|
484 | EN(X,HASH) ;;
|
---|
485 | "RTN","VWHSHGTM",7,0)
|
---|
486 | N (X,HASH)
|
---|
487 | "RTN","VWHSHGTM",8,0)
|
---|
488 | D:'$L($G(^%ZOSF("HASHLIST"))) DEFHASH^VWHSH0
|
---|
489 | "RTN","VWHSHGTM",9,0)
|
---|
490 | S HASHLIST=^%ZOSF("HASHLIST")
|
---|
491 | "RTN","VWHSHGTM",10,0)
|
---|
492 | S HASH=$S('$L($G(HASH)):$P(HASHLIST,"|",1),1:$TR(HASH,"abcdefghijklmnopqrstuvwxyz- ","ABCDEFGHIJKLMNOPQRSTUVWXYZ"))
|
---|
493 | "RTN","VWHSHGTM",11,0)
|
---|
494 | IF HASH="LEGACY" QUIT $$EN^VWHSHLEG(X)
|
---|
495 | "RTN","VWHSHGTM",12,0)
|
---|
496 | Q:HASHLIST'[(" "_HASH_" ") X
|
---|
497 | "RTN","VWHSHGTM",13,0)
|
---|
498 | S SED="sed -e 's/$/\r/'|"
|
---|
499 | "RTN","VWHSHGTM",14,0)
|
---|
500 | OPEN "PIPE":(COMM=SED_"gpg --print-md "_HASH)::"PIPE"
|
---|
501 | "RTN","VWHSHGTM",15,0)
|
---|
502 | USE "PIPE" W X,! W /EOF
|
---|
503 | "RTN","VWHSHGTM",16,0)
|
---|
504 | F R X Q:$ZEOF S HASHOUT=$G(HASHOUT)_X
|
---|
505 | "RTN","VWHSHGTM",17,0)
|
---|
506 | CLOSE "PIPE"
|
---|
507 | "RTN","VWHSHGTM",18,0)
|
---|
508 | Q $TR(HASHOUT," ")
|
---|
509 | "RTN","VWHSHTST")
|
---|
510 | 0^7^B405235
|
---|
511 | "RTN","VWHSHTST",1,0)
|
---|
512 | XUSHSH ;JL.Z; ROBUST PASSWORD HASH TEST xushsh; 11 SEPTEMBER 2009
|
---|
513 | "RTN","VWHSHTST",2,0)
|
---|
514 | ;;8.0;KERNEL;**60**;Jul 10, 1995
|
---|
515 | "RTN","VWHSHTST",3,0)
|
---|
516 | ;;
|
---|
517 | "RTN","VWHSHTST",4,0)
|
---|
518 | ;;
|
---|
519 | "RTN","VWHSHTST",5,0)
|
---|
520 | ;;SF-ISC/STAFF - PASSWORD ENCRYPTION ;3/23/89 15:09 ; 4/14/05 1:22pm
|
---|
521 | "RTN","VWHSHTST",6,0)
|
---|
522 | ;;8.0;KERNEL;;Jul 10, 1995
|
---|
523 | "RTN","VWHSHTST",7,0)
|
---|
524 | ;; Input in X
|
---|
525 | "RTN","VWHSHTST",8,0)
|
---|
526 | ;; Output in X
|
---|
527 | "RTN","VWHSHTST",9,0)
|
---|
528 | ;; Algorithm for VistA Office EHR encryption (BSL)
|
---|
529 | "RTN","VWHSHTST",10,0)
|
---|
530 | A ;
|
---|
531 | "RTN","VWHSHTST",11,0)
|
---|
532 | S X=$$EN(X)
|
---|
533 | "RTN","VWHSHTST",12,0)
|
---|
534 | Q
|
---|
535 | "RTN","VWHSHTST",13,0)
|
---|
536 | ;
|
---|
537 | "RTN","VWHSHTST",14,0)
|
---|
538 | EN(X)
|
---|
539 | "RTN","VWHSHTST",15,0)
|
---|
540 | Q X
|
---|
541 | "RTN","VWHSHTST",16,0)
|
---|
542 |
|
---|
543 | "RTN","VWHSHTST",17,0)
|
---|
544 |
|
---|
545 | "RTN","VWHSHTST",18,0)
|
---|
546 |
|
---|
547 | "RTN","VWHSHTST",19,0)
|
---|
548 |
|
---|
549 | "RTN","VWHSHTST",20,0)
|
---|
550 |
|
---|
551 | "RTN","VWHSHTST",21,0)
|
---|
552 |
|
---|
553 | "RTN","VWHSHTST",22,0)
|
---|
554 |
|
---|
555 | "RTN","VWHSHTST",23,0)
|
---|
556 |
|
---|
557 | "RTN","VWHSHTST",24,0)
|
---|
558 |
|
---|
559 | "RTN","VWHSHTST",25,0)
|
---|
560 |
|
---|
561 | "RTN","VWHSHTST",26,0)
|
---|
562 |
|
---|
563 | "RTN","VWHSHTST",27,0)
|
---|
564 |
|
---|
565 | "RTN","VWHSHTST",28,0)
|
---|
566 |
|
---|
567 | "RTN","VWHSHTST",29,0)
|
---|
568 |
|
---|
569 | "RTN","VWHSHTST",30,0)
|
---|
570 |
|
---|
571 | "RTN","VWHSHTST",31,0)
|
---|
572 |
|
---|
573 | "RTN","VWHSHTST",32,0)
|
---|
574 |
|
---|
575 | "RTN","VWHSHTST",33,0)
|
---|
576 |
|
---|
577 | "RTN","VWHSHTST",34,0)
|
---|
578 |
|
---|
579 | "RTN","VWHSHTST",35,0)
|
---|
580 |
|
---|
581 | "VER")
|
---|
582 | 8.0^22.0
|
---|
583 | **END**
|
---|
584 | **END**
|
---|