Commit Graph

54 Commits (ea0945d406bae68df88b7351148b269e386fd9b2)

Author SHA1 Message Date
Moxie Marlinspike ea0945d406 Beta support for webrtc video and voice calling
// FREEBIE
8 years ago
Moxie Marlinspike bb5dcb7131 Start increasing frequency of signed prekey rotation
// FREEBIE
9 years ago
Moxie Marlinspike 541718fd11 Support for censorship circumvention in Egypt and UAE
// FREEBIE
9 years ago
Moxie Marlinspike 7b589c4300 TextSecure is now SignalService
// FREEBIE
9 years ago
Moxie Marlinspike 4044da849e Replace all strings containing 'TextSecure' with 'Signal'
// FREEBIE
10 years ago
Moxie Marlinspike 7377e6c7da Support for syncing and checking secure voice support.
// FREEBIE
10 years ago
Moxie Marlinspike d83a3d71bc Support for Signal calls.
Merge in RedPhone

// FREEBIE
10 years ago
Moxie Marlinspike 8d9ae731ef Only use MasterSecret for local message encryption.
Not for the axolotl store.

// FREEBIE
10 years ago
Moxie Marlinspike ed0e1c07b9 Fix some memory leaks.
Fixes #3224
Closes #3228
// FREEBIE
10 years ago
Moxie Marlinspike e142cb6d26 Prompt for registration on install until successful.
Closes #2657

// FREEBIE
10 years ago
Moxie Marlinspike 5602a3dfc0 Update to latest version of libtextsecure for simplified interface.
1) Switch to new TextSecureAddress addressing, rather than mixing
   long-based recipient IDs into libtextsecure.

2) Get rid of RecipientFormattingException throws in calls to
   RecipientFactory.

Closes #2570
10 years ago
Moxie Marlinspike d3271f548c Support for retrieving stored messages via websocket.
1) When registering with server, indicate that the server should
   store messages and send notifications.

2) Process notification GCM messages, and connect to the server
   to retrieve actual message content.
10 years ago
Moxie Marlinspike 0c32001fe4 Support for multi-device provisioning flow.
// FREEBIE
11 years ago
Moxie Marlinspike a1da22cee9 Use constant.
// FREEBIE

Closes #1988
11 years ago
Moxie Marlinspike fb31319e52 Put everything under either internal or api. 11 years ago
Moxie Marlinspike 08ed90c5ec Split out Util functions. 11 years ago
Moxie Marlinspike 601e233d47 Add account management interface to libtextsecure api 11 years ago
Moxie Marlinspike a3f1d9cdfd Beginning of libtextsecure refactor.
1) Break out appropriate components.

2) Switch the incoming pipeline from SendReceiveService to
   the JobManager.
11 years ago
Moxie Marlinspike 36ec1d84a1 Implement delivery receipts.
1) Support a "receipt" push message type.

2) Identify messages by timestamp.

3) Introduce a JobManager to handle the queue for network
   dependent jobs.
11 years ago
Moxie Marlinspike 73b75a4a27 Fix build. 11 years ago
Moxie Marlinspike 5f5ddd7c26 Generate SignedPreKey records, improve SignedPreKey cleanup. 11 years ago
Moxie Marlinspike 0d532afd8e Rename 'device key' to 'signed prekey'. 11 years ago
Moxie Marlinspike 811479d168 Add first cut of protocol v3 support.
1) Use the new /v2/keys API for storing/retrieving prekey bundles.

2) For sessions built with PreKeyBundle and PreKeyWhisperMessage,
   use a v3 ratcheting session when available.
11 years ago
Moxie Marlinspike a601c56af1 Collapse SessionRecord, SessionState, and PreKeyRecord interfaces. 11 years ago
Moxie Marlinspike 72af8b11c2 Move session construction and KeyExchangeMessage into libaxolotl.
1) Add plain two-way key exchange support libaxolotl by moving
   all the KeyExchangeMessage code there.

2) Move the bulk of KeyExchangeProcessor code to libaxolotl
   for setting up sessions based on retrieved prekeys, received
   prekeybundles, or exchanged key exchange messages.
11 years ago
Moxie Marlinspike d902c12941 Break core ratchet out into libaxolotol.
1) Break the core cryptography functions out into libaxolotol.

2) The objective for this code is a Java library that isn't
   dependent on any Android functions.  However, while the
   code has been separated from any Android functionality,
   it is still an 'android library project' because of the
   JNI.
11 years ago
Moxie Marlinspike 9ef14a0f64 Upgrade to new GCM API. 11 years ago
Moxie Marlinspike 1d07ca3e6f Remove V1 code. 11 years ago
Moxie Marlinspike ad5d6d5bb7 Add refresh path for PreKey queue. 11 years ago
Moxie Marlinspike 20fd881613 Display error code from server when already registered elsewhere. 11 years ago
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.
11 years ago
Moxie Marlinspike 9bb327db42 Handle SMS fallback preferences correctly, and fix directory sync. 11 years ago
Jake McGinty 9cd5a67ec5 directory changes to use number instead of token, group ui progress 11 years ago
Moxie Marlinspike 1ab4e7e9de Library accepts push connection certificate as argument. 12 years ago
Moxie Marlinspike dc73bc2a5c Having calling code specify push URL to library. 12 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.
12 years ago
Moxie Marlinspike fa5ccc3f8a Support for server federation. 12 years ago
Moxie Marlinspike 25a2ad7289 Add directory refreshing at 24hr intervals. 12 years ago
Moxie Marlinspike 2d083208cc Handle negative directory case and unlisted contacts. 12 years ago
Moxie Marlinspike 75cca3add1 Resign ourselves to a less sophisticated contact intersection method. 12 years ago
Moxie Marlinspike 68ec0a3727 Add last resort key and signaling key. 12 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.
12 years ago
Moxie Marlinspike 499de2d2bf Move prekey jsonifcation into the push code, add identity key. 12 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.
12 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.
12 years ago
Moxie Marlinspike 9287d413ac Support for incoming attachments.
1) Refactored MMS layer to use abstracted types.

2) Added support for retrieving attachment IDs.
12 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.
12 years ago
Moxie Marlinspike 0ed9da9a2c Strings and slight cleanup 12 years ago
Moxie Marlinspike 26dadfcb7a Move trust store to raw resource from asset. 12 years ago
Moxie Marlinspike 1ac06312a0 Move directory and push service socket into library. 12 years ago