Commit Graph

231 Commits

Author SHA1 Message Date
akwizgran d0342f9a4e Merge branch 'junit-4-not-3' into 'master'
Don't mix JUnit 4's @Test with JUnit3's TestCase.

This is the world's most boring merge request. Android Studio was complaining about using JUnit 4's @Test annotations with JUnit 3's TestCase, so I fixed it.

Most of the changes come from Android Studio organising imports in a different order from Eclipse.

See merge request !8
2015-12-09 13:23:42 +00:00
Ernir Erlingsson 2a61fa94d1 modified .gitignore and removed *.iml from git 2015-12-09 00:33:22 +01:00
akwizgran 123dff3a3d Don't mix JUnit 4 annotations with JUnit3 TestCase. 2015-12-08 14:53:50 +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
akwizgran 2d346f7b73 Fixed library paths in Android Studio project files. 2015-12-03 11:33:46 +00:00
akwizgran 8ae3fb3e35 Upgraded Spongy Castle to 1.53, fixed tests. #146 2015-12-03 11:12:16 +00:00
akwizgran 427efdc7d6 Raise minimum Java version to 6, upgrade H2. #24 2015-12-02 14:59:51 +00:00
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 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 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
akwizgran ed79719bab Unit tests for StreamEncrypterImpl. 2015-01-05 18:55:17 +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
akwizgran 388b36b6be Check periodically for retransmittable packets. Bug #46. 2014-12-14 20:26:41 +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 64d644d8b8 Clean up output streams in unit test.
This fixes some lint warnings and may also fix dev task #102.
2014-12-05 19:22:35 +00:00
akwizgran d94637b5cf Removed polling from ModemPlugin. 2014-12-05 12:46:11 +00:00
akwizgran 33d36b6ec4 Skip platform-specific tests when testing on another platform. 2014-12-05 10:28:34 +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 c280e213c8 Don't send tags for invitation connections. 2014-11-09 17:11:16 +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 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 852a618cb3 Interrupt messaging session if contact or transport is removed. 2014-11-06 08:10:29 +00:00
akwizgran c202b6f0ac Renamed ConnectionManager to ConnectionDispatcher.
Because that's what it does.
2014-11-05 19:47:54 +00:00
akwizgran 4ca83842d1 Moved ConnectionDispatcher and ConnectionRegistry to plugins package. 2014-11-05 19:40:07 +00:00
akwizgran 26d93b83b4 Factored out StreamReader/Writer from messaging layer. 2014-11-05 19:22:01 +00:00
akwizgran 33c3eb7308 PacketWriters aren't responsible for flushing their output streams. 2014-11-04 17:03:06 +00:00
akwizgran 7b8181e309 Massive refactoring to merge handling of simplex and duplex connections. 2014-11-04 16:51:25 +00:00
akwizgran b24f153704 Renamed a load of things from 'connection' to 'stream'. 2014-10-08 16:21:55 +01:00