0
0
mirror of https://github.com/OpenVPN/openvpn3.git synced 2024-09-20 20:13:05 +02:00
Commit Graph

39 Commits

Author SHA1 Message Date
David Sommerseth
16b10559f2 [OVPN3-140] Update company names in copyrights
OpenVPN Technologies, Inc. change their name to OpenVPN Inc. during the
autumn of 2017.

Signed-off-by: David Sommerseth <davids@openvpn.net>
2017-12-22 17:59:39 +08:00
David Sommerseth
6caca2c313 [OVPN3-140] Relicense back to AGPLv3
This is essentially a revert of commit 04b2a3c9b7 and commit
ef42e59e05.

Signed-off-by: David Sommerseth <davids@openvpn.net>
2017-12-22 17:59:39 +08:00
James Yonan
2486494bbe random: added helper class Rand2 containing a crypto and non-crypto RNG
Signed-off-by: James Yonan <james@openvpn.net>
2017-09-27 16:16:18 +08:00
James Yonan
79c789b8c8 RandomAPI: comment edit
Signed-off-by: James Yonan <james@openvpn.net>
2017-09-27 16:16:18 +08:00
James Yonan
b2cd82a5bf copyright: updated to 2017.
Signed-off-by: James Yonan <james@openvpn.net>
2017-03-18 13:11:09 -06:00
James Yonan
050e8717f1 mbedTLS: Port from polarssl-1.3 to mbedtls-2.3 (symbol renames)
This patch renames internal OpenVPN 3 symbols
from polarssl -> mbedtls.

Signed-off-by: James Yonan <james@openvpn.net>
2017-03-18 12:24:54 -06:00
James Yonan
1fd81ebf96 random : because the RandomAPI interface now supports
both cryptographic and non-cryptographic algorithms, as
a failsafe, add a new virtual method assert_crypto()
that will throw an exception if the algorithm is not
crypto strength.  assert_crypto() should now be called
before any RNG is used for crypto purposes.
2017-03-18 12:24:54 -06:00
Samuli Seppänen
04b2a3c9b7 Switch from AGPLv3 to GPLv3
Signed-off-by: Samuli Seppänen <samuli@openvpn.net>
2017-03-16 14:43:55 +02:00
James Yonan
971abda88f copyright : updated to 2016 2016-09-03 23:29:23 -06:00
James Yonan
ca5205b4f3 random : consolidate random functionality in RandomAPI. 2016-06-28 22:31:17 -06:00
James Yonan
b614d5c3e1 random : extended RandomAPI with range methods. 2016-06-27 16:39:30 -06:00
James Yonan
13abf1cf5c random : in MTRand, add clarifying comment on why gen_seed()
(and hence default constructor) is suboptimal.
2016-06-27 16:38:19 -06:00
James Yonan
e2662883ab Added MTRand, a random number generator based
on std::mt19937_64 but that exports the RandomAPI
interface.
2016-01-18 15:33:36 -07:00
James Yonan
3e4078c9a1 In RandomIntBase (mtrand.hpp), added operator()() to return
a reference to underlying std::mt19937 object.
2015-09-02 03:18:42 -07:00
James Yonan
f7edf3c5e1 In devurand.hpp, added leading "::" to global libc methods
open() and read().
2015-09-02 03:17:17 -07:00
James Yonan
23d55e6f5c Boost dependency elimination -- forgot to remove boost
reference in comment from openvpn/random/mtrand.hpp.
2015-06-05 00:46:30 -06:00
James Yonan
a00ed28204 Boost dependency elimination -- renamed boostrand.hpp to
mtrand.hpp and use std::random_device and std::mt19937.
2015-06-04 20:29:02 -06:00
James Yonan
b75c780cab Renamed boost::intrusive_ptr<T> usage to RCPtr<T>. 2015-05-17 21:26:53 -06:00
James Yonan
35ac9f6229 Renamed types.hpp to size.hpp since it now only defines
size_t and ssize_t.
2015-05-17 13:27:34 -06:00
James Yonan
592f6aeee1 Don't need to open /dev/urandom in read/write mode.
Read mode alone should suffice.
2015-04-15 22:12:37 -06:00
James Yonan
84e4b8878f Minor simplification to rand_type<> method to use the existing
RandomAPI::rand_fill method.
2015-02-03 17:33:09 -07:00
James Yonan
e4b8aa6b80 Added class DevURand, conforming to RandomAPI base,
that grabs entropy directly from /dev/urandom.
2015-01-24 20:09:17 -07:00
James Yonan
730f3d8718 In class RandomIntBase in boostrand.hpp, added rand()
method that simply returns raw random value.
2015-01-08 15:18:16 -07:00
James Yonan
c2c7292a70 Updated copyright to 2015. 2015-01-06 12:56:21 -07:00
James Yonan
6e6326905d In RandomAPI, add an implemented rand_fill() method. 2014-10-22 11:28:24 -06:00
James Yonan
27cc272bf7 DigestFactory now supports HMAC.
NTLM proxy auth methods now use DigestFactory
for their digest/HMAC needs.

HTTPProxyTransport is no longer a class template.
2014-10-22 09:52:36 -06:00
James Yonan
5102cff6f1 Added polymorphic classes for message digest algorithms.
Converted PRNG from static to dynamic polymorphism.
Did not fix PRNG users yet.
2014-10-19 19:14:56 -06:00
James Yonan
8b71fa9800 Converted RAND_API from static to dynamic polymorphism
(using RandomAPI as base class).
2014-10-15 12:53:18 -06:00
James Yonan
d091ef6afc Support TransportMap seed randomization. This is to prevent
an attacker from using knowledge about the hash table
bucket hashing function to maliciously attempt to create
unbalanced hash buckets, which in turn could lead to DoS.
2014-08-19 16:46:56 -06:00
James Yonan
2c6d972ad6 Added AGPL copyright/licensing language. 2014-07-20 21:22:06 -06:00
James Yonan
de0da474ef Revamp remote-list handling so that DNS names that resolve to
multiple addresses will be treated as if each address was an
individual remote directive.

Fixed issue where UDP transport driver was calling socket
connect method synchronously.  This can cause exceptions
to be thrown in corner cases, such as "No route to host"
on OSX/iOS for connections to IPv6 addresses when no default
IPv6 route exists on system.  Refactoring UDP connect
operation to be asychronous fixes the issue.

Implemented remote-random.
2013-03-12 19:20:37 +00:00
James Yonan
4d9a751af2 Added head comments to all source files.
Minor reorganization of unicode code.
2012-11-23 06:18:43 +00:00
James Yonan
a6b6d487ef Global edit to add copyright notice at head of each source file. 2012-08-24 21:13:42 +00:00
James Yonan
34dc950815 Core refactor to abstract random and crypto APIs using
static polymorphism.  Only OpenSSL crypto API is
presently implemented.  Still need to implement Apple
and PolarSSL.
2012-03-12 12:24:40 +00:00
James Yonan
74503a4efa Started PolarSSL port. Initially just add RNG support.
Because PolarSSL RNG requires state object, add state
objects for all other RNG providers (OpenSSL, Apple SSL)
to maintain a polymorphic model.
2012-03-11 12:09:25 +00:00
James Yonan
f3e9239d80 Full-protocol unit test using ProtoContext, w/o soft resets.
Test in test/ssl/proto.cpp.
2011-12-11 08:28:55 +00:00
James Yonan
671df2bb14 Reorganized files so that all code that references OpenSSL
is either under openvpn/openssl (implementation) or
openvpn/gencrypto (generic crypto selector).

Reorganized applecrypto with evp files under crypto so
that we can eventually build out applecrypto as a full
crypto/ssl replacement for OpenSSL.
2011-11-23 06:08:26 +00:00
James Yonan
d05decf3a9 Added OpenSSL-like EVP API (for digests only) and random
API using Apple CommonCrypto and Security/SecRandom APIs
as backend.
2011-11-21 22:39:33 +00:00
James Yonan
7dd61393ab Move crypto random number headers out of openvpn/openssl
into openvpn/random.  Also move boostrand.hpp into
openvpn/random.
2011-11-21 06:11:06 +00:00