about summary refs log tree commit diff stats
path: root/src/omemo/omemo.c
Commit message (Collapse)AuthorAgeFilesLines
* Free omemo_ctx.device_list_handlerMichael Vetter2019-07-041-0/+1
|
* Dont initialize omemo autocompleter twiceMichael Vetter2019-07-041-2/+0
| | | | | We already do this in omemo_init() no need to do it again in omemo_on_connect().
* Add omemo_close functionMichael Vetter2019-07-041-0/+9
| | | | | | | | | | | | | | | | | | | | | | We call omemo_init() when starting profanity and should have an omemo_close() at exit. For now we free the fingerprint autocompleter in there. Fixes valgrind: ``` ==13226== 24 bytes in 1 blocks are definitely lost in loss record 2,855 of 6,958 ==13226== at 0x483677F: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so) ==13226== by 0x48AD39: autocomplete_new (autocomplete.c:57) ==13226== by 0x4AB89F: omemo_init (omemo.c:127) ==13226== by 0x42C283: _init (profanity.c:206) ==13226== by 0x42BFF3: prof_run (profanity.c:98) ==13226== by 0x4B25E6: main (main.c:172) ``` Regards https://github.com/profanity-im/profanity/issues/1131
* Mark messages received from a session as trustedPaul Fariello2019-06-251-5/+16
|
* Add trusted state after OMEMO decryptionPaul Fariello2019-06-201-1/+1
| | | | Use it to print message on red background if not trusted.
* Decrypt all incoming OMEMO msgPaul Fariello2019-06-201-0/+7
| | | | | Trust all key as long as it's for reading. This code isn't multithread safe.
* Free contacts in omemo_start_sessions()Michael Vetter2019-06-191-0/+1
|
* Free OMEMO session store upon disconnectMichael Vetter2019-06-191-0/+1
|
* Add copyright to omemo codeMichael Vetter2019-06-171-0/+34
|
* Remove OMEMO session when untrusting a fingerprintPaul Fariello2019-06-071-15/+114
| | | | | | We have to store known_devices in a long term fashion otherwise we might not be able to delete session if it is remove from device list server side.
* Correctly handle malformed OMEMO messagesPaul Fariello2019-05-231-4/+8
| | | | Fix #1101
* OMEMO: Initialize result in omemo_automatic_startMichael Vetter2019-04-291-1/+1
| | | | | | | | | This is actually not needed because result will always be set. hartmann had problems building profanity on OpenBSD and he proposed this patch. Let's use it to make the compiler happy there.
* Handle missing real jid in OMEMO encrypted MUCPaul Fariello2019-04-171-3/+7
| | | | | | | This should never happens since we should ensure MUC is Non-Anonymous before enabling OMEMO. But we should neither segfault if this happens.
* Add OMEMO policyPaul Fariello2019-04-171-15/+62
| | | | | | | | | | | | There is 3 policy: - manual: OMEMO session are only started manually - automatic: OMEMO session are only started if they have been started manually before - always: OMEMO session are always started unless they have been ended manually before Closes #1040 and fixes #1052
* Don't persist OMEMO {signed,}prekey cleaning on disconnectPaul Fariello2019-04-141-10/+0
| | | | | We should not remove signed prekey and prekey from persistent storage when cleaning OMEMO store on disconnect.
* Handle malformed OMEMO identity.txtPaul Fariello2019-04-141-7/+34
| | | | | If OMEMO identity.txt is malformed just abort loading. User should be able to call `/omemo gen` again.
* Don't unload OMEMO cryto on disconnect if OMEMO wasn't loadedPaul Fariello2019-04-141-0/+4
| | | | | | | If OMEMO wasn't loaded, removing key would create empty identity.txt file. Then at load time it would segfault profanity. Another commit should fix load of malformed identity.txt.
* Try to start sessions with every jid in rosterPaul Fariello2019-04-101-0/+17
|
* Automatically starts OMEMO if one identity is trustedPaul Fariello2019-04-101-6/+23
|
* Rework trusted fingerprint storagePaul Fariello2019-04-101-20/+71
| | | | | Stop using "jid:device_id" keys. And move long term storage to its own file: trust.txt.
* Wait for discovery end to publish omemo devicelist and bundlePaul Fariello2019-04-101-7/+14
| | | | Add sv_ev_connection_features_received for that purpose
* Prefix static function with _Paul Fariello2019-04-101-41/+41
|
* Ensure pre keys are generated if missing from long term storagePaul Fariello2019-04-101-24/+51
|
* Permanently store pre keysPaul Fariello2019-04-101-20/+76
|
* Handle bundle publication error on publish-optionsPaul Fariello2019-04-101-2/+2
| | | | | We try to reconfigure node and publish again. If it fails again then we give up.
* Ensure signal context is built on connectionPaul Fariello2019-04-101-20/+23
| | | | | We can't keep it between two connection because signal context is specific to a given account.
* Don't use glib 2.58 funcPaul Fariello2019-04-101-3/+1
|
* Add fingerprint autocompletionPaul Fariello2019-04-101-1/+21
|
* Use /omemo fingerprint to show contact fingerprintsPaul Fariello2019-04-101-27/+44
| | | | Don't print fingerprints when they are received
* Add support for disconnect in OMEMOPaul Fariello2019-04-101-23/+75
|
* Handle absent muc memberPaul Fariello2019-04-101-0/+4
|
* Log and print outgoing encrypted messagePaul Fariello2019-04-101-38/+34
|
* Add support for sending encrypted message in MUCPaul Fariello2019-04-101-40/+87
|
* Cosmetics rename variable barejid into roomjidPaul Fariello2019-04-101-2/+2
|
* Allow to start OMEMO in MUCPaul Fariello2019-04-101-0/+13
|
* Add MUC message decryptionPaul Fariello2019-04-101-14/+44
|
* Fix prekey handling after first usePaul Fariello2019-04-101-8/+7
| | | | libsignal will remove prekey on its own.
* device_list iq should be from barejid or nonePaul Fariello2019-04-101-5/+8
| | | | | | | 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
* Add logs about crypto generationPaul Fariello2019-04-101-0/+4
|
* Log device_id on startupPaul Fariello2019-04-101-0/+2
|
* Don't rely on account name being jidPaul Fariello2019-04-101-2/+2
|
* Add hints about trust command when printing fingerprintsPaul Fariello2019-04-101-1/+11
|
* Avoid using xmpp_jid_barePaul Fariello2019-04-101-27/+20
|
* Add OMEMO untrust commandPaul Fariello2019-04-101-0/+22
|
* Allow to trust own device idPaul Fariello2019-04-101-0/+9
|
* Add trust commandPaul Fariello2019-04-101-38/+206
|
* Don't trust unknown identity keysPaul Fariello2019-04-101-50/+91
| | | | | Also add long terme storage of known identity keys. If a key is stored it means it is trusted.
* Add OMEMO fingerprint commandPaul Fariello2019-04-101-0/+51
|
* Add OMEMO session long term storagePaul Fariello2019-04-101-30/+85
|
* Replace used prekey in bundlePaul Fariello2019-04-101-1/+16
|