Commit Graph

477 Commits

Author SHA1 Message Date
akwizgran 72fae48aef Tests for key rotation. 2013-04-10 17:31:22 +01:00
akwizgran 5b5428bd8a Duplicate current secrets may be derived from successive dead secrets. 2013-04-10 13:31:52 +01:00
akwizgran 60dee4611c Validate key derivation inputs: always 32 bytes, never blank. 2013-04-10 12:48:25 +01:00
akwizgran de472ba2a6 Create an identity at startup if the database doesn't exist. 2013-04-08 16:01:52 +01:00
akwizgran 5b37ff3a0e Simpler key rotation: rotation period R = C + L, retention period = 3R. 2013-04-05 21:15:24 +01:00
akwizgran 84c07a2b9c Code cleanup: remove unnecessary annotations, moved some API constants. 2013-03-31 19:25:24 +01:00
akwizgran 5800949b26 Added spinners for selecting which identity to use.
(Although it isn't possible to create an identity yet...)
2013-03-30 19:18:34 +00:00
akwizgran 3309938467 Massive refactoring to use pseudonyms instead of nicknames for contacts.
The invitation and private messaging UIs are currently broken. Some key
rotation bugs were fixed; others may have been created (unit tests
needed). An encoding for private keys was added. Pseudonyms were moved
out of the messaging package and ratings were moved in.
2013-03-29 19:48:23 +00:00
akwizgran 4a40de957c Removed Silvertunnel-based Tor plugin.
The Tor plugin tests are consistently failing with the latest versions
of Silvertunnel and Spongy Castle; we may need to ship native Tor
binaries for Windows/Mac/Linux and use Orbot on Android.
2013-03-26 13:47:24 +00:00
akwizgran 4e5366509d Android UI for blogs (restricted groups). 2013-03-23 14:30:59 +00:00
akwizgran 935b82a8f4 Fixed a copy and paste error in DatabaseComponentImplTest. 2013-03-18 21:58:55 +00:00
akwizgran 23ab23a931 Attached data to DB events to avoid DB lookups; refactored UI code.
Fields in Android UI objects that are accessed from background threads
must be declared volatile. UI objects use data attached to DB events to
avoid DB lookups, which complicates the UI code but should improve
performance.
2013-03-14 22:46:57 +00:00
akwizgran 211950ce66 Added a factory method for unrestricted groups. 2013-03-12 14:42:28 +00:00
akwizgran be3b0bf4d6 Renamed some factory methods. 2013-03-12 13:59:55 +00:00
akwizgran 89087a32c3 Added new database events to support updating the UI. 2013-03-11 17:33:28 +00:00
akwizgran 056eaa2797 Bluetooth debugging and code cleanup.
Generate a random UUID instead of using a fixed UUID. Close sockets when
exceptions are thrown (not doing so can cause problems with subsequent
sockets on Android). Use a semaphore with tryAcquire() instead of a lock
when making alien calls, to avoid possible deadlocks.
2013-03-11 10:39:30 +00:00
akwizgran 666499337c Mark local messages read when they're added to the database. 2013-03-05 01:52:09 +00:00
akwizgran d71ec9809d Android UI for reading a message (text/plain only for now). 2013-03-04 19:45:31 +00:00
akwizgran a651e8ef73 Removed subject line from wire format, added content type. 2013-03-02 04:45:02 +00:00
akwizgran 43c8cfa248 Explanatory names for MessageFactory methods. 2013-02-28 13:08:35 +00:00
akwizgran bfd4ee5e9f Added columns to the DB to support retrieval of message headers. 2013-02-28 12:49:48 +00:00
akwizgran 1e8a8d985d Added lastConnected timestamp to Contact, for display in contact list. 2013-02-27 15:12:01 +00:00
akwizgran 51db9ce1fd Encrypt bundles in case the OS writes them to unencrypted storage.
Only the bundle contents created by Briar classes are encrypted.
2013-02-18 18:56:00 +00:00
akwizgran 96f8e49d64 Added names to contacts, created Contact class in API. 2013-02-12 17:38:49 +00:00
akwizgran 79fc630ab7 Use mocks rather than real plugins for better coverage of error cases. 2013-02-12 16:25:08 +00:00
akwizgran d18fc1330b Plugin manager must add transports to the DB before activating them. 2013-02-12 16:04:22 +00:00
akwizgran 78d6100262 Limit the number of subscriptions per user.
This limit is necessary to limit the size of subscription update
packets; it can be lifted when incremental subscription updates are
implemented.
2013-02-07 18:13:58 +00:00
akwizgran f4675c3edd Added more DatabaseComponent unit tests, tightened up existing tests. 2013-02-07 00:29:30 +00:00
akwizgran 3af077a4d8 Refactored exponential backoff code out of JdbcDatabase and added tests. 2013-02-06 23:51:23 +00:00
akwizgran 379d6ed220 Retransmission with exponential backoff (untested). 2013-02-06 20:07:08 +00:00
akwizgran 4c5657321d Retransmission without backoff for messages and updates. 2013-02-06 19:06:14 +00:00
akwizgran bec8543bfa Replaced Collections.singletonList() with more concise Arrays.asList(). 2013-02-06 15:17:47 +00:00
akwizgran 9558bd88df Retransmit messages based on maximum latency of transport. 2013-02-06 15:11:55 +00:00
akwizgran 5150737476 Replaced the Status enum with a seen flag and an expiry time. 2013-02-04 17:48:30 +00:00
akwizgran 30a0269652 Code cleanup: import static, use == to compare enum values. 2013-02-01 22:40:36 +00:00
akwizgran adff37481f Code cleanup: don't use L for long constants unless it's necessary. 2013-02-01 20:40:57 +00:00
akwizgran a73d9d05f2 Added getMaxLatency() method to transport plugins. 2013-02-01 20:19:23 +00:00
akwizgran 14177e51f6 Renamed some variables to match renamed classes. 2013-02-01 19:44:43 +00:00
akwizgran 0229d94531 Removed unnecessary fake transport properties from integration test. 2013-02-01 18:11:20 +00:00
akwizgran 520b6da5ac Exposed message handling methods through DatabaseComponent interface. 2013-01-30 18:23:53 +00:00
akwizgran 9a78071bde Refactoring: renamed package 'protocol' -> 'messaging'. 2013-01-30 17:48:43 +00:00
akwizgran c1d2891763 Updated simplex and duplex connections to handle the new packet types. 2013-01-30 15:35:35 +00:00
akwizgran b4818228c4 Fixed remaining unit tests, refactored tests for refactored classes. 2013-01-30 14:56:28 +00:00
akwizgran e379f11698 Fixed existing unit tests for DatabaseComponentImpl, and two bugs. 2013-01-30 14:39:13 +00:00
akwizgran 33d0f19f26 Fixed existing unit tests for H2Database; new tests are needed. 2013-01-29 16:43:41 +00:00
akwizgran 7ecda94340 Renamed some methods, fixed SQL typo bugs in JdbcDatabase. 2013-01-29 16:43:13 +00:00
akwizgran 61a6931643 Renamed ContactTransport -> Endpoint, added more database exceptions. 2013-01-29 15:24:34 +00:00
akwizgran 3e1c41c62f Removed the serialisation reader's internal array of struct readers. 2013-01-28 23:37:44 +00:00
akwizgran 9b98d3c7d6 Added new database events and simplified database locking. 2013-01-25 16:27:50 +00:00
akwizgran 64bf1fbbb1 Part 1 of a major BMP and database refactoring. Tests are broken!
The old logic for selecting when to send subscription and transport
updates has been removed and not yet replaced. Subscription times have
been removed from subscription updates. The database expiry time has
been remove from subscription updates and will later get its own update
packet. Transport updates have been broken up into one update per
transport. Acks for subscription and transport updates have been added.
2013-01-25 15:38:37 +00:00