akwizgran
c5282c5b17
Moved some API classes into packages.
2015-12-17 16:56:57 +00:00
Torsten Grote
2d28dcada2
Create two new events to signal enabling and disabling of transports
2015-12-17 11:34:10 -02:00
akwizgran
81c9992075
Code style: squashed.
2015-12-15 17:26:28 +00:00
Santiago Torres
403ab75d13
[plugins/tor/TorPlugin] Adds tor-over-wifi setting
...
Provides a checkbox in the settings view, as well as an event handler to
disable/enable the tor network if the device is not on using the wifi
connection.
Refactors network-enabling code to a separate function. This function
is ran after the network state changes, or the settings change and
will update the status accordingly.
2015-12-15 10:17:29 -05:00
akwizgran
e4ac6d3afd
Create hidden service in a subdirectory. #161
...
The permissions for the parent directory are too permissive (775) for Tor 0.2.7.5. The subdirectory is created with permissions 700.
2015-12-08 12:26:00 +00:00
akwizgran
79d9b4b6af
Raised minimum Android version to 2.3 (API 9). #23
2015-12-02 13:20:55 +00:00
akwizgran
027ae8340f
Whitespace-only code formatting changes.
2015-11-30 09:38:25 +00:00
akwizgran
6135bea2b4
Support Tor on Android x86 (thanks to n8fr8).
2015-04-16 08:02:57 +01:00
akwizgran
6e7578a0e0
Don't try to access Build.CPU_ABI2 on API version 7.
2015-04-07 19:11:59 +01:00
akwizgran
a1d2aaf10e
Use JDK 1.7, target Android 5.1.
2015-04-03 20:56:01 +01:00
akwizgran
10924709d0
Use PIE Tor binary on API version 16+.
2015-03-23 11:03:00 +00:00
akwizgran
c14697972a
Upgraded Tor to 0.2.5.10 with OpenSSL 1.0.2.
2015-01-30 19:23:36 +00:00
akwizgran
d3bf2d59a1
Use the same maximum frame length for all transports.
2015-01-05 16:24:44 +00:00
akwizgran
388b36b6be
Check periodically for retransmittable packets. Bug #46 .
2014-12-14 20:26:41 +00:00
akwizgran
29a6596ee3
Use the transport's idle timeout, not a hardcoded value.
2014-12-14 15:18:39 +00:00
akwizgran
d4fa656dbb
Application layer keepalives to detect dead TCP connections.
...
DuplexOutgoingSession flushes its output stream if it's idle for a
transport-defined interval, causing an empty frame to be sent. The TCP
and Tor plugins use a socket timeout equal to twice the idle interval to
detect dead connections.
See bugs #27 , #46 and #60 .
2014-12-13 12:00:40 +00:00
akwizgran
7b8181e309
Massive refactoring to merge handling of simplex and duplex connections.
2014-11-04 16:51:25 +00:00
akwizgran
9e5e2e2df2
Patched tor and jtorctl for improved hidden service performance.
...
Two changes have been made to Tor:
1. Set can_complete_circuit to false when the network is disabled, and
don't try to build introduction circuits while can_complete_circuit is
false. This avoids a situation where Tor tries to build introduction
circuits as soon as the network is re-enabled, all the circuits fail,
and then Tor waits 5 minutes before trying to build more.
2. Added a FORGETHS command to the control protocol which clears any
cached client state relating to a specified hidden service. This can be
used to flush state that's likely to be stale before trying to connect
to a hidden service with an unstable network connection.
Support for the FORGETHS command was also added to jtorctl.
2014-10-06 18:57:57 +01:00
akwizgran
e5620f8b05
Parts of our jtorctl patch have been merged upstream.
2014-10-03 13:29:12 +01:00
akwizgran
6a4ea49786
Merge branch 'simpler-threading'.
...
This merge reduces the number of thread pools.
2014-10-02 18:26:26 +01:00
akwizgran
941efb4bbe
Merged IncomingConnectionExecutor and PluginExecutor into IoExecutor.
...
We don't need two separate executors for long-running IO threads.
2014-10-02 18:02:53 +01:00
akwizgran
d406853f68
Shut down the Tor process without hacks.
...
Tor has a controller command, TAKEOWNERSHIP, and a configuration option,
__OwningControllerProcess, that work together to ensure Tor shuts down
when the controlling process dies and/or disconnects from the control
port. By using them we can avoid creating runaway Tor processes that
have to be killed with hacks.
2014-07-08 22:35:37 +01:00
akwizgran
7d9ce4c973
Don't assume Tor has bootstrapped if it's already running.
2014-07-02 23:01:14 +01:00
akwizgran
294a8853f2
Consider Tor to have started when it's bootstrapped and built a circuit.
2014-06-05 09:29:35 +01:00
akwizgran
586a0c468f
Fixed logging of Tor circuit paths, added more Tor logging.
2014-06-05 09:29:35 +01:00
akwizgran
5ea0cce2bf
Tell Tor to shut down when control socket is closed; more Tor logging.
...
Patched jtorctl to pass more information about circuit events to the
controller to help us debug connection problems.
2014-05-14 15:23:36 +01:00
akwizgran
eaff042601
Don't try to close server sockets twice.
...
This may have been the cause of bug #69 . Removed the wait-for-shutdown
code in DroidtoothPlugin that was added to attempt to avoid that bug.
2014-05-09 19:09:13 +01:00
akwizgran
c86525c1d4
Kill zombie Tor processes more reliably.
2014-05-09 19:09:13 +01:00
akwizgran
6745bbf9df
Skip a logging method if logging is disabled.
2014-04-05 20:24:58 +01:00
akwizgran
6a0e7f8add
Tor config was not being installed for fresh installs.
2014-04-05 20:12:20 +01:00
akwizgran
e3a8db6b7a
Minor refactoring of TorPlugin.
2014-04-05 00:00:58 +01:00
akwizgran
08b91d2483
Poll plugins when connectivity changes. Bug #66 .
...
This should enable us to connect to contacts faster at startup and
whenever a new means of connecting becomes available.
2014-04-04 22:06:36 +01:00
akwizgran
9f8d12e6c2
Extract latest Tor binary before starting Tor process. Dev task #81 .
2014-04-04 20:04:47 +01:00
akwizgran
a563fcc192
Better connectivity detection for the Tor plugin.
2014-04-04 20:04:47 +01:00
akwizgran
a4954408a8
Less verbose Tor logging: don't log when circuits are extended.
...
We can get all the information we need from the other status messages.
2014-04-02 17:46:06 +01:00
akwizgran
814167613c
Verbose logging of Tor connections, streams and circuits.
2014-03-13 09:37:30 +00:00
akwizgran
b270f0e8b1
Call Thread.currentThread().interrupt() when handling interruption.
2014-03-12 21:11:11 +00:00
akwizgran
b99a503f24
Removed unnecessary conditionals from logging statements.
...
Very important stuff.
2014-03-12 21:00:14 +00:00
akwizgran
304ba53807
Check whether to enable or disable Tor at each connectivity change.
2014-03-06 15:42:21 +00:00
akwizgran
0198e40719
Made coding style consistent with rest of project.
2014-03-06 13:16:20 +00:00
Ximin Luo
4330f4bee3
don't start tor if it's probably blocked
2014-03-05 22:20:36 +00:00
Ximin Luo
9697b351e9
add the ability for briar-android to get the current country.
...
- this will be useful later for e.g. auto-disabling Tor
2014-03-05 15:13:50 +00:00
akwizgran
511b470aa4
Less verbose logging for plugins.
2014-03-03 15:31:46 +00:00
akwizgran
a2d099ea17
Added debugging screen to alpha and beta builds. Dev task #73 .
2014-02-28 23:44:35 +00:00
akwizgran
3842a5c70d
Code cleanup.
2014-02-04 19:05:48 +00:00
akwizgran
822392f9e7
Use strings rather than hashes to identify transports. Dev task #64 .
2014-01-24 10:39:34 +00:00
akwizgran
6af3c54c28
Removed shouldFlush() from plugins, added missing PacketWriter method.
2014-01-15 17:10:25 +00:00
akwizgran
c779d7b95a
Inform Tor about network connectivity. Dev task #53 .
...
Note that some devices (I'm looking at you, Huawei U8110) misreport
connectivity by failing to set EXTRA_NO_CONNECTIVITY and returning true
from ConnectivityManager.getActiveNetworkInfo().isConnected() when
there's no connectivity.
2014-01-09 14:45:41 +00:00
akwizgran
832476412c
Changed the root package from net.sf.briar to org.briarproject.
2014-01-08 16:18:30 +00:00