1. 23 Jul, 2021 5 commits
    • Mohamed Chibani's avatar
      media attribute: update media source only if set · d02e768e
      Mohamed Chibani authored and Sébastien Blin's avatar Sébastien Blin committed
      When a new media list is provided (during a media change request
      for instance), the media source and source type will be updated
      only if set in the new media attribute list. This will prevent unwanted
      overwriting of media source and source type.
      This patch will fix the ut_media_negotiation unit test.
      Gitlab: #576
      Change-Id: If6f994def1e113265eeff0cce93fe5d314dffd5d
    • Sébastien Blin's avatar
      archiver: improve import from archive · c5fdf060
      Sébastien Blin authored
      If the user decides to transmit its account archive via a webservice
      in some case the webserver can re-compress the file resulting to a
      gunzip file into a gunzip file. We can check the header of the file
      to be able to detect this case.
      Then, replace inflateInit by inflateInit2 with better header detection
      to avoid header errors. Cf http://www.zlib.net/manual.html#inflateInit2
      Change-Id: I1421affa8815ab347b439ef2e505da10275c80ff
      GitLab: #575
    • Olivier Dion's avatar
      contrib: Add Guile 3.0.7 · a6ce3256
      Olivier Dion authored
      Change-Id: I5340a0215512be416a618c526f8a0962c8401087
    • Olivier Dion's avatar
      contrib/pjproject: Add patch that fixes TURN socket leak · c088e521
      Olivier Dion authored
      Gitlab: #590
      Change-Id: Ia2f030e475eb269a7f9ccb7540fd1fc0c80f5a5b
    • Sébastien Blin's avatar
      pjproject: bump to 2.11 · d938694f
      Sébastien Blin authored and Olivier Dion's avatar Olivier Dion committed
      Merged upstream (so deleted):
      Merged for 2.12:
      Also, fix the assertion in ice_transport.cpp cause
      user_mapping_cnt can be equals to PJ_ICE_MAX_COMP.
      Change-Id: If6fee261e89c34640519a6b61e94391b57363a22
      GitLab: #509
  2. 22 Jul, 2021 3 commits
  3. 20 Jul, 2021 2 commits
  4. 19 Jul, 2021 4 commits
    • Olivier Dion's avatar
      manager: Fix double answer of call · 93aa262d
      Olivier Dion authored
      If `DRing::acceptWithMedia()` is called within an `IncomingCall` signal handler,
      then `processIncomingCall` will wrongly try to answer the same call.
      Gitlab: #589
      Change-Id: Ica7a5c17852d83e6228e71e0f9a2a83b24cb315b
    • Mohamed Chibani's avatar
      mute in conference: rework mute/un-mute of local host · 1cf24333
      Mohamed Chibani authored
      When a call is added to a conference, the control of the mute/un-mute
      state of the media of the call is taken over by the conference, and
      the mute state of the participating calls will be controlled by the
      state of the local host set in the conference, which basically consists
      of attaching/detaching the source to/from the mixer. Currently the local
      host mute state might not be correctly initialized, leading to
      inconsistent mute states.
      The proposed changes will correctly set the local host state according
      to the initial mute states of each call joining the conference.
      Gitlab: #576
      Change-Id: I0a746aae82da57222cc7ff91c2e39a1a2bbaff8e
    • Ming Rui Zhang's avatar
      sip: add allow ip auto rewrite · 95f99b2f
      Ming Rui Zhang authored
      Gitlab: #567
      Change-Id: I7f9eb1f9eb13250a999f7b26441ea7c47b81f796
    • Sébastien Blin's avatar
      tls_session: fix verifyOcsp potential crashes · ef39a26f
      Sébastien Blin authored and Adrien Béraud's avatar Adrien Béraud committed
      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
  5. 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
  6. 15 Jul, 2021 4 commits
    • Adrien Béraud's avatar
      alsa: cleanup, fix deadlock · 7ba51932
      Adrien Béraud authored and Sébastien Blin's avatar Sébastien Blin committed
      Change-Id: Ia395103ba2ec2ec85400cf710a07c40888568d68
    • 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
    • Maxim Cournoyer's avatar
      daemon: Rename dring occurrences in code and file names to jamid. · ba3a411c
      Maxim Cournoyer authored and Maxim Cournoyer's avatar Maxim Cournoyer committed
      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
    • 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:
      and other methods like SIPCall::hangup will try to 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
  7. 14 Jul, 2021 1 commit
  8. 12 Jul, 2021 2 commits
  9. 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
    • Olivier Dion's avatar
      sip: Fix increment of invite session · b34d1a3c
      Olivier Dion authored and Sébastien Blin's avatar Sébastien Blin committed
      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
    • Sébastien Blin's avatar
      conversationrepository: fix pointer check · 7e15841b
      Sébastien Blin authored
      Change-Id: I0f0a926996d34ae22051f0247e36575ab755d0ba
    • 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
  10. 08 Jul, 2021 1 commit
  11. 07 Jul, 2021 4 commits
  12. 06 Jul, 2021 1 commit
  13. 05 Jul, 2021 1 commit
  14. 02 Jul, 2021 2 commits
  15. 30 Jun, 2021 5 commits