Commit Graph

131 Commits

Author SHA1 Message Date
akwizgran
c232d0ceb1 Asynchronous offers and requests for BMP.
Offered and requested message IDs are stored in the database rather than
being owned by DuplexConnections. This paves the way for moving to a
simplex transport layer.
2014-01-04 16:03:31 +00:00
akwizgran
6338e5959a Replaced the messagesToAck table with a flag in the statuses table. 2013-12-28 13:55:19 +00:00
akwizgran
ff01b181bc Renamed a database method. 2013-12-22 01:56:11 +00:00
akwizgran
51b3a10be2 Removed public/private groups from the wire protocol.
The distinction between inbox groups and other groups can be maintained
internally, there's no need to represent it on the wire.
2013-12-20 13:32:36 +00:00
akwizgran
676ef9518b Unit tests to catch a noobish JDBC error. 2013-12-19 23:13:08 +00:00
akwizgran
caec26e9cd Only allow one private group (the inbox) to be shared with each contact. 2013-12-19 22:12:49 +00:00
akwizgran
0dc869228b Replaced private messages with private groups.
Private messages are now the same as group messages, but groups can be
private or public. When a contact is added, a private group is created
and designated as the inbox for exchanging private messages with the
contact.
2013-12-19 21:53:26 +00:00
akwizgran
1d4213e9c6 When replying to a message, don't use an earlier timestamp.
This produces a saner user experience when devices have differing
clocks.
2013-12-11 16:25:00 +00:00
akwizgran
47708d489d Added the ability to remove pseudonyms from the database. 2013-12-10 22:23:37 +00:00
akwizgran
667dbfdd4a Removed an unused DB method and index. 2013-12-10 21:02:11 +00:00
akwizgran
db5702d7fc Calibrate PBKDF2 iterations on first run. Fixes development issue #29. 2013-12-05 23:18:07 +00:00
akwizgran
3e6d7ba66a Removed subject line, which won't be used in new conversation views. 2013-11-30 15:09:26 +00:00
akwizgran
766b6f067a Use javax.inject annotations rather than the Guice versions. 2013-11-29 14:12:39 +00:00
akwizgran
27c4306e03 Switched from NIST curve P-384 to RFC 5639 curve brainpoolP384r1. 2013-11-24 15:11:46 +00:00
akwizgran
0325bba86c Fixed some resource leak warnings in unit tests.
Four more warnings were left unfixed because quick fixes would've broken
the tests.
2013-11-22 12:56:42 +00:00
akwizgran
26eebee8d9 Reverted some changes that were made for Java 1.5 compatibility.
Removed Commons IO, which we were only using as a replacement for
File.getFreeSpace() on desktop plaftorms.

Note: The Huawei U8210 (Android 2.1) doesn't have all the Java 1.6
standard library methods, and crashes if they're called. Specifically,
String.isEmpty() and NetworkInterface.supportsMulticast() are missing,
so the changes removing those methods were not reverted.
2013-11-22 12:49:20 +00:00
akwizgran
3b5769cf8a Use Java 1.6 instead of 1.5. We no longer aim to support OS X 10.4. 2013-11-22 12:00:00 +00:00
akwizgran
1a351535be The response to a BMP Offer is now an Ack and/or a Request.
The Request packet now contains a list of message IDs, rather than a
bitmap referring to the list of messages IDs in the Offer. This allows
the Request to be understood out of context, e.g. if the Offer and
Request are sent over separate connections or a connection is replayed.
2013-11-19 22:13:26 +00:00
akwizgran
2e472c1d16 Added the ability to skip serialised objects. 2013-11-19 21:28:53 +00:00
akwizgran
6764ade475 Delimited structs - this will allow us to skip unrecognised structs. 2013-11-19 18:05:44 +00:00
akwizgran
e0d313a28c Simplified serialisation format: removed compact encodings. 2013-10-11 15:16:16 +01:00
akwizgran
7b01e42da8 Removed the ability to star messages (unused in UI). 2013-09-27 18:15:43 +01:00
akwizgran
0a153acd02 Removed peer moderation (may be restored after beta testing). 2013-09-27 18:04:27 +01:00
akwizgran
b94954544d Removed restricted groups (may be restored after beta testing). 2013-09-27 15:11:04 +01:00
akwizgran
c868764244 Separate FileUtils implementations for Android and desktop builds.
The method used by Commons IO to get the available disk space fails on
Android devices that lack a df binary - use the Android API instead.
2013-07-27 20:50:05 +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
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
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
1808ceaf58 Replaced further JCE calls with direct instantiation of SC objects. 2013-06-14 12:22:32 +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
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
08b11412fb Allow plugins to use different maximum frame lengths. 2013-06-05 14:16:44 +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
eeb1ce27ab Added a unit test for batched DB operations. 2013-05-01 12:44:19 +01:00
akwizgran
1e5e78cc44 Use Integer.parseInt(String) to get a primitive int. 2013-04-25 05:07:26 +01:00
akwizgran
178c486a4a Put Android plugins and Java SE plugins in separate modules. 2013-04-24 21:09:38 +01:00
akwizgran
9e17db5db1 Added activities for managing blog and group subscriptions. 2013-04-18 21:28:04 +01:00
akwizgran
374bff2fb6 UI for setting and entering the password that encrypts the database key. 2013-04-16 14:49:14 +01:00
akwizgran
e343c9f4bb Added PBKDF2 to crypto component. 2013-04-16 12:04:23 +01:00
akwizgran
c5fa3d1841 Removed last connection time from Contact class, tightened up layouts. 2013-04-15 14:51:59 +01:00
akwizgran
42fd02d0b9 Messages in restricted groups should propagate without moderation.
If the group's owner is spamming, unsubscribe.
2013-04-15 12:22:12 +01:00
akwizgran
da7657ff4d Include author and rating in private message headers. 2013-04-14 21:15:23 +01:00
akwizgran
8e9517ced0 Don't broadcast events for obsolete updates. 2013-04-14 15:16:18 +01:00