1. 19 Jul, 2021 1 commit
    • Sébastien Blin's avatar
      tls_session: fix verifyOcsp potential crashes · ef39a26f
      Sébastien Blin authored
      verifyOcsp takes a callback with arguments passed by reference.
      However, if the method finishes (verifyCertificateWrapper) cert
      will be destroyed and references potentially invalidated.
      So, instead of waiting on a condition variable use a future to
      be sure that the cert is used before destruction.
      The callback is always called by sendOcspRequest with a similar
      timeout so also remove the useless timeout.
      
      Change-Id: If1a8eba70e13d2d613b758ad24629efa4fe57bb3
      GitLab: #577
      ef39a26f
  2. 16 Jul, 2021 1 commit
    • Maxim Cournoyer's avatar
      autoconf: Use libtool, not dolt replacement. · 9727bd57
      Maxim Cournoyer authored
      Dolt doesn't provide the performance benefits it promises, so drop it
      to simplify the moving parts of the Autotools build system.
      
      Also remove unused M4 modules.
      
      * m4/dolt.m4: Delete file.
      * m4/ax_boost_base.m4: Likewise.
      * configure.ac: Do not call DOLT.
      
      Change-Id: I58d286457005ad82129e089679c52933989c59a8
      9727bd57
  3. 15 Jul, 2021 4 commits
    • Adrien Béraud's avatar
      alsa: cleanup, fix deadlock · 7ba51932
      Adrien Béraud authored
      Change-Id: Ia395103ba2ec2ec85400cf710a07c40888568d68
      7ba51932
    • Sébastien Blin's avatar
      conversationrepository: detect malformed conversations · c247f1d5
      Sébastien Blin authored
      For whatever reason, a conversation can be malformed. This should
      be detected and the conversation not loaded. The conversation
      will be removed and re-synced if necessary.
      
      Change-Id: I40e78564559e7f09159ceba4d263a4ea75b25794
      c247f1d5
    • Maxim Cournoyer's avatar
      daemon: Rename dring occurrences in code and file names to jamid. · ba3a411c
      Maxim Cournoyer authored
      Automated using the following commands:
      
        $ mv src/{dring,jami}
        $ git grep -l src/dring | xargs sed -i 's,src/dring,src/jami,g'
        $ git grep -l '#include "dring/' | \
          xargs sed -i 's,#include "dring/,#include "jami/,g'
        $ git grep -l 'dring.h' | xargs sed -i 's,dring.h,jami.h,g'
      
      And finally,
      
        $ git grep -l 'dring' | xargs sed -i 's,dring,jami,g'
      
        $ files=$(find -name '*dring*' | sort)
        $ for f in $files; do mkdir -p "$(dirname "$f")"; \
            mv "$f" "$(echo $f | sed 's/dring/jami/g')"; done
      
      To resolve a bad renaming favorably:
      
        $ git grep -l -i AlsaCarjami | \
          xargs sed -i -E 's/([Aa])lsaCarjami/\1lsaCardRingtone/g'
      
      The above renaming command is not perfect, so some hand-tuning was
      required to complete it.
      
      * src/manager.cpp (Manager::ManagerPimpl::retrieveConfigPath):
      Preserve the dring.yml configuration file name, until we add something
      to migrate (rename) it to jami.yml.
      * man/dring.pod: Delete.
      * bin/dbus/jamid.pod: Move to ...
      * man/jamid.pod: here.
      * bin/dbus/meson.build (jamid_targets): Normalize man section to the
      pre-existing 1 and adjust accordingly.
      * src/jami/def.h (dring_EXPORTS): Rename to ...
      (jami_EXPORTS): ... this.
      
      change-Id: I9828be6da9c711ab2f22c4d1b9539fea89d7b6fb
      ba3a411c
    • Sébastien Blin's avatar
      sipvoiplink: do not lock callMutex_ from pjsip's callback · 86a21e06
      Sébastien Blin authored
      This logic was added via 9d9a6b3d,
      but this will give potential deadlocks, because pj's group lock
      will be locked at this point. So we will have:
      group-lock->callMutex_
      and other methods like SIPCall::hangup will try to lock:
      callMutex_->group-lock
      causing a deadlock.
      
      The original issue was adding this line due to a use after free,
      however since then we fixed the ref counter of inv, so it should
      be a valid fix.
      
      Change-Id: I2fdc236ca63487634ebf2659ecdebb8e0c3234fe
      GitLab: #586
      86a21e06
  4. 14 Jul, 2021 1 commit
  5. 12 Jul, 2021 2 commits
  6. 09 Jul, 2021 4 commits
    • Mohamed Chibani's avatar
      ut_sip_basic_calls: enable scenario with all media disabled · c16041fc
      Mohamed Chibani authored
      Gitlab: #570
      
      Change-Id: I87f476082f0f04b342e737e523eae976b0717bca
      c16041fc
    • Olivier Dion's avatar
      sip: Fix increment of invite session · b34d1a3c
      Olivier Dion authored
      Increment of the invite session has to be done before SIPCall takes a reference
      to it.
      
      Otherwise, `pjsip_inv_dec_ref()` will be called internally by PJSIP when the
      reference counter has reached 0.  This happen when `SIPCall::setInviteSession()`
      is called in `invite_session_state_changed_cb()`, resulting in the deletion of
      the invitation.
      
      Change-Id: Icba0985ea26ce5dec462bd124cca4dd2187d6a47
      b34d1a3c
    • Sébastien Blin's avatar
      conversationrepository: fix pointer check · 7e15841b
      Sébastien Blin authored
      Change-Id: I0f0a926996d34ae22051f0247e36575ab755d0ba
      7e15841b
    • Mohamed Chibani's avatar
      ut_ice_sdp_parser: rework test · 04ec59a1
      Mohamed Chibani authored
      Rework the test to use two audio streams instead of audio+video.
      This is needed to run the test on environments where the camera
      is not available (e.g. Docker). For this specific test, the media
      type is irrelevant, so using two audio media is acceptable.
      
      Gitlab: #516
      
      Change-Id: Idc4911d5aea5ffdd931bd7d63516ed484344d41c
      04ec59a1
  7. 08 Jul, 2021 1 commit
  8. 07 Jul, 2021 4 commits
  9. 06 Jul, 2021 1 commit
  10. 05 Jul, 2021 1 commit
  11. 02 Jul, 2021 2 commits
  12. 30 Jun, 2021 9 commits
  13. 29 Jun, 2021 9 commits
    • Sébastien Blin's avatar
      multiplexed_socket: avoid incorrect buffer in setOnRecv · 18988295
      Sébastien Blin authored
      setOnRecv must lock socketsMutex. Generally it,s the case because onAccept
      will be ready right away and still locked, however if onChannelReady_ retrigger
      the callback, setOnRecv will be used without socketsMutex locked.
      
      Retrigger in a thread and always lock socketsMutex to be sure.
      
      Change-Id: If44d240e113585a5ce3320b8f17feaaaa8be8515
      18988295
    • Sébastien Blin's avatar
      sipcall: lock transport while initializing ICE · eebf8601
      Sébastien Blin authored
      When starting an outgoing call, if the ICE initialization is too fast:
      + SIPCall::initIceMediaTransport will init the ICE transport
      + onInitDone will be called before tmpMediaTransport_ initialized
      + JamiAccount::SIPStartCall will be called and add ICE candidates
      BUT because transportMtx_ is not locked, tmpMediaTransport_ will be null
      and no ICE transport will be added.
      
      This is why createUTransport should be done while locked. Anyway the method is
      async so should not block.
      
      GitLab: #574
      Change-Id: Id88dc92f6d77c18de3ea4614e2b5fd79d3429ff0
      eebf8601
    • Maxim Cournoyer's avatar
      build: Add missing header to Autotools build. · 89f894c1
      Maxim Cournoyer authored
      * src/meson.build (libjami_dep): Sort headers.
      * src/Makefile.am (nobase_include_HEADERS): Sort and add
      'jami/conversation_interface.h'.
      
      Change-Id: Ib66e4c9904906dcca4722cc81b6487aa43086e2e
      89f894c1
    • Maxim Cournoyer's avatar
      libring: Specify LDFLAGS for the shared library. · 34ff6fa1
      Maxim Cournoyer authored
      This avoids the error:
      
         ld: /home/mcournoyer/src/ring-project/daemon/contrib/x86_64-unknown-linux-gnu/lib/libswscale.a(swscale.o): relocation R_X86_64_PC32 against symbol `ff_M24A' can not be used when making a shared object; recompile with -fPIC
         ld: final link failed: bad value
      
      caused by the missing '-Wl,-Bsymbolic' linker directive (which is
      documented as required by ffmpeg when a shared library is built
      against a static ffmpeg object).
      
      * src/Makefile.am (libring_la_LDFLAGS): Set to AM_LDFLAGS.
      [HAVE_WIN32]: Append using the += operator.
      [HAVE_OSX]: Likewise.
      [HAVE_LINUX]: Remove; it was not necessary.
      
      Change-Id: Id2af9ea5812b2d1fd3b4f7f893108bb94671ffc6
      GitLab: jami-packaging#101
      34ff6fa1
    • Ming Rui Zhang's avatar
      sipaccountbase: ensure the value for published ip address · cdc7cadb
      Ming Rui Zhang authored
      Gitlab: #567
      
      Change-Id: I9fdb1601f407759a8b6ef73bccc32769e5693b5b
      cdc7cadb
    • Maxim Cournoyer's avatar
      dbus: Adjust the location of the jamid binary in the D-Bus service. · d5021c78
      Maxim Cournoyer authored
      This is a follow up to commit 2afa99fd (Install dring to libexec and
      edit templates at install time).
      
      * bin/dbus/Makefile.am (do_subst): Replace bindir by libexecdir.
      
      Change-Id: I380e61467ef4f3c4873698c9e2061b9c61370d44
      d5021c78
    • Olivier Dion's avatar
      fuzzing: Add GDB script · fb05a8d5
      Olivier Dion authored
      Change-Id: Ia9ce297062ac28dcf7f03ee28247cad4411d1b0f
      fb05a8d5
    • Olivier Dion's avatar
      fuzzing: Add OpenDHt wrapper · ba27341e
      Olivier Dion authored
      Change-Id: I92e57a1f62e3bae67c8ae4ca6d7654dfe427c361
      ba27341e
    • Olivier Dion's avatar
      fuzzing: Ignore fuzz_ programs and out file · 836f4d7f
      Olivier Dion authored
      Change-Id: I31128ff65ca03c62971165ed61683cbc84b0b5d4
      836f4d7f