Moxie Marlinspike
07b7696937
Update 'DJB' type not to conlict with NIST type 0x04.
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
a03fff8b24
Add HKDF support for new sessions.
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
6e640db39c
204 is ok
2014-01-06 14:36:21 -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
fa073e0b46
Update gradle plugin version
2014-01-06 14:36:21 -08:00
Moxie Marlinspike
7fd9946275
Fix release push service url
2014-01-06 14:35:54 -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
e7a21752d8
Switch code API to GET.
2014-01-06 14:35:54 -08:00
Moxie Marlinspike
b010c5194a
Support publishing AARs to maven local
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
90814be167
Fix up release parameters
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
0e899b93d4
Reset Release
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
4c615546e8
update gitignore
2014-01-06 14:21:50 -08:00