Commit Graph

101 Commits (9e74b5c8921f4e683492e279d9c41f15300f43f1)

Author SHA1 Message Date
Moxie Marlinspike 7e926d08ac Better relay handling. 11 years ago
Moxie Marlinspike f10d6a7b0b Lets use strict wildcard matching. 11 years ago
Moxie Marlinspike 320cc84392 Update production endpoint. 11 years ago
Moxie Marlinspike 07b7696937 Update 'DJB' type not to conlict with NIST type 0x04. 11 years ago
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.
11 years ago
Moxie Marlinspike a03fff8b24 Add HKDF support for new sessions. 11 years ago
Moxie Marlinspike dbc070cd65 Refactor the ciphertext message parsing and building. 11 years ago
Moxie Marlinspike 6e640db39c 204 is ok 11 years ago
Moxie Marlinspike 44d59d0fd1 Correctly store destination SMS state. 11 years ago
Moxie Marlinspike 51b9affe90 Add federation support for attachment retrieval. 11 years ago
Moxie Marlinspike 246cd10454 Bundle e164 and relay into PushDestination 11 years ago
Moxie Marlinspike ca3c82f581 Simply PushServiceSocket constructor. 11 years ago
Moxie Marlinspike 5b2caa0074 Make relay arguments consistent. 11 years ago
Moxie Marlinspike fa073e0b46 Update gradle plugin version 11 years ago
Moxie Marlinspike 7fd9946275 Fix release push service url 11 years ago
Moxie Marlinspike fa5ccc3f8a Support for server federation. 11 years ago
Moxie Marlinspike e7a21752d8 Switch code API to GET. 11 years ago
Moxie Marlinspike b010c5194a Support publishing AARs to maven local 11 years ago
Moxie Marlinspike 1ac32346c1 Graduate to a rebased and gradle world. 11 years ago
Moxie Marlinspike 2d083208cc Handle negative directory case and unlisted contacts. 11 years ago
Moxie Marlinspike 75cca3add1 Resign ourselves to a less sophisticated contact intersection method. 11 years ago
Moxie Marlinspike 073b1f69e3 Rollbacks, v2 sms-transport key exchanges, push identity conflicts.
1) Stop protocol rollbacks.

2) Handle v2 version key exchange messages.

3) Handle identity key conflicts on prekeybundle messages.
11 years ago
Moxie Marlinspike 5e6d39beea Move classes into library 11 years ago
Moxie Marlinspike 8f6590b738 Handle notifications and receiving push when locked. 11 years ago
Moxie Marlinspike 0dd36c64a4 Basic support for encrypted push-based attachments.
1) Move the attachment structures into the encrypted message body.

2) Encrypt attachments with symmetric keys transmitted in the
   encryptd attachment pointer structure.

3) Correctly handle asynchronous decryption and categorization of
   encrypted push messages.

TODO: Correct notification process and network/interruption
      retries.
11 years ago
Moxie Marlinspike cddba2738f Make encoding/decoding more explicit. 11 years ago
Moxie Marlinspike 0cc5837d7f Support encrypted transport, properly handle multiple recipients.
1) Add encryption support for the transport layer.  This obscures
   metadata from the push messaging provider.

2) Better support the direction multiple destination messages is
   headed (one unique message per recipient).
11 years ago
Moxie Marlinspike 68ec0a3727 Add last resort key and signaling key. 11 years ago
Moxie Marlinspike 45e380a5bb move constants into library 11 years ago
Moxie Marlinspike 1bbcedabd4 Added SMS transport support for PreKeyBundle messages.
1) Added SMS transport support.

2) Keep track of whether a PreKeyBundle message has gotten
   a response, and send them as subsequent messages until
   one has been received.
11 years ago
Moxie Marlinspike 43492b66c4 Rename EncryptedMessage 11 years ago
Moxie Marlinspike 90814be167 Fix up release parameters 11 years ago
Moxie Marlinspike 7f642666dd Basic support for prekeybundle message delivery and receipt. 11 years ago
Moxie Marlinspike 1cc2762656 Refactor relationship between SessionCipher and Message. 11 years ago
Moxie Marlinspike d1969412fb Move PreKey ids to be Mediums, generate in circular buffer. 11 years ago
Moxie Marlinspike edb89ee3e9 Encode prekey as full JSON rather than protobuf blobs.
1) Split prekey messages out into full JSON.

2) Add support for retrieving prekeys.
11 years ago
Moxie Marlinspike 499de2d2bf Move prekey jsonifcation into the push code, add identity key. 11 years ago
Moxie Marlinspike b8f663b69c Move common crypto classes into TextSecureLibrary.
1) Move all the crypto classes from securesms.crypto.

2) Move all the crypto storage from securesms.database.keys

3) Replace the old imported BC code with spongycastle.
11 years ago
Moxie Marlinspike 2042ca6cb7 Generate "prekeys" at push registration time.
This generates a large number of key exchange messages and
registers them with the server during signup.
11 years ago
Moxie Marlinspike cfb7b8fcba Consider unregistered if authorization fails.
This should only occur if another device has registered with the
same number, effectively making the current device unregistered.
11 years ago
Moxie Marlinspike 0e899b93d4 Reset Release 11 years ago
Moxie Marlinspike fb378a6e00 Change attachment retrieval interface 11 years ago
Moxie Marlinspike 9287d413ac Support for incoming attachments.
1) Refactored MMS layer to use abstracted types.

2) Added support for retrieving attachment IDs.
11 years ago
Moxie Marlinspike 4bb337a3a0 Revised support for outgoing attachments 11 years ago
Moxie Marlinspike 53803630d4 Enable TextSecure universal transport. 11 years ago
Moxie Marlinspike d7070e7ecf Inserted the Registration activity into initial setup flow.
1) Added push messaging toggle to preferences.

2) Added push messaging registration screen to setup flow.

3) Migrated rest of SharedPreferences accessors to
   TextSecurePreferences.
11 years ago
Moxie Marlinspike 1d1492b15c Remove from VCS 11 years ago
Moxie Marlinspike 26dadfcb7a Move trust store to raw resource from asset. 11 years ago
Moxie Marlinspike 1ac06312a0 Move directory and push service socket into library. 11 years ago
Moxie Marlinspike a200d29514 Move most of Util into library 11 years ago
Moxie Marlinspike 21eee19380 Split into library project and add shared preferences layer of indirection. 11 years ago