Moxie Marlinspike
636c50b3b8
Fix for creating non-push groups.
2014-02-23 14:38:03 -08:00
Moxie Marlinspike
9298dded15
Only disable inactive *push* group conversations.
2014-02-23 14:37:41 -08:00
Jake McGinty
8794661433
fix "end session" inflation
...
// FREEBIE
2014-02-22 22:22:39 -08:00
Moxie Marlinspike
125a60290f
Correctly handle key conflict resolution for incoming push.
2014-02-22 14:22:12 -08:00
Moxie Marlinspike
315cf2d8e4
Eliminate concept of group 'owner'.
2014-02-22 11:29:28 -08:00
Moxie Marlinspike
da57a689c1
Fill in some strings.
...
// FREEBIE
2014-02-22 11:10:30 -08:00
Moxie Marlinspike
9c9866e7ee
Add 'leave group' functionality. Includes other bug fixes.
2014-02-22 10:54:43 -08:00
Moxie Marlinspike
a6e1d56cde
Refactor group messaging protocol.
...
// FREEBIE
2014-02-21 17:51:52 -08:00
Jake McGinty
b855f8a163
fix single contact selection for contacts with multiple phones
...
// FREEBIE
2014-02-21 17:12:08 -08:00
Jake McGinty
7beab36c6a
updates to conversation menu, and updating of group info
...
// FREEBIE
2014-02-21 11:33:31 -08:00
Moxie Marlinspike
ccd1691b22
Make 'push' status a type bit on both incoming and outgoing msgs.
2014-02-20 23:00:38 -08:00
Moxie Marlinspike
2026330f8a
Remove dead code.
2014-02-20 18:27:43 -08:00
Moxie Marlinspike
3ca25de034
Fix for MMS decoding when no SIM is available.
2014-02-20 17:32:01 -08:00
Moxie Marlinspike
ff238a1ce9
Indicate a message was delivered via push in its delivery status.
2014-02-20 16:14:58 -08:00
Moxie Marlinspike
918f223149
Add preference to disable the SMS channel all together.
...
1) If the SMS fallback preference is disabled, no outgoing
messages will succeed via the SMS transport.
2) If the SMS fallback preference is disabled, "mirroring" the
SMS db state when not the default system SMS app is disabled.
2014-02-20 14:49:31 -08:00
Moxie Marlinspike
c5821f770a
Don't prompt for auto-initiate if push registered (or active V2).
2014-02-20 12:55:02 -08:00
Moxie Marlinspike
5b22a7bdcb
Create Curve25519 identities in the next release.
2014-02-20 12:46:51 -08:00
Moxie Marlinspike
2a74dc8d82
Update the conversation UI after aborting a V1 session.
2014-02-20 12:06:11 -08:00
Moxie Marlinspike
145e4335fc
Only send round-trip key exchanges over SMS.
2014-02-20 12:06:11 -08:00
Moxie Marlinspike
1d4d9663db
Fix for NPE
2014-02-20 12:06:11 -08:00
Jake McGinty
a0cbbd2d21
confirm session abort handler in ConversationItem
...
// FREEBIE
2014-02-20 11:42:15 -08:00
Moxie Marlinspike
9614dc9055
Refactor group database model and flow.
...
1) Use existing DB types instead of adding new columns.
2) Store group attributes in message body, like everything else.
2014-02-19 21:07:47 -08:00
Jake McGinty
0cdc6fd87d
embrace the darkness, don't open quickcontact for groups
...
// FREEBIE
2014-02-19 15:01:10 -08:00
Moxie Marlinspike
19dddd7adf
Support for an 'end session' protocol message.
...
1) On the push side, this message is a flag in PushMessageContent.
Any secure message with that flag will terminate the current
sessin.
2) On the SMS side, there is an "end session" wire type and
the convention that a message with this wire type must be
secure and contain the string "TERMINATE."
2014-02-19 13:50:32 -08:00
Jake McGinty
0688dd0c2c
repurpose ImageDivet for avatar, minor lint, fix bitmap decoding
...
// FREEBIE
2014-02-19 00:01:37 -08:00
Jake McGinty
9d9a0ec218
collection of fixes based on comments/small aesthetic stuff // FREEBIE
2014-02-18 16:42:44 -08:00
Jake McGinty
e05bacd8c3
fixing avatar selection when some gallery apps won't return any extras
...
but still succeed // FREEBIE
2014-02-18 16:42:33 -08:00
Moxie Marlinspike
760c96171d
Merge branch 'master' into groups
2014-02-18 13:53:35 -08:00
Moxie Marlinspike
3999171377
Introduce registration-time ID for detecting stale sessions.
...
1) At registration time, a client generates a random ID and
transmits to the the server.
2) The server provides that registration ID to any client
that requests a prekey.
3) Clients include that registration ID in any
PreKeyWhisperMessage.
4) Clients include that registration ID in their sendMessage
API call to the server.
5) The server verifies that the registration ID included in
an API call is the same as the current registration ID
for the destination device. Otherwise, it notifies the
sender that their session is stale.
2014-02-18 12:51:23 -08:00
Jake McGinty
abce678cb4
received group messages aren't processed as "meta" group stuff, oops.
2014-02-17 22:20:43 -08:00
Jake McGinty
fb75d90edc
fix bug where it opened wrong thread for TS group creates
2014-02-17 22:04:08 -08:00
Jake McGinty
25324a45b3
Show something for unnamed groups, allow us to have different default photos for groups vs. individuals
2014-02-17 21:42:30 -08:00
Jake McGinty
877ed8f59c
Show TS group titles properly, hide MMS options
2014-02-17 20:25:40 -08:00
Jake McGinty
54b087c458
MMS should open conversation also
2014-02-17 20:19:54 -08:00
Jake McGinty
ca51ddac7f
re-privatize getRecipientForNumber
2014-02-17 20:19:35 -08:00
Jake McGinty
e15ff6193f
unbreak group insertion for new installs
2014-02-17 20:10:37 -08:00
Jake McGinty
93329df530
avatar selection on gb fixed, disable push groups if not push registered
2014-02-17 17:33:20 -08:00
Jake McGinty
948f888670
group ui task refactor, small bug fixes
2014-02-17 16:36:31 -08:00
Jake McGinty
c19ac8ec1e
less hacky way of converting ContactData to Recipients
2014-02-17 16:23:29 -08:00
Jake McGinty
04327e9ed7
refresh conversation fragment to new thread when created
2014-02-17 15:48:09 -08:00
Jake McGinty
e81526e581
error messaging for group creation issues
2014-02-17 15:48:09 -08:00
Jake McGinty
4f87c1e52e
better intent sequence for single contact selection
2014-02-17 15:48:08 -08:00
Moxie Marlinspike
9bb327db42
Handle SMS fallback preferences correctly, and fix directory sync.
2014-02-17 15:31:42 -08:00
Moxie Marlinspike
94b54a6d63
Fix build.
2014-02-17 13:22:37 -08:00
Moxie Marlinspike
fe03a22926
Make group creation exceptions more accurate.
2014-02-17 13:19:49 -08:00
Moxie Marlinspike
d8e1df9233
Check prekey identity on mismatched devices too.
2014-02-17 12:41:06 -08:00
Moxie Marlinspike
6b5753337c
Putting this functionality in the hands of the user was a bad idea.
2014-02-17 12:37:34 -08:00
Moxie Marlinspike
18f3314cd2
Fix for no paradigm.
2014-02-17 11:54:39 -08:00
Moxie Marlinspike
b9f4fba98a
Handle identity key mismatch on outgoing group messages.
...
Additionally, make the group creation process asynchronous.
2014-02-17 11:43:37 -08:00
Jake McGinty
5810062b25
group action conversation items, tweaks to single contact selection
2014-02-16 21:09:15 -08:00
Moxie Marlinspike
e7e5bc0884
Verify identity keys on outgoing messages.
...
If PreKeyEntity identity key doesn't match local DB, fail
outgoing message and queue "incoming" identity key update
message for manual user approval.
2014-02-16 15:23:49 -08:00
Moxie Marlinspike
e2989373cd
All push groups are 'secure' ConversationActivities.
2014-02-15 18:40:08 -08:00
Moxie Marlinspike
4e703d5a00
Correct retry logic for SMS JB+ and for push groups.
2014-02-15 18:31:25 -08:00
Moxie Marlinspike
b79bc4c234
Fix for non-group threading issue.
2014-02-15 11:44:47 -08:00
Moxie Marlinspike
a305bb80e6
Correctly display group members
2014-02-15 11:30:20 -08:00
Jake McGinty
8e3aa94a05
group member name tags, group convo iconography, tweaks
2014-02-15 04:21:56 -08:00
Moxie Marlinspike
7d3a2acb29
Fix build
2014-02-14 16:41:06 -08:00
Jake McGinty
9b41675f8f
single contact selection
2014-02-14 16:21:48 -08:00
Moxie Marlinspike
9438973eac
Switch to protobuf enums for push signal type.
2014-02-14 16:20:47 -08:00
Moxie Marlinspike
2f98622948
Fix group migration.
2014-02-14 16:18:18 -08:00
Moxie Marlinspike
067799be06
Display group actions and correctly handle group delivery.
2014-02-14 15:59:57 -08:00
Moxie Marlinspike
7c46f3cbf8
Fill in group creation actions
2014-02-13 17:10:20 -08:00
Jake McGinty
41aa53dd66
masterSecret
2014-02-13 12:36:31 -08:00
Jake McGinty
b47076cf1b
kill wrong finish() for mms creation
2014-02-13 12:18:17 -08:00
Jake McGinty
bb4a4d33c9
handlePush and handleMms prototypes
2014-02-13 12:15:26 -08:00
Jake McGinty
c5d010c86f
Quick progressbar sample for network operations during group create
2014-02-13 11:44:07 -08:00
Jake McGinty
01a438de09
basic messaging when non-push users are added
2014-02-12 17:17:33 -08:00
Jake McGinty
b4a4e629f1
alignment and string work
2014-02-12 12:05:18 -08:00
Jake McGinty
9cd5a67ec5
directory changes to use number instead of token, group ui progress
2014-02-12 11:35:04 -08:00
Moxie Marlinspike
0af473d880
Merge branch 'groups' of github.com:WhisperSystems/TextSecure into groups
2014-02-03 11:52:27 -08:00
Moxie Marlinspike
0ace469d74
Support for multi-device.
...
1) In addition to the Recipient interface, there is now
RecipientDevice. A Recipient can have multiple corresponding
RecipientDevices. All addressing is done to a Recipient, but
crypto sessions and transport delivery are done to
RecipientDevice.
2) The Push transport handles the discovery and session setup
of additional Recipient devices.
3) Some internal rejiggering of Groups.
2014-02-02 19:38:06 -08:00
Jake McGinty
ed3151bdb5
backward compatible navigation drawer toggle // FREEBIE
2014-02-01 19:40:46 -08:00
Jake McGinty
9fd2c4753e
ui wip
2014-01-25 23:39:56 -08:00
Jake McGinty
2f01569e45
Revert "Don't stick thread IDs in the Intent extra data. Always mark all threads read from notification."
...
This reverts commit 91b52bed18
.
2014-01-18 18:25:51 -08:00
Moxie Marlinspike
49daa45dca
wip
2014-01-14 00:26:43 -08:00
Moxie Marlinspike
4851a555e7
Merge pull request #540 from WhisperSystems/lint
...
Fixes more lint errors
2014-01-11 10:52:32 -08:00
Ruben Pollan
6cdd2aff0d
Suppress lint errors
2014-01-11 01:34:11 -10:00
Ruben Pollan
c134709009
Add apn settings for some providers
2014-01-10 21:03:45 -10:00
Moxie Marlinspike
9b6d4e3696
Merge pull request #532 from mcginty/visual_refresh
...
WBoC Visual Refresh
2014-01-09 21:08:15 -08:00
Jake McGinty
28c1c5006b
icon, contact list and conversation redesign
2014-01-09 19:06:41 -10:00
bozsco
e9a8c7474c
Automatically show keyboard when new SMS is composed
2014-01-09 16:52:11 -05:00
Ben Reser
149671095b
Fix issue #469 : Hide "Clear Passphrase" if passphrase is disabled.
2014-01-07 21:47:28 -08:00
Moxie Marlinspike
c488947248
Merge pull request #453 from irv/master
...
Merge Fix issue #433
2014-01-07 20:08:53 -08:00
Moxie Marlinspike
04b2c3772a
Support skipping password creation at setup
2014-01-07 16:27:00 -08:00
Moxie Marlinspike
5c97b1e864
Twiddle the auto initiate
2014-01-06 20:03:16 -08:00
Moxie Marlinspike
dde2d2564a
Fix rebase errors
2014-01-06 19:49:35 -08:00
Moxie Marlinspike
71664926e9
Better handling for unregistered users on outgoing message.
2014-01-06 14:38:41 -08:00
Moxie Marlinspike
d4188c4a1c
SHA256 attachment MACs.
2014-01-06 14:38:14 -08:00
Moxie Marlinspike
f002072f38
New attachment API
2014-01-06 14:38:14 -08:00
Moxie Marlinspike
327ee4ff62
Remove unnecessary classes, up prekey limit to 100
2014-01-06 14:38:14 -08:00
Moxie Marlinspike
1ab4e7e9de
Library accepts push connection certificate as argument.
2014-01-06 14:38:14 -08:00
Moxie Marlinspike
ce5f3c5157
Validate phone numbers when formatting.
2014-01-06 14:37:52 -08:00
Moxie Marlinspike
44092a3eff
Support for Axolotl protocol.
...
1) Split code into v1 and v2 message paths.
2) Do the Axolotl protocol for v2.
3) Switch all v2 entities to protobuf.
2014-01-06 14:37:52 -08:00
Moxie Marlinspike
dc73bc2a5c
Having calling code specify push URL to library.
2014-01-06 14:37:52 -08:00
Moxie Marlinspike
4380b46a35
Correctly update MMS security status.
2014-01-06 14:37:51 -08:00
Moxie Marlinspike
fde8d32848
Subtle rebase conflicts...
2014-01-06 14:37:51 -08:00
Moxie Marlinspike
dadabdfaa8
Make UI responsive to UniversalTransport upgrades.
2014-01-06 14:36:23 -08:00
Moxie Marlinspike
c38a8aa699
Migrate to Curve25519.
...
1) Generate a Curve25519 identity key.
2) Use Curve25519 ephemerals and identities for v2 3DHE agreements.
3) Initiate v2 key exchange messages.
4) Accept v1 key exchange messages.
5) TOFU Curve25519 identities.
2014-01-06 14:36:22 -08:00
Moxie Marlinspike
dbc070cd65
Refactor the ciphertext message parsing and building.
2014-01-06 14:36:22 -08:00
Moxie Marlinspike
44d59d0fd1
Correctly store destination SMS state.
2014-01-06 14:36:21 -08:00
Moxie Marlinspike
51b9affe90
Add federation support for attachment retrieval.
2014-01-06 14:36:21 -08:00
Moxie Marlinspike
246cd10454
Bundle e164 and relay into PushDestination
2014-01-06 14:36:21 -08:00
Moxie Marlinspike
ca3c82f581
Simply PushServiceSocket constructor.
2014-01-06 14:36:21 -08:00
Moxie Marlinspike
5b2caa0074
Make relay arguments consistent.
2014-01-06 14:36:21 -08:00
Moxie Marlinspike
fa5ccc3f8a
Support for server federation.
2014-01-06 14:35:54 -08:00
Moxie Marlinspike
25a2ad7289
Add directory refreshing at 24hr intervals.
2014-01-06 14:35:54 -08:00
Moxie Marlinspike
eb4cc7f4e5
Add incoming message sources to active token dir.
2014-01-06 14:35:54 -08:00
Moxie Marlinspike
1ac32346c1
Graduate to a rebased and gradle world.
2014-01-06 14:35:54 -08:00
Moxie Marlinspike
2d083208cc
Handle negative directory case and unlisted contacts.
2014-01-06 14:35:54 -08:00
Moxie Marlinspike
75cca3add1
Resign ourselves to a less sophisticated contact intersection method.
2014-01-06 14:35:53 -08:00
Moxie Marlinspike
073b1f69e3
Rollbacks, v2 sms-transport key exchanges, push identity conflicts.
...
1) Stop protocol rollbacks.
2) Handle v2 version key exchange messages.
3) Handle identity key conflicts on prekeybundle messages.
2014-01-06 14:35:53 -08:00
Moxie Marlinspike
5e6d39beea
Move classes into library
2014-01-06 14:35:53 -08:00
Moxie Marlinspike
8f6590b738
Handle notifications and receiving push when locked.
2014-01-06 14:35:53 -08:00
Moxie Marlinspike
0dd36c64a4
Basic support for encrypted push-based attachments.
...
1) Move the attachment structures into the encrypted message body.
2) Encrypt attachments with symmetric keys transmitted in the
encryptd attachment pointer structure.
3) Correctly handle asynchronous decryption and categorization of
encrypted push messages.
TODO: Correct notification process and network/interruption
retries.
2014-01-06 14:35:53 -08:00
Moxie Marlinspike
cddba2738f
Make encoding/decoding more explicit.
2014-01-06 14:35:53 -08:00
Moxie Marlinspike
0cc5837d7f
Support encrypted transport, properly handle multiple recipients.
...
1) Add encryption support for the transport layer. This obscures
metadata from the push messaging provider.
2) Better support the direction multiple destination messages is
headed (one unique message per recipient).
2014-01-06 14:35:53 -08:00
Moxie Marlinspike
68ec0a3727
Add last resort key and signaling key.
2014-01-06 14:35:53 -08:00
Moxie Marlinspike
45e380a5bb
move constants into library
2014-01-06 14:35:52 -08:00
Moxie Marlinspike
1bbcedabd4
Added SMS transport support for PreKeyBundle messages.
...
1) Added SMS transport support.
2) Keep track of whether a PreKeyBundle message has gotten
a response, and send them as subsequent messages until
one has been received.
2014-01-06 14:35:52 -08:00
Moxie Marlinspike
c3b8b62d32
Delete pre-key record when establishing agreement.
2014-01-06 14:35:52 -08:00
Moxie Marlinspike
43492b66c4
Rename EncryptedMessage
2014-01-06 14:35:52 -08:00
Moxie Marlinspike
7f642666dd
Basic support for prekeybundle message delivery and receipt.
2014-01-06 14:35:52 -08:00
Moxie Marlinspike
1cc2762656
Refactor relationship between SessionCipher and Message.
2014-01-06 14:35:52 -08:00
Moxie Marlinspike
d1969412fb
Move PreKey ids to be Mediums, generate in circular buffer.
2014-01-06 14:35:51 -08:00
Moxie Marlinspike
edb89ee3e9
Encode prekey as full JSON rather than protobuf blobs.
...
1) Split prekey messages out into full JSON.
2) Add support for retrieving prekeys.
2014-01-06 14:35:51 -08:00
Moxie Marlinspike
499de2d2bf
Move prekey jsonifcation into the push code, add identity key.
2014-01-06 14:35:51 -08:00
Moxie Marlinspike
b8f663b69c
Move common crypto classes into TextSecureLibrary.
...
1) Move all the crypto classes from securesms.crypto.
2) Move all the crypto storage from securesms.database.keys
3) Replace the old imported BC code with spongycastle.
2014-01-06 14:35:51 -08:00
Moxie Marlinspike
2042ca6cb7
Generate "prekeys" at push registration time.
...
This generates a large number of key exchange messages and
registers them with the server during signup.
2014-01-06 14:34:47 -08:00
Moxie Marlinspike
cfb7b8fcba
Consider unregistered if authorization fails.
...
This should only occur if another device has registered with the
same number, effectively making the current device unregistered.
2014-01-06 14:34:46 -08:00
Moxie Marlinspike
03ff55db97
Actually set the preference to unregistered
2014-01-06 14:33:53 -08:00
Moxie Marlinspike
fb378a6e00
Change attachment retrieval interface
2014-01-06 14:33:53 -08:00
Moxie Marlinspike
9287d413ac
Support for incoming attachments.
...
1) Refactored MMS layer to use abstracted types.
2) Added support for retrieving attachment IDs.
2014-01-06 14:33:52 -08:00
Moxie Marlinspike
4bb337a3a0
Revised support for outgoing attachments
2014-01-06 14:33:52 -08:00
Moxie Marlinspike
fd045f2354
Refactor MMS send/download to be synchronous.
...
1) Make the radio change a synchronous action with a timeout.
2) Move the send logic into an MmsTransport, in preparation for
UniversalTransport composition.
3) Move the download logic into a synchronous receiver.
2014-01-06 14:33:52 -08:00
Moxie Marlinspike
53803630d4
Enable TextSecure universal transport.
2014-01-06 14:33:52 -08:00
Moxie Marlinspike
d7070e7ecf
Inserted the Registration activity into initial setup flow.
...
1) Added push messaging toggle to preferences.
2) Added push messaging registration screen to setup flow.
3) Migrated rest of SharedPreferences accessors to
TextSecurePreferences.
2014-01-06 14:30:03 -08:00
Moxie Marlinspike
52e5274a2f
Add registration notification support.
2014-01-06 14:21:51 -08:00
Moxie Marlinspike
0ed9da9a2c
Strings and slight cleanup
2014-01-06 14:21:50 -08:00
Moxie Marlinspike
26dadfcb7a
Move trust store to raw resource from asset.
2014-01-06 14:21:50 -08:00
Moxie Marlinspike
1ac06312a0
Move directory and push service socket into library.
2014-01-06 14:21:50 -08:00
Moxie Marlinspike
a200d29514
Move most of Util into library
2014-01-06 14:21:50 -08:00
Moxie Marlinspike
21eee19380
Split into library project and add shared preferences layer of indirection.
2014-01-06 14:20:59 -08:00
Moxie Marlinspike
0958c30400
Stringify
2014-01-06 14:19:06 -08:00
Moxie Marlinspike
3634ba0b55
Registration with voice verification.
2014-01-06 14:18:30 -08:00
Veeti Paananen
eb1b762a76
Improve password caching notification UI & UX
...
On Jelly Bean and above:
- Use the standard notification style for a better and consistent visual
appearance
- Use the JB notification actions API for the locking action
- Use a lower notification priority to prioritize other notifications
over TextSecure
On ICS:
- Use the existing custom notification layout
Everywhere:
- Allow opening the app itself from the notification
- Simplify strings: don't talk about a "cached passphrase" but about the
app being "unlocked"/"locked"
2013-12-22 04:48:39 +02:00
nicky g
a0c821f6ac
set unread message count in notifications.
...
was not able to squash commit requesting new pull
2013-12-19 02:44:42 +05:30
Moxie Marlinspike
d260cdcc9f
Add giffgaff APN defaults. // FREEBIE
2013-12-17 16:57:40 -08:00
Moxie Marlinspike
496d5e21d2
Add Slovenia APN defaults
2013-12-17 16:53:35 -08:00
Veeti Paananen
6eb094c87e
Show LED and ringtone setting values in their summaries
...
As instructed in the Android design guidelines. Also removed unnatural
capitalization.
2013-12-17 03:13:22 +02:00
Veeti Paananen
f18324e2d6
Add tab swiping in the contact picker
2013-12-16 22:17:52 +02:00