about summary refs log tree commit diff stats
path: root/src/omemo
Commit message (Collapse)AuthorAgeFilesLines
...
* | | Remove prefs_free_string()Michael Vetter2020-07-021-1/+1
|/ / | | | | | | | | It just does a free. Related to b580b9ef119045f142fa4baa9689a1c5ce8864ef
* / Use files_get_account_data_path instead of duplicate codeMichael Vetter2020-07-011-21/+14
|/ | | | | We often had a use case where we want the account specific data dir. Let's create a function for this instead of doing it by hand each time.
* Add and use connection_get_barejid()Michael Vetter2020-05-251-4/+4
| | | | Instead of connection_get_fulljid() and then creating a Jid from it.
* Expand omemo error messageMichael Vetter2020-02-211-2/+2
|
* omemo: switch to 12 byte IVMichael Vetter2020-02-171-1/+1
| | | | | | | We decrypt both 12 and 16 bytes. And send 12 instead of 16 bytes now. Close https://github.com/profanity-im/profanity/issues/1272
* xep-0308: enable corrections for outgoing encrypted messagesMichael Vetter2020-02-122-4/+4
|
* Add context to autocomplete_with_func and use it for omemo trust commandPaul Fariello2020-01-312-8/+26
| | | | Fix #1068
* Add support for 12 bytes IVPaul Fariello2020-01-203-4/+4
| | | | | | | 16 bytes IV should be used. Some clients can't use it so we should also support decrypting 12 bytes IV. Fix #1253
* Use OMEMO for offline MUC members (#1242)Paul Fariello2020-01-201-21/+11
|
* Update my Copyright to 2020Michael Vetter2020-01-031-1/+1
|
* Add vim modelineMichael Vetter2019-11-136-0/+6
|
* omemo: use lower case to log infoMichael Vetter2019-08-231-1/+1
|
* Fix typo in OMEMO materials logMichael Vetter2019-08-231-1/+1
|
* Fix memleak in save_identity()Michael Vetter2019-07-231-1/+1
| | | | I don't see a reason for strdupping here.
* Fix potential leak in omemo_untrust()Michael Vetter2019-07-231-0/+2
|
* Dont use not needed strdup() in save_identity()Michael Vetter2019-07-231-1/+1
| | | | I don't see a reason for strdupping here.
* Remove dead assignmentsMichael Vetter2019-07-221-1/+1
|
* Dirty fix libgcrypt memleakPaul Fariello2019-07-111-0/+5
|
* Enable secure memory in gcrypt initialisationPaul Fariello2019-07-111-0/+6
|
* Fix various OMEMO memleaksPaul Fariello2019-07-102-3/+12
|
* 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-042-0/+10
| | | | | | | | | | | | | | | | | | | | | | 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-253-10/+25
|
* Add prof_message_t to wrap all message attributesPaul Fariello2019-06-202-2/+2
| | | | | | | Probably missing copy of body to plain in carbon and privmessage. Only covers the incoming message path because goal is OMEMO decryption of untrusted message. Cover some of the log functions but not all.
* Add trusted state after OMEMO decryptionPaul Fariello2019-06-204-7/+10
| | | | Use it to print message on red background if not trusted.
* Decrypt all incoming OMEMO msgPaul Fariello2019-06-203-1/+23
| | | | | 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-176-0/+199
|
* Remove OMEMO session when untrusting a fingerprintPaul Fariello2019-06-072-16/+122
| | | | | | 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-172-16/+69
| | | | | | | | | | | | 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.
* Fix issue with first encrypted messagePaul Fariello2019-04-101-1/+5
| | | | | | | | 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.
* Try to start sessions with every jid in rosterPaul Fariello2019-04-102-0/+18
|
* Automatically starts OMEMO if one identity is trustedPaul Fariello2019-04-102-6/+24
|
* Rework trusted fingerprint storagePaul Fariello2019-04-104-29/+90
| | | | | 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-102-7/+15
| | | | 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-103-22/+119
|
* 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-102-1/+23
|