]>
Commit | Line | Data |
---|---|---|
7d7d2cbc UM |
1 | $! TVERIFY.COM |
2 | $ | |
3 | $ __arch := VAX | |
48f48d96 RL |
4 | $ if f$getsyi("cpu") .ge. 128 then - |
5 | __arch := f$edit( f$getsyi( "ARCH_NAME"), "UPCASE") | |
6 | $ if __arch .eqs. "" then __arch := UNK | |
7 | $! | |
8 | $ line_max = 255 ! Could be longer on modern non-VAX. | |
9 | $ temp_file_name = "certs_"+ f$getjpi( "", "PID")+ ".tmp" | |
7d7d2cbc | 10 | $ exe_dir := sys$disk:[-.'__arch'.exe.apps] |
48f48d96 RL |
11 | $ cmd = "mcr ''exe_dir'openssl verify ""-CAfile"" ''temp_file_name'" |
12 | $ cmd_len = f$length( cmd) | |
13 | $ pems = "[-.certs...]*.pem" | |
14 | $! | |
15 | $! Concatenate all the certificate files. | |
16 | $! | |
17 | $ copy /concatenate 'pems' 'temp_file_name' | |
18 | $! | |
19 | $! Loop through all the certificate files. | |
20 | $! | |
21 | $ args = "" | |
7d7d2cbc | 22 | $ old_f := |
48f48d96 RL |
23 | $ loop_file: |
24 | $ f = f$search( pems) | |
25 | $ if ((f .nes. "") .and. (f .nes. old_f)) | |
26 | $ then | |
27 | $ old_f = f | |
28 | $! | |
29 | $! If this file name would over-extend the command line, then | |
30 | $! run the command now. | |
31 | $! | |
32 | $ if (cmd_len+ f$length( args)+ 1+ f$length( f) .gt. line_max) | |
33 | $ then | |
34 | $ if (args .eqs. "") then goto disaster | |
35 | $ 'cmd''args' | |
36 | $ args = "" | |
37 | $ endif | |
38 | $! Add the next file to the argument list. | |
39 | $ args = args+ " "+ f | |
40 | $ else | |
41 | $! No more files in the list | |
42 | $ goto loop_file_end | |
43 | $ endif | |
44 | $ goto loop_file | |
45 | $ loop_file_end: | |
46 | $! | |
47 | $! Run the command for any left-over arguments. | |
48 | $! | |
49 | $ if (args .nes. "") | |
7d7d2cbc | 50 | $ then |
48f48d96 | 51 | $ 'cmd''args' |
7d7d2cbc | 52 | $ endif |
48f48d96 RL |
53 | $! |
54 | $! Delete the temporary file. | |
55 | $! | |
56 | $ if (f$search( "''temp_file_name';*") .nes. "") then - | |
57 | delete 'temp_file_name';* | |
58 | $! | |
59 | $ exit | |
60 | $! | |
61 | $ disaster: | |
62 | $ write sys$output " Command line too long. Doomed." | |
63 | $! |