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

4085 Commits

Author SHA1 Message Date
James Yonan
0d293533f5 Added OpenSSL-like HMAC API using Apple
CommonCrypto as backend.
2011-11-22 03:01:28 +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
f585910019 Basic scripting changes for building on Mac OS X. 2011-11-21 06:58:55 +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
James Yonan
6fcd683d46 Added align_block parameter to Frame::Context, since align_block isn't
necessarily going to always be sizeof(size_t).  In some cases, we might
want it to be the cipher block size.
2011-11-21 05:45:29 +00:00
James Yonan
b45e9c2e15 Started on ProtoContext object (master OpenVPN protocol
context object).

Implemented TLS PRF functions.
2011-11-21 04:58:54 +00:00
James Yonan
673c214da4 time::now needs to be volatile. 2011-11-09 15:26:40 +00:00
James Yonan
f09b9ae12a Added reltest.cpp for testing ReliableRecv and ReliableSend
objects by simulating an unreliable packet stream.

Modified packet_id code so that current time (now) is passed
via function calls rather than accessed as a global.

Added integer random number support via boost::random.
2011-11-09 05:52:52 +00:00
James Yonan
52c42fb5d2 Moved time source files to openvpn/time.
Added search/replace tool smod.
2011-11-05 17:02:16 +00:00
James Yonan
b1b313ec28 Implemented new time system based on Time and Time::Duration,
with Asio integration using boost::asio::time_traits<openvpn::Time>.

Started reliable receive class (ReliableRecv).
2011-11-01 13:00:49 +00:00
James Yonan
1fcf65fbda Started PKI tree for wrapping OpenSSL PKI objects.
Started SSL Context class.

Implemented dgram & stream buffer queues that can operate as
OpenSSL BIOs.

Reworked Frame class to make it more flexible.
2011-10-25 17:32:26 +00:00
James Yonan
e5b9f303bc Developed openvpn::time abstraction. 2011-10-16 07:51:07 +00:00
James Yonan
11be943cbb Added MessageWindow class and test. 2011-10-10 07:27:20 +00:00
James Yonan
ab4c6ee28e Added NowUpdater class to update "now" variable once per second.
Currently being used in static key tunnel (st.cpp).
2011-10-08 06:20:49 +00:00
James Yonan
918caca206 First working static key implementation.
Tested interoperability with OpenVPN in static key mode.
2011-10-07 05:47:49 +00:00
James Yonan
422cd204af Added CryptoContext wrapper struct for Encrypt and Decrypt objects.
Modified build scripts to use -fwhole-program.

Added read_text function to read a text file into a string.
2011-10-06 17:22:37 +00:00
James Yonan
8a942b6d19 Pass Frame object around to other objects via a boost::shared_ptr. 2011-10-06 05:54:30 +00:00
James Yonan
32d9456035 Modified cleartun to use new Frame abstraction. 2011-10-06 05:19:28 +00:00
James Yonan
e3422bd755 Encrypt and Decrypt classes implemented for OpenVPN data channel protocol. 2011-10-06 00:18:46 +00:00
James Yonan
4453f890a0 Added Cipher and HMAC classes. 2011-10-04 05:34:04 +00:00
James Yonan
bcd127a7ce Implemented buffer write/read/prepend. 2011-10-03 04:10:01 +00:00
James Yonan
7822e9e298 Make Buffer/BufferAllocated into BufferType/BufferAllocatedType
templates.

Obsolete SimpleArray (all SimpleArray functionality is now
supported by BufferAllocatedType).
2011-10-02 18:55:55 +00:00
James Yonan
23aaf02d71 Use class-private static const strings in OpenVPNStaticKey. 2011-10-01 02:22:52 +00:00
James Yonan
f2423aad9d Misc fixes:
* Changes to make library more properly "header only".
* Make Allocator argument to SimpleArray a template parameter.
2011-09-30 23:20:30 +00:00
James Yonan
bba84f1692 Minor fix. 2011-09-30 16:47:28 +00:00
James Yonan
e4f9d20a0f Added OpenVPN Static Key parser/renderer. 2011-09-30 15:25:38 +00:00
James Yonan
45cd55cb4d Added allocators to SimpleArray to allow for a secure
allocator that zeros data before deallocation.
2011-09-30 01:01:01 +00:00
James Yonan
4d66859513 Added PRNG. 2011-09-29 22:42:37 +00:00
James Yonan
f25c9b37ef Added SimpleArray class template.
Misc cleanup.
2011-09-29 06:35:23 +00:00
James Yonan
931a4b1a07 In Cleartun, revert to single-threaded mode only regardless of whether
Boost/Asio built in single-threaded mode.  This is done due to the
revelation that Asio socket objects are not thread-safe.

Break out IOStats into two classes:

* IOStatsSingleThread
* IOStatsMultiThread
2011-09-29 03:01:36 +00:00
James Yonan
ff23d78fa9 Implemented OpenVPN Packet ID code. 2011-09-28 23:12:37 +00:00
James Yonan
fed617b613 Added cleartun optimizations:
* reuse buffer for next queue
* do 8 async_read_somes in parallel
* use hand-rolled function object instead of boost::bind
2011-09-26 21:02:13 +00:00
James Yonan
c90ba6937d Added cleartun benchmark to demonstrate cleartext
tun-based VPN implemented in C++/Asio/Boost.

See test/cleartun/notes.txt.
2011-09-24 22:51:28 +00:00
James Yonan
f11af8460f Commit of misc C/C++ code:
* test/cascli -- call AS client API from C++ by embedding python
* test/embed -- misc test code for embedding python
* test/dtls -- DTLS proof-of-concept code
* test/tunflood -- test boost::asio wrapper around linux tun/tap device
2010-09-23 09:01:19 +00:00
James Yonan
24a4eb3267 Initial checkin for OpenVPN 3 rewrite.
This very basic proof-of-concept implements a
boost::asio wrapper around the linux tun/tap device.
2010-09-13 08:52:18 +00:00