OpenVPN 3 Core Library
Loading...
Searching...
No Matches
rand2.hpp
Go to the documentation of this file.
1
// OpenVPN -- An application to securely tunnel IP networks
2
// over a single port, with support for SSL/TLS-based
3
// session authentication and key exchange,
4
// packet encryption, packet authentication, and
5
// packet compression.
6
//
7
// Copyright (C) 2012- OpenVPN Inc.
8
//
9
// SPDX-License-Identifier: MPL-2.0 OR AGPL-3.0-only WITH openvpn3-openssl-exception
10
//
11
12
#pragma once
13
14
#include <utility>
15
16
#include <
openvpn/random/randapi.hpp
>
17
18
namespace
openvpn
{
19
20
// By convention, rng is crypto-strength while prng is not.
21
struct
Rand2
22
{
23
Rand2
()
24
{
25
}
26
27
Rand2
(
StrongRandomAPI::Ptr
rng_arg,
28
RandomAPI::Ptr
prng_arg)
29
:
rng
(std::move(rng_arg)),
30
prng
(std::move(prng_arg))
31
{
32
}
33
34
Rand2
(
StrongRandomAPI::Ptr
rng_arg)
35
:
rng
(rng_arg),
36
prng
(rng_arg)
37
{
38
}
39
40
bool
defined
()
const
41
{
42
return
rng
&&
prng
;
43
}
44
45
StrongRandomAPI::Ptr
rng
;
46
RandomAPI::Ptr
prng
;
47
};
48
49
}
// namespace openvpn
openvpn::RCPtr< StrongRandomAPI >
openvpn
Definition
ovpncli.cpp:97
randapi.hpp
Implementation of the base classes for random number generators.
openvpn::Rand2
Definition
rand2.hpp:22
openvpn::Rand2::rng
StrongRandomAPI::Ptr rng
Definition
rand2.hpp:45
openvpn::Rand2::defined
bool defined() const
Definition
rand2.hpp:40
openvpn::Rand2::Rand2
Rand2(StrongRandomAPI::Ptr rng_arg, RandomAPI::Ptr prng_arg)
Definition
rand2.hpp:27
openvpn::Rand2::prng
RandomAPI::Ptr prng
Definition
rand2.hpp:46
openvpn::Rand2::Rand2
Rand2()
Definition
rand2.hpp:23
openvpn::Rand2::Rand2
Rand2(StrongRandomAPI::Ptr rng_arg)
Definition
rand2.hpp:34
openvpn
random
rand2.hpp
Generated by
1.9.8