Commit Graph

1406 Commits

Author SHA1 Message Date
akwizgran ea47420e99 Add a password strength meter to SetupActivity. Dev task #42. 2014-01-09 01:29:00 +00:00
akwizgran bacd8ec0c0 Renamed some variables to match new class names. 2014-01-08 16:37:36 +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 4eb1b87ed1 Fixed a moronic arithmetic mistake that was causing key parsing errors. 2014-01-05 22:31:35 +00:00
akwizgran af28e28cd9 IllegalArgumentException is better than DbException in case of bug #3.
If the app restarts after crashing and tries to return to the activity
where it crashed, DatabaseConfig's encryption key will be null and no DB
operations can be performed. It's better to crash again in that case
than for all DB operations to fail.

Fixing bug #3 will make this irrelevant.
2014-01-05 22:31:06 +00:00
akwizgran e8b89f251f Distinguish between max length of invitation keys and identity keys. 2014-01-05 22:21:22 +00:00
akwizgran 09e16e3b34 Public key validation: check that (x, y) is not the point at infinity. 2014-01-05 21:45:01 +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 e9d0ad97c4 Removed an unnecessary join. 2013-12-28 14:00:25 +00:00
akwizgran 6338e5959a Replaced the messagesToAck table with a flag in the statuses table. 2013-12-28 13:55:19 +00:00
akwizgran 7a57375438 Interleave samples to get a better estimate of PBKDF2 running time. 2013-12-28 13:44:26 +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 e8d864c004 Throw DbException if database encryption key is missing.
This can happen on Android if the app is automatically restarted after a
crash.
2013-12-19 23:33:38 +00:00
akwizgran 676ef9518b Unit tests to catch a noobish JDBC error. 2013-12-19 23:13:08 +00:00
akwizgran 0a61fc40ae Fixed a SQL typo. Unit tests would've caught this. 2013-12-19 22:36:42 +00:00
akwizgran 6de0c334c7 Missed a method when replacing private messages with private groups.
Unit tests would've caught this.
2013-12-19 22:28:23 +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 bab2aca584 Patched Weupnp to support older Android devices.
Older devices such as the Huawei U8210 don't completely support the Java
1.6 API. Calling an unsupported method crashes the app.
2013-12-05 21:21:43 +00:00
akwizgran 290fbe4ac8 Downgraded to H2 1.3.170 again to support older Android devices.
Older devices such as the Huawei U8210 don't completely support the Java
1.6 API. Calling an unsupported method crashes the app.
2013-12-05 20:19:44 +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 418b3c9a9d Upgraded Weupnp to version 0.1.3. 2013-11-26 12:55:06 +00:00
akwizgran 222d7414d7 Upgraded H2 to version 1.3.174.
As we no longer support Java 1.5 we can stay up to date with H2
releases.
2013-11-26 12:33:55 +00:00
akwizgran 27c4306e03 Switched from NIST curve P-384 to RFC 5639 curve brainpoolP384r1. 2013-11-24 15:11:46 +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 a2aa13051a Fixed a crash caused by trying to modify an immutable list. 2013-11-19 23:23:07 +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 95788cc1c6 Simplified the KDF implementation, since one iteration is enough.
We don't need to call HMAC-SHA-384 more than once to get 256 bits of key
material. The code will throw a RuntimeException if CIPHER_KEY_BYTES is
changed in future so that one iteration's no longer enough.
2013-07-12 19:05:27 +01:00
akwizgran a8d86a1b05 Don't use a byte[1] where a byte will do. 2013-07-12 18:59:52 +01:00
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