Commit Graph

1154 Commits (4a107483c169680ccf266876770cbd2948dbfb1d)
 

Author SHA1 Message Date
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
Moxie Marlinspike 42cf53e487 Rename "pendingPreKey" to "unacknowledgedPreKeyMessage" 10 years ago
Moxie Marlinspike e0d2398ca5 Rename InitializationParameters -> AxolotlParameters 10 years ago
Moxie Marlinspike 3f299936bf Only create signed prekey if push registered. 10 years ago
Moxie Marlinspike 540592d71f Upgrade libaxolotl to the latest gradle plugin. 10 years ago
Moxie Marlinspike 5a9e5672d3 Updated README 10 years ago
Moxie Marlinspike 0a23b5fcd5 Added helper method for generating signed PreKeys. 10 years ago
Moxie Marlinspike f0c22d593f Simplify/clarify internal interfaces and introduce optional types. 10 years ago
Moxie Marlinspike 5f5ddd7c26 Generate SignedPreKey records, improve SignedPreKey cleanup. 10 years ago
Moxie Marlinspike 144f269059 Upgrade curve25519-donna to latest. 10 years ago
Moxie Marlinspike 0d532afd8e Rename 'device key' to 'signed prekey'. 10 years ago
Moxie Marlinspike 07fd17ccda Add padding for push messages.
1) Use 'bit padding.'

1) By default, pad at 160 byte increments.
10 years ago
Moxie Marlinspike fcaa3f0d73 Simplify HKDF interface. 10 years ago
Moxie Marlinspike 64b40df15b Add V3 support for KeyExchangeMessage case.
1) V3 KeyExchangeMessages can now contain signatures and
   verification tags.
10 years ago
Moxie Marlinspike 77ff9cece8 Add a 'verification tag' to incoming PreKeyWhisperMessage bundles. 10 years ago