about summary refs log tree commit diff stats
Commit message (Collapse)AuthorAgeFilesLines
* Fix server_event unit testsPaul Fariello2019-04-171-0/+5
| | | | | | roster_update_presence now requires that roster_process_pending_presence() has been called. Otherwise presence are set to pending and not processed yet.
* Handle presence received before rosterPaul Fariello2019-04-173-0/+45
| | | | | | | | | | Presence of contact not found in roster are filtered out. But sometimes roster is received after a first few presences. We choose to store presences until we receive roster and then process this presences. Fixes #1050
* Merge pull request #1062 from paulfariello/feature/omemo-policyMichael Vetter2019-04-1725-47/+294
|\ | | | | Add OMEMO policy
| * Handle MUC anonymous state when auto starting OMEMOPaul Fariello2019-04-172-3/+15
| | | | | | | | | | | | | | When auto joining a MUC we don't have access to required information so we just don't start OMEMO at this time. Once we receive disco info we then try to start OMEMO.
| * 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.
| * Fix OTR unit test after account_new API changePaul Fariello2019-04-171-1/+1
| |
| * Fix unit test after account_new API changePaul Fariello2019-04-176-18/+19
| |
| * Add OMEMO policyPaul Fariello2019-04-1717-23/+253
|/ | | | | | | | | | | | 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
* Merge pull request #1066 from ↵Michael Vetter2019-04-173-6/+33
|\ | | | | | | | | paulfariello/hotfix/OMEMO-ensure-muc-is-nonanonymous Ensure MUC is Non-Anonymous before starting OMEMO
| * Ensure MUC is Non-Anonymous before starting OMEMOPaul Fariello2019-04-173-6/+33
| | | | | | | | | | | | Store MUC anonymous type in mucwin for that purpose. Fixes #1065
* | Merge pull request #1064 from ↵Michael Vetter2019-04-171-0/+1
|\ \ | |/ |/| | | | | paulfariello/hotfix/omemo-crypto-generation-too-long Alert about long OMEMO cryptographic generation
| * Alert about long OMEMO cryptographic generationPaul Fariello2019-04-171-0/+1
|/ | | | Fixes #1055
* Merge pull request #1061 from ↵Michael Vetter2019-04-151-1/+1
|\ | | | | | | | | paulfariello/hotfix/handle-message-without-id-in-muc Handle message without id in MUC
| * Handle message without id in MUCPaul Fariello2019-04-141-1/+1
| | | | | | | | Some clients seems to send message without id.
* | Merge pull request #1054 from ↵Michael Vetter2019-04-151-16/+37
|\ \ | |/ |/| | | | | paulfariello/hotfix/omemo_disconnect_while_not_loaded Don't touch OMEMO cryto keys on disconnect if OMEMO wasn't loaded
| * 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.
* Set locale in docker containerMichael Vetter2019-04-142-2/+11
| | | | | | | | | Install libmicrohttpd which are used for (currently disabled) functional tests). Install glibc-locale to get the locales. Unit test for `prof_whole_occurrences_tests` uses UTF-8 character and fails without proper locale being set.
* Add omemo_start_sessions to unittest stubMichael Vetter2019-04-141-0/+1
|
* Move travis from Ubuntu to docker+openSUSEMichael Vetter2019-04-132-44/+54
| | | | | | | | | | Travis supports only quite old Ubuntu releases. They don't ship with libsignal-protocol-c and not with a recent enough libgrcypt. We could build libsignal-protocol-c manually but for libgcrypt it's more annoying. Let us switch to Docker and use openSUSE Tumbleweed, which is rolling release) and thus have up to date libs.
* travis: Build libgcrypt by handMichael Vetter2019-04-131-1/+9
| | | | Ubuntu xenial only has 1.6.x and we need 1.7.
* Use xenial on travisMichael Vetter2019-04-131-1/+1
|
* Merge pull request #1056 from paulfariello/feature/omemo_travisMichael Vetter2019-04-132-14/+15
|\ | | | | Build OMEMO support in travis
| * Add libgcrypt minimum version in configure error logPaul Fariello2019-04-131-2/+2
| |
| * Look for gcry_md_extract (libgcrypt >= 1.7.0)Paul Fariello2019-04-131-1/+1
| |
| * testPaul Fariello2019-04-131-0/+1
| |
| * Build with libcmocka from packagesPaul Fariello2019-04-121-11/+1
| |
| * Add manual build of libsignal in travisPaul Fariello2019-04-121-1/+11
|/
* Update travis from Ubuntu trusty to bionicMichael Vetter2019-04-121-1/+1
|
* Update travisMichael Vetter2019-04-122-5/+21
| | | | | Add OMEMO dependencies. Build with and without OMEMO enabled.
* Merge pull request #1053 from paulfariello/feature/random_resourceMichael Vetter2019-04-124-3/+27
|\ | | | | Add random string at the end of the default resource
| * Add random string at the end of the default resourcePaul Fariello2019-04-124-3/+27
|/ | | | | | | | When connecting for the first time or when creating a new account don't use only 'profanity' as default resource. Some server don't support having 2 connection with same resource. Using profanity as default lead to deconnections.
* Revert "Set C99 standard in configure"Michael Vetter2019-04-121-1/+1
| | | | This reverts commit 7be6158c80af09daf58e9b873263d9e98e36aff9.
* Set C99 standard in configureMichael Vetter2019-04-121-1/+1
| | | | | | | | We already use uint_32 from stdint.h which AFAIK is C99. I seem to remember there is more C99 in the code. Let's explicitly define it here. Also fixes build for https://github.com/boothj5/profanity/pull/1053
* Merge pull request #1039 from paulfariello/feature/omemoMichael Vetter2019-04-1148-103/+5084
|\ | | | | Add basic OMEMO support.
| * Support contact name in /omemo fingerprint commandPaul Fariello2019-04-101-4/+9
| |
| * 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-103-0/+22
| |
| * OMEMO should be written uppercasePaul Fariello2019-04-102-15/+15
| |
| * Fix build on travisPaul Fariello2019-04-101-0/+2
| |
| * Add /omemo char commandPaul Fariello2019-04-103-1/+25
| |
| * Automatically starts OMEMO if one identity is trustedPaul Fariello2019-04-104-6/+80
| |
| * 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-1010-10/+59
| | | | | | | | Add sv_ev_connection_features_received for that purpose
| * Don't build OMEMO by defaultPaul Fariello2019-04-101-1/+2
| |
| * 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
| |
| * Rework MUC reflected message filteringPaul Fariello2019-04-1014-25/+64
| | | | | | | | | | | | | | | | | | Reflected messages can't be filtered by nick only otherwise you might ignore messages comming from you on another devices. Consequently we maintain a list of sent messages id in mucwin. To be sure the id will be correctly reflected we use the origin-id stanza.
| * Add OMEMO in prefs commandPaul Fariello2019-04-106-2/+34
| |