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

17 Commits

Author SHA1 Message Date
James Yonan
e3388ff1ec On Mac, create a DNS watchdog thread to monitor for potential changes
to DNS settings by a foreign actor.  If changes are detected,
revert them.
2014-03-24 17:23:17 -06:00
James Yonan
611cf24a38 Misc improvements to Apple CF (Core Foundation) wrappers:
* More flexible type casting.
* Support C++11 move constructors.
* Added some additional dictionary and array methods.
* mutable_dict_copy now verifies that passed src dictionary
  is defined.
2014-02-27 18:09:03 -07:00
James Yonan
67e686df00 Resolved the issue where iOS plugin was not able to fully enumerate
the cert chain from Keychain Identities.

Note that this solution is still not ideal because the iOS keychain
appears unable to import a PKCS#12 file as a bundle.  It only
imports the leaf cert/key and ignores the rest.

So for this fix to be effective, each of the root and intermediate
certs in the PKCS#12 file must be manually extracted and separately
imported as .crt files.

MERGE from -r8632 https://svn.openvpn.net/projects/openvpn/cs/openvpn/ovpn3.ios101
2013-05-21 19:12:23 +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
065b83263c Initial Apple VPN-On-Demand implementation:
* VoD profiles can be defined using the iPhone Configuration utility:

  1. Connection Type should be set to Custom SSL
  2. Identifier should be set to net.openvpn.OpenVPN-Connect.vpnplugin
  3. Server can be set to a hostname, or "DEFAULT" to use the
     hostname(s) from the OpenVPN configuration.
  4. User Authentication should be set to Certificate, and the client
     certificate+key should be attached as a PKCS#12 file.
  5. VPN On Demand should be enabled and match entries should be
     defined.

  In addition, the OpenVPN client configuration file may be defined
  via key/value pairs:

  1. VoD requires an autologin profile.
  2. Define each OpenVPN directive as a key, with arguments
     specified as the value.
  3. For Access server meta-directives such as
     OVPN_ACCESS_SERVER_USERNAME, remove the "OVPN_ACCESS_SERVER_"
     prefix, giving USERNAME as the directive.
  4. If no arguments are present, use "NOARGS" as the value.
  5. If multiple instances of the same directive are present,
     number the directives in the order they should be processed by
     appending .<n> to the directive, where n is an integer,
     such as remote.1 or remote.2
  6. For multi-line directives such as <ca> and <tls-auth>, you must
     convert the multi-line argument to a single line by specifying
     line breaks as \n -- also note that because of
     this escaping model, you must use \\ to pass backslash itself.

* VoD profiles are recognized and listed by the app.

* The app can disconnect but not connect a VoD profile.

* Most app-level functionality such as logging and preferences
  work correctly for VoD profiles.

Core changes:

* Added support for key-direction parameter in core.
2012-11-06 17:50:30 +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
de7afc889a OpenVPN 1.0 Beta 9 (iOS)
Redid logging to use files rather than plugin -> app events.

When app becomes the active view after the plugin has exited with
an error, show the error status.
2012-08-18 20:46:19 +00:00
James Yonan
a4a1163b82 Added support for iOS simulator.
Modified Boost and PolarSSL build scripts to build debugging
versions of libraries.
2012-08-03 12:19:19 +00:00
James Yonan
7331ee349b Full iOS beta for OpenVPN Connect. 2012-08-01 12:28:13 +00:00
James Yonan
33e7670d90 Minor CF enhancements for iOS client.
Added Reachability::reachableVia method.
2012-07-28 12:42:25 +00:00
James Yonan
223ebe8f59 Added long long methods to cfhelper.
Fixed cppstring exception if passed a NULL CFStringRef.
2012-07-24 09:20:30 +00:00
James Yonan
f91339e739 First working iOS build. 2012-07-01 15:37:46 +00:00
James Yonan
40ada7a7db cli tool builds without errors for iOS (arm). 2012-05-22 19:18:41 +00:00
James Yonan
1531bb6f8f Implemented AppleCryptoAPI for Mac. 2012-03-15 12:13:16 +00:00
James Yonan
8425a7e8ad Minor CF changes.
osx/ssl.cpp now obtains the client side ca/cert/key
via the keychain rather than try to load it directly
from pkcs12 file.
2011-11-28 03:37:10 +00:00
James Yonan
532c79e46e Added test/osx/ssl.cpp, simulates an SSL connection between
an Apple-crypto-based client and an OpenSSL server.
2011-11-27 11:33:27 +00:00
James Yonan
fc0635e657 Read PKCS#12 file using Apple crypto. 2011-11-26 11:33:39 +00:00