]> CyberLeo.Net >> Repos - FreeBSD/releng/9.3.git/blob - contrib/bind9/lib/dns/dst_openssl.h
Fix BIND remote denial of service vulnerability. [SA-15:27]
[FreeBSD/releng/9.3.git] / contrib / bind9 / lib / dns / dst_openssl.h
1 /*
2  * Copyright (C) 2004, 2005, 2007-2009, 2011, 2012  Internet Systems Consortium, Inc. ("ISC")
3  * Copyright (C) 2002  Internet Software Consortium.
4  *
5  * Permission to use, copy, modify, and/or distribute this software for any
6  * purpose with or without fee is hereby granted, provided that the above
7  * copyright notice and this permission notice appear in all copies.
8  *
9  * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
10  * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
11  * AND FITNESS.  IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
12  * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
13  * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
14  * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
15  * PERFORMANCE OF THIS SOFTWARE.
16  */
17
18 /* $Id: dst_openssl.h,v 1.11 2011/03/12 04:59:48 tbox Exp $ */
19
20 #ifndef DST_OPENSSL_H
21 #define DST_OPENSSL_H 1
22
23 #include <isc/lang.h>
24 #include <isc/log.h>
25 #include <isc/result.h>
26
27 #include <openssl/err.h>
28 #include <openssl/rand.h>
29 #include <openssl/evp.h>
30 #include <openssl/conf.h>
31 #include <openssl/crypto.h>
32
33 #if !defined(OPENSSL_NO_ENGINE) && defined(CRYPTO_LOCK_ENGINE) && \
34     (OPENSSL_VERSION_NUMBER >= 0x0090707f)
35 #define USE_ENGINE 1
36 #endif
37
38 ISC_LANG_BEGINDECLS
39
40 isc_result_t
41 dst__openssl_toresult(isc_result_t fallback);
42
43 isc_result_t
44 dst__openssl_toresult2(const char *funcname, isc_result_t fallback);
45
46 isc_result_t
47 dst__openssl_toresult3(isc_logcategory_t *category,
48                        const char *funcname, isc_result_t fallback);
49
50 #ifdef USE_ENGINE
51 ENGINE *
52 dst__openssl_getengine(const char *engine);
53 #else
54 #define dst__openssl_getengine(x) NULL
55 #endif
56
57 ISC_LANG_ENDDECLS
58
59 #endif /* DST_OPENSSL_H */
60 /*! \file */