Commit Graph

692 Commits

Author SHA1 Message Date
akwizgran a5b09a0f65 Better notifications. Development task #67. 2014-03-07 12:21:12 +00:00
akwizgran 250afa7642 Added javadoc comments to plugin factory interfaces. 2014-03-06 13:20:28 +00:00
akwizgran 0198e40719 Made coding style consistent with rest of project. 2014-03-06 13:16:20 +00:00
Ximin Luo 48e5d5123e add documentation and pointer to hidden Google API
- fallback to SIM card before phone locale
- add disabled code to lookup the country from GPS, disabled because it requires a network call
2014-03-05 22:19:59 +00:00
Ximin Luo 9697b351e9 add the ability for briar-android to get the current country.
- this will be useful later for e.g. auto-disabling Tor
2014-03-05 15:13:50 +00:00
akwizgran a2d099ea17 Added debugging screen to alpha and beta builds. Dev task #73. 2014-02-28 23:44:35 +00:00
akwizgran 71a31c2a7a Include creation time in LocalAuthor.
This allows the oldest LocalAuthor to be used as the default.
2014-02-10 12:14:09 +00:00
akwizgran 0960a345e0 Argh, god damn it, removed Java 1.6 methods again. 2014-02-09 19:36:25 +00:00
akwizgran 9e8bf5b1aa Set a flag in MessageHeader to indicate whether the message is local. 2014-02-09 16:02:11 +00:00
akwizgran 4154119ea5 Convert to and from UTF-8 without catching impossible exceptions.
All JVMs must support UTF-8 encoding.
2014-02-07 22:02:02 +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 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 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 822392f9e7 Use strings rather than hashes to identify transports. Dev task #64. 2014-01-24 10:39:34 +00:00
akwizgran e5353dc6d4 Replaced AuthenticatedCipher opmode with a boolean. 2014-01-16 18:59:02 +00:00
akwizgran 6af3c54c28 Removed shouldFlush() from plugins, added missing PacketWriter method. 2014-01-15 17:10:25 +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 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 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 ea47420e99 Add a password strength meter to SetupActivity. Dev task #42. 2014-01-09 01:29:00 +00:00
akwizgran bacd8ec0c0 Renamed some variables to match new class names. 2014-01-08 16:37:36 +00:00
akwizgran 832476412c Changed the root package from net.sf.briar to org.briarproject. 2014-01-08 16:18:30 +00:00
akwizgran dce70f487c Merged clock and os packages, moved events into their own package. 2014-01-08 15:45:02 +00:00
akwizgran c232d0ceb1 Asynchronous offers and requests for BMP.
Offered and requested message IDs are stored in the database rather than
being owned by DuplexConnections. This paves the way for moving to a
simplex transport layer.
2014-01-04 16:03:31 +00:00
akwizgran ff01b181bc Renamed a database method. 2013-12-22 01:56:11 +00:00
akwizgran 51b3a10be2 Removed public/private groups from the wire protocol.
The distinction between inbox groups and other groups can be maintained
internally, there's no need to represent it on the wire.
2013-12-20 13:32:36 +00:00
akwizgran caec26e9cd Only allow one private group (the inbox) to be shared with each contact. 2013-12-19 22:12:49 +00:00
akwizgran 0dc869228b Replaced private messages with private groups.
Private messages are now the same as group messages, but groups can be
private or public. When a contact is added, a private group is created
and designated as the inbox for exchanging private messages with the
contact.
2013-12-19 21:53:26 +00:00
akwizgran 1d4213e9c6 When replying to a message, don't use an earlier timestamp.
This produces a saner user experience when devices have differing
clocks.
2013-12-11 16:25:00 +00:00
akwizgran 47708d489d Added the ability to remove pseudonyms from the database. 2013-12-10 22:23:37 +00:00
akwizgran 3e6d7ba66a Removed subject line, which won't be used in new conversation views. 2013-11-30 15:09:26 +00:00
akwizgran 766b6f067a Use javax.inject annotations rather than the Guice versions. 2013-11-29 14:12:39 +00:00
akwizgran 27c4306e03 Switched from NIST curve P-384 to RFC 5639 curve brainpoolP384r1. 2013-11-24 15:11:46 +00:00
akwizgran 3b5769cf8a Use Java 1.6 instead of 1.5. We no longer aim to support OS X 10.4. 2013-11-22 12:00:00 +00:00
akwizgran 1a351535be The response to a BMP Offer is now an Ack and/or a Request.
The Request packet now contains a list of message IDs, rather than a
bitmap referring to the list of messages IDs in the Offer. This allows
the Request to be understood out of context, e.g. if the Offer and
Request are sent over separate connections or a connection is replayed.
2013-11-19 22:13:26 +00:00
akwizgran 2e472c1d16 Added the ability to skip serialised objects. 2013-11-19 21:28:53 +00:00
akwizgran 6764ade475 Delimited structs - this will allow us to skip unrecognised structs. 2013-11-19 18:05:44 +00:00
akwizgran 7b01e42da8 Removed the ability to star messages (unused in UI). 2013-09-27 18:15:43 +01:00
akwizgran 0a153acd02 Removed peer moderation (may be restored after beta testing). 2013-09-27 18:04:27 +01:00
akwizgran b94954544d Removed restricted groups (may be restored after beta testing). 2013-09-27 15:11:04 +01:00
akwizgran c868764244 Separate FileUtils implementations for Android and desktop builds.
The method used by Commons IO to get the available disk space fails on
Android devices that lack a df binary - use the Android API instead.
2013-07-27 20:50:05 +01:00
akwizgran d02266d827 Moved Android-specific plugin code into briar-android project.
This removes the other projects' dependency on the Android API.
2013-06-27 16:26:52 +01:00
akwizgran 3e0c16b59a Removed all uses of JCE so we can use full-strength crypto on all JVMs. 2013-06-17 16:29:46 +01:00
akwizgran 1808ceaf58 Replaced further JCE calls with direct instantiation of SC objects. 2013-06-14 12:22:32 +01:00
akwizgran 3054605a79 Set javac's target version to Java 1.5 in the ant buildfiles. 2013-06-13 18:38:54 +01:00
akwizgran e1ec17f4b6 Made the invitation protocol symmetrical.
Both devices try to make outgoing connections and accept incoming
connections simultaneously. This should lead to faster connection
establishment when there are asymmetrical connectivity problems, such as
devices that are unable to receive LAN multicast packets or make
themselves discoverable via Bluetooth.
2013-06-13 13:10:22 +01:00
akwizgran 08b11412fb Allow plugins to use different maximum frame lengths. 2013-06-05 14:16:44 +01:00
akwizgran 37e68d5e9e Register the DatabaseUiExecutor for shutdown by the LifecycleManager.
See issue #3612607.
2013-05-16 15:39:41 +01:00