Commit 46c4647e authored by Bodo Möller's avatar Bodo Möller
Browse files

"openssl no-..." commands for avoiding the need to grep

"openssl list-standard-commands".
parent d58d6c27
Loading
Loading
Loading
Loading
+11 −0
Original line number Original line Diff line number Diff line
@@ -4,6 +4,17 @@


 Changes between 0.9.5 and 0.9.5a  [XX XXX 2000]
 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.
  *) Update test suite so that 'make test' succeeds in 'no-rsa' configuration.
     [Bodo Moeller]
     [Bodo Moeller]


+12 −0
Original line number Original line Diff line number Diff line
@@ -233,6 +233,18 @@ static int do_cmd(LHASH *prog, int argc, char *argv[])
		{
		{
		ret=fp->func(argc,argv);
		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) ||
	else if ((strcmp(argv[0],"quit") == 0) ||
		(strcmp(argv[0],"q") == 0) ||
		(strcmp(argv[0],"q") == 0) ||
		(strcmp(argv[0],"exit") == 0) ||
		(strcmp(argv[0],"exit") == 0) ||
+3 −3
Original line number Original line Diff line number Diff line
@@ -215,11 +215,11 @@ test_ssl: keyU.ss certU.ss certCA.ss
	@sh ./testssl keyU.ss certU.ss certCA.ss
	@sh ./testssl keyU.ss certU.ss certCA.ss


test_ca:
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"; \
	  echo "Generate and certify a test certificate via the 'ca' program"; \
	  sh ./testca; \
	  sh ./testca; \
	else \
	  echo "skipping CA.sh test -- requires RSA"; \
 	fi
 	fi


lint:
lint:
+3 −3
Original line number Original line Diff line number Diff line
@@ -13,12 +13,12 @@ echo "generating certificate request"


echo "string to make the random number generator think it has entropy" >> ./.rnd
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'
  req_new='-new'
  echo "There should be a 2 sequences of .'s and some +'s."
  echo "There should be a 2 sequences of .'s and some +'s."
  echo "There should not be more that at most 80 per line"
  echo "There should not be more that at most 80 per line"
else
  req_new='-newkey dsa:../apps/dsa512.pem'
fi
fi


echo "This could take some time."
echo "This could take some time."
+3 −3
Original line number Original line Diff line number Diff line
@@ -20,10 +20,10 @@ Ucert="certU.ss"
echo
echo
echo "make a certificate request using 'req'"
echo "make a certificate request using 'req'"


if ../apps/openssl list-standard-commands | grep '^rsa$' >/dev/null; then
if ../apps/openssl no-rsa; then
  req_new='-new'
else
  req_new='-newkey dsa:../apps/dsa512.pem'
  req_new='-newkey dsa:../apps/dsa512.pem'
else
  req_new='-new'
fi
fi


$reqcmd -config $CAconf -out $CAreq -keyout $CAkey $req_new #>err.ss
$reqcmd -config $CAconf -out $CAreq -keyout $CAkey $req_new #>err.ss
Loading