Commit Graph

156 Commits (master)

Author SHA1 Message Date
Greyson Parrelli bd078fc883 Handle UUID-only recipients and merging. 2020-07-19 09:32:16 -04:00
Alan Evans 4325f714b9 Silent group update send job for profile key rotation. 2020-07-10 17:23:50 -04:00
Alan Evans a4dc340bbc Handle empty group change byte array. 2020-07-09 19:07:21 -04:00
Alan Evans 9ac9ace6b8 Groups V2 state comparison and gap handling. 2020-07-08 17:12:19 -04:00
Alan Evans 96e888a4f5 Remove versioned profiles feature flag. 2020-07-08 16:51:30 -04:00
Alan Evans 99ff0c1e3c Ensure direct add members to a group removes any matching pending. 2020-07-08 16:51:30 -04:00
Alan Evans e6a0e5b858 Add internal preferences under Advanced behind feature flag.
Initially for GV2 testing.
2020-07-08 16:51:30 -04:00
Greyson Parrelli 545ba80697 Add support for borderless images.
Added support for 'borderless' images. Basically images that we'd like to render 
as if they were stickers, even though they're not stickers. On iOS, this will be 
stuff like memoji and bitmoji. On Android, in my initial pass, I've just added 
support for Giphy stickers. However, we can also detect bitmoji and keyboard 
stickers in the future. This is kind of a 'best effort' thing, so as long as we 
support receiving, we can just add sending support for more things as we go.
2020-07-08 16:51:30 -04:00
Cody Henthorne 1e250ee95c Add Calling Requests. 2020-07-08 16:51:30 -04:00
Greyson Parrelli 2791790bf5 Implement new CDS changes. 2020-07-08 16:51:30 -04:00
Alan Evans 6704ad8193 Do not show update messages for profile key updates. 2020-07-08 16:51:30 -04:00
Greyson Parrelli 629ba105cb Detect real age of call request by using server timestamps. 2020-06-17 17:53:18 -03:00
Greyson Parrelli 3fad007ae0
Cancel typing jobs when you send a group message. 2020-06-12 10:06:20 -04:00
Greyson Parrelli 8891b6c930 Properly throw UnregisteredUserException in SignalServicePipe. 2020-06-11 12:08:40 -04:00
Greyson Parrelli 2751fd7efc Retrieve profiles in parallel. 2020-06-09 12:47:11 -04:00
Jim Gustafson ed13c97ad7 Handle legacy hangup properly. 2020-06-06 20:25:02 -04:00
Greyson Parrelli d38d702adf Parallelize group sends. 2020-06-05 18:10:50 -04:00
Alan Evans 9b32eaeb8a Do not log URLs. 2020-05-29 19:14:37 -04:00
Alan Evans a99c0d438e Rename GV2 "version" to "revision". 2020-05-29 19:14:37 -04:00
Greyson Parrelli a299bafe89 Create a new system for fetching the intial batch of messages. 2020-05-29 09:51:21 -04:00
Greyson Parrelli d4cdcbe54f Improve logging around group sends. 2020-05-29 09:51:20 -04:00
Alan Evans 289f7aba63 Add versioned profiles feature flag. 2020-05-29 09:51:20 -04:00
Alan Evans 12b1232ac0 Fix groups v2 patch response handler. 2020-05-29 09:51:20 -04:00
Alan Evans 297a7d0ef8 Handle absent change during invite. 2020-05-29 09:51:20 -04:00
Alan Evans 11d17f7496 GV2 storage service syncing. 2020-05-29 09:51:20 -04:00
Alan Evans 36df3f234f Enable the Zk group library. 2020-05-29 09:51:20 -04:00
Alan Evans 2f9320989a Server signed group v2 changes sent and received P2P. 2020-05-29 09:51:20 -04:00
Alan Evans ec8d5defd4 Protect against unknown GV2 UUIDs. 2020-05-29 09:51:20 -04:00
Alan Evans b8df90531f GV2 message contexts. 2020-05-14 11:22:28 -03:00
Alan Evans 11fffbd79e Remove P2P group change sending. 2020-05-14 11:22:28 -03:00
Alan Evans eff564ad88 Adapt message requests to support invite flow. 2020-05-14 11:22:28 -03:00
Alex Hart 26e582d806 Integrate RingRTC v2.0.1 2020-05-14 11:22:28 -03:00
Alan Evans 9ac1897880 Job changes for GroupsV2 message receive and profile key updates. 2020-05-14 11:22:28 -03:00
Alan Evans b800477365 GV2 leave and eject operations. 2020-05-14 11:22:28 -03:00
Alan Evans 86f0456e8c Group Manager V2 operations. 2020-05-14 11:22:28 -03:00
Alan Evans 48a693793f GV2 Group Manager. 2020-05-14 11:22:28 -03:00
Greyson Parrelli f149005026 Add support for remote config v1.1 2020-05-13 16:18:18 -04:00
Alex Hart d5419ec9fa Implement new call screen UI/UX. 2020-05-13 16:18:18 -04:00
Greyson Parrelli a74622997e Bump libsignal-metadata to 0.1.2
Includes fix for how we're prioritizing UUID vs E164.

Fixes #9621
2020-05-13 15:40:42 -04:00
Greyson Parrelli 618b1b5ace Handle PIN creation failure better. 2020-05-09 13:16:45 -04:00
Alan Evans 87eab27996 Prevent the creation of 'weak' PINs.
Simple checks to prevent the same number, or sequentially
increasing/decreasing PINs. e.g. 1111, 1234, 54321, etc.
2020-05-04 18:17:36 -04:00
Greyson Parrelli 9705939489 Fix issue with editing and forwarding a received video. 2020-05-04 10:54:55 -04:00
Greyson Parrelli 668ccfcd12 Clean up logging. 2020-04-27 11:29:52 -04:00
Alex Hart 2afb939ee6 Implement send support for resumable uploads behind a flag. 2020-04-21 16:09:30 -04:00
Greyson Parrelli 7c442865c5 Interpret non-present message bodies as 'null'. 2020-04-21 16:09:30 -04:00
Greyson Parrelli 6ecd3b59fd Add pre-alpha receive support for remote delete. 2020-04-21 16:09:13 -04:00
Ehren Kret 456bcf3d57 Require CDN number match rather than use default CDN
This marks messages as failed if the CDN number does not match a
configured CDN number rather than falling back to the default CDN in
the event the CDN is not recognized.
2020-04-21 13:33:41 -04:00
Greyson Parrelli f12a9b9ac7 Store the server timestamp for a message. 2020-04-21 13:33:41 -04:00
Greyson Parrelli acbfff89d3 Update registration to allow PIN entry. 2020-04-21 13:33:41 -04:00
Alan Evans 78055e3ccb GroupsV2 update sending and local context storage. 2020-04-21 13:33:41 -04:00
Alan Evans 68d29d9a0f Allow pending member invite cancelation. 2020-04-21 13:33:33 -04:00
Alan Evans e2d3a43593 Use readBodyBytes for correct exceptions. 2020-04-21 13:33:33 -04:00
Greyson Parrelli 8e13403cca Separate PINs from Registration Lock.
You can now have a PIN without having registration lock.

Note: We still need to change the registration flow to allow non-reglock
users to enter their PIN.
2020-04-21 13:33:33 -04:00
Ehren Kret 3c6a7b76ca Send increased protocol version number if CDN key or attachment are used. 2020-04-21 13:33:33 -04:00
Ehren Kret 37a35e8f70 Add initial support for send/receive on CDN2. 2020-04-21 13:33:29 -04:00
Alan Evans 48c33f3dcd GroupsV2 service changes. 2020-04-03 12:20:15 -04:00
Ehren Kret a65c4f90f4 Avoid potential race condition in attachment uploads. 2020-04-03 12:19:13 -04:00
Alan Evans e02e4d52b4 Prevent empty message processing. 2020-04-03 12:19:13 -04:00
Greyson Parrelli 711715ca1e Add DNS fallback system. 2020-04-03 12:19:12 -04:00
Greyson Parrelli d6000af843 Re-use recently-acquired attachment pointers. 2020-04-03 12:19:12 -04:00
Alan Evans 9e6cca1cd0 GV2 database. 2020-03-27 16:30:36 -04:00
Alan Evans 640c82d517 GV2 group context proto. 2020-03-27 16:30:36 -04:00
Greyson Parrelli 10bfc8a753 Migrate avatars and group avatars. 2020-03-26 22:38:33 -04:00
Greyson Parrelli e6f9cb9929 Remove TextSecurePreferences.getAvatarId() 2020-03-26 17:37:52 -04:00
Greyson Parrelli 6aac3baa55 Remove TextSecurePreferences.getProfileName() 2020-03-26 17:37:52 -04:00
Alan Evans 0269a3eb6f Groups V2 protobufs and local conflict resolution. 2020-03-26 17:37:51 -04:00
Alan Evans f69d4ccd22 Increase Lib Signal Service compatibility to Java 8. 2020-03-26 17:37:51 -04:00
Greyson Parrelli 951a61117a Add storage support for the AccountRecord. 2020-03-26 17:37:51 -04:00
Greyson Parrelli 7a038ab09d Add interim storage support for GroupV2Record. 2020-03-26 17:37:51 -04:00
Alan Evans 624837fcf1 Include zkgroup 0.4.1
All behind feature flag, excluding .so files for space.
2020-03-26 17:37:51 -04:00
Greyson Parrelli 5f7075d39a Update and refactor storage service syncing.
Switched to proto3, updated protos, and generally refactored things to
make it easier to add new storage record types.
2020-03-26 17:37:51 -04:00
Ehren Kret e7e7d36774 Configure Android Studio to pickup protobuf generated sources 2020-03-26 17:37:51 -04:00
Greyson Parrelli 5df4b56c0d Update okhttp to 3.12.10 2020-03-26 17:37:51 -04:00
Greyson Parrelli a62183c9e0 Reduce AttachmentCipherTest flakiness. 2020-03-19 14:50:06 -04:00
Alan Evans ceb9e4aee2
Write capabilities to service. 2020-03-02 12:01:50 -04:00
Alan Evans 172a43679d Add GV2 recipient capability. 2020-03-02 10:11:40 -05:00
Greyson Parrelli 75a52f801a Implement storage service protocol changes. 2020-02-28 16:58:47 -05:00
Greyson Parrelli 6184e5f828 Update the storage service. 2020-02-26 17:11:34 -05:00
Greyson Parrelli 1faf196f82 Implement additional message request improvements. 2020-02-26 17:11:29 -05:00
Alan Evans 7f867a6185 Remove KBS restore after set check. 2020-02-13 20:53:10 -05:00
Alan Evans 7ecb50a3fe Versioned Profiles support (disabled). 2020-02-13 20:53:10 -05:00
Alan Evans 40383f3733 Handle presenting KBS account locked cases. 2020-02-03 15:04:53 -05:00
Alan Evans ed0c4b8de5 Remove KBS feature flag. 2020-02-03 14:20:08 -05:00
Alan Evans ba6e1ab15a Add type to KBS json. 2020-01-27 09:51:00 -05:00
Greyson Parrelli bdb30ebc48 Set a better User-Agent on requests. 2020-01-27 09:51:00 -05:00
Greyson Parrelli a31da7616d Rename 'userAgent' to 'signalAgent'.
This wasn't actually being used in the User-Agent header. Instead, it
was used as the value for an X-Signal-Agent header. To avoid confusion,
I'm renaming this.
2020-01-27 09:51:00 -05:00
Greyson Parrelli 55e9f8722f Add support for remote feature flags. 2020-01-27 09:51:00 -05:00
Alan Evans e37c4b1f87 Replace pinstretcher with Argon2 and new PIN encryption. 2020-01-24 10:54:39 -05:00
Alan Evans 7d70ea78cd Hmac-SIV encryption/decryption. 2020-01-24 10:54:39 -05:00
Alex Hart 3907ec8b51 Add support for setting an optional last name in profiles. 2020-01-24 10:54:39 -05:00
Greyson Parrelli fadcc606f8 Optimize uploads during media composition.
By uploading in advance (when on unmetered connections), media messages
can send almost instantly.
2020-01-24 10:54:38 -05:00
Alan Evans 711d22a0ed Do not specify random provider. 2020-01-24 10:54:38 -05:00
Alan Evans 9ebe920195 Move all files to natural position. 2020-01-06 11:08:30 -05:00
Greyson Parrelli 4e7b4da941 Implement resumable downloads. 2020-01-06 11:08:27 -05:00
Greyson Parrelli 3fbf21a34e Don't crash on packs missing metadata. 2020-01-06 11:08:27 -05:00
Alan Evans b598431237 Separate message decryption from message processing. 2020-01-06 11:08:27 -05:00
Greyson Parrelli fe5fca8eaf Sync thread order and archive status with linked devices. 2020-01-06 11:08:27 -05:00
Greyson Parrelli f832a36a5e Prevent possible UUID-only recipient creations. 2019-12-05 02:59:42 -05:00
Greyson Parrelli 36a2278aef Add sanity checks for phone number during link process. 2019-12-04 15:28:45 -05:00
Greyson Parrelli db19077834 Fix crash when receiving a PreKey message in a new session.
We don't allow creating recipients with only a UUID at the moment
(for good reason), but the way the decrypt method was written, it
was possible to do so. Until we have CDS, we should prefer the phone
number in scenarios like these.
2019-12-04 15:25:26 -05:00