[684] | 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**
|
---|