Commit Graph

1244 Commits

Author SHA1 Message Date
akwizgran
cd49254559 Make all activities inherit from BriarActivity.
This will allow any activity to show the expiry warning and password
prompt, and to start and stop BriarService.

SplashScreenActivity, SetupActivity, ExpiryActivity and PasswordActivity
are special cases.
2014-02-05 15:17:17 +00:00
akwizgran
843ad55163 Distinguish request and result codes of different activities. 2014-02-05 15:03:28 +00:00
akwizgran
8d850b290c Refactored HomeScreenActivity into several smaller classes. 2014-02-05 14:30:13 +00:00
akwizgran
f62d964332 Show logo in splash screen. 2014-02-05 12:36:40 +00:00
akwizgran
3a036551c3 Remove the service from the foreground before exiting. 2014-02-05 12:07:06 +00:00
akwizgran
1ac8524dc2 Allow the code and the DB to have different but compatible schemas.
We check for compatibility by specifying a schema version and minimum
schema version in the code, storing them in the DB, and checking whether
the DB is too old for the code or vice versa.
2014-02-04 19:51:41 +00:00
akwizgran
597c907a42 Don't launch anything from the startup failure notification. 2014-02-04 19:26:06 +00:00
akwizgran
3842a5c70d Code cleanup. 2014-02-04 19:05:48 +00:00
akwizgran
5419a9e10c Use Adapter.notifyDataSetChanged() rather than View.invalidateViews().
This may help with bug #27, but it doesn't solve it in all cases (eg the
contact's device restarting).
2014-02-04 19:05:31 +00:00
akwizgran
a45d09ef5c Show whether identities are anonymous, unknown, or verified.
Dev task #52. Known but unverified identities are also supported, but
currently unused. These will be used in future for contacts who've been
introduced but not verified face to face.
2014-02-04 12:32:51 +00:00
akwizgran
035fc4324f Bumped the expiry date to 7 February 2014. 2014-02-04 12:08:10 +00:00
akwizgran
22c7ae541a Maximum name length is specified in UTF-8 bytes, not characters. 2014-01-31 17:32:04 +00:00
akwizgran
cde4ca574f Check that author and group names aren't empty. 2014-01-31 17:23:14 +00:00
akwizgran
93890d56f6 GroupReader was looking for an optional key, not a mandatory salt.
This should've been changed when restricted groups were removed.
2014-01-31 17:21:51 +00:00
akwizgran
85b02eccc7 Select newly created identity on return from CreateIdentityActivity.
This partially fixes dev task #40. CreateIdentityActivity is also called
from AddContactActivity, but that's likely to change soon so I'm not
going to fix it now.
2014-01-30 11:06:26 +00:00
akwizgran
0bc479d4f2 Set default log level at startup. 2014-01-29 16:05:17 +00:00
akwizgran
9cc43d4b57 Updated version number. 2014-01-29 16:04:14 +00:00
akwizgran
67c7e3e13c New logo and launcher icon. 2014-01-29 15:25:49 +00:00
akwizgran
d52139e99b Use JUnit's Assume to skip tests rather than returning from the tests.
This way the tests won't show up as having run if they didn't.
2014-01-28 21:55:57 +00:00
akwizgran
905eaa5c69 DB cleaner counts transactions rather than bytes stored. Dev task #55. 2014-01-25 13:39:55 +00:00
akwizgran
c67869dac1 Skip special files (symlinks etc) when calculating disk space. 2014-01-25 13:39:12 +00:00
akwizgran
aee695b913 Don't enable the WAN TCP plugin on Android.
Direct P2P connections between mobile devices are unlikely to work, and
they'd expose the social graph to surveillance.
2014-01-24 21:13:31 +00:00
akwizgran
f1d3093ee2 Bumped the expiry date to 31 January 2014. 2014-01-24 21:02:56 +00:00
akwizgran
1a631d9053 Simplified the expiry date logic to catch bug #35.
Leaving the expiry date at 22 January until the fix is confirmed.
2014-01-24 20:50:02 +00:00
akwizgran
822392f9e7 Use strings rather than hashes to identify transports. Dev task #64. 2014-01-24 10:39:34 +00:00
akwizgran
468db2a97b Use a mock timer to test the database cleaner. 2014-01-16 20:17:26 +00:00
akwizgran
44bb9134d4 Reversing unintentionally pushed change: don't share Timer instances. 2014-01-16 19:31:28 +00:00
akwizgran
569b59624a Use a daemon thread for the timer. 2014-01-16 19:15:33 +00:00
akwizgran
66619ec1e7 Use a single Timer instance. 2014-01-16 19:12:27 +00:00
akwizgran
e5353dc6d4 Replaced AuthenticatedCipher opmode with a boolean. 2014-01-16 18:59:02 +00:00
akwizgran
4ac85e955f Deterministic signatures (RFC 6979). 2014-01-16 18:52:59 +00:00
akwizgran
f97039318a Use integer maths to convert bits to bytes. 2014-01-16 18:02:34 +00:00
akwizgran
14e1cd6072 Normalise elliptic curve points. 2014-01-16 15:35:25 +00:00
akwizgran
a168a7ba89 Upgraded to BouncyCastle 1.50. Added bouncy -> spongy conversion script. 2014-01-16 15:21:42 +00:00
akwizgran
6af3c54c28 Removed shouldFlush() from plugins, added missing PacketWriter method. 2014-01-15 17:10:25 +00:00
akwizgran
c146da2e7a Use SHA-384 rather than SHA-1 for PBKDF2. 2014-01-15 14:05:33 +00:00
akwizgran
941f088781 Updated Tor's GeoIP database. 2014-01-15 13:03:12 +00:00
akwizgran
db96994d5c Simplified the serialisation format. Other task #39.
The new format is simpler but less efficient for small integers, short
strings and short byte arrays.
2014-01-14 22:40:47 +00:00
akwizgran
8886d954d7 Reorganised Guice modules. Contribute entropy to pool on Linux/Android. 2014-01-14 19:33:17 +00:00
akwizgran
46863b8c1b Log how long it takes Guice to construct its object graph. 2014-01-14 18:59:40 +00:00
akwizgran
bd980f6731 Bumped the expiry date to 22 January 2014. 2014-01-14 18:59:18 +00:00
akwizgran
6f161103ae Log the timing of startup tasks so we can find bottlenecks. 2014-01-13 21:58:34 +00:00
akwizgran
c9928348ef Use the Fortuna generator instead of the JVM's SecureRandom. Bug #4.
Note that this is only the generator part of Fortuna, not the
accumulator. The generator requires a seed, which is provided by a
platform-specific implementation of SeedProvider. On Linux the
implementation reads the seed from /dev/urandom.
2014-01-13 19:16:33 +00:00
akwizgran
a565e0c749 Removed unused ZipUtils and unit tests. 2014-01-13 19:04:25 +00:00
akwizgran
6a03752e4b When integers are converted to fixed length, ensure any padding is zero. 2014-01-10 15:13:09 +00:00
akwizgran
623e7330ed Store schema version in database. Dev task #50.
If the schema of the database is incompatible with the schema expected
by the code, the database throws a DbSchemaException. LifecycleManager
indicates the error to BriarService, which uses HomeScreenActivity to
show a notification and quit the app.
2014-01-09 21:00:40 +00:00
akwizgran
c779d7b95a Inform Tor about network connectivity. Dev task #53.
Note that some devices (I'm looking at you, Huawei U8110) misreport
connectivity by failing to set EXTRA_NO_CONNECTIVITY and returning true
from ConnectivityManager.getActiveNetworkInfo().isConnected() when
there's no connectivity.
2014-01-09 14:45:41 +00:00
akwizgran
0cebc42ddb Padding now depends on screen size. Closes dev task #57. 2014-01-09 12:42:19 +00:00
akwizgran
452f8bd7e1 Fiddled with colours for password strength meter. 2014-01-09 01:38:15 +00:00
akwizgran
ea47420e99 Add a password strength meter to SetupActivity. Dev task #42. 2014-01-09 01:29:00 +00:00