1. 13 May, 2022 1 commit
    • Adrien Béraud's avatar
      video receive thread: fix race condition on displayMatrix_ · fbdc6a19
      Adrien Béraud authored and Sébastien Blin's avatar Sébastien Blin committed
      Instances of std::shared_ptr are not thread-safe, even if the control block is.
      
      Since AVBufer already has a refcounting system, use a unique_ptr instead,
      and add a mutex to protect access during copy.
      
      In practice, the mutex should almost never block since it's locked for
      the minimum scope.
      
      Change-Id: I5122e76dadb5da6c3738f8dc711698744b52315b
      fbdc6a19
  2. 11 May, 2022 1 commit
  3. 09 May, 2022 1 commit
  4. 27 Apr, 2022 1 commit
  5. 26 Apr, 2022 2 commits
    • Adrien Béraud's avatar
      contrib: update opendht · 222934d9
      Adrien Béraud authored
      Change-Id: I47603f564cfa57ae63f758534231b1755b4f1286
      222934d9
    • Olivier Dion's avatar
      sip/sip_utils: Duplicate contact header · 82fb3391
      Olivier Dion authored and Sébastien Blin's avatar Sébastien Blin committed
      pjsip scans the contact header but keep a string view of it internally instead of
      copying it.  Thus, duplicate the contact header and bind its lifetime to the
      pool allocator of the tdata structure.
      
      Gitlab: #668
      
      Change-Id: Ief31fcc6033b394dcb43ee0403f9459654d29f1f
      82fb3391
  6. 25 Apr, 2022 1 commit
  7. 15 Apr, 2022 1 commit
    • Sébastien Blin's avatar
      jamiaccount: do not emit signals during authentification · 91778a29
      Sébastien Blin authored
      callbacks from OnChangeCallback are called during account's
      initialization. This will triggers signals that the client will
      already retrieve via dedicated methods and those signals are emitted
      when the account is not usable (accountManager or id_ not initialized).
      
      Change-Id: I8d16c077bbf8b827c91be9047b202cd5e859167a
      91778a29
  8. 07 Apr, 2022 1 commit
  9. 23 Mar, 2022 2 commits
  10. 21 Mar, 2022 4 commits
  11. 19 Mar, 2022 1 commit
  12. 17 Mar, 2022 2 commits
    • Andreas Traczyk's avatar
      logger: add console logging code for Windows · 0c57cee5
      Andreas Traczyk authored
      Previously, AllocConsole was called from the client. This has been
      moved into the ConsoleLog class. When calling Logger::setConsoleLog
      an attempt to attach to the console of the parent process will be
      made first. This will be the case when Jami is being run from a
      command line with the debug option. Otherwise, the logger will use
      AllocConsole to instantiate a console window for the logs. The
      latter will have it's lifetime bound by Jami.
      
      Change-Id: I7f1728626962a2f702ad564bb16deadc2d92dfb7
      0c57cee5
    • Aline Gondim Santos's avatar
      conference: make single transfer to main memory · f6f8a837
      Aline Gondim Santos authored and Aline Gondim Santos's avatar Aline Gondim Santos committed
      While in a conference, the video split added a transfer to
      main memory for each of the participants. This makes the sinkClient
      a observable and the participants sinks are attached to the main
      conference sink. The main sink has its frame transferred and the
      subsequent observers do not need to repeat the process.
      
      GitLab: #709
      Change-Id: I1f4ea9460c052a100b4809101c35d196cd79acbe
      f6f8a837
  13. 15 Mar, 2022 1 commit
  14. 09 Mar, 2022 1 commit
  15. 04 Mar, 2022 2 commits
  16. 03 Mar, 2022 2 commits
    • Andreas Traczyk's avatar
      video interface: homogenize decoding signal names · f26f20d5
      Andreas Traczyk authored
      Change-Id: Ica925c83e44e2326417708768566e33102365ce9
      f26f20d5
    • Olivier Dion's avatar
      Build system: No '--disable-shared' · 775aa2f8
      Olivier Dion authored and Sébastien Blin's avatar Sébastien Blin committed
      The agent and unit tests can now be compiled without requiring
      `--disable-shared' at configuration time.
      
      The agent requires the logger functions to have default visibility instead of
      hidden.  Thus, `jami::logger::[v]log' can be considered part of the public API.
      
      The unit tests however require hidden symbols.  Thus, we link the tests against
      a static version of libjami instead.
      
      Change-Id: I59d9e67679766e0310a19f9a879c06a31c5124c4
      775aa2f8
  17. 28 Feb, 2022 1 commit
    • Mohamed Chibani's avatar
      Mute audio: do not change media direction · c3d0e5eb
      Mohamed Chibani authored
      Mute/un-mute audio is done only locally, i.e. without requesting
      a media change (re-invite) as done for the video, thus the media
      direction in the SDP must not change for the audio stream.
      
      Gitlab: #688
      
      Change-Id: I3775a29f6c566a159d5b9269b4d9462ab4e3c36f
      c3d0e5eb
  18. 25 Feb, 2022 3 commits
    • Maxim Cournoyer's avatar
      globals.mk: Remove dead code. · 0f0bb5d8
      Maxim Cournoyer authored and Amin Bandali's avatar Amin Bandali committed
      astyle was removed in favor of clang-format in commit
      85510893.
      
      * globals.mk (ASTYLERC, indent): Delete variables.
      (indent): Delete target.
      
      Change-Id: I138f887a5845ff24e12c5c8ece26e30d4cfc7616
      0f0bb5d8
    • Maxim Cournoyer's avatar
      manager: Rename the 'ringchoice' local variable to 'ringtone'. · 3377a458
      Maxim Cournoyer authored and Amin Bandali's avatar Amin Bandali committed
      * src/manager.cpp (Manager::playRingtone)<ringchoice>: Rename local
      variable to...
      <ringtone> ... this.
      
      Change-Id: Ia94ead6dfa070a5c18d3e267e00d8895f38e5b09
      3377a458
    • Maxim Cournoyer's avatar
      account: Make the default ringtone path portable. · e23a8867
      Maxim Cournoyer authored and Amin Bandali's avatar Amin Bandali committed
      Before this change, the default ringtone path would be for example set
      to "/data/data/cx.ring/files/ringtones/default.opus" on Android;
      migrating the account to GNU/Linux would cause the ringtone to not be
      found.  The change leverages existing code that searches for a base
      file name in a JAMI_DATADIR-prefixed location.
      
      * globals.mk: Set JAMI_DATADIR from the environment if it's defined.
      * src/account.cpp (DEFAULT_RINGTONE_PATH): Universally set to
      "default.opus";
      * src/manager.cpp: Add a definition check for the JAMI_DATADIR macro.
      (Manager::playRingtone): Go through the ringtone path resolution
      scheme on all platforms.  Some platforms will need to define the
      JAMI_DATADIR macro correctly for this to work; for example the
      libjami build on Android should have the JAMI_DATADIR macro set to
      "/data/data/cx.ring/files" for this to work correctly.
      
      Accompanying client-android change:
      https://review.jami.net/c/jami-client-android/+/21148
      
      Co-authored-by: Amin Bandali's avatarAmin Bandali <amin.bandali@savoirfairelinux.com>
      Change-Id: Ia408a8db263af91c2734f61aa38c4ed717605359
      e23a8867
  19. 24 Feb, 2022 1 commit
  20. 19 Feb, 2022 2 commits
  21. 18 Feb, 2022 1 commit
  22. 15 Feb, 2022 2 commits
    • Sébastien Blin's avatar
      swarm: verify all certificates changes · 53cf11bd
      Sébastien Blin authored
      In some cases, a user in the swarm can update its certificates.
      However, the new certificate MUST be checked and MUST be signed
      by the account.
      So, this patch validates two scenarios:
      + Check that a fetch error is sent to the client whenever an invalid
      certificate is detected in the original clone
      + Check that a fetch error is sent to the client whenever a
      certificate is replaced during the conversation.
      
      Change-Id: Ieb15fb6444dcf4541f00c511a9f4ba0c64617130
      53cf11bd
    • Sébastien Blin's avatar
      swarm: handle device's expiration · d2d18bde
      Sébastien Blin authored
      If a device expires, a migration will regenerate the device's
      certificate. In this case, the device certificate in swarms must
      be updated.
      So, the idea of this patch is to verify that the current certificate
      in the repository for this device is still correct. If the device or
      the member got invalidated, it tries to replace the current certificate
      (updated via the migration). So that the new commits will still be valid.
      
      Change-Id: I75b19b0edbb5601a758a73a4c4a44678d77295e1
      GitLab: #684
      d2d18bde
  23. 14 Feb, 2022 1 commit
  24. 11 Feb, 2022 1 commit
  25. 09 Feb, 2022 1 commit
    • Sébastien Blin's avatar
      libressl: update hash · 7634487e
      Sébastien Blin authored and Adrien Béraud's avatar Adrien Béraud committed
      The hash changed because the libressl team updated their tool,
      changing the copyright in the tarball
      
      Change-Id: I0fcf3d65d5058a5fdfdc161aa427758ca20e9a2f
      7634487e
  26. 07 Feb, 2022 1 commit
    • Sébastien Blin's avatar
      swarm: make sure appdata/contacts is synced with appdata/convInfo · 0078370f
      Sébastien Blin authored
      On older versions, removeConversation didn't update appdata/contacts
      causing some removed conversations to be announced in contacts details.
      On Android, this hide the contact from the smartlist, as it's waiting
      for a removed conversation.
      
      Change-Id: I05be12ffcd2e5fe38d84c6f972b97e082c612ac7
      GitLab: #714
      0078370f
  27. 04 Feb, 2022 1 commit
    • Sébastien Blin's avatar
      account_archive: re-work migrating process · 34af9c4a
      Sébastien Blin authored
      When a device is expired, the migration will update the certificate
      chain with the previous key. So, after a migration, the device's id
      must be unchanged.
      However, if a device is revoked, this should trigger a re-generation
      of the device with a new PrivateKey (so generates a new device).
      Add related unit tests.
      
      GitLab: #684 (this is some preparative work)
      Change-Id: I7ff0cff97b7285186539cfadc6e33b620ded5b27
      34af9c4a
  28. 02 Feb, 2022 1 commit
    • Sébastien Blin's avatar
      tests: fix ut_conversation · 57723b8c
      Sébastien Blin authored
      + testSetMessageDisplayed and testSetMessageDisplayedPreference were
      broken because the lastDisplayed behaviour was recently changed to
      support syncing across devices. Update the two related tests. Also,
      avoid to update the lastDisplayed on merge
      + testSyncWithoutPinnedCert was badly written causing some sporadic
      failures.
      
      Change-Id: I364818b4ececb0fa63e87441f55a7da76fe1feb6
      57723b8c