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

40 Commits

Author SHA1 Message Date
James Yonan
170fc59508 Refer to abort() as std::abort(). 2014-08-18 02:55:30 -06:00
James Yonan
87901bb9ad Added BufferType::append method. 2014-08-11 18:00:16 -06:00
James Yonan
421eb5bfd5 Added class BufferStream to allow ostream output using << to
Buffer objects.
2014-08-10 20:21:21 -06:00
James Yonan
e99f838467 In HTTP Proxy module (openvpn/transport/client/httpcli.hpp),
generalized ProxyResponseLimit and refactored out into BufferLimit
2014-08-10 19:10:27 -06:00
James Yonan
41f05b6e25 Created a new source file openvpn/buffer/bufstr.hpp for
Buffer conversions to/from std::string.

Moved the existing Buffer::to_string method into bufstr.hpp
as buf_to_string.
2014-08-10 17:11:31 -06:00
James Yonan
564dcdc2cf Added C++11 move construction/assignment to CF::Wrap,
BufferAllocatedType, ScopedPtr, and ScopedFD.
2014-08-10 16:53:39 -06:00
James Yonan
2c6d972ad6 Added AGPL copyright/licensing language. 2014-07-20 21:22:06 -06:00
James Yonan
1481327d72 OpenVPN 1.0.2 build 98 (iOS)
Ported iOS client and OpenVPN 3 core to ARM-64.
Now building a "fat binary" with Xcode 5.0.1 that
targets arm7, arm7s, and arm64.

Outstanding issues:

* IPv6 doesn't route through tunnel on iOS7
* Client doesn't install on iOS 5.1.1.
2013-11-11 12:33:35 -07: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
0d16acd0bb Minor exception code cleanup. 2012-11-14 16:41:33 +00:00
James Yonan
5a5a18942a Added parser size validation constants in
openvpn/client/cliconstants.hpp
2012-11-12 01:52:03 +00:00
James Yonan
1c7f9e2577 Completed HTTP proxy backend implementation
in new client core:

* Added NTLMv2 authentication
2012-10-28 10:07:32 +00:00
James Yonan
3ca3a857bd Initial HTTP proxy implementation in core, with support for
non-authenticated proxies and Basic Auth.

Includes new PROXY_ERROR and PROXY_NEED_CREDS events.

Still to do: Digest and NTLM auth.
2012-10-24 06:38:20 +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
f91339e739 First working iOS build. 2012-07-01 15:37:46 +00:00
James Yonan
b31a80da6b Added compression methods LZO, LZ4, and Snappy.
Note that only LZO has been tested yet.
2012-01-31 11:15:21 +00:00
James Yonan
d9e8a028c8 Ported core to Windows except for TAP driver support. 2012-01-25 08:32:27 +00:00
James Yonan
29bc40bf09 Added TCP transport support.
Disable retransmission of control channel packets
when running in TCP mode.
2012-01-20 23:13:48 +00:00
James Yonan
990231b226 First successful negotiation with AS.
Still need to parse and apply PUSH_REPLY options.
2011-12-16 10:02:15 +00:00
James Yonan
3bcc32f696 Implemented auth methods in ProtoContext. 2011-12-14 16:20:07 +00:00
James Yonan
1aa65c259b Implemented soft reset in proto.hpp. 2011-12-13 04:46:56 +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
ee46876142 Added HMAC and Packet ID integrity checks to reliable/SSL test. 2011-12-05 06:11:51 +00:00
James Yonan
e4902ec958 Minor changes. 2011-12-04 06:05:34 +00:00
James Yonan
d21c7de80c Coded hmac2 methods, for dealing with HMAC operations where HMAC
signature exists within data range being signed.

In ProtoStack, add raw_write method sending raw packets
that will NOT be encrypted via SSL, but will still be
encapsulated and tracked via reliability layer.

Other misc changes.
2011-12-04 01:34:32 +00:00
James Yonan
3c57bf9b05 ProtoStack with Apple SSL client and OpenSSL server
successfully tested by test/reliable/ssl.cpp.
2011-12-02 22:00:56 +00:00
James Yonan
67304fc671 Initial implementation of class ProtoStackBase.
Compiles, but not yet tested.
2011-11-30 19:47:30 +00:00
James Yonan
3903704788 Frame class changes:
* Take into account the actual alignment of the underlying
  buffer pointer.

* Added standardize_capacity method to set the capacity of
  a group of Context objects to the highest capacity of any
  one of the members.
2011-11-26 07:30:27 +00:00
James Yonan
e56f1c6b11 Added OpenSSLContext data transfer test. 2011-11-24 10:47:11 +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
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
11be943cbb Added MessageWindow class and test. 2011-10-10 07:27:20 +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
f25c9b37ef Added SimpleArray class template.
Misc cleanup.
2011-09-29 06:35:23 +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