Paul Fariello
ad21021ce7
Fix issue with first encrypted message
...
When decrypting first message with prekey, libsignal wants to remove
used prekey from storage. Return value on success should be 0.
We used to return number of deleted keys. Thus libsignal was considering
we failed to remove the key and we were ignoring plaintext.
2019-04-10 17:24:56 +02:00
Paul Fariello
df648ba959
Try to start sessions with every jid in roster
2019-04-10 17:24:56 +02:00
Paul Fariello
0bc660400b
Automatically starts OMEMO if one identity is trusted
2019-04-10 17:24:56 +02:00
Paul Fariello
25eb138d0b
Rework trusted fingerprint storage
...
Stop using "jid:device_id" keys. And move long term storage to its own
file: trust.txt.
2019-04-10 17:23:46 +02:00
Paul Fariello
4ad6904216
Wait for discovery end to publish omemo devicelist and bundle
...
Add sv_ev_connection_features_received for that purpose
2019-04-10 17:23:46 +02:00
Paul Fariello
01e96769c2
Prefix static function with _
2019-04-10 17:23:46 +02:00
Paul Fariello
0f4dd61776
Ensure pre keys are generated if missing from long term storage
2019-04-10 17:23:46 +02:00
Paul Fariello
5cd2b8dc9d
Permanently store pre keys
2019-04-10 17:23:46 +02:00
Paul Fariello
562302846a
Handle bundle publication error on publish-options
...
We try to reconfigure node and publish again.
If it fails again then we give up.
2019-04-10 17:23:45 +02:00
Paul Fariello
904528b490
Ensure signal context is built on connection
...
We can't keep it between two connection because signal context is
specific to a given account.
2019-04-10 17:23:45 +02:00
Paul Fariello
075d4cf35b
Don't use glib 2.58 func
2019-04-10 17:23:45 +02:00
Paul Fariello
678bff9169
Add fingerprint autocompletion
2019-04-10 17:12:31 +02:00
Paul Fariello
3d8f47a724
Use /omemo fingerprint to show contact fingerprints
...
Don't print fingerprints when they are received
2019-04-10 17:12:31 +02:00
Paul Fariello
91ee289c77
Add support for disconnect in OMEMO
2019-04-10 17:12:31 +02:00
Paul Fariello
9a66e74986
Handle absent muc member
2019-04-10 17:12:31 +02:00
Paul Fariello
4e1ffa6bdb
Log and print outgoing encrypted message
2019-04-10 17:12:31 +02:00
Paul Fariello
a9d55dec92
Add support for sending encrypted message in MUC
2019-04-10 17:12:31 +02:00
Paul Fariello
031e906035
Cosmetics rename variable barejid into roomjid
2019-04-10 17:12:31 +02:00
Paul Fariello
cf528383bd
Allow to start OMEMO in MUC
2019-04-10 17:12:31 +02:00
Paul Fariello
a3897abba1
Add MUC message decryption
2019-04-10 17:12:31 +02:00
Paul Fariello
33b0b46420
Fix prekey handling after first use
...
libsignal will remove prekey on its own.
2019-04-10 17:12:31 +02:00
Paul Fariello
0dd5441f92
device_list iq should be from barejid or none
...
Ensure we request device_list and remove non conforming handling of
responses.
Move initialisation of iq_handlers before call to sv_ev_login_account_success
2019-04-10 17:12:31 +02:00
Paul Fariello
6bb7deeb9c
Add logs about crypto generation
2019-04-10 17:12:31 +02:00
Paul Fariello
197e098f4b
Log device_id on startup
2019-04-10 17:12:31 +02:00
Paul Fariello
4826da3aa6
Don't rely on account name being jid
2019-04-10 17:12:31 +02:00
Paul Fariello
8952684472
Add hints about trust command when printing fingerprints
2019-04-10 17:12:31 +02:00
Paul Fariello
2455bcc28a
Avoid using xmpp_jid_bare
2019-04-10 17:12:31 +02:00
Paul Fariello
2622c2d21a
Add OMEMO untrust command
2019-04-10 17:12:31 +02:00
Paul Fariello
dbf96dcfc6
Allow to trust own device id
2019-04-10 17:12:31 +02:00
Paul Fariello
063a5d1c52
Add trust command
2019-04-10 17:12:31 +02:00
Paul Fariello
23485eb4e7
Don't trust unknown identity keys
...
Also add long terme storage of known identity keys.
If a key is stored it means it is trusted.
2019-04-10 17:12:31 +02:00
Paul Fariello
97c661271b
Add support for libsignal-protocol-c 2.3.2
2019-04-10 17:12:31 +02:00
Paul Fariello
b3be504e84
Add OMEMO fingerprint command
2019-04-10 16:31:45 +02:00
Paul Fariello
55407ee15f
Add OMEMO session long term storage
2019-04-10 16:31:45 +02:00
Paul Fariello
5eb66aea26
Replace used prekey in bundle
2019-04-10 16:31:45 +02:00
Paul Fariello
1b5848fb23
Start new session upon prekey reception
2019-04-10 16:31:45 +02:00
Paul Fariello
bf8b89c568
Randomly choose a prekey on session build
2019-04-10 16:31:45 +02:00
Paul Fariello
da0376a6a9
Check received gcm tag
2019-04-10 16:31:45 +02:00
Paul Fariello
b0c52f84ab
Follow xep by putting gcm tag on encrypted key
2019-04-10 16:31:45 +02:00
Paul Fariello
605e06411c
Get rid of libsodium
2019-04-10 16:31:45 +02:00
Paul Fariello
1309405d28
Add log on OMEMO session start
2019-04-10 16:31:45 +02:00
Paul Fariello
3d8c928e53
Use profanity logs for OMEMO logs
2019-04-10 16:31:45 +02:00
Paul Fariello
9b8c1d7d2c
Add support for encrypted carbon
...
Fix {signed,}_pre_key store
2019-04-10 16:31:45 +02:00
Paul Fariello
20ed86c58c
Handle requested device list for session start
2019-04-10 16:31:45 +02:00
Paul Fariello
421d1b1560
Add OMEMO identity materials long term storage
2019-04-10 16:31:39 +02:00
Paul Fariello
0fb27dc496
Add OMEMO message encryption and decryption
2019-04-10 16:03:50 +02:00
Paul Fariello
b1ae220aa4
Create signal session
2019-04-10 16:03:50 +02:00
Paul Fariello
f9216fddb1
Add signal store backend and OMEMO start command
2019-04-10 16:03:50 +02:00
Paul Fariello
1f9d46037c
Request for device list when OMEMO is ready
2019-04-10 16:03:50 +02:00
Paul Fariello
95da03ac28
Ensure received devicelist contains our own device id
2019-04-10 16:03:50 +02:00