Commit Graph

487 Commits

Author SHA1 Message Date
akwizgran
1f18aae0f1 Merge branch '235-transport-key-manager-deadlock' into 'master'
Avoid potential deadlock in TransportKeyManager. #235

See rambling description on the ticket and in the architecture channel...

Fixes #235.

See merge request !79
2016-02-02 15:35:28 +00:00
str4d
c822623677 Migrate Bluetooth protocol to BQP's master secret derivation 2016-02-02 02:45:49 +00:00
str4d
77e4ec381a Implement BQP crypto 2016-02-02 02:45:49 +00:00
str4d
4d7a23779a Rename crypto methods and constants for Bluetooth key agreement 2016-02-02 02:45:49 +00:00
akwizgran
b65be93a20 Merge branch 'unshared-messages' into 'master'
Unshared messages



See merge request !86
2016-01-29 14:55:26 +00:00
akwizgran
ee6379cb0c Fixed missing Inject annotation. 2016-01-29 14:45:57 +00:00
akwizgran
062b987585 Merge branch 'private-groups' into 'master'
Factored out code for creating private groups.



See merge request !85
2016-01-29 13:46:29 +00:00
akwizgran
e76aef3dc8 Unshared messages. 2016-01-29 13:45:22 +00:00
akwizgran
4e17621081 Factored out code for creating private groups. 2016-01-28 18:05:01 +00:00
akwizgran
0fd8a67ee0 Allow multiple identities to have the same contact. #224 2016-01-28 15:57:22 +00:00
akwizgran
9ce39f3f21 Renamed Latest to LatestUpdate for clarity. 2016-01-28 14:49:35 +00:00
akwizgran
d63f997813 Fixed bug in detection of unchanged properties. 2016-01-27 12:51:56 +00:00
akwizgran
c776d1e893 Include unique device ID in transport updates. 2016-01-27 12:51:55 +00:00
akwizgran
88475bdd54 Transport properties client. #229 2016-01-27 12:51:55 +00:00
akwizgran
baa580c6f4 Replace for with foreach.
I don't care but Android Studio complains.
2016-01-27 12:51:55 +00:00
akwizgran
47e605fcd8 Don't flush buffers on every commit.
This was meant to prevent key reuse with BTPv1, it's no longer needed with BTPv2.
2016-01-27 12:51:54 +00:00
akwizgran
093e44d3ab Cleaned up database initialisation. 2016-01-27 12:51:54 +00:00
akwizgran
cd175fd119 Removed TransportUpdate and TransportAck. 2016-01-27 12:51:54 +00:00
akwizgran
06ade19260 Fixed potential deadlock in TransportKeyManager. #235 2016-01-26 10:32:12 +00:00
akwizgran
d512c218cd Removed consumers from BdfWriter. 2016-01-22 11:50:06 +00:00
akwizgran
88a8081351 Metadata for groups. #221 2016-01-20 15:03:42 +00:00
akwizgran
3c543b0d62 Fixed crash caused by using DB too early in lifecycle. 2016-01-20 15:03:10 +00:00
akwizgran
281ca734e3 Addressed issues from code review. 2016-01-20 14:43:47 +00:00
akwizgran
c4692a7007 Identity manager hooks. #209 2016-01-20 14:43:47 +00:00
akwizgran
82cf12040f Contact manager hooks. #209 2016-01-20 14:43:46 +00:00
akwizgran
33ef09a6bf Implement Service interface rather than extending it.
Whether or not a class needs to run as a service is an implementation decision.
2016-01-20 14:43:46 +00:00
akwizgran
cd08867611 Made BdfDictionary and BdfList thread-safe. 2016-01-20 10:35:14 +00:00
akwizgran
77054cbae7 Small improvements to DB interface. 2016-01-20 10:35:14 +00:00
akwizgran
5355951466 Separate the sync layer from its clients. #112 2016-01-20 10:35:09 +00:00
akwizgran
f5f572139a Code cleanup. 2016-01-20 10:30:36 +00:00
Santiago Torres
190bb12964 ENH: Replaces transport config with namespaced settings 2016-01-20 00:57:16 -05:00
Torsten Grote
9aa1bbd1ed Do not show messages as unread when the conversation is open
* Only show them as unread when they arrive out of order
* Mark all messages as read when sending a message
2016-01-14 11:49:34 -02:00
akwizgran
4c23ceca82 Fixed stupid bugs in metadata encoder and parser. 2016-01-12 17:55:38 +00:00
akwizgran
a847b30ed3 Code cleanup, complain about lack of unit tests. 2016-01-12 11:35:44 +00:00
akwizgran
ed23bd6c11 Allow nulls in BdfList, BdfDictionary.
BdfList and BdfDictionary are no longer thread-safe, they require external locking. Metadata (which is the class that will be passed across API boundaries) is still thread-safe.
2016-01-12 11:35:44 +00:00
akwizgran
d1611180fe Encoder for structured metadata. 2016-01-12 11:35:44 +00:00
akwizgran
a419948147 Parser for structured metadata. 2016-01-12 11:35:44 +00:00
akwizgran
7be7ce8eda Update data format to match BDF spec. 2016-01-12 11:35:30 +00:00
akwizgran
25c9cff8d6 Merge branch '112-transport-properties-manager' into 'master'
Transport properties manager facade, key manager refactoring. #112

Refactoring for #112: decouple the invitation and plugin code from the database with a TransportPropertiesManager facade (which will become a BSP client), and move some key management logic from the invitation code to the KeyManager. Update the integration tests to use the new FooManager facades.

See merge request !49
2016-01-12 11:35:18 +00:00
akwizgran
3c6ead0603 Code clarity, more unit tests for ByteUtils.
Addresses comments for !48.
2016-01-12 11:10:22 +00:00
akwizgran
805bf39ec8 Created TransportPropertyManager facade. 2016-01-04 12:56:06 +00:00
akwizgran
99f8d21eea Fixed a typo. 2016-01-04 12:47:49 +00:00
akwizgran
6a4aea77fb Final crypto changes for BTPv2. #111
Use BLAKE2s to generate tags.
KDF arguments for key rotation.
Frame IV format.
2016-01-04 12:42:30 +00:00
akwizgran
7e115fed6d Allow output shorter than getDigestSize(). 2016-01-01 14:28:38 +00:00
akwizgran
7c1ee9ce87 Restored accidentally deleted javadoc. 2015-12-31 17:46:18 +00:00
akwizgran
90af176810 Use BLAKE2s for hashing, key derivation and signatures.
SHA-256 is still used for password-based key derivation (will be replaced with Argon2) and Fortuna.
2015-12-31 17:42:11 +00:00
str4d
d5b347e6c9 BLAKE2s implementation
Implementation is based on the BLAKE2b implementation from BouncyCastle, and is
therefore licensed under the BouncyCastle license (which will make future
upstreaming of the code easier).
2015-12-31 16:01:33 +00:00
akwizgran
d7f204019d Merge branch 'use-xsalsa20-poly1305' into 'master'
Use XSalsa20-Poly1305 instead of AES-GCM for transport encryption and password storage.

This patch integrates @str4d's new authenticated cipher implementation. It depends on !18.

See merge request !35
2015-12-28 18:07:20 +00:00
akwizgran
d46ad6cc14 Merge branch '189-dbexecutor' into 'master'
Inject dbExecutor as ExecutorService

Closes #188, despite the branch name. :0)

See merge request !33
2015-12-28 16:33:59 +00:00
str4d
efa7ac00ea Merge branch '190-key-manager-duplicates' into 'master'
Fix off-by-one error in key rotation

Fixes #190.

See merge request !32
2015-12-23 19:41:21 +00:00