Skip to content
Snippets Groups Projects
  1. Oct 13, 2020
    • Sébastien Le Stum's avatar
      src: hooks: remove urlhook feature · 569d44b5
      Sébastien Le Stum authored and Sébastien Blin's avatar Sébastien Blin committed
      This feature is mostly a relicate from SFLPhone and introduced a remote
      attack vector abusing the system() function weaknesses.
      
      Provided that "sipEnabled" parameter is on in the remote target's
      configuration, a malicious peer calling that remote target could
      send SIP messages with a crafted "X-ring-url" string in order to
      execute arbitrary shell commands on the target.
      
      Header entry "X-ring-url" content is actually consumed by UrlHook
      as arguments for the "x-www-browser" command executed using system().
      
      By adding a shell escape sequence to circumvent existing arguments
      sanitizing attempts, the malicious peer could execute any shell command
      under remote peer user's identity and access sensitive information
      available using its privileges.
      
      Remove that feature altogether and enforce users that are relying on
      that feature to migrate to Jami "plugins", which are more suitable
      for introducing custom Jami behaviors.
      
      Change-Id: I1d6d07771e2b5a7c7f2cb8fc838821106c0a6708
      569d44b5
  2. Sep 01, 2020
  3. Aug 31, 2020
  4. Jul 31, 2020
  5. Jul 14, 2020
    • Sébastien Blin's avatar
      video_mixer: support multiple video layouts in conference · 8d40c627
      Sébastien Blin authored
      This patch aims to improve the conference management for the host.
      Now, the host is able to switch between 3 conferences layout:
      1. The grid view (actual one) where all participants are shown
      at the same height/width
      2. The One big/Other in small which show one participant bigger than
      the others
      3. One participant in big
      
      The daemon's API got two new methods:
      + setConferenceLayout() to switch between these layouts
      + setActiveParticipant() used in the 2 last layouts.
      
      Change-Id: I3c16569e24d1b63331ffe9d79e35790a6ac47a0c
      8d40c627
  6. Jul 13, 2020
  7. Jul 07, 2020
  8. Jun 05, 2020
  9. May 26, 2020
  10. Mar 12, 2020
  11. Mar 04, 2020
  12. Mar 02, 2020
    • Kateryna Kostiuk's avatar
      media player: initial implementation · 623f8082
      Kateryna Kostiuk authored
      This patch adds API for manage video player.
      During player initialization it opens file, initialize video
      and audio input, starts audio stream if needed.
      Initial player state is paused.
      It is up to client unpause player, get first frame and pause again
      to get image for preview.
      Current player functionality is
      - play/pause
      - seeking
      - mute audio
      
      Change-Id: I8cba50e1ab424d5acde9c38214af2cfe51064607
      623f8082
  13. Feb 28, 2020
  14. Dec 20, 2019
  15. Sep 10, 2019
  16. Sep 06, 2019
  17. Sep 05, 2019
  18. Aug 07, 2019
    • Philippe Gorley's avatar
      recorder: add preferences · 431cee5d
      Philippe Gorley authored
      Adds whether or not the local video feed should be overlaid on the
      remote video feed. Adds a quality setting for the recorder.
      
      Change-Id: I60bd80c6441c7d516120680bebb1acdeb3824c49
      431cee5d
  19. Aug 02, 2019
    • Eden Abitbol's avatar
      upnp: support libupnp and libnatnatpmp simultaneously · 60515d89
      Eden Abitbol authored
      Update libupnp to version 1.8.4.
      
      For windows, the IPV6 preprocessor must be undefined. Or else
      libupnp won't initialize. Added visual studio 2017 support
      via one patch for windows that also combines previous windows
      patches.
      
      UPnPController: Class that the jami classes use to control the
      opening and closing of ports. Every  service has it's own upnp
      controller. The controller does it's actions by using the upnp
      context class. Also refactored the functions used to add
      mappings. Instead of using two different functions with
      different types of parameters, we now use one function with
      parameters that have default values. The logic stays the same
      but the function call is more clear.
      
      UPnPContext: Class that holds a (linked) list of discovered IGDs
      and their corresponding protocols (which discovered them).
      Whenever the controller wants to add or remove a mapping, the
      context picks a valid IGD in it's list and uses the correct
      protocol to complete the required action. This class also has
      the ability to swap protocols for an IGD that was discovered
      by more then one protocol.
      
      UPnPProtocol: Virtual base class that defines the functions
      needed by the context to use the corresponding protocol.
      
      PUPnP: UPnPProtocol derived class that represents a upnp client
      that uses the portable upnp library (libupnp). Every time the
      client discovers a new IGD it uses a callback to add it to the
      context's main IGD linked list. It also has an internal list of
      IGDs that it discovered. Added features to this class include:
      	- IGD event subscription.
      	- Use UpnpInit2 function instead of deprecated UpnpInit
      	  function. It's also supposed to support IPv6.
      
      NatPmp: UPnPProtocol derived class that represents a upnp client
      that uses the NAT-PMP library (libnatpmp). Unlike libupnp,
      libnatpmp only supports discovering one IGD. Also uses callbacks
      to add the IGD it finds to the context's main IGD class.
      
      Also inclided debug warning prints whenever a controller opens
      and closes the ports. That way we can keep track of whenever
      the application opens and closes ports on the internet
      gateway device.
      
      Gitlab: #96
      
      Change-Id: I199271edac2c6d93dc60c24e2e2aefe36de7950c
      60515d89
  20. Jul 23, 2019
  21. Jul 19, 2019
    • Adrien Béraud's avatar
      build: cleanup · 780a9d57
      Adrien Béraud authored
      Remove unused build options, flags and defines
      
      Change-Id: I0c25511ade66025427ca0411cf34cfdd73a4bd1f
      780a9d57
  22. Jun 11, 2019
  23. Apr 17, 2019
  24. Apr 02, 2019
  25. Mar 25, 2019
  26. Mar 11, 2019
  27. Mar 07, 2019
  28. Feb 01, 2019
    • Philippe Gorley's avatar
      audio: add audio meter · c52e332b
      Philippe Gorley authored and Philippe Gorley's avatar Philippe Gorley committed
      Adds a signal that sends the linear RMS level for a given ring buffer.
      The signal must be turned on via the API and can be turned off when
      needed.
      
      Adds an audio preview so the mic can be read. Call startAudioDevice and
      stopAudioDevice to initialize and stop the audio layer.
      
      Change-Id: I6a71ef87ee805a6d4bfa824fa901dd638e8cbd65
      c52e332b
  29. Jan 16, 2019
  30. Jan 15, 2019
  31. Jan 11, 2019
  32. Jan 10, 2019
  33. Jan 04, 2019
    • Philippe Gorley's avatar
      rename Ring to Jami · 8b9940eb
      Philippe Gorley authored and Adrien Béraud's avatar Adrien Béraud committed
      Removes refrences to project name in logs and comments where it doesn't
      matter whether or not the name is specified.
      
      Change-Id: I17f99390226929ee620bc479b203825389bb3d4d
      8b9940eb
  34. Nov 19, 2018
  35. Oct 30, 2018
    • Hugo Lefeuvre's avatar
      call management: add PEER_BUSY status · a031c92d
      Hugo Lefeuvre authored and Philippe Gorley's avatar Philippe Gorley committed
      
      There is currently no distinction between the "peer busy" and "we
      replied busy after timeout" states, since both end in the BUSY state.
      
      Add a new PEER_BUSY state allowing such a distinction:
      * PEER_BUSY is set when peer replied busy
      * BUSY is set when we replied busy to an incoming call
      
      Bump daemon API number to major 7.0.0 since this is breaking the
      current API. In fact, these changes should not break anything in
      any well implemented client because unknown states should be properly
      handled, but better check.
      
      Change-Id: Id83f6db3d4524a91951b9945797f5fd2c019ff2f
      Reviewed-by: default avatarSebastien Blin <sebastien.blin@savoirfairelinux.com>
      a031c92d
Loading