Commit Graph

175 Commits

Author SHA1 Message Date
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
e1d099903d Don't allow LifecycleManager to start and stop concurrently. Bug #68. 2014-05-02 15:16:53 +01:00
akwizgran
0eaf46209c Show more debugging info: system memory, VM memory and disk space. 2014-04-10 15:48:15 +01:00
akwizgran
ab76b4a9e3 Print stdout and stderr of unit tests to track down test failures. 2014-04-10 13:21:26 +01:00
akwizgran
7aa836c683 Skip tests that can't be run on the present machine. 2014-04-10 13:15:54 +01:00
akwizgran
839f67dd44 Replaced last connection time with time of last private message. 2014-04-05 18:14:36 +01:00
akwizgran
cc9e1ec300 Rigorous address validation broke a unit test. 2014-04-05 00:00:59 +01:00
akwizgran
e74465dd41 Don't try to connect to unreachable IP addresses. 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
fe82591fdf Cleaned up address selection code for LAN and WAN plugins.
The LAN plugin only accepts IPv4 link-local or site-local addresses.
This rules out LANs that use globally routable addresses (such as UCL),
but also reduces the chances of the LAN plugin making observable
connections across the WAN, which could reveal the social graph.

Both plugins will attempt to reuse the previous address and port only if
there's currently an interface with that address; this will avoid
unnecessary attempts to bind to nonexistent addresses.
2014-04-04 20:04:47 +01:00
akwizgran
1c282a8835 Show when private messages have been delivered. 2014-04-03 23:42:24 +01:00
akwizgran
0100d62a20 Test that our elliptic curve is equal to the named curve; benchmarks. 2014-03-27 10:32:49 +00:00
akwizgran
007ddac880 Use the Montgomery ladder multiplier to avoid side-channel attacks. 2014-03-19 22:52:53 +00:00
akwizgran
8c18773141 Write the tag immediately even if there are no packets to send. Bug #27. 2014-03-16 18:13:31 +00:00
akwizgran
de5dac6ce3 Reset message status when contact unsubscribes from group. Dev task #68. 2014-02-27 14:24:52 +00:00
akwizgran
044c10e89f Bluetooth-only invitations: simpler and more reliable.
Of course, not all devices support Bluetooth...
2014-02-10 14:00:34 +00:00
akwizgran
71a31c2a7a Include creation time in LocalAuthor.
This allows the oldest LocalAuthor to be used as the default.
2014-02-10 12:14:09 +00:00
akwizgran
9e8bf5b1aa Set a flag in MessageHeader to indicate whether the message is local. 2014-02-09 16:02:11 +00:00
akwizgran
d53c07cb35 Don't halt on failure, run all tests. 2014-02-09 15:56:36 +00:00
akwizgran
f6360c09d4 Added utility methods for converting string to UTF-8 and vice versa. 2014-02-07 22:00:51 +00:00
akwizgran
92d5fb4f1d Compact encodings for integers, strings and byte arrays.
This adds complexity but will save a lot of bandwidth, as most of the
strings and byte arrays we want to send are less than 128 bytes.

The extra complexity isn't exposed outside of the serial component.
2014-02-07 18:50:28 +00:00
akwizgran
6296f0f790 Removed redundant call to checkEnabled() - it's called from start(). 2014-02-07 15:05:48 +00:00
akwizgran
52b29b16ba Merge branch 'jnotify-multiarch' into 'master'
Upgrade jnotify to 0.94 to support 64-bit

This upgrades to 0.94 and selects the correct native lib via ${os.arch}. The binaries are from the jnotify sourceforge download page, you can verify them. Also patched up build.xml to display stack trace when exceptions are thrown inside a test.
2014-02-07 13:03:08 +00:00
Ximin Luo
217ff30c54 update classpath for jnotify 2014-02-06 17:52:43 +00:00
akwizgran
a45d09ef5c Show whether identities are anonymous, unknown, or verified.
Dev task #52. Known but unverified identities are also supported, but
currently unused. These will be used in future for contacts who've been
introduced but not verified face to face.
2014-02-04 12:32:51 +00:00
Ximin Luo
2bdccef705 upgrade to jnotify 0.94 (patched) for 64-bit support, and improve error reporting in tests
- add a UnixRemovableDriveMonitor.checkEnabled to pre-emptively check if it's loaded
- os.arch is always x86,x86_64 on windows, i386,amd64 on linux
- source: http://www.java-gaming.org/index.php/topic,14110
- we'll deal with freebsd support when we come to it, jnotify doesn't even do this atm
2014-01-30 12:37:18 +00:00
akwizgran
d52139e99b Use JUnit's Assume to skip tests rather than returning from the tests.
This way the tests won't show up as having run if they didn't.
2014-01-28 21:55:57 +00:00
akwizgran
822392f9e7 Use strings rather than hashes to identify transports. Dev task #64. 2014-01-24 10:39:34 +00:00
akwizgran
468db2a97b Use a mock timer to test the database cleaner. 2014-01-16 20:17:26 +00:00
akwizgran
e5353dc6d4 Replaced AuthenticatedCipher opmode with a boolean. 2014-01-16 18:59:02 +00:00
akwizgran
a168a7ba89 Upgraded to BouncyCastle 1.50. Added bouncy -> spongy conversion script. 2014-01-16 15:21:42 +00:00
akwizgran
6af3c54c28 Removed shouldFlush() from plugins, added missing PacketWriter method. 2014-01-15 17:10:25 +00:00
akwizgran
db96994d5c Simplified the serialisation format. Other task #39.
The new format is simpler but less efficient for small integers, short
strings and short byte arrays.
2014-01-14 22:40:47 +00:00
akwizgran
8886d954d7 Reorganised Guice modules. Contribute entropy to pool on Linux/Android. 2014-01-14 19:33:17 +00:00
akwizgran
6f161103ae Log the timing of startup tasks so we can find bottlenecks. 2014-01-13 21:58:34 +00:00
akwizgran
c9928348ef Use the Fortuna generator instead of the JVM's SecureRandom. Bug #4.
Note that this is only the generator part of Fortuna, not the
accumulator. The generator requires a seed, which is provided by a
platform-specific implementation of SeedProvider. On Linux the
implementation reads the seed from /dev/urandom.
2014-01-13 19:16:33 +00:00
akwizgran
a565e0c749 Removed unused ZipUtils and unit tests. 2014-01-13 19:04:25 +00:00
akwizgran
623e7330ed Store schema version in database. Dev task #50.
If the schema of the database is incompatible with the schema expected
by the code, the database throws a DbSchemaException. LifecycleManager
indicates the error to BriarService, which uses HomeScreenActivity to
show a notification and quit the app.
2014-01-09 21:00:40 +00:00
akwizgran
ea47420e99 Add a password strength meter to SetupActivity. Dev task #42. 2014-01-09 01:29:00 +00:00
akwizgran
832476412c Changed the root package from net.sf.briar to org.briarproject. 2014-01-08 16:18:30 +00:00
akwizgran
dce70f487c Merged clock and os packages, moved events into their own package. 2014-01-08 15:45:02 +00:00
akwizgran
bf1a72c826 Rewrote EC key encoding and added fuzzing tests to track down bug #33. 2014-01-05 21:25:56 +00:00
akwizgran
3779f6ea8b Limit the number of offered messages per contact.
Also fixed a bug in addGroup(): SELECT COUNT (NULL) doesn't work.
2014-01-04 21:57:13 +00:00
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