66 lines
1.6 KiB
Plaintext
66 lines
1.6 KiB
Plaintext
|
$! TVERIFY.COM
|
||
|
$
|
||
|
$ __arch = "VAX"
|
||
|
$ if f$getsyi("cpu") .ge. 128 then -
|
||
|
__arch = f$edit( f$getsyi( "ARCH_NAME"), "UPCASE")
|
||
|
$ if __arch .eqs. "" then __arch = "UNK"
|
||
|
$!
|
||
|
$ if (p1 .eqs. "64") then __arch = __arch+ "_64"
|
||
|
$!
|
||
|
$ line_max = 255 ! Could be longer on modern non-VAX.
|
||
|
$ temp_file_name = "certs_"+ f$getjpi( "", "PID")+ ".tmp"
|
||
|
$ exe_dir = "sys$disk:[-.''__arch'.exe.apps]"
|
||
|
$ cmd = "mcr ''exe_dir'openssl verify ""-CAfile"" ''temp_file_name'"
|
||
|
$ cmd_len = f$length( cmd)
|
||
|
$ pems = "[-.certs...]*.pem"
|
||
|
$!
|
||
|
$! Concatenate all the certificate files.
|
||
|
$!
|
||
|
$ copy /concatenate 'pems' 'temp_file_name'
|
||
|
$!
|
||
|
$! Loop through all the certificate files.
|
||
|
$!
|
||
|
$ args = ""
|
||
|
$ old_f = ""
|
||
|
$ loop_file:
|
||
|
$ f = f$search( pems)
|
||
|
$ if ((f .nes. "") .and. (f .nes. old_f))
|
||
|
$ then
|
||
|
$ old_f = f
|
||
|
$!
|
||
|
$! If this file name would over-extend the command line, then
|
||
|
$! run the command now.
|
||
|
$!
|
||
|
$ if (cmd_len+ f$length( args)+ 1+ f$length( f) .gt. line_max)
|
||
|
$ then
|
||
|
$ if (args .eqs. "") then goto disaster
|
||
|
$ 'cmd''args'
|
||
|
$ args = ""
|
||
|
$ endif
|
||
|
$! Add the next file to the argument list.
|
||
|
$ args = args+ " "+ f
|
||
|
$ else
|
||
|
$! No more files in the list
|
||
|
$ goto loop_file_end
|
||
|
$ endif
|
||
|
$ goto loop_file
|
||
|
$ loop_file_end:
|
||
|
$!
|
||
|
$! Run the command for any left-over arguments.
|
||
|
$!
|
||
|
$ if (args .nes. "")
|
||
|
$ then
|
||
|
$ 'cmd''args'
|
||
|
$ endif
|
||
|
$!
|
||
|
$! Delete the temporary file.
|
||
|
$!
|
||
|
$ if (f$search( "''temp_file_name';*") .nes. "") then -
|
||
|
delete 'temp_file_name';*
|
||
|
$!
|
||
|
$ exit
|
||
|
$!
|
||
|
$ disaster:
|
||
|
$ write sys$output " Command line too long. Doomed."
|
||
|
$!
|