| $! 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 |
| $! |
| $ 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." |
| $! |