openssl_link.c revision 69fe9aaafdd6a141610e86a777d325db75422070
c2bc56dc65b4b103a5600565680eb5f33fa4c90bMark Andrews * Portions Copyright (C) 2004, 2005 Internet Systems Consortium, Inc. ("ISC")
c2bc56dc65b4b103a5600565680eb5f33fa4c90bMark Andrews * Portions Copyright (C) 1999-2003 Internet Software Consortium.
c2bc56dc65b4b103a5600565680eb5f33fa4c90bMark Andrews * Portions Copyright (C) 1995-2000 by Network Associates, Inc.
c2bc56dc65b4b103a5600565680eb5f33fa4c90bMark Andrews * Permission to use, copy, modify, and distribute this software for any
c2bc56dc65b4b103a5600565680eb5f33fa4c90bMark Andrews * purpose with or without fee is hereby granted, provided that the above
c2bc56dc65b4b103a5600565680eb5f33fa4c90bMark Andrews * copyright notice and this permission notice appear in all copies.
c2bc56dc65b4b103a5600565680eb5f33fa4c90bMark Andrews * THE SOFTWARE IS PROVIDED "AS IS" AND ISC AND NETWORK ASSOCIATES DISCLAIMS
c2bc56dc65b4b103a5600565680eb5f33fa4c90bMark Andrews * ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
c2bc56dc65b4b103a5600565680eb5f33fa4c90bMark Andrews * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE
c2bc56dc65b4b103a5600565680eb5f33fa4c90bMark Andrews * FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
c2bc56dc65b4b103a5600565680eb5f33fa4c90bMark Andrews * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
c2bc56dc65b4b103a5600565680eb5f33fa4c90bMark Andrews * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
c2bc56dc65b4b103a5600565680eb5f33fa4c90bMark Andrews * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
c2bc56dc65b4b103a5600565680eb5f33fa4c90bMark Andrews * Principal Author: Brian Wellington
c2bc56dc65b4b103a5600565680eb5f33fa4c90bMark Andrews * $Id: openssl_link.c,v 1.3 2005/04/29 00:22:49 marka Exp $
#include "dst_internal.h"
#include "dst_openssl.h"
#ifdef USE_ENGINE
static int nlocks;
#ifdef USE_ENGINE
static ENGINE *e;
if (num < 0)
if (num < 0)
id_callback(void) {
return ((unsigned long)isc_thread_self());
p = NULL;
if (size > 0U) {
return (ISC_R_NOMEMORY);
goto cleanup_mutexalloc;
goto cleanup_mutexinit;
#ifdef USE_ENGINE
e = ENGINE_new();
if (e == NULL) {
goto cleanup_rm;
return (ISC_R_SUCCESS);
#ifdef USE_ENGINE
return (result);
#ifdef USE_ENGINE
if (e != NULL) {
ENGINE_free(e);
e = NULL;
case ERR_R_MALLOC_FAILURE:
return (result);