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