"openssl list-standard-commands".
Changes between 0.9.5 and 0.9.5a [XX XXX 2000]
+ *) For easily testing in shell scripts whether some command exists,
+ 'openssl no-XXX' returns with exit code 0 iff the command XXX is
+ available. 'no-XXX' is printed in this case, 'XXX' otherwise
+ (i.e. when a command of this name exists). In both cases,
+ the output goes to stdout and nothing is printed to stderr.
+ Additional arguments are always ignored.
+
+ Since for each cipher there is a command of the same name,
+ the 'no-cipher' compilation switches can be tested this way.
+ [Bodo Moeller]
+
*) Update test suite so that 'make test' succeeds in 'no-rsa' configuration.
[Bodo Moeller]
{
ret=fp->func(argc,argv);
}
+ else if ((strncmp(argv[0],"no-",3)) == 0)
+ {
+ BIO *bio_stdout = BIO_new_fp(stdout,BIO_NOCLOSE);
+ f.name=argv[0]+3;
+ ret = (lh_retrieve(prog,&f) != NULL);
+ if (!ret)
+ BIO_printf(bio_stdout, "%s\n", argv[0]);
+ else
+ BIO_printf(bio_stdout, "%s\n", argv[0]+3);
+ BIO_free(bio_stdout);
+ goto end;
+ }
else if ((strcmp(argv[0],"quit") == 0) ||
(strcmp(argv[0],"q") == 0) ||
(strcmp(argv[0],"exit") == 0) ||
@sh ./testssl keyU.ss certU.ss certCA.ss
test_ca:
- @if ../apps/openssl list-standard-commands | grep '^rsa$$' >/dev/null; then \
+ @if ../apps/openssl no-rsa; then \
+ echo "skipping CA.sh test -- requires RSA"; \
+ else \
echo "Generate and certify a test certificate via the 'ca' program"; \
sh ./testca; \
- else \
- echo "skipping CA.sh test -- requires RSA"; \
fi
lint:
echo "string to make the random number generator think it has entropy" >> ./.rnd
-if ../apps/openssl list-standard-commands | grep '^rsa$' >/dev/null; then
+if ../apps/openssl no-rsa; then
+ req_new='-newkey dsa:../apps/dsa512.pem'
+else
req_new='-new'
echo "There should be a 2 sequences of .'s and some +'s."
echo "There should not be more that at most 80 per line"
-else
- req_new='-newkey dsa:../apps/dsa512.pem'
fi
echo "This could take some time."
echo
echo "make a certificate request using 'req'"
-if ../apps/openssl list-standard-commands | grep '^rsa$' >/dev/null; then
- req_new='-new'
-else
+if ../apps/openssl no-rsa; then
req_new='-newkey dsa:../apps/dsa512.pem'
+else
+ req_new='-new'
fi
$reqcmd -config $CAconf -out $CAreq -keyout $CAkey $req_new #>err.ss
echo test tls1 with 1024bit anonymous DH, multiple handshakes
$ssltest -v -bio_pair -tls1 -cipher ADH -dhe1024dsa -num 10 -f -time || exit 1
-if ../apps/openssl list-standard-commands | grep '^rsa$' >/dev/null; then
+if ../apps/openssl no-rsa; then
+ echo skipping RSA tests
+else
echo test tls1 with 1024bit RSA, no DHE, multiple handshakes
./ssltest -v -bio_pair -tls1 -cert ../apps/server2.pem -no_dhe -num 10 -f -time || exit 1
PATH=../apps:$PATH
export PATH
-if ../apps/openssl list-standard-commands | grep '^rsa$' >/dev/null; then
- echo openssl rsa command available
-else
- echo openssl rsa command not available, skipping test
+if ../apps/openssl no-rsa; then
+ echo skipping rsa conversion test
exit 0
fi