Commit Graph

505 Commits

Author SHA1 Message Date
akwizgran
1b8478df84 Derive and store secrets when a contact transport is added. 2012-10-24 23:34:46 +01:00
akwizgran
79a8d1c19d Removed an unnecessary variable. 2012-10-24 20:34:48 +01:00
akwizgran
aef83df55f The connection recogniser doesn't need to store newly added windows. 2012-10-24 20:32:55 +01:00
akwizgran
9b00a6f029 Remove dead secrets from the connection recogniser. 2012-10-24 20:13:00 +01:00
akwizgran
d940c637c2 Fixed key derivation issues, moved tag encoding into crypto component. 2012-10-24 20:05:18 +01:00
akwizgran
5628342c58 Cancel the timer thread when stopping the key manager. 2012-10-24 19:16:26 +01:00
akwizgran
c0143611b8 Fixed a SQL typo and a race condition.
The typo caused the select statement to be under-selective; the race
condition could have occurred if a contact transport was removed while
an outgoing connection was being created.
2012-10-24 19:15:03 +01:00
akwizgran
27e50b8495 Implemented KeyManager (untested).
A test is failing due to key derivation errors - must be fixed!
2012-10-24 18:16:17 +01:00
akwizgran
cc6e9d53ad Allow duplex connections' dispose() methods to throw IOExceptions. 2012-10-19 21:52:53 +01:00
akwizgran
21f177d695 Clone secrets so each copy can be erased at the appropriate time. 2012-10-19 21:42:11 +01:00
akwizgran
a12d5ac340 Removed tag from connection context. 2012-10-19 21:19:52 +01:00
akwizgran
708e4f87dc Fixed some bugs and cleaned up code in TransportConnectionRecogniser. 2012-10-19 21:05:21 +01:00
akwizgran
79c3ef572d Convert connection windows to and from bitmaps. 2012-10-13 23:59:11 +01:00
akwizgran
7739bcdd06 Second part of key rotation implementation. Work in progress. 2012-10-08 18:15:25 +01:00
akwizgran
021b3c5a62 Code cleanup: "static final" is unnecessary in interfaces. 2012-09-27 10:49:46 +01:00
akwizgran
7f94707dab Code cleanup: import static. 2012-09-27 10:44:07 +01:00
akwizgran
e534722d60 Removed invitation code from simplex plugins, cleaned up Gmail plugin. 2012-09-26 12:34:37 +01:00
akwizgran
36cd02128c Unit tests and fixes for DatabaseComponent(Impl). 2012-09-26 11:38:26 +01:00
akwizgran
b2ee1b5332 Unit tests and a bug fix for key management methods in JdbcDatabase. 2012-09-25 17:09:59 +01:00
akwizgran
9ee2b42c70 Unit test and a bug fix for storing temporary secrets. 2012-09-24 18:44:27 +01:00
akwizgran
2ff439ffe6 Separated contact transports from secrets and cleaned up some tests. 2012-09-24 18:27:20 +01:00
akwizgran
e779210ced First stage of key rotation refactoring. Some tests are failing. 2012-09-23 17:40:54 +01:00
akwizgran
eb360475aa KeyRotatorImpl looks a *lot* like DatabaseCleanerImpl. 2012-09-07 16:58:03 +01:00
akwizgran
f8183a4ce3 Refactored DatabaseCleanerImpl to use Timer and TimerTask. 2012-09-07 16:36:48 +01:00
akwizgran
7a0e22d44c Renamed clock API package and fixed a test. 2012-09-07 12:47:05 +01:00
akwizgran
2e2eba820d Handle exceptions thrown by connections' dispose() methods. 2012-09-07 12:46:45 +01:00
Daryl
0fa945a7ed Updated gmail plugin and unit test, removed unused class. 2012-09-07 16:40:39 +08:00
akwizgran
59dc065c55 Plugin factories can supply clocks for their plugins if needed. 2012-09-06 17:35:52 +01:00
akwizgran
960ead0247 Wrapped the system clock in an interface so it can be replaced in tests. 2012-09-06 17:21:03 +01:00
akwizgran
67eb9d6f93 Unit tests for ConnectionWriterImpl. 2012-09-06 16:38:24 +01:00
Daryl
21e188f9c9 Added method to unit test for ID 2012-09-03 17:11:32 +08:00
Daryl
0362b8578b Fixed bug "Access to default session denied" and reformatted code 2012-09-03 16:16:15 +08:00
Daryl
617c65dd48 Added gmail plugin containing both imap and smtp, with unit test 2012-08-30 18:48:25 +08:00
akwizgran
fbbebb7cfc Unit tests and a bugfix for IncomingEncryptionLayer.
Throw FormatException rather than RuntimeException if authenticated
decryption fails.
2012-08-29 20:28:50 +01:00
akwizgran
0b0fa76686 Plaintext frames don't need to include space for the MAC. 2012-08-29 19:30:10 +01:00
akwizgran
5b4f566822 Code layout. 2012-08-29 18:54:44 +01:00
akwizgran
c8038a5865 Authentic but invalid frames should throw FormatException. 2012-08-29 18:52:55 +01:00
akwizgran
cea76cce7e Use consistent wording. 2012-08-29 18:48:42 +01:00
akwizgran
88e7cc786f If there's space for a partial final frame, use it. 2012-08-29 18:11:30 +01:00
akwizgran
a104548f7c Allow for the maximum overhead when calculating capacity. 2012-08-28 14:22:29 +01:00
akwizgran
6965f809c7 Don't create tag ciphers and tag keys unnecessarily. 2012-08-28 12:02:37 +01:00
akwizgran
1762eaf3e9 Allow the initiator to close a connection without writing.
This will make it easier for simplex transports to discard empty
connections.
2012-08-28 11:38:26 +01:00
akwizgran
ff73905330 Changed to fixed-length frames (mostly untested). 2012-08-28 09:15:04 +01:00
akwizgran
b8b18add33 Replaced BouncyCastle with SpongyCastle for Android compatibility. 2012-08-24 12:22:40 +01:00
akwizgran
a9d196d511 Use the same method as Android to generate the Bluetooth UUID. 2012-08-22 11:53:41 +01:00
akwizgran
f4b34ca975 Moved defunct invitation and installer code to sandpit repo. 2012-07-03 10:49:43 +01:00
akwizgran
3eb3f8be3d Code cleanup for the transport protocol. 2012-05-24 19:08:53 +01:00
akwizgran
d6b260ed61 Use AES/GCM instead of AES/CTR and HMAC.
This makes us Suite B compliant and saves 32 bytes per frame. The
AES/GCM implementation refuses to decrypt the frame header before
checking the MAC, so we have to use AES/CTR to peek at the header. The
header is still covered by the MAC, and we still check it after peeking!
2012-05-24 18:38:19 +01:00
akwizgran
d074652f43 Incremental subscription updates (untested). 2012-05-19 02:17:41 +02:00
akwizgran
fadf0221d2 Use a DB index to avoid linear insertion time. 2012-05-19 01:09:24 +02:00