Commit Graph

50 Commits

Author SHA1 Message Date
akwizgran fb850eac09 Bumped database schema version (backward compatible). 2015-12-16 12:17:38 +00:00
akwizgran 6e61504d24 Removed message expiry code. #180 2015-12-16 12:17:38 +00:00
akwizgran 2ca2356ecc Moved MessageHeader to sync package. 2015-12-15 15:05:16 +00:00
akwizgran e370cafb12 Moved classes from messaging package to sync package. 2015-12-15 15:05:06 +00:00
akwizgran 9868feeb2a Refactor KeyManager and TagRecogniser. #55 2015-12-14 11:02:49 +00:00
akwizgran 912ba394c5 Refactored FileUtils.
Removed methods that are no longer needed for Java 6, moved the remaining method into the utils directory.
2015-12-10 15:58:52 +00:00
Torsten Grote aa7d7642bf make message status persistent and initialize it from database 2015-12-10 11:25:41 -02:00
Torsten Grote 0a8c42b939 Improve how the status of messages is indicated.
Remove the Toast that always says 'Message Sent' and show graphical
indicators instead that show either:
* message is waiting to be sent
* message was sent (or requested)
* message was delivered
2015-12-10 10:11:27 -02:00
akwizgran 8ae3fb3e35 Upgraded Spongy Castle to 1.53, fixed tests. #146 2015-12-03 11:12:16 +00:00
akwizgran 027ae8340f Whitespace-only code formatting changes. 2015-11-30 09:38:25 +00:00
akwizgran 32c9ce50d9 Moved the messaging protocol one step closer to BSP.
This breaks backward compatibility for the wire protocol and messages
stored in the database. The database schema version has been
incremented.
2015-05-01 16:59:27 +01:00
akwizgran dea5a44724 Simpler forum sharing UX. 2015-04-29 15:08:58 +01:00
akwizgran f8a4a4920d Merge branch 'AbrahamKiggundu/briar-master': better lock encapsulation 2015-01-29 11:28:48 +00:00
akwizgran 0dbfd7073f Comments to indicate which locks guard which variables. 2015-01-29 11:12:41 +00:00
akwizgran 47bd84122e Code formatting and small cleanups. 2015-01-28 21:18:31 +00:00
akwizgran 7fbad8dc26 Use FortunaGenerator to implement PseudoRandom. 2015-01-14 20:46:03 +00:00
akwizgran 112d80420c Downgrade to 256-bit curve for performance.
Also reduced hash function to 256 bits because our target security level
is now 128 bits.
2015-01-09 13:23:44 +00:00
Abraham Kiggundu 851151041e Pull-Merge of latest changes from main repo 2015-01-08 11:54:47 +03:00
akwizgran 358166bc12 Don't try to erase secrets from memory.
1. The things we're really trying to protect - contact identities,
message contents, etc - can't be erased from memory because they're
encapsulated inside objects we don't control.

2. Long-term secrets can't be protected by erasing them from memory
because they're stored in the database and the database key has to be
held in memory whenever the app's running.

3. If the runtime uses a compacting garbage collector then we have no
way to ensure an object is erased from memory.

4. Trying to erase secrets from memory makes the code more complex.

Conclusion: Let's not try to protect secrets from an attacker who can
read arbitrary memory locations.
2014-12-29 21:08:27 +00:00
Abraham Kiggundu 9a2e93ebb9 cleanup 2014-12-26 17:35:37 +03:00
Abraham Kiggundu b074978472 Improved encapsulation of thread synchronisation as follows
- replaced use of Object instance mutex with a private final Lock object
- replaced Object signaling with specific condition signalling
2014-12-26 16:40:46 +03:00
akwizgran 388b36b6be Check periodically for retransmittable packets. Bug #46. 2014-12-14 20:26:41 +00:00
akwizgran 9dbabdeceb Document the contract of DatabaseExecutor. 2014-11-08 16:40:22 +00:00
akwizgran b24f153704 Renamed a load of things from 'connection' to 'stream'. 2014-10-08 16:21:55 +01:00
akwizgran 8b8df435a5 Separated event infrastructure from DB. 2014-10-03 09:44:54 +01:00
akwizgran 458c0ca285 Don't broadcast MessageAddedEvent if message wasn't added.
Fixed a bug in SimplexMessagingIntegrationTest that should've caught
this.
2014-07-04 15:16:56 +01:00
akwizgran 96a9178b0b Use a single read-write lock for the DB - don't optimise prematurely. 2014-07-04 15:16:56 +01:00
akwizgran f90f7c5e7b Use a single-threaded executor for the database.
This ensures that if two DatabaseExecutor tasks update the database and
broadcast events, the events are broadcast in the same order as the
updates occurred.
2014-07-04 15:16:55 +01:00
akwizgran 4dcf9f632e Show which contacts subscribe to each forum. Dev task #79. 2014-05-02 16:24:49 +01:00
akwizgran 839f67dd44 Replaced last connection time with time of last private message. 2014-04-05 18:14:36 +01:00
akwizgran e260aac3d2 All tryToClose() methods should check for null arguments. 2014-04-04 20:04:47 +01:00
akwizgran fbe1c799dd Added canary code to catch bugs #55 and #65. 2014-04-04 02:23:32 +01:00
akwizgran 1c282a8835 Show when private messages have been delivered. 2014-04-03 23:42:24 +01:00
akwizgran b99a503f24 Removed unnecessary conditionals from logging statements.
Very important stuff.
2014-03-12 21:00: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 581ba7139a Don't overselect rows when unsetting inbox group. Fixes bug #40. 2014-03-02 17:58:00 +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 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 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 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 8886d954d7 Reorganised Guice modules. Contribute entropy to pool on Linux/Android. 2014-01-14 19:33:17 +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 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