Moxie Marlinspike
1d07ca3e6f
Remove V1 code.
2014-04-16 11:47:51 -07:00
Jake McGinty
b715debefc
mark auto-fallback to sms as forcedSms
...
// FREEBIE
2014-04-10 10:50:35 -07:00
Jake McGinty
832763f695
UX for unencrypted fallback case
2014-04-02 22:10:51 -07:00
Moxie Marlinspike
fd1a18d2d0
Don't display duplicate push messages.
2014-04-02 22:10:50 -07:00
Moxie Marlinspike
b860aeff85
Minor ConversationList scrolling optimization.
2014-03-16 14:36:21 -07:00
Jake McGinty
d827ab1b36
more precise sms controls
...
// FREEBIE
2014-03-13 20:59:20 -07:00
Pat McLaughlin
d229a4274c
Also check cc for duplicates
2014-03-12 20:49:55 -04:00
Moxie Marlinspike
0b4fe84a41
Format-neutral compare numbers in MMS group with local device.
...
Closes #1018
2014-03-07 13:05:35 -08:00
Moxie Marlinspike
3b25b87aa8
Fix for NPE
2014-02-26 12:42:16 -08:00
Moxie Marlinspike
43c1576aab
Fix for bad database migration.
2014-02-24 17:00:52 -08:00
Moxie Marlinspike
5000957b99
Listen for group updates, fix group updates, and Recipient marshing
2014-02-24 00:19:54 -08:00
Jake McGinty
86b3de2a93
group updates do things
...
// FREEBIE
2014-02-23 21:18:08 -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
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
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
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
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
e15ff6193f
unbreak group insertion for new installs
2014-02-17 20:10:37 -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
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
4e703d5a00
Correct retry logic for SMS JB+ and for push groups.
2014-02-15 18:31:25 -08:00
Moxie Marlinspike
a305bb80e6
Correctly display group members
2014-02-15 11:30:20 -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
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
Moxie Marlinspike
49daa45dca
wip
2014-01-14 00:26:43 -08:00
Jake McGinty
28c1c5006b
icon, contact list and conversation redesign
2014-01-09 19:06:41 -10:00
Moxie Marlinspike
dde2d2564a
Fix rebase errors
2014-01-06 19:49:35 -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
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
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
7f642666dd
Basic support for prekeybundle message delivery and receipt.
2014-01-06 14:35:52 -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
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
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
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