akwizgran
79d9b4b6af
Raised minimum Android version to 2.3 (API 9). #23
2015-12-02 13:20:55 +00:00
akwizgran
7841ae52ca
Renamed SerialModule, fixed Roboguice module list.
2015-11-30 16:47:33 +00:00
akwizgran
7eb7257076
Added project files for Android Studio.
2015-11-30 11:49:44 +00:00
akwizgran
027ae8340f
Whitespace-only code formatting changes.
2015-11-30 09:38:25 +00:00
akwizgran
d519c543a6
Represent booleans with a single byte.
2015-05-02 21:12:33 +01:00
akwizgran
41c4c4d808
Renamed raw data type.
2015-05-02 21:05:23 +01:00
akwizgran
b8e37a5421
Renamed serial component to data, moved consumers to briar-core.
2015-05-02 20:39:24 +01:00
akwizgran
416719e3d9
Removed silly SerialComponent interface.
2015-05-02 20:30:25 +01:00
akwizgran
32c9ce50d9
Moved the messaging protocol one step closer to BSP.
...
This breaks backward compatibility for the wire protocol and messages
stored in the database. The database schema version has been
incremented.
2015-05-01 16:59:27 +01:00
akwizgran
dea5a44724
Simpler forum sharing UX.
2015-04-29 15:08:58 +01:00
akwizgran
6135bea2b4
Support Tor on Android x86 (thanks to n8fr8).
2015-04-16 08:02:57 +01:00
akwizgran
18503af665
Updated Bouncy Castle source jar.
2015-04-08 08:44:15 +01:00
akwizgran
b558218d48
Upgraded Bouncy Castle to 1.52.
2015-04-04 12:19:22 +01:00
akwizgran
a1d2aaf10e
Use JDK 1.7, target Android 5.1.
2015-04-03 20:56:01 +01:00
akwizgran
f8a4a4920d
Merge branch 'AbrahamKiggundu/briar-master': better lock encapsulation
2015-01-29 11:28:48 +00:00
akwizgran
0dbfd7073f
Comments to indicate which locks guard which variables.
2015-01-29 11:12:41 +00:00
akwizgran
47bd84122e
Code formatting and small cleanups.
2015-01-28 21:18:31 +00:00
akwizgran
7fbad8dc26
Use FortunaGenerator to implement PseudoRandom.
2015-01-14 20:46:03 +00:00
akwizgran
1c7432cac4
Use a provider to instantiate AuthenticatedCipher.
2015-01-14 19:59:38 +00:00
akwizgran
6ff8f5ce69
Don't close the connection until both peers have finished. Bug #78 .
2015-01-14 19:58:54 +00:00
akwizgran
03247aedd6
Log how long it takes to generate and verify signatures.
2015-01-14 19:09:37 +00:00
akwizgran
920c81199e
Forgot to update some constants to reflect the new crypto primitives.
2015-01-14 16:38:15 +00:00
akwizgran
112d80420c
Downgrade to 256-bit curve for performance.
...
Also reduced hash function to 256 bits because our target security level
is now 128 bits.
2015-01-09 13:23:44 +00:00
akwizgran
5d46d3a4b4
AuthenticatedCipher interface isn't needed outside crypto package.
2015-01-09 13:06:44 +00:00
akwizgran
dc5e37a96d
Remove AAD from AuthenticatedCipher interface.
2015-01-09 13:01:02 +00:00
Abraham Kiggundu
851151041e
Pull-Merge of latest changes from main repo
2015-01-08 11:54:47 +03:00
Abraham Kiggundu
8d25840a1d
Fixed bug calling notifyAll instead of signalAll
2015-01-07 00:47:27 +03:00
akwizgran
4e57029d98
Use constant-time GCM multiplier.
2015-01-06 19:30:11 +00:00
akwizgran
1f69f0d2f6
Variable-length frames (untested).
2015-01-05 17:35:45 +00:00
akwizgran
d3bf2d59a1
Use the same maximum frame length for all transports.
2015-01-05 16:24:44 +00:00
akwizgran
358166bc12
Don't try to erase secrets from memory.
...
1. The things we're really trying to protect - contact identities,
message contents, etc - can't be erased from memory because they're
encapsulated inside objects we don't control.
2. Long-term secrets can't be protected by erasing them from memory
because they're stored in the database and the database key has to be
held in memory whenever the app's running.
3. If the runtime uses a compacting garbage collector then we have no
way to ensure an object is erased from memory.
4. Trying to erase secrets from memory makes the code more complex.
Conclusion: Let's not try to protect secrets from an attacker who can
read arbitrary memory locations.
2014-12-29 21:08:27 +00:00
akwizgran
f316d64afa
Moved stream crypto to crypto component.
2014-12-29 19:55:05 +00:00
Abraham Kiggundu
9a2e93ebb9
cleanup
2014-12-26 17:35:37 +03:00
Abraham Kiggundu
b074978472
Improved encapsulation of thread synchronisation as follows
...
- replaced use of Object instance mutex with a private final Lock object
- replaced Object signaling with specific condition signalling
2014-12-26 16:40:46 +03:00
akwizgran
388b36b6be
Check periodically for retransmittable packets. Bug #46 .
2014-12-14 20:26:41 +00:00
akwizgran
29a6596ee3
Use the transport's idle timeout, not a hardcoded value.
2014-12-14 15:18:39 +00:00
akwizgran
d4fa656dbb
Application layer keepalives to detect dead TCP connections.
...
DuplexOutgoingSession flushes its output stream if it's idle for a
transport-defined interval, causing an empty frame to be sent. The TCP
and Tor plugins use a socket timeout equal to twice the idle interval to
detect dead connections.
See bugs #27 , #46 and #60 .
2014-12-13 12:00:40 +00:00
akwizgran
f0f5daf607
Updated Bouncy Castle source code.
2014-12-05 13:32:59 +00:00
akwizgran
0b9671a0fa
Updated Bouncy Castle source code.
2014-12-04 12:06:41 +00:00
akwizgran
6b4a72aea7
Added Gradle build files because Ant's too efficient for some people.
2014-11-25 14:54:34 +00:00
akwizgran
ab467b3d3e
Flush the output stream before rather than after waiting for packets.
...
See bug #27 .
2014-11-09 18:03:24 +00:00
akwizgran
4b92de619c
Added missing packet handlers to IncomingSession.
2014-11-09 17:20:06 +00:00
akwizgran
c280e213c8
Don't send tags for invitation connections.
2014-11-09 17:11:16 +00:00
akwizgran
8584194138
Removed redundant parameter checks.
2014-11-09 16:59:08 +00:00
akwizgran
9dbabdeceb
Document the contract of DatabaseExecutor.
2014-11-08 16:40:22 +00:00
akwizgran
4009561996
Refactored PluginManager and Poller to remove non-open calls. Bug #15 .
2014-11-08 15:40:51 +00:00
akwizgran
c2d6e9afde
Some variables were still referring to TagRecogniser by its old name.
2014-11-06 20:51:10 +00:00
akwizgran
d321bc0a3e
Renamed some inner classes to match the renamed outer class.
2014-11-06 13:53:59 +00:00
akwizgran
1d20761123
Messaging sessions aren't responsible for closing their streams.
...
The TransportReader/Writer's dispose() method should handle that, and
ConnectionManager is responsible for calling it.
2014-11-06 13:13:23 +00:00
akwizgran
b27a17db88
Erase temporary secrets after deriving keys.
2014-11-06 08:39:07 +00:00