Commit Graph

346 Commits

Author SHA1 Message Date
akwizgran
a2b3ef9e62 If Bluetooth is activated to add a contact, deactivate it afterwards.
Bug #47.
2014-03-10 19:06:14 +00:00
akwizgran
d151633a60 Store settings in the DB, listen for events when settings are updated. 2014-03-10 17:59:13 +00:00
akwizgran
3a01a04cbf Log simple names of plugin classes when polling. 2014-03-04 14:04:07 +00:00
akwizgran
511b470aa4 Less verbose logging for plugins. 2014-03-03 15:31:46 +00:00
akwizgran
581ba7139a Don't overselect rows when unsetting inbox group. Fixes bug #40. 2014-03-02 17:58:00 +00:00
akwizgran
90ad3caedd Copy the collection of plugins before passing it to the poller. 2014-03-01 10:44:32 +00:00
akwizgran
a2d099ea17 Added debugging screen to alpha and beta builds. Dev task #73. 2014-02-28 23:44:35 +00:00
akwizgran
de5dac6ce3 Reset message status when contact unsubscribes from group. Dev task #68. 2014-02-27 14:24:52 +00:00
akwizgran
1cbaae0734 Database.setInboxGroup() doesn't require message lock. 2014-02-27 12:49:57 +00:00
akwizgran
44c39e6e4a The list of available groups contained duplicates due to a SQL error. 2014-02-10 23:55:02 +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
0960a345e0 Argh, god damn it, removed Java 1.6 methods again. 2014-02-09 19:36:25 +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
4154119ea5 Convert to and from UTF-8 without catching impossible exceptions.
All JVMs must support UTF-8 encoding.
2014-02-07 22:02:02 +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
0626fe6c7c Removed unused StringUtils methods (one was moved to the sandpit). 2014-02-07 20:07:42 +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
1ac8524dc2 Allow the code and the DB to have different but compatible schemas.
We check for compatibility by specifying a schema version and minimum
schema version in the code, storing them in the DB, and checking whether
the DB is too old for the code or vice versa.
2014-02-04 19:51:41 +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
akwizgran
cde4ca574f Check that author and group names aren't empty. 2014-01-31 17:23:14 +00:00
akwizgran
93890d56f6 GroupReader was looking for an optional key, not a mandatory salt.
This should've been changed when restricted groups were removed.
2014-01-31 17:21:51 +00:00
akwizgran
905eaa5c69 DB cleaner counts transactions rather than bytes stored. Dev task #55. 2014-01-25 13:39:55 +00:00
akwizgran
c67869dac1 Skip special files (symlinks etc) when calculating disk space. 2014-01-25 13:39:12 +00:00
akwizgran
822392f9e7 Use strings rather than hashes to identify transports. Dev task #64. 2014-01-24 10:39:34 +00:00
akwizgran
569b59624a Use a daemon thread for the timer. 2014-01-16 19:15:33 +00:00
akwizgran
e5353dc6d4 Replaced AuthenticatedCipher opmode with a boolean. 2014-01-16 18:59:02 +00:00
akwizgran
4ac85e955f Deterministic signatures (RFC 6979). 2014-01-16 18:52:59 +00:00
akwizgran
f97039318a Use integer maths to convert bits to bytes. 2014-01-16 18:02:34 +00:00
akwizgran
14e1cd6072 Normalise elliptic curve points. 2014-01-16 15:35:25 +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
c146da2e7a Use SHA-384 rather than SHA-1 for PBKDF2. 2014-01-15 14:05:33 +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
6a03752e4b When integers are converted to fixed length, ensure any padding is zero. 2014-01-10 15:13:09 +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
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