Moxie Marlinspike
a3f1d9cdfd
Beginning of libtextsecure refactor.
...
1) Break out appropriate components.
2) Switch the incoming pipeline from SendReceiveService to
the JobManager.
2014-11-12 15:21:32 -08:00
Moxie Marlinspike
36ec1d84a1
Implement delivery receipts.
...
1) Support a "receipt" push message type.
2) Identify messages by timestamp.
3) Introduce a JobManager to handle the queue for network
dependent jobs.
2014-10-20 19:02:42 -07:00
Moxie Marlinspike
73b75a4a27
Fix build.
2014-10-20 12:25:40 -07:00
Moxie Marlinspike
819982af7b
Rearrange decrypt API.
...
1) Change SessionBuilder to only establish sessions via
KeyExchangeMessage and PreKeyBundles.
2) Change SessionCipher to decrypt either WhisperMessage
or PreKeyWhisperMessage items, automatically building
a session for the latter.
3) Change SessionCipher to tear down new sessions built
with PreKeyWhisperMessages if the embedded WhsiperMessage
fails to decrypt.
2014-10-20 12:25:38 -07:00
Moxie Marlinspike
5f5ddd7c26
Generate SignedPreKey records, improve SignedPreKey cleanup.
2014-10-20 12:23:08 -07:00
Moxie Marlinspike
0d532afd8e
Rename 'device key' to 'signed prekey'.
2014-10-20 12:17:24 -07:00
Moxie Marlinspike
811479d168
Add first cut of protocol v3 support.
...
1) Use the new /v2/keys API for storing/retrieving prekey bundles.
2) For sessions built with PreKeyBundle and PreKeyWhisperMessage,
use a v3 ratcheting session when available.
2014-10-20 12:17:23 -07:00
Moxie Marlinspike
931605a1c4
Move identity key verification into libaxolotol. With tests.
2014-10-20 12:14:18 -07:00
Moxie Marlinspike
a601c56af1
Collapse SessionRecord, SessionState, and PreKeyRecord interfaces.
2014-10-20 12:14:17 -07:00
Moxie Marlinspike
72af8b11c2
Move session construction and KeyExchangeMessage into libaxolotl.
...
1) Add plain two-way key exchange support libaxolotl by moving
all the KeyExchangeMessage code there.
2) Move the bulk of KeyExchangeProcessor code to libaxolotl
for setting up sessions based on retrieved prekeys, received
prekeybundles, or exchanged key exchange messages.
2014-10-20 12:14:17 -07:00
Moxie Marlinspike
a1db221caf
Collapse KeyExchangeMessage and KeyExchangeProcessor interfaces.
2014-10-20 12:14:17 -07:00
Moxie Marlinspike
14b8f97de2
Reorganize session store load/store operations.
2014-10-20 12:14:17 -07:00
Moxie Marlinspike
d902c12941
Break core ratchet out into libaxolotol.
...
1) Break the core cryptography functions out into libaxolotol.
2) The objective for this code is a Java library that isn't
dependent on any Android functions. However, while the
code has been separated from any Android functionality,
it is still an 'android library project' because of the
JNI.
2014-10-20 12:10:02 -07:00
Jake McGinty
89fb80fcc5
MmsConnection refactor
...
- Use Apache HttpClient v4.x, only library that seems to like HTTP proxies
- Remove custom redirect logic in favor of library's
Fixes #1904
// FREEBIE
2014-10-13 12:26:38 -07:00
rymdhund
feabbb33d2
MMS Fixes
...
1) Respect proxyIfPossible flag and make sure to try all mms APNs
2) Reorder mmsc connection process
2014-08-12 17:30:19 -07:00
Jake McGinty
b61e7839f4
prevent MMS notification NPE
...
// FREEBIE
2014-08-10 21:15:55 -07:00
Moxie Marlinspike
8726dd51be
Can't toast on this thread.
...
// FREEBIE
2014-08-02 23:15:57 -07:00
Moxie Marlinspike
9ef14a0f64
Upgrade to new GCM API.
2014-07-23 15:40:45 -07:00
Jake McGinty
34e147838a
use apply for preferences instead of commit
...
// FREEBIE
2014-06-12 14:45:51 -07:00
agrajaghh
8713a85beb
Add notification for key change event.
...
Fixes #1460
2014-06-12 10:40:46 -07:00
McLoo
023d776e96
Reactivate a group if a contact gets readded
...
Fixes #723 //FREEBIE
Removes the own number from group on leaving, to receive a proper
re-added message
2014-05-19 13:18:28 -07:00
Moxie Marlinspike
cebad39422
Collapse some v2 interfaces now that there's no v1.
2014-04-16 11:47:51 -07:00
Moxie Marlinspike
1d07ca3e6f
Remove V1 code.
2014-04-16 11:47:51 -07:00
Moxie Marlinspike
33ecc4d690
Add null check. // FREEBIE
2014-04-03 14:01:15 -07:00
Jake McGinty
832763f695
UX for unencrypted fallback case
2014-04-02 22:10:51 -07:00
Moxie Marlinspike
40629a3bcf
Fix decryption corner case when passphrase is disabled.
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
ad5d6d5bb7
Add refresh path for PreKey queue.
2014-04-02 22:10:50 -07:00
Jake McGinty
d827ab1b36
more precise sms controls
...
// FREEBIE
2014-03-13 20:59:20 -07:00
Moxie Marlinspike
0b4fe84a41
Format-neutral compare numbers in MMS group with local device.
...
Closes #1018
2014-03-07 13:05:35 -08:00
Manuel
b6a9eb5bf2
Closes #913 : Message ID is -1 when called in aggregate
2014-03-07 11:59:53 -08:00
Moxie Marlinspike
dc77c43435
Merge pull request #796 from mcginty/pending_messages
...
pending messages more accurately conveyed to user
2014-03-03 18:49:48 -08:00
Jake McGinty
90169e9468
pending messages more accurately conveyed to user
2014-03-03 11:56:54 -08:00
Moxie Marlinspike
b5fe378bc9
Workaround for Android bug when swiped from recent tasks list.
...
Closes #168
https://code.google.com/p/android/issues/detail?id=53313
2014-03-03 11:45:05 -08:00
Moxie Marlinspike
2dc893730a
Auto-update every 12 hours instead.
...
// FREEBIE
2014-03-02 16:19:05 -08:00
Moxie Marlinspike
8ea4db03db
Better support for local storage with passphrase disabled.
...
1) Never get into a state where messages aren't displayed
unencrypted.
2) Fix bug where locked DB required launching twice.
2014-02-28 15:58:30 -08:00
Moxie Marlinspike
81ee9e31c5
Update behavior for incoming SMS path.
...
1) On KitKat, unencrypted SMS messages are never stored in
TextSecure unless it is set as the system-wide default.
2) On KitKat, if TextSecure is set as the system-wide default,
provide an option to change the default to a different app.
3) Don't store the TextSecure challenge on KitKat+ devices.
2014-02-28 13:40:35 -08:00
Moxie Marlinspike
ce710b378f
Fix for stalled retries.
2014-02-25 17:15:30 -08:00
Moxie Marlinspike
20fd881613
Display error code from server when already registered elsewhere.
2014-02-25 17:00:31 -08:00
Moxie Marlinspike
5a525a2e58
Switch KCS priority to MIN on JB+. Eliminates icon in status bar!
2014-02-25 10:33:11 -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
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
a6e1d56cde
Refactor group messaging protocol.
...
// FREEBIE
2014-02-21 17:51:52 -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
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
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