فهرست منبع

Make no-engine work again.

Dr. Stephen Henson 15 سال پیش
والد
کامیت
70531c147c
10فایلهای تغییر یافته به همراه40 افزوده شده و 12 حذف شده
  1. 0 2
      apps/dsa.c
  2. 1 1
      apps/engine.c
  3. 2 0
      apps/genpkey.c
  4. 3 1
      apps/pkeyparam.c
  5. 2 1
      apps/s_client.c
  6. 0 2
      apps/s_server.c
  7. 2 1
      apps/ts.c
  8. 1 1
      crypto/engine/enginetest.c
  9. 6 0
      crypto/ts/ts_conf.c
  10. 23 3
      ssl/ssl_ciph.c

+ 0 - 2
apps/dsa.c

@@ -96,9 +96,7 @@ int MAIN(int, char **);
 
 int MAIN(int argc, char **argv)
 	{
-#ifndef OPENSSL_NO_ENGINE
 	ENGINE *e = NULL;
-#endif
 	int ret=1;
 	DSA *dsa=NULL;
 	int i,badops=0;

+ 1 - 1
apps/engine.c

@@ -56,7 +56,6 @@
  *
  */
 
-#ifndef OPENSSL_NO_ENGINE
 
 #include <stdio.h>
 #include <stdlib.h>
@@ -66,6 +65,7 @@
 #endif
 #include "apps.h"
 #include <openssl/err.h>
+#ifndef OPENSSL_NO_ENGINE
 #include <openssl/engine.h>
 #include <openssl/ssl.h>
 

+ 2 - 0
apps/genpkey.c

@@ -376,8 +376,10 @@ int init_gen_str(BIO *err, EVP_PKEY_CTX **pctx,
 
 	ameth = EVP_PKEY_asn1_find_str(&tmpeng, algname, -1);
 
+#ifndef OPENSSL_NO_ENGINE
 	if (!ameth && e)
 		ameth = ENGINE_get_pkey_asn1_meth_str(e, algname, -1);
+#endif
 
 	if (!ameth)
 		{

+ 3 - 1
apps/pkeyparam.c

@@ -68,13 +68,13 @@ int MAIN(int, char **);
 
 int MAIN(int argc, char **argv)
 	{
-	ENGINE *e = NULL;
 	char **args, *infile = NULL, *outfile = NULL;
 	BIO *in = NULL, *out = NULL;
 	int text = 0, noout = 0;
 	EVP_PKEY *pkey=NULL;
 	int badarg = 0;
 #ifndef OPENSSL_NO_ENGINE
+	ENGINE *e = NULL;
 	char *engine=NULL;
 #endif
 	int ret = 1;
@@ -125,7 +125,9 @@ int MAIN(int argc, char **argv)
 
 	if (badarg)
 		{
+#ifndef OPENSSL_NO_ENGINE
 		bad:
+#endif
 		BIO_printf(bio_err, "Usage pkeyparam [options]\n");
 		BIO_printf(bio_err, "where options are\n");
 		BIO_printf(bio_err, "-in file        input file\n");

+ 2 - 1
apps/s_client.c

@@ -413,8 +413,9 @@ int MAIN(int argc, char **argv)
 #ifndef OPENSSL_NO_ENGINE
 	char *engine_id=NULL;
 	char *ssl_client_engine_id=NULL;
-	ENGINE *e=NULL, *ssl_client_engine=NULL;
+	ENGINE *ssl_client_engine=NULL;
 #endif
+	ENGINE *e=NULL;
 #if defined(OPENSSL_SYS_WINDOWS) || defined(OPENSSL_SYS_MSDOS) || defined(OPENSSL_SYS_NETWARE) || defined(OPENSSL_SYS_BEOS_R5)
 	struct timeval tv;
 #if defined(OPENSSL_SYS_BEOS_R5)

+ 0 - 2
apps/s_server.c

@@ -849,9 +849,7 @@ int MAIN(int argc, char *argv[])
 	int state=0;
 	const SSL_METHOD *meth=NULL;
 	int socket_type=SOCK_STREAM;
-#ifndef OPENSSL_NO_ENGINE
 	ENGINE *e=NULL;
-#endif
 	char *inrand=NULL;
 	int s_cert_format = FORMAT_PEM, s_key_format = FORMAT_PEM;
 	char *passarg = NULL, *pass = NULL;

+ 2 - 1
apps/ts.c

@@ -813,9 +813,10 @@ static TS_RESP *create_response(CONF *conf, const char *section, char *engine,
 
 	/* Setting serial number provider callback. */
 	if (!TS_CONF_set_serial(conf, section, serial_cb, resp_ctx)) goto end;
-
+#ifndef OPENSSL_NO_ENGINE
 	/* Setting default OpenSSL engine. */
 	if (!TS_CONF_set_crypto_device(conf, section, engine)) goto end;
+#endif
 
 	/* Setting TSA signer certificate. */
 	if (!TS_CONF_set_signer_cert(conf, section, signer, resp_ctx)) goto end;

+ 1 - 1
crypto/engine/enginetest.c

@@ -58,6 +58,7 @@
 
 #include <stdio.h>
 #include <string.h>
+#include <openssl/e_os2.h>
 
 #ifdef OPENSSL_NO_ENGINE
 int main(int argc, char *argv[])
@@ -66,7 +67,6 @@ int main(int argc, char *argv[])
     return(0);
 }
 #else
-#include <openssl/e_os2.h>
 #include <openssl/buffer.h>
 #include <openssl/crypto.h>
 #include <openssl/engine.h>

+ 6 - 0
crypto/ts/ts_conf.c

@@ -61,7 +61,9 @@
 #include <openssl/crypto.h>
 #include "cryptlib.h"
 #include <openssl/pem.h>
+#ifndef OPENSSL_NO_ENGINE
 #include <openssl/engine.h>
+#endif
 #include <openssl/ts.h>
 
 /* Macro definitions for the configuration file. */
@@ -185,6 +187,8 @@ int TS_CONF_set_serial(CONF *conf, const char *section, TS_serial_cb cb,
 	return ret;
 	}
 
+#ifndef OPENSSL_NO_ENGINE
+
 int TS_CONF_set_crypto_device(CONF *conf, const char *section,
 			      const char *device)
 	{
@@ -230,6 +234,8 @@ int TS_CONF_set_default_engine(const char *name)
 	return ret;
 	}
 
+#endif
+
 int TS_CONF_set_signer_cert(CONF *conf, const char *section,
 			    const char *cert, TS_RESP_CTX *ctx)
 	{

+ 23 - 3
ssl/ssl_ciph.c

@@ -143,7 +143,9 @@
 #include <stdio.h>
 #include <openssl/objects.h>
 #include <openssl/comp.h>
+#ifndef OPENSSL_NO_ENGINE
 #include <openssl/engine.h>
+#endif
 #include "ssl_locl.h"
 
 #define SSL_ENC_DES_IDX		0
@@ -314,20 +316,38 @@ static const SSL_CIPHER cipher_aliases[]={
 /* Search for public key algorithm with given name and 
  * return its pkey_id if it is available. Otherwise return 0
  */
+#ifdef OPENSSL_NO_ENGINE
+
 static int get_optional_pkey_id(const char *pkey_name)
 	{
 	const EVP_PKEY_ASN1_METHOD *ameth;
-	ENGINE *tmpeng = NULL;
 	int pkey_id=0;
-	ameth = EVP_PKEY_asn1_find_str(&tmpeng,pkey_name,-1);
+	ameth = EVP_PKEY_asn1_find_str(NULL,pkey_name,-1);
 	if (ameth) 
 		{
 		EVP_PKEY_asn1_get0_info(&pkey_id, NULL,NULL,NULL,NULL,ameth);
 		}		
-	if (tmpeng) ENGINE_finish(tmpeng);	
 	return pkey_id;
 	}
 
+#else
+
+static int get_optional_pkey_id(const char *pkey_name)
+	{
+	const EVP_PKEY_ASN1_METHOD *ameth;
+	ENGINE *tmpeng = NULL;
+	int pkey_id=0;
+	ameth = EVP_PKEY_asn1_find_str(&tmpeng,pkey_name,-1);
+	if (ameth)
+		{
+		EVP_PKEY_asn1_get0_info(&pkey_id, NULL,NULL,NULL,NULL,ameth);
+		}
+	if (tmpeng) ENGINE_finish(tmpeng);
+	return pkey_id;
+	}
+
+#endif
+
 void ssl_load_ciphers(void)
 	{
 	ssl_cipher_methods[SSL_ENC_DES_IDX]=