OpenCoverage

tb_dh.c

Absolute File Name:/home/opencoverage/opencoverage/guest-scripts/libressl/src/crypto/engine/tb_dh.c
Source codeSwitch to Preprocessed file
LineSourceCount
1/* $OpenBSD: tb_dh.c,v 1.6 2014/06/12 15:49:29 deraadt Exp $ */-
2/* ====================================================================-
3 * Copyright (c) 2000 The OpenSSL Project. All rights reserved.-
4 *-
5 * Redistribution and use in source and binary forms, with or without-
6 * modification, are permitted provided that the following conditions-
7 * are met:-
8 *-
9 * 1. Redistributions of source code must retain the above copyright-
10 * notice, this list of conditions and the following disclaimer.-
11 *-
12 * 2. Redistributions in binary form must reproduce the above copyright-
13 * notice, this list of conditions and the following disclaimer in-
14 * the documentation and/or other materials provided with the-
15 * distribution.-
16 *-
17 * 3. All advertising materials mentioning features or use of this-
18 * software must display the following acknowledgment:-
19 * "This product includes software developed by the OpenSSL Project-
20 * for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)"-
21 *-
22 * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to-
23 * endorse or promote products derived from this software without-
24 * prior written permission. For written permission, please contact-
25 * licensing@OpenSSL.org.-
26 *-
27 * 5. Products derived from this software may not be called "OpenSSL"-
28 * nor may "OpenSSL" appear in their names without prior written-
29 * permission of the OpenSSL Project.-
30 *-
31 * 6. Redistributions of any form whatsoever must retain the following-
32 * acknowledgment:-
33 * "This product includes software developed by the OpenSSL Project-
34 * for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)"-
35 *-
36 * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY-
37 * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE-
38 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR-
39 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR-
40 * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,-
41 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT-
42 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;-
43 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)-
44 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,-
45 * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)-
46 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED-
47 * OF THE POSSIBILITY OF SUCH DAMAGE.-
48 * ====================================================================-
49 *-
50 * This product includes cryptographic software written by Eric Young-
51 * (eay@cryptsoft.com). This product includes software written by Tim-
52 * Hudson (tjh@cryptsoft.com).-
53 *-
54 */-
55-
56#include "eng_int.h"-
57-
58/* If this symbol is defined then ENGINE_get_default_DH(), the function that is-
59 * used by DH to hook in implementation code and cache defaults (etc), will-
60 * display brief debugging summaries to stderr with the 'nid'. */-
61/* #define ENGINE_DH_DEBUG */-
62-
63static ENGINE_TABLE *dh_table = NULL;-
64static const int dummy_nid = 1;-
65-
66void-
67ENGINE_unregister_DH(ENGINE *e)-
68{-
69 engine_table_unregister(&dh_table, e);-
70}
never executed: end of block
0
71-
72static void-
73engine_unregister_all_DH(void)-
74{-
75 engine_table_cleanup(&dh_table);-
76}
never executed: end of block
0
77-
78int-
79ENGINE_register_DH(ENGINE *e)-
80{-
81 if (e->dh_meth)
e->dh_methDescription
TRUEnever evaluated
FALSEnever evaluated
0
82 return engine_table_register(&dh_table,
never executed: return engine_table_register(&dh_table, engine_unregister_all_DH, e, &dummy_nid, 1, 0);
0
83 engine_unregister_all_DH, e, &dummy_nid, 1, 0);
never executed: return engine_table_register(&dh_table, engine_unregister_all_DH, e, &dummy_nid, 1, 0);
0
84 return 1;
never executed: return 1;
0
85}-
86-
87void-
88ENGINE_register_all_DH(void)-
89{-
90 ENGINE *e;-
91-
92 for (e = ENGINE_get_first(); e; e = ENGINE_get_next(e))
eDescription
TRUEnever evaluated
FALSEnever evaluated
0
93 ENGINE_register_DH(e);
never executed: ENGINE_register_DH(e);
0
94}
never executed: end of block
0
95-
96int-
97ENGINE_set_default_DH(ENGINE *e)-
98{-
99 if (e->dh_meth)
e->dh_methDescription
TRUEnever evaluated
FALSEnever evaluated
0
100 return engine_table_register(&dh_table,
never executed: return engine_table_register(&dh_table, engine_unregister_all_DH, e, &dummy_nid, 1, 1);
0
101 engine_unregister_all_DH, e, &dummy_nid, 1, 1);
never executed: return engine_table_register(&dh_table, engine_unregister_all_DH, e, &dummy_nid, 1, 1);
0
102 return 1;
never executed: return 1;
0
103}-
104-
105/* Exposed API function to get a functional reference from the implementation-
106 * table (ie. try to get a functional reference from the tabled structural-
107 * references). */-
108ENGINE *-
109ENGINE_get_default_DH(void)-
110{-
111 return engine_table_select(&dh_table, dummy_nid);
executed 230 times by 4 tests: return engine_table_select(&dh_table, dummy_nid);
Executed by:
  • dhtest
  • mont
  • servertest
  • ssltest
230
112}-
113-
114/* Obtains an DH implementation from an ENGINE functional reference */-
115const DH_METHOD *-
116ENGINE_get_DH(const ENGINE *e)-
117{-
118 return e->dh_meth;
never executed: return e->dh_meth;
0
119}-
120-
121/* Sets an DH implementation in an ENGINE structure */-
122int-
123ENGINE_set_DH(ENGINE *e, const DH_METHOD *dh_meth)-
124{-
125 e->dh_meth = dh_meth;-
126 return 1;
never executed: return 1;
0
127}-
Source codeSwitch to Preprocessed file

Generated by Squish Coco 4.2.2