16976 Commits

Author SHA1 Message Date
fc3402940f contrib: update dhtnet on Windows
Follow-up to commit 0838e6a.

Change-Id: I26194ca4b404edc3b96f0e15df48e0dd49f320aa
2025-03-21 11:15:18 -04:00
0838e6a973 contrib: update dhtnet
Change-Id: I6c65054f8741d05aac5bd4dcd3357122e6b9e450
2025-03-19 16:18:55 -04:00
f680064f4a fileutils: avoid throwing exception if file doesn't exist
Preserve pre-std::filesystem behavior of returning null if operation fails.

Change-Id: I76414a73f8aa0a74640b92c27c753f0311d86380
2025-03-18 17:51:50 -04:00
74916fa30b filetransfer: rework mutex when sending files
Rework the mutex lock to release it before the sha3 computation
to avoid a lock.

GitLab: #1919
Change-Id: Ic7f065959873bcc9f932e07611ed3c8010ef2979
2025-03-14 15:19:32 -04:00
bffd249776 jni: use syslog
allows to use android logger

Change-Id: I66af2cb8dd05808f353dcc2dee74fa842718a445
2025-03-14 00:55:01 -04:00
0a8609a1d5 p2p device link: check for msgpack objects
Change-Id: I58ceec1d2c58b21f04aaa6a131a014d3b34a8d81
2025-03-14 00:54:08 -04:00
1b155312ea contrib: fix mkdir permissions on Windows for gnutls
This effectively restores a previously removed patch, thought to
be unnecessary (removed in cbba52ef when bumping gnutls). The issue
is fixed in a later version of gnutls, which opendht is not yet
ready to use.

Change-Id: I6d07028f7c5f95803776d1413c7e6a8411902fef
2025-03-12 15:13:40 -04:00
9edaf4df2a logs: make syslog disabled by default
Change-Id: If05e5c35a739b7149b66622c249c303996ba8550
2025-03-11 16:20:11 -04:00
54cda5a9c7 p2p device link: cleanup
Change-Id: I8625be46bcde0c2f69f75cb341a11da7def7e0d0
2025-03-11 15:29:19 -04:00
5e8c060a7f JamiAccount: use shared_mutex for connManager
Change-Id: I73eeb7a3c8f09e147a8ca2713028c94de6a72aa7
2025-03-10 13:05:04 -04:00
8647b933c4 DataTransfer: run shutdown on ioPool
Change-Id: I3e8ccd71a1b5cb906b66837813bd132cc81f697a
2025-03-10 13:05:01 -04:00
7657e4ab8e unitTest: fix error in configuration file
GitLab: #1113
Change-Id: I0772167f692b8551c6009c7b8c1ae4f63cecb73e
2025-03-08 01:22:57 -05:00
8b5fd05239 build: support iOS arm64 simulator
- disable vpx for arm64 simulator

https://git.jami.net/savoirfairelinux/jami-client-ios/-/issues/422
Change-Id: I5369dc6ce8e666dc03a5993a05f38d7a74556d4b
2025-03-07 14:27:53 -05:00
86d3bb6644 ArchiveAccountManager: add support for p2p account import
Gitlab: #930
Change-Id: I76f07a81c4887d0dc127d74bc6c4de2e9f4f2ee8
2025-03-06 12:19:47 -05:00
597cde8d30 contrib: fix gnutls build errors
This patch partially reverts GnuTLS commit 516f48bfbf33d111e4fcd310541baa8f160067ae, which prevents the daemon from building on some old Linux distributions due to increasing the minimum required version of autoconf from 2.64 to 2.71.

The patch also removes the AM_GNU_GETTEXT macros from the configure.ac file. When these macros are present, autoreconf calls autopoint, which overwrites some m4 files in the GnuTLS repository with the version found on the system. This causes the Ubuntu 20.04 and snap builds to fail with "possibly undefined macro" errors.

GitLab: #1111
Change-Id: I45b8225bff148b3cf01aa2ce14adc639de823a8f
2025-03-06 09:05:01 -05:00
48c2497ba5 conference: respect muted state
Ensure the video muted state is properly maintained.

Change-Id: I69d768913e141eca820abe171732d855fc1d8a78
2025-03-03 16:01:12 -05:00
ae1c47e211 conference: identify media by its label (streamId)
Use streamId as the media identifier since it is unique.

Change-Id: I68a0c8a53bdecdb22008260640fb79b6febd5b71
2025-03-03 16:01:12 -05:00
8c5c1c238f TransferChannelHandler: run on io pool
GitLab: #1110
Change-Id: I36e090fcb6c44b2483b1765786d64be108d93d21
2025-03-03 10:54:39 -05:00
8eb66bf80c update dhtnet
Change-Id: I02a995e93c23c2f602295c9c38080f196397e896
2025-02-28 13:35:11 -05:00
4fb5f8e558 contrib: bump pjproject
This upgrades the upstream version of PJPROJECT used from 2.13.1 to
2.15.1.

Change-Id: Ica6a94e7010a41839a57afc226f3c48e9e72f897
2025-02-27 16:37:47 -05:00
5e2d9e027b fileutils: improve Windows hard link file handling
Fix file access issues when reading hard links on Windows by:
- Adding explicit share mode (_SH_DENYNO) to allow reading files opened
  elsewhere
- Using binary mode to ensure consistent behavior with hard links

This resolves issues with reading hard linked files on Windows while
maintaining behavior on other platforms.

https://git.jami.net/savoirfairelinux/jami-client-qt/-/issues/1899
Change-Id: I2adc0f29db46d5bf5b69762018e7a5e677ec3d04
2025-02-27 14:14:39 -05:00
d5ce21e39b jamiaccount: try hard linking first when linking to VCard
For an account's VCard, we store the actual VCard file in the account's
profile directory, alongside other contact profile files, and a link is
created in the account's directory to the VCard file that is named using
the base64-encoded account URI. This method will fail on Windows where
users can not create soft links.

When linking to this VCard file, we first try to hard link to it. If
that fails, we fall back to symlinking to it. This allows the new
profile linking mechanism to work on Windows, and we are fairly
confident that the `profiles` sub dir will not be on a different
filesystem.

https://git.jami.net/savoirfairelinux/jami-client-qt/-/issues/1899
Change-Id: I3be8150b02f8427c164beb6c652f96d895aab048
2025-02-27 14:14:39 -05:00
c3f07d730d iOS: enable nat-pmp
This patch enables nat-pmp for iOS and macOS and
fixes build for iOS by removing USE_SYSCTL_NET_ROUTE,
which requires net/route.h that is not available
on iOS.

Change-Id: I7342f65a85ecbc0d7f291c981cc78ded2e741e58
2025-02-26 10:30:25 -05:00
4aff5e977c contrib: Windows: bump openssl to 3.4.0
Gitlab: #1108
Change-Id: Ib11ddad75a421816c1a954d96c051aff4ea0d6b9
2025-02-25 11:26:02 -05:00
cbba52ef01 contrib: Windows: update gmp, gnutls, nettle
- Update gmp to 6.2.1-4
- Update gnutls to 3.8.3
- Update nettle to 3.10.0

Gitlab: #1108
Change-Id: Ia7686a94eeaef7242b6570a186700f6d301ffe6c
2025-02-25 11:25:56 -05:00
bd63d69bb0 opendht: log push notification handling result
Change-Id: I6d88519a637c876848407b1e7b59e746b895c185
2025-02-21 11:23:42 -05:00
876085f886 contrib: update gnutls, nettle
Change-Id: Iab18b291176441a9fbf901e36d5bc5e1c8e341a0
2025-02-21 10:32:35 -05:00
b9e5bcaaf1 address lookup: fix when no account is provided
Change-Id: Iab22cafde6aa39a5dd970ace8de6150cc85e3bf5
2025-02-20 14:31:05 -05:00
4e29bcfc09 utils: use parseJson
Change-Id: I827de0a30a32e75e21993b435a0a68d71d846653
2025-02-20 10:36:17 -05:00
f8d2ae8405 utils: add json_utils
Add parseJson function to simplify json parsing:
* automatically log parsing failure
* allows single-line json parsing
* take a string_view instead of begin/end pointers
* optimize building the CharReader by reusing the CharReaderBuilder

Change-Id: I332a88fc476ee84ba400a96bc1b41515cca43c32
2025-02-20 10:34:42 -05:00
62ab5d057a android: enable using nat-pmp
Change-Id: I08c68d10513dc6267571d8bc466df1763191f6b8
2025-02-18 15:32:21 -05:00
8f2b6d3f5a conversation_module: update removed contact's conversation exactly once
When removing a contact, we need to update the ID of its linked
conversation (to be empty, which is the convention used to signify that
a contact doesn't have a linked conversation).

This used to be done via the updateConvForContact function, but there
were two issues (which are fixed by this patch):
1) if the user had multiple one-to-one conversations with the removed
   contact, then the function would be called multiple times (once per
   conversation) even though the update only needs to be performed once;
2) more importantly, if the contact's linked conversation ID didn't
   match any of its one-to-one conversations, then the update would not
   be performed at all. (Every contact should normally be linked to a
   valid conversation, but this can fail in practice due to
   synchronization issues.) As a result, the contact would remain linked
   to a conversation that no longer exists.

https://git.jami.net/savoirfairelinux/jami-client-qt/-/issues/1673
https://git.jami.net/savoirfairelinux/jami-client-qt/-/issues/1804

Change-Id: Ia75c5b27a4120bc48da5f449a874354326c6d96a
2025-02-17 16:17:38 -05:00
44edd0c53a video_mixer: cleanup
Change-Id: I480edbe0fb14f4b4758a681fb789cb30385d4982
2025-02-12 14:28:27 -05:00
leo
912aa59a44 nodejs-interface: add presence signals
Change-Id: Ifb3d176bc37c4ecbc6ce9ff682e7721d55ea7e0f
2025-02-12 12:51:42 -05:00
35ccafaccd video: remove legacy code
Removed legacy code that was causing options to be cleared unnecessarily.

Change-Id: I02b32221acc6abfef634ba843549c6391c2058c8
2025-02-11 10:30:29 -05:00
73a1e806f2 ServerAccountManager: re-schedule request deletion
GitLab: #1101
Change-Id: Ifaee9fe0a2b79716e00ccc1a12c8c78c348e80bf
2025-02-06 15:34:09 -05:00
5ac7a9eb19 gitserver: run fetch callback on thread pool
GitLab: #1104
Change-Id: I8d5c0a1fdb2f9bfc84f442e1323216ae3100da6d
2025-02-06 15:06:45 -05:00
db5a27873b conversation: remove incorrect default argument
Given the change made in commit
e048f1b999, it no longer makes sense to
use a null pointer as the default value for the optHistory argument of
the addToHistory function.

GitLab: #1102
Change-Id: Ifc5ca8b069c16d7d9cca2cbc0c8237c56895ff4e
2025-02-06 14:54:46 -05:00
4e344cb7b4 ContactList: log cleanup
Change-Id: Icd57e9a33b58c97ef9df18531510fb9590a9ee73
2025-02-06 11:24:26 -05:00
6a5d2a5bd4 AccountManager: add logs, use sha256 to check receipt
Change-Id: I68f4aab6d1588a53aaaf5757cb9dc20b8e6d8b8d
2025-02-06 11:24:26 -05:00
c614735321 namedirectory: fix tests
GitLab: #1100
Change-Id: I6ae6d125c730fc9a8a2125b9b6da68c005922bce
2025-02-05 15:30:09 -05:00
39a92daa7c namedirectory: consider error 400 as invalid
GitLab: #1100
Change-Id: I22255a2b34e5c33d1db4c1a02747874512372d5b
2025-02-05 15:28:56 -05:00
ad72c928c6 conversation: addToHistory is not const
remove artificial const signature for announce and addToHistory

Change-Id: I2edbffeaaaff4bbfa68122fa96ed23aa8859dc0b
2025-02-05 14:04:35 -05:00
e048f1b999 conversation: mutex is History
Change-Id: I178b437e99cf31c13622df136d635ff2147a04a9
2025-02-05 14:04:35 -05:00
0bd34020b4 jamiaccount: avoid syncing with server for message status
Prevents multiple requests to JAMS for every message sent.

Change-Id: I17a0e9b885730979b10c635dd99ac3d37bef69bd
2025-02-05 10:48:21 -05:00
66b320adae namedirectory: add test to CMake and fix build
Change-Id: I65c99d62848b2d18e5c54e7b8ec28219320fb363
2025-02-04 14:57:29 -05:00
c3c8a0cce2 interface-nodejs: add deviceRevocationEnded signal
Change-Id: I7cb060661c89ea4839bafd87ad5b224e5faa785e
2025-02-03 14:58:07 -05:00
cd6032756d jams-device-revocation: fix daemon not filtering non-revoked devices
Change-Id: Idaf8e45775d2b76a9b306563baa074c7484ff68c
2025-02-03 11:30:18 -05:00
d825759a1b manager.cpp: cleanup
Change-Id: Ied16cc4536b4abe4740bfa76beb6e2fb1210439e
2025-01-31 22:42:08 -05:00
9b3b9df344 namedirectory: catch parsing errors
Change-Id: Ia92378315f88051de76311d23156c1eb85c07770
2025-01-31 17:43:34 -05:00