1e1051a39Sopenharmony_ci$	! OpenSSL Internal Verification Procedure
2e1051a39Sopenharmony_ci$	!
3e1051a39Sopenharmony_ci$	! This script checks the consistency of a OpenSSL installation
4e1051a39Sopenharmony_ci$	! It had better be spawned, as it creates process logicals
5e1051a39Sopenharmony_ci$
6e1051a39Sopenharmony_ci$	! Generated information
7e1051a39Sopenharmony_ci$	INSTALLTOP := {- $config{INSTALLTOP} -}
8e1051a39Sopenharmony_ci$	OPENSSLDIR := {- $config{OPENSSLDIR} -}
9e1051a39Sopenharmony_ci$
10e1051a39Sopenharmony_ci$	! Make sure that INSTALLTOP and OPENSSLDIR become something one
11e1051a39Sopenharmony_ci$	! can use to call the startup procedure
12e1051a39Sopenharmony_ci$	INSTALLTOP_ = F$PARSE("A.;",INSTALLTOP,,,"NO_CONCEAL") -
13e1051a39Sopenharmony_ci		     - ".][000000" - "[000000." - "][" - "]A.;" + "."
14e1051a39Sopenharmony_ci$	OPENSSLDIR_ = F$PARSE("A.;",OPENSSLDIR,,,"NO_CONCEAL") -
15e1051a39Sopenharmony_ci		     - ".][000000" - "[000000." - "][" - "]A.;" + "."
16e1051a39Sopenharmony_ci$
17e1051a39Sopenharmony_ci$	v    := {- sprintf "%02d", split(/\./, $config{version}) -}
18e1051a39Sopenharmony_ci$	pz   := {- $target{pointer_size} -}
19e1051a39Sopenharmony_ci$	
20e1051a39Sopenharmony_ci$	@'INSTALLTOP_'SYS$STARTUP]openssl_startup'v'
21e1051a39Sopenharmony_ci$	@'INSTALLTOP_'SYS$STARTUP]openssl_utils'v'
22e1051a39Sopenharmony_ci$
23e1051a39Sopenharmony_ci$	IF F$SEARCH("OSSL$LIBCRYPTO''pz'") .EQS. "" -
24e1051a39Sopenharmony_ci           .OR. F$SEARCH("OSSL$LIBSSL''pz'") .EQS. "" {- output_off() if $config{no_shared}; "" -}-
25e1051a39Sopenharmony_ci           .OR. F$SEARCH("OSSL$LIBCRYPTO_SHR''pz'") .EQS. "" -
26e1051a39Sopenharmony_ci           .OR. F$SEARCH("OSSL$LIBSSL_SHR''pz'") .EQS. "" {- output_on() if $config{no_shared}; "" -}-
27e1051a39Sopenharmony_ci           .OR. F$SEARCH("OSSL$INCLUDE:[OPENSSL]crypto.h") .EQS. "" -
28e1051a39Sopenharmony_ci           .OR. F$SEARCH("OPENSSL:crypto.h") .EQS. "" -
29e1051a39Sopenharmony_ci           .OR. F$SEARCH("OSSL$EXE:OPENSSL''v'.EXE") .EQS. ""
30e1051a39Sopenharmony_ci$	THEN
31e1051a39Sopenharmony_ci$	    WRITE SYS$ERROR "Installation inconsistent"
32e1051a39Sopenharmony_ci$	    EXIT %x00018292 ! RMS$_FNF, file not found
33e1051a39Sopenharmony_ci$	ENDIF
34e1051a39Sopenharmony_ci$
35e1051a39Sopenharmony_ci$	ON ERROR THEN GOTO error
36e1051a39Sopenharmony_ci$
37e1051a39Sopenharmony_ci$	! If something else is wrong with the installation, we're likely
38e1051a39Sopenharmony_ci$	! to get an image activation error here
39e1051a39Sopenharmony_ci$	openssl version -a
40e1051a39Sopenharmony_ci$
41e1051a39Sopenharmony_ci$	! FUTURE ENHANCEMENT: Verify that engines are where they should be.
42e1051a39Sopenharmony_ci$	! openssl engine -c -t checker
43e1051a39Sopenharmony_ci$
44e1051a39Sopenharmony_ci$	! Verify that the built in providers are reachable.  If they aren't,
45e1051a39Sopenharmony_ci$	! then we're likely to get an image activation error here
46e1051a39Sopenharmony_ci$	openssl list -provider base -providers
47e1051a39Sopenharmony_ci$	openssl list -provider default -providers
48e1051a39Sopenharmony_ci$	openssl list -provider legacy -providers
49e1051a39Sopenharmony_ci$
50e1051a39Sopenharmony_ci$	WRITE SYS$ERROR "OpenSSL IVP passed"
51e1051a39Sopenharmony_ci$	EXIT %x10000001
52e1051a39Sopenharmony_ci$
53e1051a39Sopenharmony_ci$ error:
54e1051a39Sopenharmony_ci$	save_status = $STATUS
55e1051a39Sopenharmony_ci$	WRITE SYS$ERROR "OpenSSL IVP failed"
56e1051a39Sopenharmony_ci$	EXIT 'save_status'
57