Commit graph

84 commits

Author SHA1 Message Date
Moxie Marlinspike 20fd881613 Display error code from server when already registered elsewhere. 2014-02-25 17:00:31 -08:00
Moxie Marlinspike 559228af5b Fix for bug modifying immutable list. 2014-02-24 14:19:43 -08:00
Moxie Marlinspike e8a0fac05b Fix for identity key mismatch on devices with V1 identities. 2014-02-24 14:19:17 -08:00
Moxie Marlinspike ca2eecaedf Add advanced preference for refreshing push directory. 2014-02-23 15:12:40 -08:00
Moxie Marlinspike a6e1d56cde Refactor group messaging protocol.
// FREEBIE
2014-02-21 17:51:52 -08:00
Moxie Marlinspike 19dddd7adf Support for an 'end session' protocol message.
1) On the push side, this message is a flag in PushMessageContent.
   Any secure message with that flag will terminate the current
   sessin.

2) On the SMS side, there is an "end session" wire type and
   the convention that a message with this wire type must be
   secure and contain the string "TERMINATE."
2014-02-19 13:50:32 -08:00
Jake McGinty 649f037ed8 apply same fix used on DecryptingPartInputStream to AttachmentCipherInputStream // FREEBIE 2014-02-18 16:42:44 -08:00
Jake McGinty d19ab04bdd gradle wrapper 1.10, android plugin 0.8, android support 19.0.1 //
FREEBIE
2014-02-18 16:42:40 -08:00
Moxie Marlinspike 3999171377 Introduce registration-time ID for detecting stale sessions.
1) At registration time, a client generates a random ID and
   transmits to the the server.

2) The server provides that registration ID to any client
   that requests a prekey.

3) Clients include that registration ID in any
   PreKeyWhisperMessage.

4) Clients include that registration ID in their sendMessage
   API call to the server.

5) The server verifies that the registration ID included in
   an API call is the same as the current registration ID
   for the destination device.  Otherwise, it notifies the
   sender that their session is stale.
2014-02-18 12:51:23 -08:00
Moxie Marlinspike 9bb327db42 Handle SMS fallback preferences correctly, and fix directory sync. 2014-02-17 15:31:42 -08:00
Moxie Marlinspike b9f4fba98a Handle identity key mismatch on outgoing group messages.
Additionally, make the group creation process asynchronous.
2014-02-17 11:43:37 -08:00
Moxie Marlinspike 7d3a2acb29 Fix build 2014-02-14 16:41:06 -08:00
Moxie Marlinspike 9438973eac Switch to protobuf enums for push signal type. 2014-02-14 16:20:47 -08:00
Jake McGinty b4a4e629f1 alignment and string work 2014-02-12 12:05:18 -08:00
Jake McGinty 9cd5a67ec5 directory changes to use number instead of token, group ui progress 2014-02-12 11:35:04 -08:00
Moxie Marlinspike 0af473d880 Merge branch 'groups' of github.com:WhisperSystems/TextSecure into groups 2014-02-03 11:52:27 -08:00
Moxie Marlinspike 0ace469d74 Support for multi-device.
1) In addition to the Recipient interface, there is now
   RecipientDevice.  A Recipient can have multiple corresponding
   RecipientDevices.  All addressing is done to a Recipient, but
   crypto sessions and transport delivery are done to
   RecipientDevice.

2) The Push transport handles the discovery and session setup
   of additional Recipient devices.

3) Some internal rejiggering of Groups.
2014-02-02 19:38:06 -08:00
Jake McGinty 9fd2c4753e ui wip 2014-01-25 23:39:56 -08:00
Moxie Marlinspike 49daa45dca wip 2014-01-14 00:26:43 -08:00
Moxie Marlinspike 71664926e9 Better handling for unregistered users on outgoing message. 2014-01-06 14:38:41 -08:00
Moxie Marlinspike 3c3028c8e3 Typo 2014-01-06 14:38:15 -08:00
Moxie Marlinspike 842df1ac39 Remove receiver chains that are 5 old. 2014-01-06 14:38:15 -08:00
Moxie Marlinspike ff0dff745c Let's order 3DHE by Alice/Bob roles. 2014-01-06 14:38:15 -08:00
Moxie Marlinspike d4188c4a1c SHA256 attachment MACs. 2014-01-06 14:38:14 -08:00
Moxie Marlinspike f002072f38 New attachment API 2014-01-06 14:38:14 -08:00
Moxie Marlinspike 72be77b47e Catch bad prekeys 2014-01-06 14:38:14 -08:00
Moxie Marlinspike 327ee4ff62 Remove unnecessary classes, up prekey limit to 100 2014-01-06 14:38:14 -08:00
Moxie Marlinspike 1ab4e7e9de Library accepts push connection certificate as argument. 2014-01-06 14:38:14 -08:00
Moxie Marlinspike ce5f3c5157 Validate phone numbers when formatting. 2014-01-06 14:37:52 -08:00
Moxie Marlinspike f7b71e5e28 Add info to MessageKey HKDF, change order of RootKey derivation. 2014-01-06 14:37:52 -08:00
Moxie Marlinspike 44092a3eff Support for Axolotl protocol.
1) Split code into v1 and v2 message paths.

2) Do the Axolotl protocol for v2.

3) Switch all v2 entities to protobuf.
2014-01-06 14:37:52 -08:00
Moxie Marlinspike dc73bc2a5c Having calling code specify push URL to library. 2014-01-06 14:37:52 -08:00
Moxie Marlinspike f8dda5afd6 Missing comma 2014-01-06 14:37:51 -08:00
Moxie Marlinspike 7e926d08ac Better relay handling. 2014-01-06 14:37:51 -08:00
Moxie Marlinspike f10d6a7b0b Lets use strict wildcard matching. 2014-01-06 14:36:23 -08:00
Moxie Marlinspike 320cc84392 Update production endpoint. 2014-01-06 14:36:23 -08:00
Moxie Marlinspike 07b7696937 Update 'DJB' type not to conlict with NIST type 0x04. 2014-01-06 14:36:23 -08:00
Moxie Marlinspike c38a8aa699 Migrate to Curve25519.
1) Generate a Curve25519 identity key.

2) Use Curve25519 ephemerals and identities for v2 3DHE agreements.

3) Initiate v2 key exchange messages.

4) Accept v1 key exchange messages.

5) TOFU Curve25519 identities.
2014-01-06 14:36:22 -08:00
Moxie Marlinspike a03fff8b24 Add HKDF support for new sessions. 2014-01-06 14:36:22 -08:00
Moxie Marlinspike dbc070cd65 Refactor the ciphertext message parsing and building. 2014-01-06 14:36:22 -08:00
Moxie Marlinspike 6e640db39c 204 is ok 2014-01-06 14:36:21 -08:00
Moxie Marlinspike 44d59d0fd1 Correctly store destination SMS state. 2014-01-06 14:36:21 -08:00
Moxie Marlinspike 51b9affe90 Add federation support for attachment retrieval. 2014-01-06 14:36:21 -08:00
Moxie Marlinspike 246cd10454 Bundle e164 and relay into PushDestination 2014-01-06 14:36:21 -08:00
Moxie Marlinspike ca3c82f581 Simply PushServiceSocket constructor. 2014-01-06 14:36:21 -08:00
Moxie Marlinspike 5b2caa0074 Make relay arguments consistent. 2014-01-06 14:36:21 -08:00
Moxie Marlinspike fa073e0b46 Update gradle plugin version 2014-01-06 14:36:21 -08:00
Moxie Marlinspike 7fd9946275 Fix release push service url 2014-01-06 14:35:54 -08:00
Moxie Marlinspike fa5ccc3f8a Support for server federation. 2014-01-06 14:35:54 -08:00
Moxie Marlinspike e7a21752d8 Switch code API to GET. 2014-01-06 14:35:54 -08:00