Commit Graph

334 Commits (9a1a3bdf647083182ad37d35c445bd1ab56d6335)

Author SHA1 Message Date
lilia 9a1a3bdf64 Rename axolotl to libsignal
// FREEBIE
10 years ago
lilia 6bffd50009 Fix comment
// FREEBIE
10 years ago
lilia 1d60dc38fb Rename axolotl storage
// FREEBIE
10 years ago
lilia ee3bc11e3c Rename axolotlInstance
// FREEBIE
10 years ago
lilia 0fe3497d0e Update libsignal-protocol
Remove remaining refs to axolotl from lsp.

// FREEBIE
10 years ago
lilia 4169336776 Update libsignal protobuf package name
// FREEBIE
10 years ago
lilia c1e1dd97ba Change libsignal-protocol filenames
// FREEBIE
10 years ago
lilia b1d370755a Rename AxolotlStore
// FREEBIE
10 years ago
lilia 1fe5d63015 Update protocol libs
Rename storage functions

// FREEBIE
10 years ago
lilia 6a928e3377 Fix reference error in MessageReceiver from fe82e4
Fix a reference error when resolving a key conflict on an incoming end
session message. See Signal-Android/5438.

// FREEBIE
10 years ago
lilia 2d6d2a92b9 Update libaxolotl
// FREEBIE
10 years ago
lilia af392c077d Update libaxolotl
// FREEBIE
10 years ago
lilia 7e2c6fd6bc Remove unused argument
// FREEBIE
10 years ago
lilia ddcdc9e2ff Log on prekey messages
// FREEBIE
10 years ago
lilia 960519d296 Add debug logging
// FREEBIE
10 years ago
lilia 2128ee63aa Update libaxolotl
// FREEBIE
10 years ago
lilia 84235ef58e Use forEach instead of loop
// FREEBIE
10 years ago
lilia c02054d5da Pass ciphertext as ArrayBuffer instead of string
// FREEBIE
10 years ago
lilia 6053fe67ba Use built-in string conversion on protobuf
In lieu of a global helper.

// FREEBIE
10 years ago
lilia 3e0bce2b21 Move, rename, and simplify toArrayBuffer helper
This function is only ever used to convert groupIds from strings to
array buffers in sendmessage.

// FREEBIE
10 years ago
lilia c22a205d2e Remove unnecessary conversion from test
// FREEBIE
10 years ago
lilia 7dff9ac51b Update libaxolotl
// FREEBIE
10 years ago
lilia 57d64fe669 Fix session corruption due to database races
Prevent races between encrypt and decrypt calls, and other read/write
operations on the session store by serializing session io ops per
device.

Possible fix for #535

// FREEBIE
10 years ago
lilia 5f07c74f1a Add log statement when opening provisioning socket
Make it more obvious via logs which server someone is attempting to
register with (i.e., to disambiguate staging from prod).

// FREEBIE
10 years ago
lilia 2b7cbef8b1 Rename a function
Avoid confusing this operation with actual receipts, which are something
else.

// FREEBIE
10 years ago
lilia 8fdf58971c Add missing semicolons
// FREEBIE
10 years ago
lilia c3bbdb393f Refactor media uploading step
Move this to its own function which encapsulates the error handling for
it.

// FREEBIE
10 years ago
lilia 44b1a6451d Add validation to Message class
// FREEBIE
10 years ago
lilia 781ada64ca Add libtextsecure support for syncing read messages
Plumbing for sending and receiving a new sync protobuf for marking
messages read on/from my other devices.

// FREEBIE
10 years ago
lilia 010297f4c5 Track groups I've left
// FREEBIE
10 years ago
lilia 7e82d1295c Handle attachment upload errors
Adds a new kind of replayable error that handles retry of pre-encryption
failures, e.g., attachment upload.

Fixes #485

// FREEBIE
10 years ago
lilia 910e37649a Let group messages use new Message class
// FREEBIE
10 years ago
lilia 3bffdd96f5 Add sendMessage to handle sending from Message class
// FREEBIE
10 years ago
lilia ecdfa09e97 Create a helper class for constructing messages
// FREEBIE
10 years ago
lilia b73a3aea80 Fix syntax error
// FREEBIE
10 years ago
lilia cee2b3163a Add missing bind in messageReceiver
// FREEBIE
10 years ago
lilia 7dcad67410 Fix handleSentMessage
Missing a bind in 27fe7e3.

// FREEBIE
10 years ago
lilia d4760452d1 Add signal agent to server requests
// FREEBIE
10 years ago
lilia 27fe7e355e Process end session flags in sync messages
Because remote clients will delete all sessions in response to an end
session message, regardless of which device it came from, when our
linked device sends an end session message, we must also end all
sessions with the destination.

This change moves the end session flag processing to processDecrypted,
which is shared between handlers of sent messages, data messages, and
messages which are re-tried after resolving identity conflicts.

// FREEBIE
10 years ago
lilia fe82e469f2 Make end session consistent with android
Close all the sessions for a number when receiving an end session
message.

// FREEBIE
10 years ago
lilia 86132a38a8 Log envelopes and session end events
Help debug bad session errors by logging some envelope info about the
message we are about to decrypt. With this, if there is a decryption
error (e.g., bad mac or no session) it is clear from the logs what
number and device message sent the bad message.

Also log when we send and receive end session messages and when we close
sessions for certain devices.

// FREEBIE
10 years ago
lilia 7c17c5fa54 Update chai
// FREEBIE
10 years ago
lilia 1ee6a2e43f Rebuild libtextsecure test components w/ new chai
// FREEBIE
10 years ago
lilia a9cba1471a Update our own key on re-install
Previously we would delete our own key from the trust store when
re-linking, in case it changed. We can also immediately take one step
further and store the new key. Typically this happens in the course of
requesting sync info from the master device, except in the case of
standalone clients.

Closes #596

// FREEBIE
10 years ago
lilia 30aa13079f Fix sync request argument check
Fixes #609

// FREEBIE
10 years ago
lilia d6da77b6f4 Throw exception on bad args to SyncRequest
// FREEBIE
10 years ago
lilia 1b68e652cc Fire group sync completion event despite errors
Sometimes an error is thrown while processing groups from a group sync
message. We still want to fire the groupsync event when we're done
handling all the data, even if some of it was bad.
10 years ago
lilia 75b2c9c5de Fix crash when removing a listener
// FREEBIE
10 years ago
lilia f7c4fd2fed DRY up event target implementations
Dedupe event target code and make it extensible.

// FREEBIE
10 years ago
lilia 925c1bdb33 Add SyncRequest class
Similar in function to an xhr request, a textsecure.SyncRequest object
is initialized from a message sender and receiver pair and initiates a
request for sync from the master device. It later fires a success event
when both contacts and groups are done syncing, or a timeout event after
one minute.

// FREEBIE
10 years ago