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
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