Commit Graph

321 Commits (242c05834b88a952b32bec12f86fe4ed293eb10c)

Author SHA1 Message Date
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
Karel Bilek d8381cfc47 Dispatch an event after processing a group sync
Related #521
10 years ago
lilia 96520e9fd4 Move envelope decode before ack
We should not ack envelope protobufs that fail to decode correctly. If
the server happens to send us such a thing it probably indicates a
protocol mismatch between it and the client, in which case the client
needs to update and re-receive the failed message.

// FREEBIE
10 years ago
lilia 44824df6cb Refactor for clarity
// FREEBIE
10 years ago
Matt Corallo dac084b604 Send message ACKs immediately after recv, instead of after process 10 years ago
lilia 093eb001ff Correct log statement
Although in practice, these timestamps are often the same, they needn't
be, and when they aren't, we want the sentMessage.timestamp here.

// FREEBIE
10 years ago
lilia d95f869d62 More logging
// FREEBIE
10 years ago
lilia d201c65f7c More verbose logging in message receiver
// FREEBIE
10 years ago
lilia bc576e18d5 Fix no delivery receipts on close session messages
// FREEBIE
10 years ago
lilia 9031b4c10c Update libaxolotl
Fixes #477

// FREEBIE
10 years ago
lilia ea980b4385 Don't surface invalid attachment urls to the user
Log them, but don't put display them in user-facing error ui.

// FREEBIE
10 years ago
lilia 7b1268e5f7 Log incoming invalid attachment urls also
Same as previous commit but for incoming.

// FREEBIE
10 years ago
lilia fe7505c050 Log invalid attachment urls
// FREEBIE
10 years ago
lilia 9c59dfda93 Remove duplicate case statement
This line was never being hit due to the duplicate one above (#L166).
Peeking at the server code shows that 403 is only given in response to
registration attempts, where it does in fact indicate an invalid code.

// FREEBIE
10 years ago