Commit Graph

1068 Commits (7df49811b73537573fa7b678d6c70050df892404)
 

Author SHA1 Message Date
Jake McGinty 7df49811b7 replace ABS with AppCompat
// FREEBIE
10 years ago
Jake McGinty ff2ac8a66e refactor ListenableFutureTask and make saves async
// FREEBIE
10 years ago
Jake McGinty 53da1f849a in-app image media preview
// FREEBIE
10 years ago
Moxie Marlinspike 503d1ef452 Bump version to 2.2.0
// FREEBIE
10 years ago
Moxie Marlinspike 9accd92757 Updated language translations.
// FREEBIE
10 years ago
agrajaghh 306da92031 Test case and fix for deferred jobs.
Closes #2033
10 years ago
Moxie Marlinspike e7b6a852c5 Fix bug caused by 1mod8 compatibility issue.
In the switch from v3, we bind identities in the message MAC
instead of doing the 1mod8 trick.  Since identity keys were
never set as 1mod8, it seemed like we could just remove it.

However, PreKeys are durable.  If an old client upgrades to v3,
it has a bunch of keys that *were* set to 1mod8 floating around.
The Curve25519 donna code re-sets the private key bits on every
operation, which results in a different key, and breaks the output
of an agreement.

So now we don't intentionally generate keys with 1mod8, but we
have to remove the donna code to honor existing 1mod8 keys for
the rest of time.  Trevor is squarely to blame.

// FREEBIE
10 years ago
Moxie Marlinspike 9dfaf19516 Merge pull request #2028 from mcginty/revert-generic-contenttype
revert content-type generics
10 years ago
Jake McGinty 34aece0b43 revert content-type generics
// FREEBIE
10 years ago
Moxie Marlinspike 9768de2d5e Short circuit self-send.
// FREEBIE
10 years ago
Moxie Marlinspike c3eb0ea9db Check job requirements are satisfied in between retry iterations.
// FREEBIE
10 years ago
Moxie Marlinspike 4cdc0a3e61 Make signed prekey generation happen through the job queue. 10 years ago
Moxie Marlinspike b568ce70b2 Make delivery receipts work correctly for groups. 10 years ago
Moxie Marlinspike 18b0601990 Dependency updates and gradle housekeeping. 10 years ago
Moxie Marlinspike b308996885 Switch to using our own JobManager.
// FREEBIE
10 years ago
Moxie Marlinspike 73d896f378 Index shouldn't be unique. 10 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.
10 years ago
Moxie Marlinspike 8d6b9ae43e Incorporate PR feedback. Add license and eliminate duplicate code.
// FREEBIE
10 years ago
Moxie Marlinspike a95cc0eba2 Switch to byte array.
// FREEBIE
10 years ago
Moxie Marlinspike 58d101ff2e Support for job "group ids."
A job can specify a group id, and jobs with the same group id
will run sequentially.
10 years ago
Moxie Marlinspike 544f06451f Persistent job queue, derivative of android-priority-jobqueue.
// FREEBIE
10 years ago
Moxie Marlinspike 20cf775b1e Fix up routing activity actions. 10 years ago
Moxie Marlinspike 5fcc135f81 Make sure senderkeys encrypt is correctly initialized. 10 years ago
Moxie Marlinspike 9a0ed659f7 Initial support for sender keys. 10 years ago
Moxie Marlinspike 54612159be Update ed25519 extract and tests 10 years ago
Moxie Marlinspike 355d0be78a Introduce new simultaneous initiate strategy.
1) Fix bugs that prevented decrypt() from being non-transactional
   in some cases.

2) Introduce a new unified storage interface.

3) Transition simultaneous initiate from the "needs refresh"
   strategy to one that uses session state resurrection and
   promotion.
10 years ago
Moxie Marlinspike 73b75a4a27 Fix build. 10 years ago
Moxie Marlinspike c4209a65e3 Don't assert on bad padding. 10 years ago
Moxie Marlinspike 9dce376780 Correctly handle formatting when "one time PreKey" is absent. 10 years ago
Moxie Marlinspike 07c61394e9 When processing PreKeyBundle, archive current session if it exists. 10 years ago
Moxie Marlinspike 3e287f930d Better thread safety for session building <-> use. 10 years ago
Moxie Marlinspike 7b1a37bd91 Make registration ID optionally extended. 10 years ago
Moxie Marlinspike 2db44a1578 Make generated PreKeyIds exclude both 0 and Medium.MAX_VALUE. 10 years ago
Moxie Marlinspike 006c9aae7b Only remove unsigned prekey if bundled message decrypts properly. 10 years ago
Moxie Marlinspike b147a90463 This exception is never thrown. 10 years ago
Moxie Marlinspike 741171c49f Switch to CBC mode with a derived IV.
1) Since we're not CPU or space constrained (and are in fact
   padding), and since keystream reuse would be more catastrophic
   than IV reuse without chosen plaintext.
10 years ago
Moxie Marlinspike c375ed8638 MIPS NDK support. Apparently there are mips devices... 10 years ago
Moxie Marlinspike 238f29c90a Updated to latest of Trevor's ref10-extract 10 years ago
Moxie Marlinspike 084f27a2e8 omg trevor 10 years ago
Moxie Marlinspike 27b5bf54cc Remove 1 mod 8. 10 years ago
Moxie Marlinspike eda393b11c Minor refactoring and renaming. 10 years ago
Moxie Marlinspike c330eef7b9 Make PreKeyWhisperMessage decrypt more reliably atomic. 10 years ago
Moxie Marlinspike 1eb3884b7a Update to latest ref10-extract ed25519 10 years ago
Moxie Marlinspike 5ea3b3038e Remove verification tag.
1) Remove verification tag from PreKeyWhisperMessage.

2) Include sender and recipient identity keys in the MAC of
   each WhisperMessage.
10 years ago
Moxie Marlinspike 641ac9aed9 Rename axolotl terminology.
1) ephemeralKey -> ratchetKey

2) Have the caller specify Alice/Bob orientation.

3) Reorganize verification tag.

4) Remove verification tag from key exchange messages, replace
   with signatures in both directions.
10 years ago
Moxie Marlinspike 82bd75fb75 Fix padding problem. 10 years ago
Moxie Marlinspike c94a7b1eff Make sure "previous counter" is never negative. 10 years ago
Moxie Marlinspike 4caebdcd06 Update tests for new API. 10 years ago
Moxie Marlinspike b3cece27d6 Update SessionCipher javadocs. 10 years ago
Moxie Marlinspike 819982af7b Rearrange decrypt API.
1) Change SessionBuilder to only establish sessions via
   KeyExchangeMessage and PreKeyBundles.

2) Change SessionCipher to decrypt either WhisperMessage
   or PreKeyWhisperMessage items, automatically building
   a session for the latter.

3) Change SessionCipher to tear down new sessions built
   with PreKeyWhisperMessages if the embedded WhsiperMessage
   fails to decrypt.
10 years ago