Main Page
Related Pages
Modules
Namespaces
Namespace List
Namespace Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
y
z
Enumerations
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
r
s
t
u
v
w
Enumerator
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
z
Classes
Class List
Class Hierarchy
Class Members
All
:
[
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Functions
[
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
y
Enumerations
a
b
c
d
e
f
h
i
k
l
m
n
o
p
r
s
t
u
v
w
Enumerator
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
z
Properties
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
Related Functions
:
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
q
r
s
t
u
v
w
z
Files
File List
File Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Enumerations
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
r
s
t
u
v
w
x
Enumerator
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
x
Macros
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
grpc
third_party
boringssl-with-bazel
src
decrepit
dsa
dsa_decrepit.c
Go to the documentation of this file.
1
/* ====================================================================
2
* Copyright (c) 1998-2002 The OpenSSL Project. All rights reserved.
3
*
4
* Redistribution and use in source and binary forms, with or without
5
* modification, are permitted provided that the following conditions
6
* are met:
7
*
8
* 1. Redistributions of source code must retain the above copyright
9
* notice, this list of conditions and the following disclaimer.
10
*
11
* 2. Redistributions in binary form must reproduce the above copyright
12
* notice, this list of conditions and the following disclaimer in
13
* the documentation and/or other materials provided with the
14
* distribution.
15
*
16
* 3. All advertising materials mentioning features or use of this
17
* software must display the following acknowledgment:
18
* "This product includes software developed by the OpenSSL Project
19
* for use in the OpenSSL Toolkit. (http://www.openssl.org/)"
20
*
21
* 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
22
* endorse or promote products derived from this software without
23
* prior written permission. For written permission, please contact
24
* openssl-core@openssl.org.
25
*
26
* 5. Products derived from this software may not be called "OpenSSL"
27
* nor may "OpenSSL" appear in their names without prior written
28
* permission of the OpenSSL Project.
29
*
30
* 6. Redistributions of any form whatsoever must retain the following
31
* acknowledgment:
32
* "This product includes software developed by the OpenSSL Project
33
* for use in the OpenSSL Toolkit (http://www.openssl.org/)"
34
*
35
* THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
36
* EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
37
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
38
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR
39
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
40
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
41
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
42
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
43
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
44
* STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
45
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
46
* OF THE POSSIBILITY OF SUCH DAMAGE.
47
* ====================================================================
48
*
49
* This product includes cryptographic software written by Eric Young
50
* (eay@cryptsoft.com). This product includes software written by Tim
51
* Hudson (tjh@cryptsoft.com). */
52
53
#include <
openssl/bn.h
>
54
#include <
openssl/dsa.h
>
55
56
57
struct
wrapped_callback
{
58
void (*
callback
)(
int
,
int
,
void
*);
59
void
*
arg
;
60
};
61
62
// callback_wrapper converts an “old” style generation callback to the newer
63
// |BN_GENCB| form.
64
static
int
callback_wrapper
(
int
event,
int
n
,
BN_GENCB
*gencb) {
65
struct
wrapped_callback
*
wrapped
= (
struct
wrapped_callback
*) gencb->
arg
;
66
wrapped
->callback(event,
n
,
wrapped
->arg);
67
return
1;
68
}
69
70
DSA
*
DSA_generate_parameters
(
int
bits
,
uint8_t
*seed_in,
int
seed_len,
71
int
*counter_ret,
unsigned
long
*h_ret,
72
void
(*
callback
)(
int
,
int
,
void
*),
void
*cb_arg) {
73
if
(
bits
< 0 || seed_len < 0) {
74
return
NULL;
75
}
76
77
DSA
*
ret
=
DSA_new
();
78
if
(
ret
== NULL) {
79
return
NULL;
80
}
81
82
BN_GENCB
gencb_storage;
83
BN_GENCB
*
cb
= NULL;
84
85
struct
wrapped_callback
wrapped
;
86
87
if
(
callback
!= NULL) {
88
wrapped
.callback =
callback
;
89
wrapped
.arg = cb_arg;
90
91
cb
= &gencb_storage;
92
BN_GENCB_set
(
cb
,
callback_wrapper
, &
wrapped
);
93
}
94
95
if
(!
DSA_generate_parameters_ex
(
ret
,
bits
, seed_in, seed_len, counter_ret,
96
h_ret,
cb
)) {
97
goto
err
;
98
}
99
100
return
ret
;
101
102
err
:
103
DSA_free
(
ret
);
104
return
NULL;
105
}
bn.h
wrapped_callback
Definition:
dh_decrepit.c:57
error_ref_leak.err
err
Definition:
error_ref_leak.py:35
uint8_t
unsigned char uint8_t
Definition:
stdint-msvc2008.h:78
DSA_new
#define DSA_new
Definition:
boringssl_prefix_symbols.h:1284
bn_gencb_st::arg
void * arg
Definition:
bn.h:657
xds_interop_client.int
int
Definition:
xds_interop_client.py:113
DSA_free
#define DSA_free
Definition:
boringssl_prefix_symbols.h:1269
bits
OPENSSL_EXPORT ASN1_BIT_STRING * bits
Definition:
x509v3.h:482
DSA_generate_parameters_ex
#define DSA_generate_parameters_ex
Definition:
boringssl_prefix_symbols.h:1271
dsa.h
callback
static void callback(void *arg, int status, int timeouts, struct hostent *host)
Definition:
acountry.c:224
n
int n
Definition:
abseil-cpp/absl/container/btree_test.cc:1080
bn_gencb_st
Definition:
bn.h:656
DSA_generate_parameters
DSA * DSA_generate_parameters(int bits, uint8_t *seed_in, int seed_len, int *counter_ret, unsigned long *h_ret, void(*callback)(int, int, void *), void *cb_arg)
Definition:
dsa_decrepit.c:70
wrapped_callback::arg
void * arg
Definition:
dh_decrepit.c:59
wrapped
grpc_call * wrapped
Definition:
src/php/ext/grpc/call.h:32
ret
UniquePtr< SSL_SESSION > ret
Definition:
ssl_x509.cc:1029
wrapped_callback::callback
void(* callback)(int, int, void *)
Definition:
dh_decrepit.c:58
dsa_st
Definition:
dsa.h:398
BN_GENCB_set
#define BN_GENCB_set
Definition:
boringssl_prefix_symbols.h:888
callback_wrapper
static int callback_wrapper(int event, int n, BN_GENCB *gencb)
Definition:
dsa_decrepit.c:64
cb
OPENSSL_EXPORT pem_password_cb * cb
Definition:
pem.h:351
grpc
Author(s):
autogenerated on Thu Mar 13 2025 02:59:13