Commit Graph

150 Commits

Author SHA1 Message Date
akwizgran
3fd23830c9 Use an unbounded executor for DB tasks, which may depend on each other. 2013-03-15 16:34:00 +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
0280ea2aa9 Android UI for peer moderation. 2013-03-12 18:02:21 +00:00
akwizgran
d3b742e14c Renamed VerificationExecutor, as it may be used for any crypto task. 2013-03-12 16:19:36 +00:00
akwizgran
36df192521 String.isEmpty() doesn't exist until Java 1.6. 2013-03-12 16:07:22 +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
768bd8d603 Exclude private messages when counting unread group messages. 2013-03-11 17:58:43 +00:00
akwizgran
89087a32c3 Added new database events to support updating the UI. 2013-03-11 17:33:28 +00:00
akwizgran
46e5cef46c Removed unnecessary final modifier. 2013-03-11 16:13:20 +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
cd5d922b5e Cleaned up Android Bluetooth reflection code and added logging. 2013-03-11 10:35:14 +00:00
akwizgran
a02ca4b356 Close invitation connections after use. 2013-03-11 10:31:31 +00:00
akwizgran
1ece8a05fb Stricter verification of public keys. 2013-03-07 21:01:44 +00:00
akwizgran
ecfb4e98a1 Forgot to specify NoPadding for temporary storage cipher. 2013-03-07 10:20:07 +00:00
akwizgran
edaf4e4b23 Temporary storage crypto doesn't need AAD, so it can use a Cipher. 2013-03-06 23:01:01 +00:00
akwizgran
666499337c Mark local messages read when they're added to the database. 2013-03-05 01:52:09 +00:00
akwizgran
cabc13a701 Increased queue capacity of database executor. 2013-03-04 23:54:13 +00:00
akwizgran
a651e8ef73 Removed subject line from wire format, added content type. 2013-03-02 04:45:02 +00:00
akwizgran
882420ebc2 Added a method for getting one contact's private messages from the DB. 2013-03-02 03:31:39 +00:00
akwizgran
e132564993 Seen flag was being set incorrectly for private messages. 2013-03-02 02:48:45 +00:00
akwizgran
71e1dd9acb Changed database cleaning constants to suit smaller devices. 2013-03-01 22:13:08 +00:00
akwizgran
93beb6709c Fixed an ambiguous column name in a SQL join. 2013-03-01 20:40:41 +00:00
akwizgran
7ed85c62c3 Fixed inconsistent locking in database.
Previously, when table A had a foreign key pointing to table B, we got
read locks on A and B to read A, a write lock on A and a read lock on
B to update A, and a write lock on B to update B (but this wasn't
applied consistently). Now we get a read lock on A to read A, a write
lock on A to update A, and write locks on A and B to update B. The
difference is small in practice, but clarifying the rules has helped to
catch some bugs.
2013-02-28 17:00:55 +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
330889a439 Fixed an ambiguous column name and erroneous javadoc comments. 2013-02-27 18:09:49 +00:00
akwizgran
1e8a8d985d Added lastConnected timestamp to Contact, for display in contact list. 2013-02-27 15:12:01 +00:00
akwizgran
b4de633823 Removed UNSIGNED from column declarations. 2013-02-27 14:48:55 +00:00
akwizgran
75cab35864 Added ConnectionListener interface for contact list and supporting code. 2013-02-22 17:36:37 +00:00
akwizgran
e99d42e0ac Closing the socket on shutdown sometimes causes a crash; don't close it. 2013-02-19 19:18:53 +00:00
akwizgran
9215537d80 Refactored bundle encryption code. 2013-02-19 00:41:50 +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
b8cf58c426 Key manager should listen for TransportRemovedEvent and erase keys. 2013-02-18 15:55:41 +00:00
akwizgran
d1fedaed57 Replaced InvitationManager with a generic ReferenceManager for Android. 2013-02-14 13:04:51 +00:00
akwizgran
9bf96d4c5a Converted MessageHeader from an interface to a value class. 2013-02-12 17:42:58 +00:00
akwizgran
96f8e49d64 Added names to contacts, created Contact class in API. 2013-02-12 17:38:49 +00:00
akwizgran
d18fc1330b Plugin manager must add transports to the DB before activating them. 2013-02-12 16:04:22 +00:00
akwizgran
e0f6948bc4 Fixed injection problems with plugin and reliability modules. 2013-02-12 14:18:43 +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
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
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
48cc55c43b Upgraded Silvertunnel to version 0.15. 2013-02-01 18:05:29 +00:00