Commit Graph
250 Commits
Author SHA1 Message Date
Alex HartandGreyson Parrelli ed23c3fe7c Add avatar picker and defaults. 2021-07-21 16:57:03 -04:00
Greyson Parrelli 4a0e6a3eb2 Improve logging around message sends. 2021-07-16 12:53:29 -04:00
Cody HenthorneandGreyson Parrelli 5d6d78a51e Initial WebSocket refactor. 2021-07-15 16:28:13 -04:00
Jordan RoseandGreyson Parrelli 68a2d5ed20 Reimplement ProfileCipherInputStream using libsignal-client.
libsignal-client provides an AES-GCM streaming interface that can
replace the implementation in AES-GCM-Provider. Using it from
ProfileCipherInputStream requires some knowledge about the tag size of
AES-GCM, but frees it from the JCE interface.

Note that it remains a serious error to not read the *entire* stream,
since the authentication tag is at the end!
2021-07-15 16:28:11 -04:00
Jordan RoseandCody Henthorne 35e9e31a7b Update to libsignal-client 0.8.3
This also fixes a misalignment where signal-client-android was on
0.8.0 but signal-client-java was 0.8.1, which was fortunately harmless
for this particular pair of versions.
2021-07-12 20:29:07 -04:00
Cody Henthorne 444d947743 Add RxJava. 2021-07-12 20:29:07 -04:00
Cody Henthorne 182749c101 Fix bug where some profile fetches would 400 over the websocket. 2021-07-09 15:30:08 -04:00
Greyson ParrelliandAlex Hart 7f0a0bef5a Incrementally insert MSL entries for legacy group sends. 2021-07-07 14:58:50 -03:00
Greyson ParrelliandAlex Hart a1c8573fad Insert resent messages at the proper location. 2021-07-07 14:58:50 -03:00
Cody HenthorneandAlex Hart 90a27d2227 Fix device transfer test dependent on native library. 2021-07-07 14:58:50 -03:00
Greyson ParrelliandCody Henthorne f19033a7a2 Implement the message send log for sender key retries. 2021-06-24 16:36:13 -04:00
Greyson ParrelliandGitHub 6502ef64ce Read the group history response as a stream. 2021-06-23 17:47:05 -04:00
Alex Hart dfe804dfa0 Increment GIF flag in AttachmentPointer to avoid android client bug. 2021-06-08 16:53:21 -03:00
Greyson Parrelli 57c0b8fd0f Initial pre-alpha support for sender key. 2021-06-07 18:14:12 -04:00
Greyson ParrelliandCody Henthorne 1322f5bc08 Be more careful with unknown IDs during storage sync. 2021-05-27 16:17:07 -04:00
Greyson ParrelliandGitHub e74d502ae6 Remove legacy session version.
Hasn't been used since the TextSecure days!
2021-05-26 17:46:58 -04:00
Cody HenthorneandGreyson Parrelli defd5e8047 Add universal disappearing messages. 2021-05-18 18:21:48 -04:00
Greyson Parrelli 8c6a88374b No longer use SignalServiceAddress legacy identifier.
We had to do this in the past because we previously didn't allow
UUID-only contacts back in the day. This hasn't been the case for some
time. We should be preferring the UUID in all cases.
2021-05-18 18:21:48 -04:00
Cody HenthorneandAlex Hart ef5b68eb35 Add report spam in message request state. 2021-05-17 17:03:21 -03:00
Greyson ParrelliandGitHub 80c911e118 Sync whether or not our primary device can send SMS. 2021-05-12 14:58:19 -04:00
Greyson ParrelliandGitHub 2d2de1a652 Fix storage service record merge. 2021-05-12 10:56:34 -04:00
Cody HenthorneandGreyson Parrelli 8c9df8d3be Add support for Group V2 description field. 2021-05-10 19:30:10 -04:00
Greyson Parrelli 03b65ce6dc Update to libsignal-client 0.5.1 2021-05-10 19:30:10 -04:00
Greyson Parrelli 31e1c6f7aa Handle 428 rate limiting. 2021-05-05 16:47:13 -04:00
Greyson Parrelli 2f30d29351 Ensure we have a storageId for self. 2021-04-29 17:55:34 -04:00
Alex Hart ab44d608d2 Add support for sending and syncing viewed receipts behind a feature flag. 2021-04-28 16:36:11 -03:00
Greyson ParrelliandAlex Hart cdc7f1565e Further simplify storage service syncing. 2021-04-28 16:36:11 -03:00
Alex HartandGitHub bf124b87fa Fix bad flag parsing on attachment pointers. 2021-04-22 14:46:20 -03:00
Alex HartandGreyson Parrelli c31146e902 Render gifs in gif search as MP4s. 2021-04-19 18:11:56 -04:00
Cody Henthorne 2547db2a8e Revert "Prevent changes to conversations while device is unregistered."
This reverts commit ed8edb5aee.
2021-04-14 18:02:57 -04:00
Cody HenthorneandGreyson Parrelli ed8edb5aee Prevent changes to conversations while device is unregistered. 2021-04-14 15:50:40 -04:00
Greyson ParrelliandGitHub 20b98122c1 Send an empty group sync when linking devices if no groups exist. 2021-04-13 11:35:42 -04:00
Greyson ParrelliandGitHub 35c102aa98 Fix issues with StorageSyncV2 bookkeeping.
1. I screwed up the comparators in the record processor. Pretty bad, glad this was caught.
2. Previously I was sort of keeping track of which local-only records were accounted for while I was merging, and then hoping everything worked out in the end. Now I just very directly take some set differences and retrieve the appropriate records, so it's clear that we should never fail certain validations.
3. Rev's the feature flag so we don't turn on something broken.
2021-04-13 11:32:24 -04:00
Greyson Parrelli e096ba27ce Sync mute status via storage service. 2021-04-12 12:25:09 -04:00
Greyson Parrelli 0e200b1fb6 Rewrite storage service change processing. 2021-04-12 12:25:09 -04:00
Alan Evans 113393de8f Enforce upper bound on MobileCoin/fiat entry. 2021-04-09 11:17:50 -03:00
c42023855b Service support for Payments.
Co-authored-by: Alan Evans <alan@signal.org>
Co-authored-by: Alex Hart <alex@signal.org>
Co-authored-by: Cody Henthorne <cody@signal.org>
2021-04-06 15:27:23 -03:00
Chris EagerandChris Eager 09cba8774d Add support for verification codes without an internal hyphen 2021-03-19 14:38:30 -05:00
Greyson ParrelliandGitHub 8950100bd7 Decrypt and process messages all in one transaction.
Giddy up
2021-02-23 18:34:18 -05:00
Greyson ParrelliandCody Henthorne 28f3ded4bd Perform individual decryptions inside a database transaction.
Required a lot of random locking work to prevent deadlocking, but
overall this results in about a 2x speed increase for decryptions.
2021-02-20 14:45:36 -05:00
Greyson ParrelliandCody Henthorne f2ea13a142 Bump libsignal-client to 0.1.6 2021-02-20 14:45:36 -05:00
Cody Henthorne 4afb459b30 Revert "Bump libsignal-client to 0.2.3"
This reverts commit 8b7506ed2d.
2021-02-12 15:03:37 -05:00
Greyson ParrelliandGitHub 2751076089 Archive sessions on 409/410 instead of deleting them. 2021-02-11 10:43:04 -05:00
Greyson ParrelliandCody Henthorne 29d66f2b92 Remove unused signaling key code. 2021-02-10 15:21:04 -05:00
Jack LloydandGitHub 8b7506ed2d Bump libsignal-client to 0.2.3 2021-02-05 15:18:56 -05:00
Greyson Parrelli af7e736de9 Use a simple check to verify proxies during registration. 2021-02-03 16:04:01 -05:00
AsamKandGreyson Parrelli 4bb214cb2a Configure keep alive duration for okhttp connection pool to 1 minute.
The signal http server supports http keep alive, but closes idle
connections after 1 minute.
The default OkHttp connection pool will keep idle connections in the pool
for 5 minutes and doesn't notice it when the server closes connections.
As currently the automatic okhttp retries are disabled, reusing such a
stale connection will be fatal.

Issue is especially severe for incoming calls, which fail because the request
to retrieve the turn servers fails and isn't retried: #10787
2021-02-02 20:35:14 -05:00
Greyson ParrelliandGitHub 46344776a4 Add UI support for configuring a proxy. 2021-02-02 16:42:47 -05:00
Moxie MarlinspikeandGitHub 7f2b6178d5 Add support for configuring a signal proxy. 2021-02-01 21:52:01 -05:00
Greyson Parrelli 3f51f89d86 Update libphonenumber to v8.12.17 2021-01-30 11:04:54 -05:00