Skip to content
Snippets Groups Projects
  1. Mar 19, 2021
  2. Mar 18, 2021
  3. Mar 17, 2021
    • Mohamed Chibani's avatar
      upnp: code improvements and bug fixes · 1a6cc728
      Mohamed Chibani authored and Sébastien Blin's avatar Sébastien Blin committed
      This patch adds many improvements and bug fixes:
      1- For PUPNP lib, use the synchronous methods for add and remove
      requests. The async versions have many issues mainly at shutdown.
      If the callbacks do not arrive on time, the memory allocated by
      the lib when performing the request will leak.
      2- Rework the init and IGD search of PUPNP.
      3- Move the termination step (for libupnp in particular) from
      the destructor to a newly added method (termiinate()). This will
      prevent a race at shutdown between libupnp threads (callbacks) and
      the daemon shutdown process.
      4- Do not try to initialize libupnp if the host address is invalid.
      This will prevent putting the lib in an unstable state.
      
      Gitlab: #472
      
      Change-Id: I14e5ddcd2b735da374a1f09bcef40f6a86a38133
      1a6cc728
  4. Mar 16, 2021
  5. Mar 15, 2021
  6. Mar 12, 2021
    • Sébastien Blin's avatar
      pjproject: follow security advisories · ba05f4fb
      Sébastien Blin authored
      Apply patches for CVE-2021-21375 and CVE-2020-15260 affecting
      prproject. After a quick look I don't think those issues apply to
      us, as GnuTLS manages the TLS part and we do resolution outside
      pjsip (the daemon passes ips), but at least our pjproject will
      not be affected.
      
      Note, these patches will be removed when we bump pjproject to 2.11.
      
      Change-Id: Ie9029f5501096c7148416cbb803a40f1c053a3d0
      Unverified
      ba05f4fb
  7. Mar 11, 2021
  8. Mar 10, 2021
  9. Mar 09, 2021
  10. Mar 08, 2021
    • Sébastien Blin's avatar
      pjproject: increase timer value for TURN connection timeout · 8d428f44
      Sébastien Blin authored and Adrien Béraud's avatar Adrien Béraud committed
      On some very slow network, the process to connect to a relay
      candidates can take a lot of time. Cause this timer includes
      the time between the ConnectionAttempt and sending the
      Binding response. With some packet loss it can quickly increase
      this delay.
      
      Example:
      Classic nego (Successful ICE):
      
      10:36:28.126 .RX 144 bytes STUN message from 51.222.10.40:3478:
      --- begin STUN message ---
      STUN ConnectionAttempt indication (...)
      
      10:36:29.378 .TX 84 bytes STUN message to IP:45320:
      --- begin STUN message ---
      STUN Binding success response
      
      Problematic case on a bad network:
      
      // Bad network peer
      09:39:10.910 .RX 288 bytes STUN message from 192.252.140.236:3478:
      --- begin STUN message ---
      STUN ConnectionAttempt indication
      
      // other PEER:
      09:38:51.855 192.252.140.236:11846 (nominated): connectivity check FAILED:
      STUN transaction has timed out (PJNATH_ESTUNTIMEDOUT)
      => The other peer close the socket
      
      // Bad network peer
      09:38:52.258 .RX 76 bytes STUN message from IP:36436:
      --- begin STUN message ---
      STUN ConnectionBind success response
      
      9:38:53.756   tcprel0x7f7098178460  .socket send(): Not found (PJ_ENOTFOUND)
      
      The value of 15 secs is chosen to follow ice_inactive_timeout in
      the webrtc's sources (CONNECTION_WRITE_TIMEOUT)
      
      Change-Id: Idc66f6cb2018fbf03e34059640fa91601535dcb1
      GitLab: #1201
      8d428f44
  11. Mar 06, 2021
  12. Mar 05, 2021
  13. Mar 04, 2021
  14. Feb 26, 2021
    • Sébastien Blin's avatar
      tls_session: avoid to retry handshake if stopped · 9c26f7b5
      Sébastien Blin authored and Adrien Béraud's avatar Adrien Béraud committed
      getting a TlsSession::shutdown() while doing a gnutls_handshake
      provoke a loop (cause the handshake will return GNUTLS_E_INTERRUPTED
      and will loop until HANDSHAKE_MAX_RETRY).
      
      Change-Id: Ifabc24c815552a14781b72cb9baf66d987cb25ce
      9c26f7b5
    • Ming Rui Zhang's avatar
      sip: expose allowViaRewrite option and make it false by default · a944050e
      Ming Rui Zhang authored
      Gitlab: #456
      Change-Id: Ic44c9ce0b682bf8352b15ad9eaf8d51a15c4c657
      a944050e
    • Adrien Béraud's avatar
      log cleanup · d0c7c522
      Adrien Béraud authored
      Change-Id: I139b6fcb70986be033c88bbf7e0545af326ff407
      d0c7c522
    • Adrien Béraud's avatar
      namedirectory: cancel remaining requests on destruction · 7757a186
      Adrien Béraud authored
      Change-Id: I49383922aca110594410b7d86aafde2ece6af4b7
      7757a186
    • Adrien Béraud's avatar
      SipCall: capture weak_ptr instead of this to avoid use-after-free · 08dc49d1
      Adrien Béraud authored
      Change-Id: I92a9a61c8d34736af99693ec826dd2385c319bfa
      08dc49d1
    • Adrien Béraud's avatar
      CallServicesManager: check for handler id parsing exception · 33fe6bb3
      Adrien Béraud authored
      Change-Id: I5efa45a80f05c6ba4106e05234612c6ea5d6fdf9
      33fe6bb3
    • Maxim Cournoyer's avatar
      contrib: Streamline the wget options for downloading. · aa0d358f
      Maxim Cournoyer authored and Adrien Béraud's avatar Adrien Béraud committed
      This brings wget performance up to par with that of curl, which makes
      downloading the contrib sources via wget about a ~6X faster.  Wget is
      now also made the preferred downloader, as it's a smaller than curl,
      and is GNU.
      
      * contrib/src/main.mak (download): Remove the -p option, not suitable
      for single file downloads (it's meant for retrieving all the resources
      of a web page).  This fixes a warning too.  Remove the --passive
      option, which is not documented.  It's probably equivalent to
      --passive-ftp, which is the default anyway.  Use --waitretry instead
      of -w.  The later was causing the 10 s delay to be inserted on every
      HTTP redirection, wasting time.
      
      Change-Id: Ibcd6805c66da3fb0c3f37b7128a34cf6c269f400
      aa0d358f
    • Maxim Cournoyer's avatar
      contrib: Relax the file name requirements for the contrib scripts. · 3fd44ec8
      Maxim Cournoyer authored and Adrien Béraud's avatar Adrien Béraud committed
      It should only worry about its parent directory, not its grandparent.
      This makes it possible to bind mount just daemon/contrib in a
      container, to run 'make fetch' for example.
      
      * contrib/bootstrap: Adjust relative paths.
      * contrib/src/main.mak: Express using the CURDIR variable.
      (PATH): Express using the TOPSRC variable.
      (pkg_static): Express using the SRC environment variable.
      
      Change-Id: I02cba2249e4971d76ef0af0fa00f4b1af61c5aff
      3fd44ec8
    • Maxim Cournoyer's avatar
      contrib: libressl: Validate checksum and fix prerequisite. · a8634446
      Maxim Cournoyer authored and Adrien Béraud's avatar Adrien Béraud committed
      The 'fetch' target relies on the prerequisites of the .sum-$(PKG)
      files.  Prior to this change, 'make fetch' would not fetch the
      openbsd-libressl tarball.
      
      Change-Id: Ic91cc7032243d0c0f3b3d69fb74cfb3c633d0fc3
      a8634446
    • Maxim Cournoyer's avatar
      contrib: Add a 'list-tarballs' target. · 88f2c6fe
      Maxim Cournoyer authored and Adrien Béraud's avatar Adrien Béraud committed
      This target can be used to print a list of the contrib tarballs
      required to build the daemon.  It can be used to copy only the
      required tarballs from a cache when building a source release, for
      example.
      
      Change-Id: I402c29989b3e6fed8a82418d19dbbacea8c44f50
      88f2c6fe
    • Maxim Cournoyer's avatar
      contrib: Ease the configuration of a custom cache directory. · 6d3b0c07
      Maxim Cournoyer authored and Adrien Béraud's avatar Adrien Béraud committed
      It was previously possible by overriding the TARBALLS variable on each
      make call, but that's inconvenient.  This changes allows specifying it
      once, at bootstrap time.  If the TARBALLS environment is defined, it
      is also honored (and takes precedence over the value provided at
      bootstrap time).
      
      * contrib/src/ffmpeg/rules.mak (ffmpeg): Because the $(TARBALLS)
      variable is now made absolute (for clarity in the build output), do
      not use a relative path.
      * contrib/src/onnx/rules.mak (onnx): Likewise.
      * contrib/src/vpx/rules.mak (libvpx): Likewise.
      * contrib/src/x264/rules.mak: Likewise.
      
      Change-Id: I07497b095938c7885159f44753ead2814ed2a2fe
      6d3b0c07
Loading