akwizgran
b7fe802d5d
Inject dbExecutor as ExecutorService. #189
2015-12-18 11:28:18 +00:00
akwizgran
4450ab171a
Facades for forums. #172
2015-12-17 16:56:58 +00:00
akwizgran
c5282c5b17
Moved some API classes into packages.
2015-12-17 16:56:57 +00:00
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