1576 Commits

Author SHA1 Message Date
akwizgran
73d4f39726 Bumped expiry date to 1 February 2015. 2015-01-14 16:04:01 +00:00
Abraham Kiggundu
fcb983a651 Bug#49
https://sourceforge.net/p/briar/bugs/49/
Fixed by ensuring that the generated contact and group intents are uniquely identified
2015-01-08 11:58:44 +03:00
Abraham Kiggundu
851151041e Pull-Merge of latest changes from main repo 2015-01-08 11:54:47 +03:00
Abraham Kiggundu
686d5fd206 bug#49 Fixed by ensuring that intents for different contacts/groups can be distinguished from each other when resolving PendingIntent refs 2015-01-08 00:37:10 +03:00
Abraham Kiggundu
2b9c469063 Merge branch 'improve-thread-encapsulation' into upstream 2015-01-06 07:15:11 +03:00
akwizgran
d3bf2d59a1 Use the same maximum frame length for all transports. 2015-01-05 16:24:44 +00:00
akwizgran
358166bc12 Don't try to erase secrets from memory.
1. The things we're really trying to protect - contact identities,
message contents, etc - can't be erased from memory because they're
encapsulated inside objects we don't control.

2. Long-term secrets can't be protected by erasing them from memory
because they're stored in the database and the database key has to be
held in memory whenever the app's running.

3. If the runtime uses a compacting garbage collector then we have no
way to ensure an object is erased from memory.

4. Trying to erase secrets from memory makes the code more complex.

Conclusion: Let's not try to protect secrets from an attacker who can
read arbitrary memory locations.
2014-12-29 21:08:27 +00:00
Abraham Kiggundu
9a2e93ebb9 cleanup 2014-12-26 17:35:37 +03:00
Abraham Kiggundu
b074978472 Improved encapsulation of thread synchronisation as follows
- replaced use of Object instance mutex with a private final Lock object
- replaced Object signaling with specific condition signalling
2014-12-26 16:40:46 +03: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
3a70aa7653 Removed unused code from AndroidLocationUtils.
It's in the git history if we ever decide to use it.
2014-12-05 19:23:47 +00:00
akwizgran
6cc864db2c Bumped expiry date to 1 January 2015. 2014-12-05 13:32:59 +00:00
akwizgran
0d12e39107 Bumped expiry date to 1 January 2015. 2014-12-05 10:28:51 +00:00
akwizgran
8046ff3793 Merge branch 'master' of git@code.briarproject.org:akwizgran/briar.git 2014-11-11 21:11:52 +00:00
akwizgran
5fec373689 Bumped expiry date to 14 November 2014. 2014-11-09 09:46:07 +00:00
akwizgran
4ca83842d1 Moved ConnectionDispatcher and ConnectionRegistry to plugins package. 2014-11-05 19:40:07 +00:00
akwizgran
1151c35d1c Bumped expiry date to 7 November 2014. 2014-11-04 16:53:13 +00:00
akwizgran
7b8181e309 Massive refactoring to merge handling of simplex and duplex connections. 2014-11-04 16:51:25 +00:00
akwizgran
f4a647f14a Update description of Bluetooth setting when setting is toggled. Bug #75. 2014-10-29 12:44:00 +00:00
akwizgran
b24f153704 Renamed a load of things from 'connection' to 'stream'. 2014-10-08 16:21:55 +01:00
akwizgran
58a2b725bf Bumped expiry date to 31 October 2014 and build target to android-20.
This should make it easier for people to build the project with a freshly
downloaded ADT Bundle.
2014-10-07 11:44:39 +01: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
cdb5a12156 Use the event bus to observe contacts connecting and disconnecting. 2014-10-03 10:04:02 +01:00
akwizgran
8b8df435a5 Separated event infrastructure from DB. 2014-10-03 09:44:54 +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
14c5b4e4ff Removed DatabaseUiExecutor as DatabaseExecutor is now single-threaded. 2014-07-04 15:16:55 +01:00
akwizgran
7d9ce4c973 Don't assume Tor has bootstrapped if it's already running. 2014-07-02 23:01:14 +01:00
akwizgran
4c9296d286 Merged all licensing info into a single file to avoid APK build problems. 2014-07-02 23:01:13 +01:00
akwizgran
b4e02a7196 Release Briar code (but not bundled libraries) under Apache 2 license. 2014-06-23 10:26:16 +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
458d52e7ea Bumped expiry date to 17 May 2014. 2014-05-09 20:13:31 +01:00
akwizgran
c8cc287fa1 Delete contacts. Dev task #85. 2014-05-09 20:08:20 +01:00
akwizgran
6b79cbfc55 No need to call getResources() for getString(). 2014-05-09 20:08:20 +01:00
akwizgran
d755668b4a Close soft keyboard in SetupActivity. 2014-05-09 19:09:13 +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
4dcf9f632e Show which contacts subscribe to each forum. Dev task #79. 2014-05-02 16:24:49 +01:00
akwizgran
e1d099903d Don't allow LifecycleManager to start and stop concurrently. Bug #68. 2014-05-02 15:16:53 +01:00
akwizgran
adf9adf1af More ringtones! Your wish is our command. 2014-05-02 14:09:18 +01:00
akwizgran
4917cf3bf6 Don't create a second GroupActivity after configuring group. 2014-05-02 10:12:06 +01:00
akwizgran
2165b26553 Added forum settings button to GroupActivity. 2014-05-02 10:04:46 +01:00
akwizgran
bf9a9033be Crash reports, which can be submitted by email for testing builds. 2014-05-01 17:47:59 +01:00
akwizgran
d8db5806ca Suppress lint warning: abstract Activity not registered in manifest. 2014-05-01 15:13:00 +01:00