Commit Graph

1242 Commits

Author SHA1 Message Date
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
akwizgran 061479dd68 Set source and target version to Java 6 in subprojects. 2015-12-04 10:12:01 +00:00
akwizgran 8529c976c2 Renamed a bunch of lock variables.
"synchLock" will become confusing when we have lots of objects with "sync" in the name.
2015-12-03 16:39:53 +00:00
akwizgran 7bc08b2de7 Updated Gradle wrapper. 2015-12-03 12:10:36 +00:00