Commit Graph

457 Commits (f15fadbb4d941269e538005feac4f5f7f31d0666)

Author SHA1 Message Date
lilia d52050d43f Fix group timer updates 9 years ago
lilia 1da44c847b Fix handling sent messages sans expirationStartTimestamp 9 years ago
lilia 86dbbc9f29 Allow null expireTimer in sendmessage 9 years ago
lilia 7eea88a545 Convert expirationStartTimestamp to number 9 years ago
lilia ad2174e279 Sync expirationStartTimestamp on outgoing messages
Linked devices need to know when to start the clock.
9 years ago
lilia 6074a29046 Send timer update messages when changing the timer 9 years ago
lilia 824b7417e9 Apply expireTimer to outgoing messages 9 years ago
lilia 448835e4d5 Bail early when processing timer updates
Also let expireTimer default to 0.
9 years ago
lilia 02ea4f2475 Use read receipt envelope to infer startExpirationTime
Avoids display of phantom messages that are only received and marked
read locally long after they have expired on another linked device.
9 years ago
lilia b3e932dce8 Add protocol support for disappearing messages 9 years ago
lilia 89cd40c1f5 Remove stale comment 9 years ago
lilia 0dd7ca2569 Fix tests 9 years ago
lilia fe209a2f41 Upgrade libsignal-protocol v1.1.6 9 years ago
lilia 7b3b01bdf6 Refactor registration event
Make AccountManager into an event target for better separation between
app and service-library handling of registration events.
9 years ago
lilia b1afb79a14 Set theme based on master device userAgent
// FREEBIE
9 years ago
lilia 2b210b3fcd Fix undefined websocket port
Fixes #889

// FREEBIE
9 years ago
lilia 384598fbcc Log websocket urls
// FREEBIE
9 years ago
lilia 0487fa3cd1 Add server fallback port 8443
// FREEBIE
9 years ago
lilia f610233ef6 Add support for syncing blocked numbers
// FREEBIE
9 years ago
lilia 254b6621c2 Update libsignal-protocol v1.1.5
// FREEBIE
9 years ago
lilia d11f9fd538 Update libsignal-protocol v1.1.4
// FREEBIE
9 years ago
lilia 4c0ed76909 Update libsignal-protocol v1.1.3
// FREEBIE
9 years ago
lilia 2cea499736 Reduce log noise from prekey messages
// FREEBIE
9 years ago
lilia c39d6687e5 Reduce log noise from delivery receipts
Stop logging envelope messages on receipts since we log the same info as
a receipt in background.js.

// FREEBIE
9 years ago
lilia 005444d09a Update libsignal-protocol v1.1.2
// FREEBIE
9 years ago
lilia 5059fd237a Disable keepalive logging
// FREEBIE
9 years ago
lilia 80c6a2802f Handle sync request where no groups are sent
If a user has no groups, no group sync message is sent. This is a normal
result that should result in a success event rather than a timeout.

// FREEBIE
9 years ago
lilia 5fcf2ea66f Update libsignal-protocol v1.1.1
// FREEBIE
9 years ago
lilia 167f19153c Update libsignal-protocol v1.1.0
Moves padding operations to the service library.

// FREEBIE
9 years ago
lilia b8fddfbbdd Update libsignal-protocol v1.0.0
// FREEBIE
9 years ago
lilia d89c3e8e86 Remove devices with no keys
// FREEBIE
9 years ago
lilia 89d3b772d5 Define UnregisteredUserError class
// FREEBIE
10 years ago
lilia 81dfdd959f Don't allow retry on unregistered user errors
// FREEBIE
10 years ago
lilia 331ca46d75 Fix websocket event name
Fixes #798

// FREEBIE
10 years ago
lilia 15e964de81 Update libsignal-protocol v0.13.0
* libsignal.Curve is now a synchronous interface.
* libsignal.Curve.async is now the asynchronous interface.
* Fixes bugs in session management.

// FREEBIE
10 years ago
lilia f216262298 Update libsignal-protocol v0.12.0
Moves version byte check to protocol lib.

// FREEBIE
10 years ago
lilia 055c0c323e Remove unneeded property from device object
// FREEBIE
10 years ago
lilia f8e176fd40 Dedupe methods
Define textsecure.crypto in terms of libsignal.crypto.

// FREEBIE
10 years ago
lilia 58452066aa Move device storage methods to outgoing message
This is the only place they are called.

// FREEBIE
10 years ago
lilia daae664965 Remove unused function
// FREEBIE
10 years ago
lilia d32a352d8a Use deviceIds/addresses instead of encodedNumbers
The getDeviceObjectsForNumber method returns device objects that contain
nothing but the encodedNumber property. Instead, just deal in deviceIds
until a SignalProtocolAddress is constructed to manage both the number
and deviceId.

// FREEBIE
10 years ago
lilia 95935f70ee Remove relay check from sendmessage
We don't currently store any relay information about devices,
and

// FREEBIE
10 years ago
lilia f16803018c Update libsignal-protocol v0.11.0
* Changes return type from decryption functions
* Update components

// FREEBIE
10 years ago
lilia 148bd32671 Update libsignal-protocol v0.10.0
* Changes policy for old session deletion
* Renames putIdentityKey to saveIdentity
* Remove device messages

// FREEBIE
10 years ago
lilia ffa702c934 Update libsignal-protocol v0.9.0
* Exposes crypto APIs.
* Move worker methods to libsigna.worker.
* Move ProvisioningCipher to libtextsecure.
10 years ago
lilia cd2218ada7 Move hard-coded worker url out of libtextsecure
// FREEBIE
10 years ago
lilia d5f4665fa4 MessageReceiver uses SessionCipher to retry conflicts
// FREEBIE
10 years ago
lilia 9ecfe6acb0 Use SignalProtocolAddress in MessageReceiver constructor
// FREEBIE
10 years ago
lilia 213b44935d Update libsignal-protocol v0.8.0
Reorder identity key check
10 years ago
lilia eee93987f8 Update libsignal-protocol v0.7.0
Remove unused methods.

// FREEBIE
10 years ago
lilia 6266050a67 Remove unused jobqueue
// FREEBIE
10 years ago
lilia 050ea87aaf Get device ids instead of objects
// FREEBIE
10 years ago
lilia 7939b6ae98 Remove hasOpenSession from protocol_wrapper
// FREEBIE
10 years ago
lilia 0483fa2f97 Remove closeOpenSessionForDevice from protocol_wrapper
// FREEBIE
10 years ago
lilia 0d5ec60a7a Remove handlePreKeyWhisperMessage from protocol_wrapper
// FREEBIE
10 years ago
lilia 8010a09045 Remove decryptWhisperMessage from protocol_wrapper
// FREEBIE
10 years ago
lilia 891ddacd35 Remove processPreKey from protocol_wrapper
Use SessionBuilder directly instead of protocol_wrapper

// FREEBIE
10 years ago
lilia 843036f0ce Remove getRegistrationId and encryptMessageFor from protocol_wrapper
We can now use protocol classes like SessionCipher directly because it
supports per-device read/write serialization internally.

// FREEBIE
10 years ago
lilia 284cf5be3a Update libsignal-protocol v0.6.0
Adds session accessors on SessionCipher and an internal session lock to
replace the same implemented in protocol_wrapper.js

// FREEBIE
10 years ago
lilia 92293f9da9 Update libsignal-protocol v0.5.0
Renames libsignal.util to libsignal.KeyHelper.

// FREEBIE
10 years ago
lilia e68031019b Integrate libsignal.SessionCipher
Bypass the old protocolInstance wrapper methods and use the shiny new
SessionCipher class directly.

// FREEBIE
10 years ago
lilia 9e6ad27fc5 Update libsignal-protocol v0.4.0
// FREEBIE
10 years ago
lilia 418adff2a8 Rename device_storage_test.js
// FREEBIE
10 years ago
lilia 56238136ca Remove trivial wrapper method
// FREEBIE
10 years ago
lilia 78cdc0cb52 Remove tempKeys
Now that we simply establish and save a session via SessionBuilder
rather than saving the keys to pass in during encrypt, we can stop
caching them in memory in between the identity key check and the
encryption step.

// FREEBIE
10 years ago
lilia 519d3ec31b Update libsignal-protocol
// FREEBIE
10 years ago
lilia 9f871db48a Update libsignal-protocol / Update prekey format
Integrates change in prekey object formatting, which now matches more
conveniently with the representation rendered by the server.

// FREEBIE
10 years ago
lilia f173104c82 Tests for isTrustedIdentity
// FREEBIE
10 years ago
lilia b385b6e48e Update libsignal-protocol
SessionBuilder / SessionRecord refactor.

// FREEBIE
10 years ago
lilia e659104cbf Add isTrustedIdentity to SignalProtocolStore
Adds a new required storage method for the protocol library.

// FREEBIE
10 years ago
lilia 7dcaf721ca Add keepalive logging
// FREEBIE
10 years ago
lilia 91bdd37019 Fix tests
// FREEBIE
10 years ago
lilia b160556d6e Change filename
// FREEBIE
10 years ago
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