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
() =
default
;
24
25
Rand2
(
StrongRandomAPI::Ptr
rng_arg,
26
RandomAPI::Ptr
prng_arg)
27
:
rng
(std::move(rng_arg)),
28
prng
(std::move(prng_arg))
29
{
30
}
31
32
Rand2
(
StrongRandomAPI::Ptr
rng_arg)
33
:
rng
(rng_arg),
34
prng
(rng_arg)
35
{
36
}
37
38
bool
defined
()
const
39
{
40
return
rng
&&
prng
;
41
}
42
43
StrongRandomAPI::Ptr
rng
;
44
RandomAPI::Ptr
prng
;
45
};
46
47
}
// 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::Rand2
Rand2()=default
openvpn::Rand2::rng
StrongRandomAPI::Ptr rng
Definition
rand2.hpp:43
openvpn::Rand2::defined
bool defined() const
Definition
rand2.hpp:38
openvpn::Rand2::Rand2
Rand2(StrongRandomAPI::Ptr rng_arg, RandomAPI::Ptr prng_arg)
Definition
rand2.hpp:25
openvpn::Rand2::prng
RandomAPI::Ptr prng
Definition
rand2.hpp:44
openvpn::Rand2::Rand2
Rand2(StrongRandomAPI::Ptr rng_arg)
Definition
rand2.hpp:32
openvpn
random
rand2.hpp
Generated by
1.9.8