akwizgran
a731b68e9f
Switched from CMAC to HMAC-SHA-384 in key derivation function.
2013-07-12 18:56:12 +01:00
akwizgran
2ee3869327
Switched to AESLightEngine to minimise cache timing side-channel leaks.
2013-07-12 18:54:50 +01:00
akwizgran
a2fffedc64
Erase temporary copies of keys.
2013-07-12 18:53:15 +01:00
akwizgran
e9859e9f38
The counter mode KDF was not correctly following NIST SP 800-108.
...
Fixes bug #25 . CMAC is used as the PRF. Note that we're currently using
a version of Spongy Castle with a CMAC implementation that's vulnerable
to a side-channel attack - this has been reported and fixed upstream but
we haven't yet upgraded to the fixed version.
2013-07-11 15:13:48 +01:00
akwizgran
d02266d827
Moved Android-specific plugin code into briar-android project.
...
This removes the other projects' dependency on the Android API.
2013-06-27 16:26:52 +01:00
akwizgran
473cec8735
Moved desktop-specific code into a separate project (other task #34 ).
2013-06-27 16:05:31 +01:00
akwizgran
26d25cdbba
Removed unused Silvertunnel patch.
2013-06-27 15:12:24 +01:00
akwizgran
7b3dd28e18
Updated the expiry date of the alpha build to 15 July 2013.
2013-06-27 15:06:20 +01:00
akwizgran
f2b25a5bf1
Wrong text was being shown in CreateGroupActivity. Fixes bug #22 .
2013-06-27 11:36:44 +01:00
akwizgran
1e6f6b2fa5
Give the Java 1.5 compiler more type information.
2013-06-19 16:54:15 +01:00
akwizgran
ed521fc028
Don't assume contacts will be returned in any particular order.
2013-06-19 16:53:38 +01:00
akwizgran
3e6d3e0b1f
Downgraded H2 to version 1.3.170 (last version that supports Java 1.5).
2013-06-19 16:10:26 +01:00
akwizgran
b2e7f9f3b6
Removed an unused method and an unused source jar.
2013-06-19 14:08:43 +01:00
akwizgran
3e0c16b59a
Removed all uses of JCE so we can use full-strength crypto on all JVMs.
2013-06-17 16:29:46 +01:00
akwizgran
8a039f0747
Updated the expiry date of the alpha build to 1 July 2013.
2013-06-17 12:41:17 +01:00
akwizgran
1808ceaf58
Replaced further JCE calls with direct instantiation of SC objects.
2013-06-14 12:22:32 +01:00
akwizgran
a979cab43a
Don't pass a null provider to the Cipher constructor.
2013-06-14 11:24:14 +01:00
akwizgran
155a231292
Replaced JCE provider calls with direct instantiation of Spongy Castle classes.
2013-06-14 10:57:48 +01:00
akwizgran
3054605a79
Set javac's target version to Java 1.5 in the ant buildfiles.
2013-06-13 18:38:54 +01:00
akwizgran
a4d3daaa3e
Removed a Java 1.6 API call.
2013-06-13 17:55:12 +01:00
akwizgran
e1ec17f4b6
Made the invitation protocol symmetrical.
...
Both devices try to make outgoing connections and accept incoming
connections simultaneously. This should lead to faster connection
establishment when there are asymmetrical connectivity problems, such as
devices that are unable to receive LAN multicast packets or make
themselves discoverable via Bluetooth.
2013-06-13 13:10:22 +01:00
akwizgran
bebaf4f84b
Reworked the Bluetooth invitation process to be symmetrical (untested).
2013-06-13 12:40:44 +01:00
akwizgran
a17349e015
Replaced redundant SocketReceiver classes with a generic class.
2013-06-13 12:40:19 +01:00
akwizgran
3833eac4e2
Made two private classes static.
2013-06-13 11:50:01 +01:00
akwizgran
4431e502f7
Symmetric invitation protocol for the Droidtooth plugin.
2013-06-06 15:17:35 +01:00
akwizgran
4170e8a08b
Symmetric invitation protocol for the LAN plugin.
...
See issue #development-tasks/20: some devices can send but not receive
multicast packets.
2013-06-06 15:17:11 +01:00
akwizgran
08b11412fb
Allow plugins to use different maximum frame lengths.
2013-06-05 14:16:44 +01:00
akwizgran
90c323e82b
Set H2's write delay to 0 and flush data to disk after every commit.
...
This should improve durability in the case of a crash (see
http://www.h2database.com/html/advanced.html#durability_problems ). The
performance penalty for H2DatabaseTest is roughly 10%.
2013-05-31 15:31:15 +01:00
akwizgran
cb2d8b50d2
Upgraded H2 to version 1.3.172.
2013-05-31 15:27:32 +01:00
akwizgran
77e778c58f
Hide the progress bar after loading if no conversations were loaded.
2013-05-31 14:33:36 +01:00
akwizgran
4c480912a8
Removed unnecessary calls to Connection.setAutoCommit().
...
We always use transactions so auto-commit can always be false.
2013-05-30 17:35:32 +01:00
akwizgran
91dba5f6f2
Bumped the expiry date of the alpha to 15 June 2013.
2013-05-30 14:05:36 +01:00
akwizgran
12192aea43
Patched jtorctl so a control connection can be used by multiple threads.
...
Various thread safety fixes, saner use of exceptions, and code
reformatting. The Tor plugin now creates a single control connection at
startup and closes it at shutdown. Fixes issue #3611962 .
2013-05-16 20:02:48 +01:00
akwizgran
c3e9ada0d9
Escaped a dot in the regex used to validate onion hostnames.
2013-05-16 15:44:56 +01:00
akwizgran
37e68d5e9e
Register the DatabaseUiExecutor for shutdown by the LifecycleManager.
...
See issue #3612607 .
2013-05-16 15:39:41 +01:00
akwizgran
1692e5a695
Invitation protocol was proceeding after confirmation timed out.
...
Both sides now close the connection after exchanging confirmation
results unless both results are positive.
2013-05-16 15:10:16 +01:00
akwizgran
91ccdfd8d7
Created Android-specific LAN TCP plugin in order to enable multicast.
...
Some Android devices require a lock to be held while using multicast, to
disable the packet filter that normally filters out multicast packets.
2013-05-16 13:48:42 +01:00
akwizgran
14e045db9b
More frequent UI feedback during invitation process.
...
Fixes issue #3611924 .
2013-05-16 12:13:36 +01:00
akwizgran
2f898d6d44
Reset connected flag when resetting activity's state.
2013-05-15 18:29:42 +01:00
akwizgran
a32cf485fb
Made some classes package-private that don't need to be public.
2013-05-15 18:27:23 +01:00
akwizgran
635973c845
Provide earlier feedback in the UI when connecting to a new contact.
...
Partially addresses issue #3611924 .
2013-05-15 18:22:04 +01:00
akwizgran
07ab659c6b
Fixed crash when rotating screen with dialog visible.
...
Fixes issue #3612299 .
2013-05-15 13:45:48 +01:00
akwizgran
147d044dcf
Don't use the term widget, it has a specific meaning on Android.
2013-05-15 12:45:36 +01:00
akwizgran
fd5dcd4893
Removed override annotations from overridden abstract methods.
2013-05-15 12:38:43 +01:00
akwizgran
9e35e96ce4
Removed unnecessary calls to default super constructors.
2013-05-15 12:35:00 +01:00
akwizgran
630cfde81e
Executors and Services register themselves with the LifecycleManager.
...
Fixes issue #3612607 .
2013-05-15 12:26:56 +01:00
akwizgran
dddd15cd10
Fixed a race conditon when adding a transport and then an endpoint.
...
To fix issue #3611966 , KeyManagerImpl's handling of TransportAddedEvent
was made asynchronous. This made it possible for a thread to call
KeyManager.endpointAdded() before the KeyManager had asynchronously
handled the TransportAddedEvent from a previous call to
DatabaseComponent.addTransport().
2013-05-14 20:54:23 +01:00
akwizgran
673d7fa0c3
Moved lifecycle management into briar-core and reconfigured executors.
...
CryptoExecutor and DatabaseExecutor now use bounded thread pools with
unbounded queues, since running too many tasks in parallel is likely to
harm performance; IncomingConnectionExecutor, PluginExecutor and
ReliabilityExecutor use unbounded thread pools with direct handoff,
since their tasks may run indefinitely. There are no longer any bounded
executors, and all executors discard tasks when shutting down, which
fixes issue #3612189 .
Responsibility for starting and stopping services has been moved from
BriarService in briar-android to LifecycleManagerImpl in briar-core.
However, BriarService is still responsible for stopping the
Android-specific executors, which is ugly. It would be better if
executors registered themselves with LifecycleManager.
2013-05-04 01:26:11 +01:00
akwizgran
e1842e11c5
Unit tests for batched SQL UPDATE and DELETE operations.
2013-05-03 12:18:06 +01:00
akwizgran
c008340587
Added loading progress bars to all ListViews that load from the DB.
...
Fixes issue #3611923 .
2013-05-01 16:49:35 +01:00