Commit Graph

16109 Commits

Author SHA1 Message Date
25f6415265 switch to dhtnet
Change-Id: Ib53b7e170df59f873fbd85f6e7d4bf338d04cb9c
2023-07-27 12:51:32 -04:00
ca97319417 PluginManager: verify certificate and signature of each file before install the plugin
Gitlab: #1182
Change-Id: Id20a852b9b00bbe78ca7eaa70d6b68d4c3275225
2023-07-24 12:03:28 -04:00
24ab1b0f54 contrib: update dhtnet
Change-Id: I734afefeb5cbd656d8541405c3e6ac3a10652caa
2023-07-21 14:54:32 -04:00
962fa55e50 contrib: update dhtnet
Change-Id: Iebd212760dadc921c414d07cc2b1cde40d86c718
2023-07-21 11:26:29 -04:00
385721bb9d contrib: add dhtnet
Change-Id: I307b70038646d2d51189b447f8a4fbf0d54570f7
2023-07-20 16:49:32 -04:00
caead18449 contrib/libgit: fix build on Android
Change-Id: Iaf095f0f572acf8ec138d0f398c19b46ff030c16
2023-07-20 14:51:34 -04:00
3243334bfa conversation: use same lock for active/hosted calls
and avoid deadlock while announcing ended calls because convModule()
is already locked

Change-Id: I3430afc6aa8cafba151a52313c3904cdfd9013fe
2023-07-20 07:58:28 -04:00
8a8212904f conference: prevent camera from opening on audio only conference creation
GitLab: #875
Change-Id: I45955e7de7ba2dd2bf5d35d1e1ad7a943cade6e6
2023-07-19 16:13:06 -04:00
b80ce5103d conversationrepository: avoid recursive merge
There is no need as we always merge two branches so we can avoid
a lot of recursive operations. Moreover, this seems to cause some
weird locks

To be honest I'm not sure about the usage of this argument, doc is
still a bit unclear:

    Maximum number of times to merge common ancestors to build a
    virtual merge base when faced with criss-cross merges.
    When this limit is reached, the next ancestor will simply be used
    instead of attempting to merge it. The default is unlimited.

GitLab: #871
Change-Id: I9c22208626e7f6ff489e91b72a580238a6137499
2023-07-19 15:02:11 -04:00
49c8e204e6 contrib: bump libgit2
Change-Id: I5bf72d8dcb8c53ee0298fc6cfd4625e7461f8210
2023-07-19 13:01:44 -04:00
ba5857e638 call: fix video not starting
Patches a fix made for GitLab: #732. This should still prevent the segfault as the only case it would occur is in the startReceiver()

GitLab: #873

Change-Id: I07b4c980c55697633f7aade00c0b7f242af10b45
2023-07-17 23:13:31 -04:00
e77b247a23 cmake: add a project label to avoid name conflicts with the client
Change-Id: I8b894ccbad13fea3bb75e835bedd8c28fd3ba0bf
2023-07-14 15:40:52 -04:00
05e18c0a1a misc: fix name mangling issue with MSC
Change-Id: I1b133b2a68fe2b6fcb0c18ec0213aa29c9b20f7a
2023-07-14 14:09:05 -04:00
1156ab9b95 call: add support to SIP REFER
Change-Id: Ie8d23081641110c423b492f25b0dc8d7863a1801
2023-07-13 17:23:24 -03:00
bb8e1a8052 media_codec: groupe AccountCodecInfo and SystemCodecInfo
This distinction between informations from the backend and user
preferences on the codec is not really useful and introduces some
useless complexity.

GitLab: #804
Change-Id: Ieff85e748c635941b1a5efed77b023be41c91b4b
2023-07-13 09:52:05 -04:00
3c25f607f4 sip: add SRTP keys for configuration
On android, we were not able to display the correct settings.

GitLab: #1312
Change-Id: I3f8a9fd39b0ab19e9700e091ed8e36a9e2a840ad
2023-07-11 16:13:21 -04:00
d191e2e262 extra tools: update libtool, autoconf, m4
Change-Id: I8cfa538337470fa01c4e5f9fddb5df9c67e61456
2023-07-11 09:57:06 -04:00
c7923ebcc7 jamiaccount: setAccountDetails should update connection manager's config
Change-Id: Ic1f6906a566aeaff55dd574a316e79dbc37d8e33
2023-07-11 06:40:16 -04:00
7670be4ca5 account_config: fix defaultModerators serialization
when unserialized, the default moderators is always empty

Change-Id: Ie23af56bfcae7de2895ea242df10cc0f926b659e
2023-07-07 14:49:06 -04:00
e8b1209b3d misc: fix some build warning and add ut_bootstrap to CMakeLists
Change-Id: I114a876bf6becacac00eec362a4481f3b0de6494
2023-07-05 11:56:04 -04:00
498b6d0664 cmake: don't force build directory
Change-Id: If7d6d751be7323a85210773463667cb3a89ac97f
2023-07-05 10:14:13 -04:00
41e2de1738 conversation_module: avoid useless removeRepository if already erased
Do not call removeRepository/saveConvInfos if conversation is already
erased.

Change-Id: I8f7907819cd76f5e9dd2f0f484d70ab850282108
2023-07-04 13:35:32 -04:00
edebe17139 connectionmanager: prevent JamiAccount usage
GitLab: #778
Change-Id: I5e7eb072ebda81c4ae45316cc46842dafdeaad13
2023-06-29 08:05:22 -04:00
7c7c1d38c3 conversationrepository: pin issuer certificate if needed
GitLab: #868
Change-Id: I2217c9321bc669ba454b54e5b26653399c4939a0
2023-06-29 08:05:15 -04:00
2c32cacda2 swarm-call: fix audio binding
Else the conference audio is not binded, and participants can only
listen to the host

Change-Id: I42075c2c5d5cb572efc8e679337f324cb39843b5
2023-06-28 12:10:58 -04:00
12288b33c7 contrib: update opendht
Change-Id: I179d5aeec42ffc6c224c12aecb097338d3aced82
2023-06-28 11:27:35 -04:00
2670d849fb misc: avoid nullptr exception
Change-Id: Ib75747a2c10ce191d005ca55a1f919423c4b1252
2023-06-27 11:42:13 -04:00
0d7e506bea data_transfer: remove invalid file if larger than requested
Else, we will result in a forever downloading file

Change-Id: If25dc48e5fffaea04c82c2a0c9e7b00933ac58ec
2023-06-26 15:28:26 -04:00
c2c178171e conversation_module: generate a trust request on 1:1 conv request
If Alice removes Bob and Bob sends a new message, a new request
is received (because Alice doesn't block Bob). However, the
next acceptConversationRequest was not adding correctly Bob into the
contact list, because no trust request were generated (so getContacts()
in this case was returning an invalid list).
This patch ensure that the 1:1 conversation requests are similar to
the trust requests list.

Change-Id: I643d70a016ef549d69ff03a227488b10bfb8d73f
2023-06-26 15:03:34 -04:00
eb1c4651a5 WhiteLabeling: Store incoming UI configuration in account details
Change-Id: Iadacc6e9b00a52b80c78ac4c942b274596a25ed0
2023-06-25 08:46:39 -04:00
c49072951c converations: prevent deadlock
The conversation requests doesn't need to be locked when getting trust requests and may provoke a deadlock.

Gitlab: #864
Change-Id: I64e11a9ef1343f51785479f2b577fffa8ebfbf7c
2023-06-22 16:22:51 -04:00
1598fb2fe6 cmake: make ASIO_STANDALONE and MSGPACK_NO_BOOST public definitions
Avoids users to try using BOOST.

Change-Id: Id54daee8d187979ee2e96cb07a053ebd85baa3ed
2023-06-22 16:20:02 -04:00
c931e18444 account_manager: avoid useless log if cert or key is absent
Change-Id: I81925d7e8bd0e5dcbc58bcd8771526028657c99e
2023-06-22 09:07:33 -04:00
c87d8c5f8e conversation_module: fix decline request on removeContact
erase is ok if conversation is accepted, not removed, else it cannot
be synced with other devices

Change-Id: Ia5425cb8d0dbe635b2d7db3a45de6d6b9683100d
2023-06-22 08:25:38 -04:00
6fcc02ba30 sync_module: sync contact list on JAMS accounts
ServerAccountManager didn't implement any onSyncDatas, causing
contacts to not sync across devices.
Also small fix: do not try to clone conversation already, it was
adding a useless log.

Change-Id: I494ee75ee0313c05056ee83ddcb8d9be500f593a
2023-06-22 08:06:51 -04:00
74a070f5dd conversation_module: only decline if request is not found
Change-Id: If0450e78cefb1f850aca529a5dbfd80b139c9489
2023-06-21 13:29:01 -04:00
0ec1d2e353 build/cmake: add unit tests
Change-Id: Id239a17a9d601ac4cae074c9fb83102bfde7a6c7
2023-06-20 14:36:37 -04:00
417447a167 conversationrepository: pin certificates if not already in cert store
An account can try to connect to a device that the presence was never
yet detected on the DHT but can use the public key from the repository.
Bootstrap can use devices from the repository.
Moreover, do not try to bootstrap with expired devices, as they are
invalid anyway, so the connection will obviously fail.

Change-Id: I5493419681e88fa3f920efabb0ab7019319c05fd
2023-06-16 15:00:22 -04:00
eb62840618 conversation_module: loadConversations should set removing flag
This fix the error "No conversation detected for..."

Change-Id: I95769b89ceac6c03bc8abab87978e154500a6319
2023-06-16 15:00:19 -04:00
589d1bc2de conversation_module: avoid two one to one requests
This allow to avoid to get a duplicate if a contact is added,
removed and re-added (as it will generate two conversations).
The first one is automatically declined and replaced by the new one.

GitLab: #855
Change-Id: I67d51d2286aaee3b29c9e9bdbcb10aa45f40aa26
2023-06-16 12:15:24 -04:00
5bf8188d69 fix error in building daemon for iOS audio layer
Change-Id: I8926afa1e36352264ce2450c248c2c498ba2a0cf
2023-06-15 17:41:03 -04:00
b86d822996 audio: remove usage of AudioBuffer on macOS
Change-Id: Ib5e9798673fc7877f4fe12ac419acb3be1b1dde8
2023-06-15 11:28:59 -04:00
439e6f24cf contact_list: force removeContact to update all components
If a contact is added, removed and a new trust request generated
and removed with "removeContact" it wasn't removing the trust request
because the contact wasn't considered as active and the banned status
didn't change.
Removing this return condition force all components to update and
supports client if they use removeContact instead of declineTrustRequest.
This avoid useless complexity with isActive, because if isActive() is
false, removeContact will not change the result and isActive() will
still return false.

A test is added.

GitLab: #855
Change-Id: I4385c2a480f6cfa5de3785a08bc2193eeb9a24a1
2023-06-15 10:53:07 -04:00
fa330fe882 dbus: stop daemon when last instance detached
+ dbusinstance: count_ can be initialized to something else than 0
causing count_ to always be incorrect
+ ring_api: check pointer for ioContext() (because a callback may
be emitted right after ioContext() is resetted causing to end
on a segfault instead exit=0)

GitLab: #861
Change-Id: If0d798aaa2ce7d65426d902868627bd701652375
2023-06-15 09:31:00 -04:00
632ec7e344 conversation_module: try to clone requests on bootstrap
Since the DRT, we're not using trackPresence to start syncing
with other members of the conversation but "bootstrap".
For bootstraping conversation's requests we should try to clone
it with the members marked in the convInfo.

Also fix one incorrect test.

Change-Id: I8cbefe266c15c637ef23350220a71a616ddefab6
2023-06-14 15:42:08 -04:00
560c70d6aa build/cmake: allow to build with hardware acceleration support
Change-Id: Ie525f767ab3985e54be6420bd3d3346b040d487b
2023-06-13 15:12:48 -04:00
e73fbc9630 AudioFormat: use av_get_bytes_per_sample instead of hardcoded size
Change-Id: I915fe38db6547425cdccc516d05ebd9afcdb3aac
2023-06-13 12:58:18 -04:00
e6a861249a audiolayer: stop using AudioBuffer
Change-Id: I72f04851b56d37a9264b78c10c0819e48712c6f9
2023-06-09 23:55:16 -04:00
a9ebdd6db1 audio: remove unused dcblocker
Change-Id: I1c4b30bee4cac1767b53353799ac819faf95a9cb
2023-06-09 23:54:57 -04:00
d3fe2b9849 Revert "conversation_module: try to clone requests on bootstrap"
This reverts commit 65c8631975.

Reason for revert: I see only this commit that can cause duplicates to appears. Will check without

Change-Id: I3a36a59fb87c8cddaa7c9020112efabe9073a041
2023-06-09 14:57:26 -04:00