Commit Graph

110 Commits

Author SHA1 Message Date
akwizgran
36d15358a1 Don't connect to Tor if it's already running.
Fixes #572, #578.
2016-08-05 13:59:25 +01:00
akwizgran
86f409d0bf Don't send dev reports until transport is enabled. 2016-05-06 12:14:47 +01:00
akwizgran
e36d1c8954 Fixed possible NPE from uninitialised control connection. 2016-05-06 12:14:47 +01:00
akwizgran
2ecccc66d1 Ensure that Plugin instances aren't reused. 2016-05-06 12:14:38 +01:00
akwizgran
1ae98ef2b5 Reduced polling intervals to improve connectivity. 2016-05-06 12:09:30 +01:00
akwizgran
e5547a5a12 Removed extra logging for Tor connection failures. 2016-05-06 12:09:30 +01:00
akwizgran
fbb3c0f9f2 Use exponential backoff for Tor polling. #314 2016-05-06 12:09:25 +01:00
str4d
84cdbb877d Use control port to create and set up the Tor hidden service 2016-05-06 12:03:39 +01:00
akwizgran
400a11e3b0 Renamed circuit status method. 2016-05-03 15:41:59 +01:00
akwizgran
a0f22ec3d1 Refactored connection status variables into inner class. 2016-05-03 11:55:49 +01:00
akwizgran
f58ee13244 Reset connection status when enabling network. 2016-05-03 11:53:27 +01:00
akwizgran
63d849b684 Hold partial wake lock to keep Tor connections alive. 2016-05-03 11:53:23 +01:00
akwizgran
c35cad9719 Fixed name of Tor mobile data setting. #316 2016-05-03 11:43:25 +01:00
str4d
c44b6a4095 Implement encrypted feedback 2016-04-28 16:44:01 +12:00
str4d
f73f0aa4ab Migrate crash reports to ACRA 2016-04-27 22:22:16 +12:00
str4d
d545aaa892 Encrypt and save crash reports, send them the next time TorPlugin start
Will currently fail at runtime; requires a public key and a server onion.
2016-04-20 23:42:46 +00:00
akwizgran
2b19e4c8db Close transport connection if tag isn't recognised. #281 2016-04-05 11:37:38 +01:00
akwizgran
db6c813522 Merge branch '117-qr-contacts' into 'master'
BQP with QR codes

This MR implements BQP for key agreement over short-range transports. It also implements the Android UI for using BQP with QR codes.

Closes #117.

See merge request !84
2016-03-31 11:21:02 +00:00
akwizgran
9714713d73 Add transports to DB during startup. #269 2016-03-28 13:47:23 +01:00
akwizgran
0417639410 Merge duplex and simplex plugin config classes. 2016-03-28 11:28:46 +01:00
str4d
d2d8d9d46e Implement BQP transport descriptors 2016-03-26 15:52:58 +13:00
Ernir Erlingsson
85c66417b5 branch cleanup 2016-03-14 21:02:51 +01:00
Ernir Erlingsson
4da63b3800 Modified the project structure, removed module extension and went instead for a non-complete core dependency graph 2016-03-14 21:02:51 +01:00
Ernir Erlingsson
7670bc48ea Removed unecessary module 2016-03-14 21:02:51 +01:00
Ernir Erlingsson
6f233070fe Semi-encapsulated the core/api dependency graphs and created a proper structure to load eager singletons 2016-03-14 21:02:51 +01:00
Ernir Erlingsson
1be400eb84 Switched Roboguice/Guice out for Dagger 2 2016-03-14 21:01:21 +01:00
akwizgran
e458853f34 Extra logging to track down Tor connection problems. 2016-03-11 15:21:26 +00:00
akwizgran
fe9c3adc64 Raise interrupt flag when catching InterruptedException. 2016-03-07 12:17:00 +00:00
akwizgran
0ac67239e3 Fixed race condition when closing redundant sockets.
When more than one invitation socket is opened, Alice should pick which one to use and Bob should use whichever one Alice picks. This fixes a race condition where each party picked a different socket and closed the other.
2016-03-07 11:50:47 +00:00
akwizgran
d8079b1841 Fixed race condition in descriptor publication.
If two contacts publish their descriptors simultaneously, they may both stop polling without retrieving each other's descriptors. Continue polling for 2 intervals after publishing the descriptor.
2016-02-25 10:10:57 +00:00
akwizgran
066285b86a New polling logic for Tor. #250
Poll for outgoing connections each time the network is enabled, then disable polling once our hidden service descriptor has been published.
2016-02-25 10:10:57 +00:00
akwizgran
fee4beae63 Merge branch '252-lan-polling' into 'master'
New polling logic for LAN. #252

Same approach as !104. Modified the poller to cancel any scheduled poll when pollNow() is called and randomise the next polling interval so plugins that call pollNow() at the same time don't end up polling in sync.

Depends on !104. Fixes #252.

See merge request !105
2016-02-24 20:11:54 +00:00
akwizgran
d829d4711b Merge branch '251-bluetooth-polling' into 'master'
New polling logic for Bluetooth. #251

Increase the polling interval exponentially each time polling is unsuccessful, up to a maximum of 60 minutes. The interval is reset to 2 minutes whenever a connection is made and whenever Bluetooth is re-enabled.

This should reduce battery usage when there are no contacts nearby.

Fixes #251.

See merge request !104
2016-02-24 20:08:05 +00:00
akwizgran
000936b7a2 Return the empty string instead of the fake address. 2016-02-24 20:03:04 +00:00
akwizgran
9789c0ff52 Try to use the real Bluetooth address on Android 6. #225 2016-02-23 11:53:54 +00:00
akwizgran
5ce8927477 New polling logic for LAN (and WAN). #252
Same exponential backoff approach as Bluetooth.
2016-02-22 13:25:07 +00:00
akwizgran
c081c08ff5 New polling logic for Bluetooth. #251
The polling interval increases exponentially each time polling is unsuccessful, up to a maximum of 60 minutes. The interval is reset to 2 minutes whenever a connection is made and whenever Bluetooth is re-enabled.
2016-02-22 13:21:05 +00:00
akwizgran
18db17bf5b Moved subscription updates to the client layer. 2016-02-10 10:47:30 +00:00
akwizgran
bdc17dfc8e Fixed a couple of bugs in settings. 2016-02-05 18:22:37 +00:00
akwizgran
88475bdd54 Transport properties client. #229 2016-01-27 12:51:55 +00:00
Torsten Grote
d33dbca25a Merge branch '228-jsocks' into 'master'
Replaced broken jsocks jar. #228

Fixes #228 and may also fix #217. @str4d and @grote, please test and confirm.

See merge request !72
2016-01-21 13:49:37 +00:00
akwizgran
3b510e768a Replaced broken jsocks jar. #228 2016-01-21 11:28:54 +00:00
akwizgran
124a4380d3 Don't disable Bluetooth unless we enabled it. #226 2016-01-20 16:55:01 +00:00
akwizgran
5355951466 Separate the sync layer from its clients. #112 2016-01-20 10:35:09 +00:00
Santiago Torres
190bb12964 ENH: Replaces transport config with namespaced settings 2016-01-20 00:57:16 -05:00
Torsten Grote
872d10e2b0 Removed upstream jar files from all modules except briar-desktop 2016-01-15 12:10:28 -02:00
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