Sam Lanning
69f180a5ec
Fix some potential integer overflows for expiration time
...
In a number of locations in the code, there were conversions of message
expiration times from seconds to milliseconds, and then assigned to `long`
contexts. However these conversions were being done as integer multiplication
rather than long multiplication, meaning that there was a potential for
overflows.
Specifically, the maximum value that could be represented before overflowing
was (2^31 / 1000 / 60 / 60 / 24) days = 24.8 days (< 1 month). Luckily the
current allowed timeouts are all less than that value, but this fix would
remove the artificial restriction, effectively allowing values of 1000x greater
(68 years), at least for android.
Related #5775
Closes #7338
2018-03-07 09:55:24 -08:00
Moxie Marlinspike
d28dc670ea
Migrate to Android fingerprints and auth for Signal screen lock
2018-03-05 16:11:49 -08:00
Moxie Marlinspike
24e573e537
Support for full backup/restore to sdcard
2018-03-05 16:11:49 -08:00
Moxie Marlinspike
71c7ef5b5e
Support for custom call ringtone selection and per-chat ringtones
2018-03-05 16:11:49 -08:00
Moxie Marlinspike
3633d805c8
More MasterSecret cleanup
2018-02-01 19:22:48 -08:00
Moxie Marlinspike
e6a069af6d
Remove unnecessary body model
2018-02-01 18:29:09 -08:00
Moxie Marlinspike
23aee53c7d
Add determinte progress and foreground service for sqlcipher migration
2018-02-01 16:01:24 -08:00
Moxie Marlinspike
f36b296e2e
Migrate from SQLite and ciphertext blobs to SQLCipher + KeyStore
2018-01-30 17:27:05 -08:00
Moxie Marlinspike
a798f97aa3
Update to webrtc M64
2017-12-21 16:37:07 -08:00
Moxie Marlinspike
6dcec7c2c5
Fix service calls that won't foreground
2017-12-20 11:27:57 -08:00
Moxie Marlinspike
9c77ffc2a4
The webrtc busy state could be idle, but system dialer connected
2017-12-19 10:57:34 -08:00
Moxie Marlinspike
4de14a5dc1
Only use startForegroundService for initial service construction
2017-12-15 09:45:00 -08:00
Moxie Marlinspike
acfc9d75e0
Use startForegroundService instead of startService on Android 8
2017-11-30 10:26:41 -08:00
Moxie Marlinspike
c8104a91a4
Remove dead code
2017-11-30 10:26:41 -08:00
Moxie Marlinspike
64c8b4b2ef
Support for selective permissions
2017-11-30 10:26:41 -08:00
Moxie Marlinspike
f855e161d9
Ensure notifications for new users won't be generated first fetch
2017-11-30 10:26:41 -08:00
Moxie Marlinspike
b80408bcb4
Use Glide for all contact photo caching
...
// FREEBIE
2017-10-11 17:47:12 -07:00
Moxie Marlinspike
17dd681dc8
Run all AsyncTasks on thread pool executor
...
Should Fix #7002
2017-10-23 13:03:32 -07:00
Moxie Marlinspike
5a607918d2
Name message retrieval service thread
...
// FREEBIE
2017-10-08 11:34:24 -07:00
Moxie Marlinspike
cb9bc9659b
Support for read receipts
...
// FREEBIE
2017-10-01 22:36:52 -07:00
Moxie Marlinspike
f3d943270c
Be more conservative with handlers and references
...
Expiring message timers could end up leaking references and
executing work even after their conversation item was no longer
visible
Maybe fixes #6898
// FREEBIE
2017-09-09 23:46:48 -07:00
Moxie Marlinspike
f17af19d09
Access all RecipientDatabase settings directly from Recipient
...
// FREEBIE
2017-08-28 10:30:50 -07:00
Moxie Marlinspike
d1790dfe17
Rename RecipientPreferences -> RecipientSettings
...
// FREEBIE
2017-08-28 10:30:50 -07:00
Moxie Marlinspike
8e6ca53023
Rename RecipientPreferencesDatabase -> RecipientDatabase
...
// FREEBIE
2017-08-28 10:30:50 -07:00
Moxie Marlinspike
6924f0519e
No need for a RecipientFactory any longer
...
// FREEBIE
2017-08-28 10:30:50 -07:00
Moxie Marlinspike
375207f073
Switch MMS groups to use the group database infrastructure
...
Eliminate the concept of 'Recipients' (plural). There is now just
a 'Recipient', which contains an Address that is either an individual
or a group ID.
MMS groups now exist as part of the group database, just like push
groups.
// FREEBIE
2017-08-28 10:30:50 -07:00
Moxie Marlinspike
7f46e99f9c
Use SIM country code when registered number is unavailable
...
Convert directory operations to Addresses
Fixes #6845
// FREEBIE
2017-08-02 12:51:46 -07:00
Moxie Marlinspike
737810475e
Remove the Canonical Address Database
...
This was a holdover from Signal's origins as a pure SMS app.
It causes problems, depends on undefined device specific behavior,
and should no longer be necessary now that we have all the
information we need to E164 all numbers.
// FREEBIE
2017-07-31 12:02:29 -07:00
Moxie Marlinspike
9dd508b6f5
Track pending incoming ice updates in addition to outgoing
...
// FREEBIE
2017-07-12 11:15:28 -07:00
Moxie Marlinspike
34443b059c
Revert "We can now send trickle ice candidates immediately"
...
Need to hold off on this for some iOS changes.
This reverts commit 338f8de787
.
2017-07-12 10:59:10 -07:00
Moxie Marlinspike
338f8de787
We can now send trickle ice candidates immediately
...
// FREEBIE
2017-07-05 14:06:31 -07:00
Moxie Marlinspike
2c4c0f1349
Archive sessions and generate new registration id on re-register
...
Fixes #6703
// FREEBIE
2017-07-05 13:13:53 -07:00
Moxie Marlinspike
39b95ca4ed
Do more to keep MessageRetrievalService alive
...
Closes #6456
2017-07-03 11:36:31 -07:00
Moxie Marlinspike
f92d768be5
Correctly handle ice candidate for stale call
...
Fixes #6373
Fixes #6305
// FREEBIE
2017-06-13 09:21:42 -07:00
Moxie Marlinspike
76c28cfa7a
Add support for SN verification
...
// FREEBIE
2017-06-09 19:58:01 -07:00
Moxie Marlinspike
5672701a60
Add uncaught exception handler to message retrieval thread
...
Related #6644
// FREEBIE
2017-06-02 09:49:44 -07:00
Moxie Marlinspike
b50a3fa2b8
Actually handle busy signal correctly
...
// FREEBIE
2017-06-01 13:11:48 -07:00
Paride Legovini
99d229bb45
Don't connect to server if !isPushRegistered
...
Partial fix for #6620 .
Closes #6627
// FREEBIE
2017-05-31 14:51:48 -07:00
Moxie Marlinspike
d507756821
Some identity key handling changes
...
1) Prefetch identity keys when possible
2) Always accept prefetched keys or keys from incoming messages
3) Block sending only if it's a recent change, or if always
block is enabled
// FREEBIE
2017-05-31 14:51:48 -07:00
Moxie Marlinspike
cb670d6783
Improve UI send latency
...
// FREEBIE
2017-04-26 10:27:30 -07:00
Moxie Marlinspike
c69efbffd2
Don't enable speakerphone when video enabled if headset on
...
Fixes #6431
// FREEBIE
2017-03-24 11:11:48 -07:00
Moxie Marlinspike
94964474b2
So long redphone
...
// FREEBIE
2017-03-14 13:24:24 -07:00
Moxie Marlinspike
2f46c6ca1f
Don't redisplay notifications after they have been dismissed
...
Fixes #5751
Fixes #6218
// FREEBIE
2017-03-14 10:09:24 -07:00
Christian Ascheberg
97c3e8fa3f
Inform about timed out incoming calls
...
Closes #6344
// FREEBIE
2017-03-12 10:43:55 -07:00
Moxie Marlinspike
bdcfabf1ee
Silence incoming ringer when power button is pressed
...
// FREEBIE
2017-03-05 10:36:01 -08:00
Moxie Marlinspike
cd28cd172f
Refactor webrtc audio management
...
Attempts to:
1) Successfully play ringtone through speaker instead of earpiece
when possible.
2) Manage bluetooth headset connectivity as well as possible
3) Eliminate notification sounds while in-call when possible
4) Make sure audio is correctly setup when receiving calls
Fixes #6271
Fixes #6248
Fixes #6238
Fixes #6184
Fixes #6169
// FREEBIE
2017-03-05 10:35:55 -08:00
Moxie Marlinspike
3904c76261
Some additional debug logging
...
Related #6305
// FREEBIE
2017-02-28 17:06:05 -08:00
Moxie Marlinspike
9b8719e2d5
Support for website distribution build with auto-updating APK
...
// FREEBIE
2017-02-27 23:53:36 -08:00
Moxie Marlinspike
a37d2f568c
Update webrtc to M57
...
// FREEBIE
2017-02-26 11:16:01 -08:00
Moxie Marlinspike
e92b51ed98
Run webrtc calls as foreground service
...
Should hopefully stop performance degredation when in background
Fixes #6249
// FREEBIE
2017-02-26 11:16:01 -08:00