Commit Graph

2540 Commits

Author SHA1 Message Date
Daniel Gultsch
74e05023b4 very subtle 2015-07-21 02:21:34 +02:00
Andreas Straub
b7ff2c3461 Use properly fixed numeral values in Trust enum
Why, oh God, why?! #thanksjamesgosling
2015-07-21 01:52:22 +02:00
Andreas Straub
639ebd644b Remove unused import 2015-07-21 01:17:29 +02:00
Andreas Straub
122bc97ce2 Switch payload encryption to AES-GCM
This also ensures that the IV is generated with proper randomness.
2015-07-21 01:17:14 +02:00
Andreas Straub
971aa3a11e Also decrypt messages from UNTRUSTED sessions 2015-07-20 23:16:06 +02:00
Andreas Straub
d2845e9ac1 Refactor axolotl send processing/caching flow 2015-07-20 23:13:28 +02:00
Andreas Straub
8be0e8a27d Start TrustKeysActivity if no keys are TRUSTED
If there are no UNDECIDED keys, but none of the contact's keys are
trusted, redirect the user to the TrustKeysActivity
2015-07-20 22:35:07 +02:00
Andreas Straub
4ee3f330f5 Do not display clear devices button if not online 2015-07-20 22:19:04 +02:00
Andreas Straub
ab2d114bbc Add purge axolotl key option
Can now long-press a key to permanently purge it.
2015-07-20 22:18:24 +02:00
Andreas Straub
0ee64124fe Fix getNumTrustedKeys 2015-07-20 22:02:54 +02:00
Daniel Gultsch
5ab0d5d1c1 pulled new translations from transifex 2015-07-20 19:13:08 +02:00
Daniel Gultsch
e79f82ca72 attempt to fix the delay problem 2015-07-20 18:11:33 +02:00
Daniel Gultsch
dcf9117451 changed sizes of avatars and padding in new message bubbles 2015-07-20 16:02:18 +02:00
Raphael Pohl
e6cb12dfe4 changed message bubble appearance 2015-07-20 16:02:17 +02:00
Daniel Gultsch
504ef0b72e rely on refreshUi/refreshUiReal and make sure it is being used everywhere 2015-07-20 15:48:58 +02:00
Daniel Gultsch
75a1cfe337 Merge branch 'development' of github.com:siacs/Conversations into development 2015-07-20 15:43:54 +02:00
Daniel Gultsch
8559ca05ab fixed monospace font and android L 2015-07-20 15:43:28 +02:00
Andreas Straub
d0c99aaedc Remove duplicate dependency 2015-07-20 15:17:11 +02:00
Andreas Straub
aaa8fe8978 Merge branch 'CryptoNextBeta' into development
* CryptoNextBeta: (60 commits)
  Lock TrustKeys if no trusted keys are available
  Optimize imports
  Use MD style for key trust toggle switch
  Fix set/remove OnUpdateBlocklistListener
  Fix axolotl database migration
  Remove device list from EditAccount
  Add clear devices to overflow menu in EditAccount
  Ask for key trust when sending messages
  Encrypt files for HTTP upload in encrypted chats
  Refactor trust key ui and show in account details
  Send correct body for HTTP files
  Handle file transmission properly in axolotl
  Remove unneccessary code
  Fix trust status for outgoing messages
  Don't merge messages with different trust statuses
  Fix copying of axolotl keys to clipboard
  Add refresh icon to v21 theme
  Disable Axolotl option if not usable
  Show trust status of messages' originating session
  Add key trust toggle to ContactDetailsActivity
  ...
2015-07-20 15:13:14 +02:00
Andreas Straub
19a0ae42d6 Lock TrustKeys if no trusted keys are available 2015-07-20 14:56:41 +02:00
Andreas Straub
012f036840 Optimize imports 2015-07-20 14:26:29 +02:00
Daniel Gultsch
9c91b9036a don't show 'show contact details' context menu item when contact isn not in roster 2015-07-20 14:24:59 +02:00
Andreas Straub
576330f6a9 Use MD style for key trust toggle switch 2015-07-20 14:14:27 +02:00
Andreas Straub
e9d7d7e12a Fix set/remove OnUpdateBlocklistListener 2015-07-20 14:12:24 +02:00
Daniel Gultsch
2d2da11bfa Merge pull request #1289 from kriztan/patch-2
show contact details in conference details ...
2015-07-20 13:16:19 +02:00
Andreas Straub
dd964077b9 Fix axolotl database migration
Can't call getWritableDatabase in recreateAxolotlDb()
2015-07-20 13:15:49 +02:00
Daniel Gultsch
857161076e Merge pull request #1290 from SamWhited/accent_cab
Change CAB to accent color in v21
2015-07-20 11:46:26 +02:00
Andreas Straub
2240066bbe Remove device list from EditAccount 2015-07-19 23:38:09 +02:00
Sam Whited
eea8c28612 Change CAB to accent color in v21 2015-07-19 16:36:24 -05:00
Andreas Straub
480b1cde81 Add clear devices to overflow menu in EditAccount 2015-07-19 23:35:03 +02:00
Andreas Straub
14010bf5a6 Ask for key trust when sending messages
If the contact (or the own account) has keys that have UNDECIDED trust,
we now drop the user into the new TrustKeysActivity, where they have to
decide for each new key whether it should be TRUSTED or UNTRUSTED.
2015-07-19 22:27:26 +02:00
Andreas Straub
ec0aff4ed7 Encrypt files for HTTP upload in encrypted chats 2015-07-19 22:24:05 +02:00
Andreas Straub
6f67469bda Refactor trust key ui and show in account details
Refactored the trust key row UI element so it can be used in multiple
places. It now also uses a slider to toggle the trust state, and the
redundant trust state description was removed.

EditAccountActivity now shows the keys of other devices associated with
that account.
2015-07-19 22:24:03 +02:00
Andreas Straub
9c4d55f82c Send correct body for HTTP files
When using HTTP upload to send files, take care to transmit only the URL
rather than the entire body, which contains metadata.
2015-07-19 22:23:28 +02:00
Andreas Straub
2045a71262 Handle file transmission properly in axolotl 2015-07-19 22:23:28 +02:00
Andreas Straub
43703870e8 Remove unneccessary code 2015-07-19 22:23:28 +02:00
Andreas Straub
4038af2f47 Fix trust status for outgoing messages
Tag sent messages with own fingerprint, set own fingerprint as always
trusted, include own fingerprint in database trust search, explicitly
reset trust colorfilter
2015-07-19 22:23:28 +02:00
Andreas Straub
e8ec2ee628 Don't merge messages with different trust statuses 2015-07-19 22:23:28 +02:00
Sam Whited
fca0c36757 Fix copying of axolotl keys to clipboard 2015-07-19 22:23:28 +02:00
Sam Whited
3ab59c93a6 Add refresh icon to v21 theme 2015-07-19 22:23:27 +02:00
Andreas Straub
6c38e53128 Disable Axolotl option if not usable
In MUCs or if contact is not axolotl capable, disable axolotl menu
option
2015-07-19 22:23:27 +02:00
Andreas Straub
9e8d9a6401 Show trust status of messages' originating session
Shade lock icon red if message was received in a session that has not
been marked trusted by the user or fingerprint is unknown
2015-07-19 22:23:27 +02:00
Andreas Straub
3d33946088 Add key trust toggle to ContactDetailsActivity
Can now toggle IdentityKey trust
2015-07-19 22:23:27 +02:00
Andreas Straub
35714d3d08 Ensure that available sessions are always used
Any time a new session is established, call syncRosterToDisk() to ensure
that on subsequent restoreFromDatabase() calls, the roster is actually
available. This is important so that initAccountServices() can properly
initialize the SessionMap. This prevents a race condition where after
adding a new account and initiating sessions with it, if the app is
killed (e.g. by reinstall) before triggering a syncRosterToDisk(),
subsequent restores will not have the roster available, leading to
missing XmppAxolotlSessions in the SessionMap cache. As a result of
this, a new session was initiated when sending a new message, and
received messages could not be tagged with the originating session's
fingerprint.

As an added sanity check, go to the database to confirm no records are
present before creating fresh XmppAxolotlSession objects (both in the
sending and receiving case).
2015-07-19 22:23:27 +02:00
Andreas Straub
31d375c2c3 Fix setIdentityKeyTrust update statement 2015-07-19 22:23:27 +02:00
Andreas Straub
160e4017df Fix IdentityKey storage model
Added proper UNIQUE statement
2015-07-19 22:23:27 +02:00
Andreas Straub
461d0446f7 Fix and expand key regeneration function
Wipe session cache to prevent stale sessions being used. Wipe fetch
status cache to enable recreation of sessions. Regenerate deviceId, so
that foreign devices will talk to us again.
2015-07-19 22:23:27 +02:00
Andreas Straub
23a4e1e6fa Display trust status in ContactDetailsActivity 2015-07-19 22:23:25 +02:00
Andreas Straub
d173913eba Overhauled Message tagging
Messages are now tagged with the IdentityKey fingerprint of the
originating session. IdentityKeys have one of three trust states:
undecided (default), trusted, and untrusted/not yet trusted.
2015-07-19 22:17:58 +02:00
Andreas Straub
7f918542c8 Postpone initAccountService until roster loaded
The AxolotlService depends on the roster being loaded when it is
initialized so that it can fill its in-memory SessionMap.
2015-07-19 22:17:57 +02:00