Commit 2b4a238b authored by Richard Levitte's avatar Richard Levitte
Browse files

Recent changes from 0.9.6-stable.

parent f0c5491e
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -132,8 +132,8 @@
     standard headers).  If it is a problem with OpenSSL itself, please
     report the problem to <openssl-bugs@openssl.org> (note that your
     message will be recorded in the request tracker publicly readable
     via http://www.openssl.org/rt2.html and will be forwarded to a public
     mailing list). Include the output of "make report" in your message.
     via http://www.openssl.org/support/rt2.html and will be forwarded to a
     public mailing list). Include the output of "make report" in your message.
     Please check out the request tracker. Maybe the bug was already
     reported or has already been fixed.

@@ -154,7 +154,7 @@
     in Makefile.ssl and run "make clean; make". Please send a bug
     report to <openssl-bugs@openssl.org>, including the output of
     "make report" in order to be added to the request tracker at
     http://www.openssl.org/rt2.html.
     http://www.openssl.org/support/rt2.html.

  4. If everything tests ok, install OpenSSL with

+19 −8
Original line number Diff line number Diff line
@@ -58,6 +58,7 @@

#include <stdio.h>
#include <string.h>
#include <assert.h>
#include "cryptlib.h"
#include <openssl/crypto.h>
#include <openssl/safestack.h>
@@ -206,10 +207,18 @@ int CRYPTO_get_new_dynlockid(void)
	i=sk_CRYPTO_dynlock_find(dyn_locks,NULL);
	/* If there was none, push, thereby creating a new one */
	if (i == -1)
		i=sk_CRYPTO_dynlock_push(dyn_locks,pointer);
		/* Since sk_push() returns the number of items on the
		   stack, not the location of the pushed item, we need
		   to transform the returned number into a position,
		   by decreasing it.  */
		i=sk_CRYPTO_dynlock_push(dyn_locks,pointer) - 1;
	else
		/* If we found a place with a NULL pointer, put our pointer
		   in it.  */
		sk_CRYPTO_dynlock_set(dyn_locks,i,pointer);
	CRYPTO_w_unlock(CRYPTO_LOCK_DYNLOCK);

	if (!i)
	if (i == -1)
		{
		dynlock_destroy_callback(pointer->data,__FILE__,__LINE__);
		OPENSSL_free(pointer);
@@ -400,17 +409,19 @@ void CRYPTO_lock(int mode, int type, const char *file, int line)
		}
#endif
	if (type < 0)
		{
		if (dynlock_lock_callback != NULL)
			{
			struct CRYPTO_dynlock_value *pointer
				= CRYPTO_get_dynlock_value(type);

		if (pointer && dynlock_lock_callback)
			{
			assert(pointer != NULL);

			dynlock_lock_callback(mode, pointer, file, line);
			}

			CRYPTO_destroy_dynlockid(type);
			}
		}
	else
		if (locking_callback != NULL)
			locking_callback(mode,type,file,line);
+1 −0
Original line number Diff line number Diff line
@@ -86,6 +86,7 @@
#endif
#include <sys/stat.h>
#endif
#include <openssl/crypto.h>
#include <openssl/des.h>
#include <openssl/rand.h>

+1 −0
Original line number Diff line number Diff line
@@ -217,6 +217,7 @@ end:
static int cb_exit(int ec)
	{
	EXIT(ec);
	return(0);		/* To keep some compilers quiet */
	}

static void MS_CALLBACK dsa_cb(int p, int n, void *arg)
+1 −1
Original line number Diff line number Diff line
@@ -897,7 +897,7 @@ void X509_STORE_CTX_cleanup(X509_STORE_CTX *ctx)
		ctx->chain=NULL;
		}
	CRYPTO_free_ex_data(x509_store_ctx_method,ctx,&(ctx->ex_data));
	OPENSSL_cleanse(&ctx->ex_data,sizeof(CRYPTO_EX_DATA));
	memset(&ctx->ex_data,0,sizeof(CRYPTO_EX_DATA));
	}

void X509_STORE_CTX_set_flags(X509_STORE_CTX *ctx, long flags)
Loading