34 Commits

Author SHA1 Message Date
David Sommerseth
8c94a8f774 copyright: Update to 2022
Signed-off-by: David Sommerseth <davids@openvpn.net>
2022-09-29 12:00:26 +02:00
David Sommerseth
3fbe0a2701 Update copyrights
Signed-off-by: David Sommerseth <davids@openvpn.net>
2020-03-18 19:37:32 +01:00
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
b2cd82a5bf copyright: updated to 2017.
Signed-off-by: James Yonan <james@openvpn.net>
2017-03-18 13:11:09 -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
cc2466e08f ovpn3 java client : minor updates to handle new metric
parameter that is passed to tun_builder_(add|exclude)_route.
2016-05-07 15:17:54 -06:00
James Yonan
c2c7292a70 Updated copyright to 2015. 2015-01-06 12:56:21 -07:00
James Yonan
55d6eff7ef Added AGPL copyrights to some misc source files. 2014-08-25 01:02:40 -06:00
James Yonan
3be8d66d0b Added disconnect bool to TunBuilderBase::tun_builder_teardown:
+    // Indicates that tunnel is being torn down.
+    // If disconnect == true, then the teardown is occurring
+    // prior to final disconnect.
+    virtual void tun_builder_teardown(bool disconnect) {}
2014-08-24 23:09:16 -06:00
James Yonan
fbf3f82ee0 Removed the first two parameters from tun_builder_reroute_gw
(const std::string& server_address and bool server_address_ipv6)
because they are redundant.  The same info is passed via
tun_builder_set_remote_address.
2014-02-27 21:51:28 -07:00
James Yonan
7539c4e0d1 Added gateway parameter to tun_builder_add_address for Windows and other
platforms that lack a VPN API.
2014-02-15 23:34:33 -07:00
James Yonan
2e1871a062 Added net30 boolean to TunBuilderBase::tun_builder_add_address for the
benefit of Windows.
2014-02-09 18:51:25 -07:00
James Yonan
d24d0b4aef On iOS with a split-tunnel, and at least one pushed DNS server:
1. route all DNS requests through pushed DNS server if no added
   search domains.

2. route selected DNS requests through pushed DNS server if at
   least one added search domain.

On Android, apparently there is no selective DNS routing, so all
DNS requests will be routed through pushed DNS server, if at least
one exists.

With redirect-gateway on both platforms, all DNS requests are always
routed through the VPN.
2013-01-26 06:53:31 +00:00
James Yonan
6c0be1e1c0 iOS: 1.0.1 build 55
Android: 1.1.9 build 31

* Reverted key-direction back to a default of 1.

* Raise fatal error if "fragment" option is used.

* Made TunBuilderCapture more useful as a base class for
  tun construction on various platforms.

* Added disableClientCert flag at ovpncli.hpp API.

* Updated help FAQ with more details on how to
  properly set key-direction, and notes about
  possible network disconnect during voice calls.
2013-01-24 13:34:17 +00:00
James Yonan
a79f88aebd Android:
* Implement a simple DNS cache to work around issue with
  Seamless Tunnel --  When Seamless Tunnel is enabled,
  reconnections are unable to send DNS requests because
  the internet is blocked.  This fix caches the IP address
  used for the initial connection, then reuses it
  over the lifetime of the Seamless Tunnel.

* Try to ensure that connections properly pause on device
  sleep (when sleep on screen blanking is NOT enabled) so
  that they will survive until wakeup.

iOS:

* Don't choke on foreign profiles (such as VPN On Demand) that are
  imported onto the device but lack critical info such as a
  config file.
2012-10-23 13:10:39 +00:00
James Yonan
42d4dda791 This is a general pre-release fine-tuning of both Android and iOS clients.
Versioning:
  iOS -- 1.0 Beta 23
  Android -- 1.1.0 (build 6)

Both clients:

* Bundled IPv6 test profile as provided by Gert Doering.
  Modified iOS beta testing notes with info on this profile.

* Fixed issue where profile import might fail if profile
  filename ended in .OVPN (i.e. all-caps extension).

Android client:

* General UI cleanup:
  1. Added status icon,
  2. eliminated long "Connected" line that wrapped badly on
     phone-sized devices,
  3. reorganized connection details,
  4. include all stats that are provided by the core,
     including "last packet received n seconds ago".

* Fixed issue where importing profiles via web browser would not
  ultimately land on the OpenVPN main page after import completion.

* Added profile rename (select via long-touch on profile name).

* Added "Auto Keyboard" preference similar to iOS.

* Turn on full compression by default (can be modified via
  a preference), just as it is for iOS.

* Disable spell-checker on all input fields.

* Wait a maximum of 5 seconds (formerly 3) after Disconnect button
  press before abandoning core thread.

* Added versionName and versionCode to AndroidManifest.xml for
  Google play submission.

* Revamped OpenVPNService event model for profile management events,
  to fix some corner-case issues.

Android API changes:

This release includes some minor changes to the OpenVPN Service API:

1. Added enable_trust_error_dialog boolean parameter to
   OpenVPNClientBase.importProfileRemote.  This should be set to false
   for Private Tunnel client.

2. Changed the way that profile import events signal back to the UI
   layer.  OpenVPNClientBase.get_priority_profile_name has been
   removed, and profile signaling events are now performed completely
   via the standard event stream.
2012-10-10 11:04:34 +00:00
James Yonan
4445ba1e76 OpenVPN 1.0 Beta 21 (iOS)
Implemented IPv6 in iOS client.

Added new flags to redirect-gateway to control whether redirection
occurs at IPv4 or IPv6 levels (or both):

* ipv4 (default)
* !ipv4
* ipv6
* !ipv6

Added new directive "redirect-dns yes|no".  If yes, all DNS requests
will be forwarded through pushed DNS servers.  If no, only DNS
requests that match domains enumerated in "dhcp-option DOMAIN"
directives will be forwarded.  If redirect-dns is omitted, it will
default to yes if redirect-gateway is specified at the IPv4 level
(this is the normal pre-existing behavior).

Allow the following aggregated options that are normally pushed by
the server to be defined in the config file as well.  These options
will be combined with server-pushed options:

* route
* route-ipv6
* redirect-gateway
* redirect-private
* dhcp-option

Allow the following singleton options (i.e. options that don't
aggregate), that are normally pushed, to be defined in the config
file (note that server-pushed singleton options will override the
config file setting):

* redirect-dns

The Connection Details section of the UI now displays VPN IP
addresses for IPv4 and IPv6.

Added new pushable option "client-ip IP_ADDR" that can be pushed
by the server with the client's IP address as seen by the server.
The client will then show the address in the Connection Details
section of the UI.
2012-10-03 09:03:02 +00:00
James Yonan
2db1ead53f Updated Android client to build with latest core. 2012-08-25 05:05:35 +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
6fb53c3abb Fixed a race condition issue with "hot connect", i.e. sending a
connect intent to service when already connected.  

One of the ramifications of the "hot connect" fix above is that
OpenVPNClientBase.is_active() will now return a value that is
instantaneously up-to-date, whereas events might lag because
of the mechanics of inter-thread message posting.  Keep this in
mind when correlating received events to is_active() values.

For C++ core threads, increased allowed thread-stop delay to 2.5
seconds before thread is marked as unresponsive and abandoned.
Previous delay was 1 second.  This delay can't be made too long,
otherwise Android will tell the user that the app is unresponsive
and invite them to kill it.

When closing out an abandoned core thread, indicate this condition
with a new event type called CORE_THREAD_ABANDONED.  If the thread
is abandoned due to lack of response to a disconnect request, then
the CORE_THREAD_ABANDONED event will occur followed by
CORE_THREAD_INACTIVE.  For core threads that properly exit,
the DISCONNECTED event will be followed by CORE_THREAD_INACTIVE.

Added save_as_filename parameter to importProfileRemote method for
controlling the filename that the imported profile is saved as.
This parameter may be set to null to have the method choose an
appropriate name.  To have an imported profile replace an existing
profile, the filenames much match.

Added UI_OVERLOADED debugging constant to OpenVPNClient to allow
the UI to connect to a profile when already connected to another
profile in order to test "hot connect".

Added new events CLIENT_HALT and CLIENT_RESTART for compatibility
with an Access Server feature that allows the server to remotely
kill or restart the client.

When connecting a profile, the core will now automatically fill in
the username if it is not specified for userlocked profiles.

Version 0.902.
2012-03-31 16:08:20 +00:00
James Yonan
31fd2f7437 Fix some breakage between Android and JDK clients. 2012-03-08 10:50:26 +00:00
James Yonan
b13a527308 Android 4:
* Implemented connection timeout.
* Implemented show raw stats page.
* Work around issue where sometimes core doesn't stop when
  stop() method is called, because of delays in canceling
  Asio DNS resolution thread.
2012-03-07 11:21:09 +00:00
James Yonan
deffceea7e Android 4 -- Implemented External PKI. 2012-03-06 06:06:54 +00:00
James Yonan
82d4a24489 Android 4 UI work:
* Multi-profile support.
* UI now only shows required fields for each profile.
* Added support for server field.
* Added support for static challenge/response.
* Persist profile/server settings to preferences store.
2012-03-01 08:11:00 +00:00
James Yonan
c1970047d7 Android UI enhancements. 2012-02-24 19:50:14 +00:00
James Yonan
3f30ffc74f Added additional files missing from previous commit. 2012-02-19 17:43:42 +00:00
James Yonan
540c58e5d8 Android client successfully tested with null tun/tap. 2012-02-16 20:46:38 +00:00
James Yonan
db2a195dff In OpenVPNClientThread, make wait_thread() void, and get status
instead from connect_status().
2012-02-15 19:39:51 +00:00
James Yonan
17ba45b487 Allow OpenVPNClientThread.wait_thread() to be called repeatedly
without issue.
2012-02-15 19:07:33 +00:00
James Yonan
bc02566ed9 Split OpenVPNClientThread.connect() into two methods: (1) connect()
establishes the client connection thread, and (2) wait_thread()
waits for client connection thread completion.
2012-02-15 18:59:24 +00:00
James Yonan
7573a2dea6 Added AuthFailed as an event type. 2012-02-15 18:19:34 +00:00
James Yonan
736dc3a0b8 Additional minor refactoring. 2012-02-15 15:13:35 +00:00