Commit Graph

495 Commits

Author SHA1 Message Date
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
4af522009d Merge branch 'metadata-encoder-parser-tests' into 'master'
Add tests for metadata encoder and parser as well as UTF-8 tests for BDF reader and writer

This also includes a commit to fix issues found in the metadata encoder and parser.

See merge request !58
2016-01-13 17:25:34 +00:00
akwizgran
4c23ceca82 Fixed stupid bugs in metadata encoder and parser. 2016-01-12 17:55:38 +00:00
Torsten Grote
e603b4f60e Implemented Sign Out as a first PanicKit Response
This closes #204
2016-01-12 10:49:14 -02: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
akwizgran
73bb3b0065 Fixed return value of process(). 2015-12-18 16:47:01 +00:00
akwizgran
fc897bd1b9 Use XSalsa20-Poly1305 instead of AES-GCM. #111 2015-12-18 16:47:01 +00:00
akwizgran
6fab0e87e0 Better variable names. 2015-12-18 16:47:01 +00:00
akwizgran
a3ecd93999 Merge branch '169-blake2' into 'master'
Switch KDF from SHA-256 to Blake2. #169

The BTP spec calls for Blake2s, but there's no Java implementation available. I suggest we go with Blake2b for now. If it turns out to be a performance bottleneck on 32-bit platforms we can consider implementing Blake2s and merging it upstream.

This depends on !13.

See merge request !21
2015-12-18 16:43:45 +00:00
akwizgran
f2efe7f2ea Implement stream header for BTPv2. #111 2015-12-18 13:34:02 +00:00
akwizgran
d2dea42cec Fixed off-by-one error in key rotation. #190 2015-12-18 11:29:13 +00:00
akwizgran
b7fe802d5d Inject dbExecutor as ExecutorService. #189 2015-12-18 11:28:18 +00:00
akwizgran
351e1bbbe6 Facade for forum post headers. #172 2015-12-17 16:56:58 +00:00
akwizgran
f899bc0c38 Facade for private message headers. #173 2015-12-17 16:56:58 +00:00
akwizgran
87689855da Facades for private messaging. #173 2015-12-17 16:56:58 +00:00
akwizgran
4450ab171a Facades for forums. #172 2015-12-17 16:56:58 +00:00
akwizgran
52720c5c04 Pass-through implementations of UI/DB interfaces. 2015-12-17 16:56:57 +00:00
akwizgran
c5282c5b17 Moved some API classes into packages. 2015-12-17 16:56:57 +00:00
Torsten Grote
2d28dcada2 Create two new events to signal enabling and disabling of transports 2015-12-17 11:34:10 -02:00
akwizgran
c7e4d5ffa9 Merge branch '147-crypto_secretbox' into 'master'
147 crypto secretbox

Closes #147

See merge request !27
2015-12-17 09:23:26 +00:00
str4d
d9808c48f0 Implement XSalsa20/Poly1305 2015-12-16 19:51:14 +00:00
str4d
20b2bcb86f Expand JavaDocs for AuthenticatedCipher 2015-12-16 19:50: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
b29ff927b0 Switch KDF from SHA-256 to Blake2. #169 2015-12-15 13:21: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
Ernir Erlingsson
a5fd7ff9dc Added dependency injections for FileUtils and removed redundant code 2015-12-10 11:07:10 +01:00
Ernir Erlingsson
2a61fa94d1 modified .gitignore and removed *.iml from git 2015-12-09 00:33:22 +01:00
akwizgran
9158514abf Recompile H2 with OpenJDK 6.
H2 was failing to load its driver class on OpenJDK 6 because the code was compiled for Java 7.
2015-12-08 14:00:08 +00:00