Commit bba2cb3a authored by Geoff Thorpe's avatar Geoff Thorpe
Browse files

Fix a bone-head bug. This warrants a CHANGES entry because it could affect

applications if they were passing a bogus 'flags' parameter yet having
things work as they wanted anyway.
parent 52c4c51f
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -4,6 +4,12 @@

 Changes between 0.9.7a and 0.9.8  [xx XXX xxxx]

  *) Fixed a typo bug that would cause ENGINE_set_default() to set an
     ENGINE as defaults for all supported algorithms irrespective of
     the 'flags' parameter. 'flags' is now honoured, so applications
     should make sure they are passing it correctly.
     [Geoff Thorpe]

  *) Make sure the default DSA_METHOD implementation only uses its
     dsa_mod_exp() and/or bn_mod_exp() handlers if they are non-NULL,
     and change its own handlers to be NULL so as to remove unnecessary
+6 −6
Original line number Diff line number Diff line
@@ -71,26 +71,26 @@ int ENGINE_set_default(ENGINE *e, unsigned int flags)
	if((flags & ENGINE_METHOD_DIGESTS) && !ENGINE_set_default_digests(e))
		return 0;
#ifndef OPENSSL_NO_RSA
	if((flags & ENGINE_METHOD_RSA) & !ENGINE_set_default_RSA(e))
	if((flags & ENGINE_METHOD_RSA) && !ENGINE_set_default_RSA(e))
		return 0;
#endif
#ifndef OPENSSL_NO_DSA
	if((flags & ENGINE_METHOD_DSA) & !ENGINE_set_default_DSA(e))
	if((flags & ENGINE_METHOD_DSA) && !ENGINE_set_default_DSA(e))
		return 0;
#endif
#ifndef OPENSSL_NO_DH
	if((flags & ENGINE_METHOD_DH) & !ENGINE_set_default_DH(e))
	if((flags & ENGINE_METHOD_DH) && !ENGINE_set_default_DH(e))
		return 0;
#endif
#ifndef OPENSSL_NO_ECDH
	if((flags & ENGINE_METHOD_ECDH) & !ENGINE_set_default_ECDH(e))
	if((flags & ENGINE_METHOD_ECDH) && !ENGINE_set_default_ECDH(e))
		return 0;
#endif
#ifndef OPENSSL_NO_ECDSA
	if((flags & ENGINE_METHOD_ECDSA) & !ENGINE_set_default_ECDSA(e))
	if((flags & ENGINE_METHOD_ECDSA) && !ENGINE_set_default_ECDSA(e))
		return 0;
#endif
	if((flags & ENGINE_METHOD_RAND) & !ENGINE_set_default_RAND(e))
	if((flags & ENGINE_METHOD_RAND) && !ENGINE_set_default_RAND(e))
		return 0;
	return 1;
	}