haffenloher
04f0142b23
Ignore missing members in incoming group updates
...
Previously, updateNumbers would throw an Error, so the whole group
update was discarded.
Signal-Android handles this the same way in
GroupMessageProcessor.handleGroupUpdate().
Closes #1056
2017-02-08 16:46:09 -08:00
lilia
02ca0a09ac
Remove dead code
2016-10-05 21:11:58 +09:00
lilia
f8e176fd40
Dedupe methods
...
Define textsecure.crypto in terms of libsignal.crypto.
// FREEBIE
2016-05-18 13:15:57 -07:00
lilia
58452066aa
Move device storage methods to outgoing message
...
This is the only place they are called.
// FREEBIE
2016-05-18 13:15:56 -07:00
lilia
daae664965
Remove unused function
...
// FREEBIE
2016-05-18 13:15:56 -07:00
lilia
7939b6ae98
Remove hasOpenSession from protocol_wrapper
...
// FREEBIE
2016-05-14 23:26:33 -07:00
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
2016-05-14 23:26:31 -07:00
lilia
56238136ca
Remove trivial wrapper method
...
// FREEBIE
2016-05-10 19:38:44 -07:00
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
2016-05-10 19:38:42 -07:00
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
2016-05-04 00:33:05 -07:00
lilia
1d60dc38fb
Rename axolotl storage
...
// FREEBIE
2016-04-22 13:43:30 -07:00
lilia
1fe5d63015
Update protocol libs
...
Rename storage functions
// FREEBIE
2016-04-21 18:36:16 -07:00
lilia
adf8445b85
Populate registrationIds on deviceObjects
...
Saves us from doing so later.
// FREEBIE
2015-11-24 17:05:23 -08:00
lilia
a52d35bb1b
Refactor and fixup key requests
...
Fix a bad loop scope bug in getKeysForNumber by using forEach.
Refactor the initial process of establishing key material for devices
that do not have open sessions.
// FREEBIE
2015-11-03 16:22:26 -08:00
lilia
b18cfd75de
Check for device keys in memory before requesting more
...
// FREEBIE
2015-11-02 14:07:52 -08:00
lilia
9872b59355
Simplify filter predicate
...
Untangle a double negative to make this line shorter and easier to read.
// FREEBIE
2015-10-01 21:11:41 -07:00
lilia
0fa1069a93
Don't throw on duplicate members in a group update
...
Fixes #364
// FREEBIE
2015-10-01 21:11:41 -07:00
lilia
ce49d14d85
Fix leave group bug
...
This one's been around since forever, but only manifests when someone
leaves the group and comes back. In that case we fail to reinit their
numberRegistrationId object, which causes a npe when we try to send
send them group messages.
Affected parties must ask their fickle friends to leave/join again.
// FREEBIE
2015-09-21 11:00:12 -07:00
lilia
f764445c86
Remove erroneous license file and headers
...
We only use GPLV3 around here.
// FREEBIE
2015-09-07 14:58:42 -07:00
lilia
27016e1919
Let textsecure devices throw on identity key change
...
Restore error format, accidentally removed in 43d6efcd
// FREEBIE
2015-07-21 15:50:11 -07:00
lilia
db31835f68
Handle group sync for existing groups
...
// FREEBIE
2015-06-25 13:24:32 -07:00
lilia
f32ff58953
Add support for device name
2015-06-25 13:24:30 -07:00
lilia
061d57c95a
Fix string vs number comparison
...
Fix bug in device storage causing duplicate device messages after a 410.
2015-06-04 16:48:34 -07:00
lilia
359b4a15a2
Move group storage to axolotl store
...
Add async get/put/removeGroup to axolotl store and let libtextsecure
use it for group state storage.
2015-05-06 17:49:23 -07:00
lilia
f774047935
Make libtextsecure group storage asynchronous
2015-05-06 13:11:12 -07:00
lilia
43d6efcd9e
Don't save device objects to disk
...
Generate them from session and identity data. Save/delete pending prekey
data in an in-memory store and attach it to outgoing device objects.
2015-05-05 17:44:59 -07:00
lilia
121671c99f
Store identity keys in indexeddb
...
Let device storage request them from axolotl store rather than storing a
copy.
2015-05-05 17:44:58 -07:00
lilia
20ebc3f890
Move identity key storage functions to axolotl store
2015-05-05 17:44:58 -07:00
lilia
f38b18ef63
Move Session storage to axolotlstore
2015-05-05 17:44:57 -07:00
lilia
9de1572ba6
Convert all storage.devices methods to be asynchronous
2015-05-05 17:44:57 -07:00
lilia
71715c95bc
Async remove identity
2015-05-05 17:44:57 -07:00
lilia
26f1aa4db5
Async putSessionsForDevice
2015-05-05 17:44:57 -07:00
lilia
666f6baaca
Async getSessionsForNumber
2015-05-05 17:44:56 -07:00
lilia
96eafc7750
Integrate libaxolotl async storage changes
...
* Session records are now opaque strings, so treat them that way:
- no more cross checking identity key and session records
- Move hasOpenSession to axolotl wrapper
- Remote registration ids must be fetched async'ly via protocol wrapper
* Implement async AxolotlStore using textsecure.storage
* Add some db stores and move prekeys and signed keys to indexeddb
* Add storage tests
* Rename identityKey storage key from libaxolotl25519KeyidentityKey to
simply identityKey, since it's no longer hardcoded in libaxolotl
* Rework registration and key-generation, keeping logic in libtextsecure
and rendering in options.js.
* Remove key_worker since workers are handled at the libaxolotl level
now
2015-05-05 17:44:55 -07:00
lilia
37e09da1cc
Remove unsued argument from getDeviceObject
...
Last usage of the `returnIdentityKey` argument was removed in 8b9a16852
.
2015-04-20 17:20:58 -07:00
Matt Corallo
8b9a168524
Store session information separately
2015-03-25 11:56:28 -07:00
Matt Corallo
e33c6fddda
Do not rely on deviceObject.sessions anywhere in sendmessage
2015-03-25 11:56:27 -07:00
Matt Corallo
6c0f3ff1f0
Move session-storage logic to storage/devices from axolotl_wrapper
2015-03-25 11:56:27 -07:00
Matt Corallo
00cb420d37
Merge (un)encrypted storage layers
2015-03-25 11:56:25 -07:00
Matt Corallo
454b4726bd
Replace load/decode/index around our own number with helpers
2015-03-25 11:54:55 -07:00
Matt Corallo
e2e06b2d3c
Remove axolotl.storage usage from libtextsecure
2015-03-17 13:59:25 -07:00
lilia
676ad04958
Add device storage method to wipe an identity
2015-03-17 13:59:24 -07:00
Matt Corallo
b356403061
De-duplicate registrationId in deviceObject
2015-02-12 15:12:01 -08:00
Matt Corallo
92d0de6837
[de]serialize sessions storage in device storage
2015-02-12 15:12:01 -08:00
Matt Corallo
1bef1ce5d3
Split out identity key storage from session storage
2015-02-12 15:12:01 -08:00
Matt Corallo
7e3f1ef452
Actually store on removeDeviceIds
2015-02-12 15:12:00 -08:00
Matt Corallo
1806210b26
Rewrite most of the device storage stuff
2015-02-12 15:12:00 -08:00
Matt Corallo
bfb3e7751e
Add missing validity check to device storage
2015-02-12 15:12:00 -08:00
Matt Corallo
3e648b0ea0
Move groups storage back to libtextsecure
2015-02-12 15:12:00 -08:00
Matt Corallo
83c6fe9008
Moveish the first files to libaxolotl/
2015-02-12 15:11:57 -08:00