1. 05 Jan, 2018 1 commit
    • Guillaume Roguez's avatar
      data transfer: first implementation · 755347dd
      Guillaume Roguez authored
      First implementation of Reliable Data Transfer feature in Ring.
      
      This implementation is a draft, comes with a Python script
      tools/dringctrl/sendfile.py to play with and doesn't
      implement all the API as described into "datatransfer: API proposal"
      commit.
      This version uses TLS over TCP-TURN sockets to encrypt data.
      
      Transfers require a TURN server with TCP peer connections
      as described by the RFC-6062.
      
      Testing: Currently only sendFile API is implemented and data are
      saved into a temporary file saved in "/tmp/ring_XXXXXX",
      where XXXXXX are replace by mkstemp() command.
      
      Change-Id: I5b8f48432edd58df5046e368a99f58ea44046dcd
      Reviewed-by: default avatarOlivier Soldano <olivier.soldano@savoirfairelinux.com>
      755347dd
  2. 03 Jan, 2018 2 commits
    • Guillaume Roguez's avatar
      make TlsSession great again · bdafdfb4
      Guillaume Roguez authored
      Or at least independant of underlaying transport...
      
      To make TlsSession able to handle both TLS and DTLS
      this patch removes the ICE dependency and replace is
      by the generic network ABC class 'GenericTransport'.
      As a first step this class is declared in tls_session.h.
      Side effects of this change are:
      
      * refactoring of PMTUD procedure: 'MTU' for gnutls has the meaning
        on 'payload-for-gnutls' so this information is now drived by
        the generic transport and not hardcoded anymore.
        The minimal value of probing remains hardcoded, as is a minimum
        given by RFC's documentation and it's based on an IPv4 packet
        associated with UDP protocol.
      
      * getMtu() is now maxPayload() and represent correctly what
        the application must have.
      
      * TlsSession implements itself GenericTransport: we can chain
        GenericTransport instances to construct an overlayed transport
        protocol.
      
      * TlsSession is now considered as non thread-safe for its public API.
        Caller must bring itself this property.
        This permit to remove a redundant mutex in send() operation.
        Note: and it's the case in the only user (SipsIceTransport),
        that why the mutex is redundant in 100% of cases.
      
      Notice the benefit of this genericity refactoring let us
      write a unit-test for this TlsSession class without having
      an heavy ICE transport to mock-up.
      
      Also ICE transport gained of this by adding a new IceSocketTransport
      to replace IceSocket in a near future (need async IO in GenericSocket,
      but not required for the moment).
      
      Change-Id: I6f4591ed6c76fa9cb5519c6e9296f8fc3a6798aa
      Reviewed-by: default avatarOlivier Soldano <olivier.soldano@savoirfairelinux.com>
      bdafdfb4
    • Alexandre Lision's avatar
      android: Move jni to daemon · 2dee5360
      Alexandre Lision authored
      Move all JNI file sources to the daemon. Ring Android client will use
      this files to generate the final libring.so including the
      ring_wrapper.cpp
      
      Change-Id: I4e800bb1d33b5905c715054d1718c0bdb3fc1d55
      Reviewed-by: Guillaume Roguez's avatarGuillaume Roguez <guillaume.roguez@savoirfairelinux.com>
      2dee5360
  3. 02 Jan, 2018 2 commits
    • Guillaume Roguez's avatar
      fixup for sip_utils · cb1ba72f
      Guillaume Roguez authored
      fix for patch:
      0f524801 PJSIP support to std::error_code and std::system_error
      
      pj_strerror crashes on due to wrong given string size.
      
      Change-Id: I8d68b885ce0d587b27e8b361c9ad60019ed355fb
      cb1ba72f
    • Guillaume Roguez's avatar
      PJSIP support to std::error_code and std::system_error · 0f524801
      Guillaume Roguez authored
      Some practical C++ additions:
      * class PjsipErrorCategory as error category for std::error_code.
      * class PjsipFailure inheriting from std::system_error exception.
      
      Change-Id: I957cd36d06cf49ae98cb6634f5e4d5dcac666be8
      0f524801
  4. 31 Dec, 2017 1 commit
  5. 28 Dec, 2017 2 commits
  6. 21 Dec, 2017 1 commit
  7. 20 Dec, 2017 1 commit
    • Guillaume Roguez's avatar
      fix IP2IP account signal at creation · 5f042df9
      Guillaume Roguez authored
      When IP2IP account is created only AccountsChanged signal is emited.
      But doRegister() method is called and this kind of account must succeed
      on such (as there is no registration) and must call
      setRegistrationState(RegistrationState::REGISTERED) to make aware the client
      on this event.
      This was not done. This patch adds this call.
      
      Change-Id: Ic5b8a31d9e2b98dd96ed394247f77bbfa3d8cdde
      Reviewed-by: Andreas Traczyk's avatarAndreas Traczyk <andreas.traczyk@savoirfairelinux.com>
      5f042df9
  8. 19 Dec, 2017 1 commit
    • Luke Shumaker's avatar
      contrib: recursive dependency tracking · 6fa37b57
      Luke Shumaker authored
      Let's say we're building gnutls (since the system version is too new).
      gnutls depends on nettle.
      Let's say we're using the system nettle (naturally in FOUND_PKGS).
      nettle depends on gmp.
      
      With the old (non-recursive) dependency tracking, we would end up building
      gmp just for nettle, even though we aren't even building nettle!
      
      Change-Id: I24e6f59416839ea202e0aceafe101432fe9c2646
      Reviewed-by: Guillaume Roguez's avatarGuillaume Roguez <guillaume.roguez@savoirfairelinux.com>
      6fa37b57
  9. 18 Dec, 2017 3 commits
  10. 13 Dec, 2017 1 commit
    • Adrien Béraud's avatar
      encoder: use max 16 threads for video, 4 for audio · d08826f0
      Adrien Béraud authored
      Audio encoding is usually mono-threaded and doesn't require
      as much CPU as video encoding. Limit to 4 threads since more
      would not be useful and might introduce latency and decrease performance.
      
      Video encoding takes significantly more resources, however for live encoding,
      using more than 16 threads might introduce unreasonable latency.
      Since new customer CPUs (AMD Ryzen and Intel Core i7/i9) now have
      more than 16 logical cores, setting a higher bound of 16 threads.
      
      Change-Id: I5dc2d3f51019c563b8cec3fbddffa13cbafdb9a5
      d08826f0
  11. 12 Dec, 2017 1 commit
  12. 08 Dec, 2017 1 commit
    • Andreas Traczyk's avatar
      build: fix secp256k1 arm64 build · ba9f49b0
      Andreas Traczyk authored
      - Adds CFLAGS to make command for secp256k1 build when building for
        iPhoneOS(arm64) as the configure script ignores the SDK parameter
      
      Change-Id: Id57933d8776e7c348a0c37bae508fe61161e4151
      ba9f49b0
  13. 07 Dec, 2017 1 commit
  14. 06 Dec, 2017 3 commits
  15. 05 Dec, 2017 2 commits
  16. 04 Dec, 2017 5 commits
  17. 01 Dec, 2017 2 commits
  18. 30 Nov, 2017 1 commit
  19. 29 Nov, 2017 3 commits
  20. 28 Nov, 2017 6 commits