1. 22 Feb, 2016 5 commits
    • Edric Milaret's avatar
      windows: support 64bit builds · 737f707b
      Edric Milaret authored
      - This patch allow us to build 64bits version of
      the daemon (and thanks to that LRC and client too)
      - We should essentially gain performance in CPU intensive task
      like video processing
      Depends on yaml-cpp bump that fix x64 mingw compilation
      Change-Id: I32c7bafba0eddfa8a6779e1c13bde2ea56bf904b
      Tuleap: #387
    • Edric Milaret's avatar
      contrib: bump ffmepg · 40a0a498
      Edric Milaret authored
      - Lots of bugfixes and CVE fix
      Tuleap: #381
      Change-Id: I32ac56cea5b6a5a8b3154ee262599870fbdd33ed
    • Edric Milaret's avatar
      remove lots of warning during Win32 build · ae234d24
      Edric Milaret authored
      Tuleap: #381
      Change-Id: Ibf1cb1f72f874758d1bd86a5e3a8cd7d6d875fae
    • Guillaume Roguez's avatar
      pulseaudio: fix memory leak · 7e2bc1e0
      Guillaume Roguez authored
      This leak is due to memory allocated by pa_context_subscribe()
      and not free as expected.
      This function returns a pointer on a pa_operation structure.
      This patch calls pa_operation_unref() on it when pa context is
      terminated and when PulseAudio class is deleted.
      This patch also improve the mainloop destroying (to prevent memory leak)
      by using aa true RAII concept with a std::unique_ptr.
      Change-Id: I8a27fd1672b7952f0fe1c944712ab6955cedfa97
      Tuleap: #412
    • Guillaume Roguez's avatar
      media: fix memory leaks · 207f0d15
      Guillaume Roguez authored
      This patch fixes various memory leaks found with ASAN.
        - av_dict_free wasn't called after av_dict_set
        - avformat_free_context wasn't called
        - safe_by_default: all av_malloc has been replaced by std::vector
      Tuleap: #412
      Change-Id: Ic47cc87b8ed013e7fac5dea80ea7e7aee96139b7
  2. 19 Feb, 2016 1 commit
    • Adrien Béraud's avatar
      contrib: bump opus from 1.1 to 1.1.2 · 98a66d40
      Adrien Béraud authored
      Should improve performance on all platforms (from http://opus-codec.org) :
      * x86 SSE, SSE2 and SSE4.1 intrinsics optimizations with run-time CPU detection contributed by Cisco Systems,
      * MIPS intrinsics optimizations contributed by Imagination Technologies,
      * ARM Neon optimizations contributed by Linaro and ARM
      Tuleap: #407
      Change-Id: I3dbd47a89abc7de99132843ff6b899b2b809ab47
  3. 18 Feb, 2016 3 commits
    • Adrien Béraud's avatar
      account: prevent all codecs from being disabled · 6299a511
      Adrien Béraud authored
      All codecs being disabled prevents Ring from making any call.
      If all codecs are disabled for audio or video, re-enable all codecs
      of this kind.
      Tuleap: #394
      Change-Id: Ib65e0e878686b2580b312202482b9ddbce298590
    • Adrien Béraud's avatar
      codec: catch potential stoi exception · b1120dc1
      Adrien Béraud authored
      All codec parameters are sent as strings and then some are converted
      to numbers. The stoi conversion can throw an exception if a string
      which is not actually an integer is passed and this should be caught.
      The daemon should not crash from passing bad values via the dbus.
      Change-Id: Ia42da689e08d601e0c94ad6ad14654ba9dfa8668
      Tuleap: #215
    • Guillaume Roguez's avatar
      sipaccount: fix nullptr access · 33a0aa38
      Guillaume Roguez authored
      SipAccount::CheckNATAddress may use regc_ member
      when this one has been previsouly destroyed
      and set to nullptr.
      This patch checks regc_ value and take care to return correctly,
      to prevent call to pjsip_regc_update_contact with nullptr regc.
      Change-Id: I97590debd672095fed63ced40d3c541333b773f8
      Tuleap: #172
  4. 17 Feb, 2016 3 commits
    • Guillaume Roguez's avatar
      video_device: fix osx build · d702b297
      Guillaume Roguez authored
      add missing cmath include to build on osx
      Change-Id: If7e1e20e6aac4b920381407b4e9df72e6ed1b4fa
      Tuleap: #294
    • Adrien Béraud's avatar
      video_device: add default settings selection logic · bdd139c9
      Adrien Béraud authored
      * use default settings if no preference exists
      * logic requires unformated parameters (added related methods)
      * current logic: largest resolution <= 720P, framerate >= 10 FPS
      * support new pixel format
      * report pixel format to libav/ffmpeg for decoding
      Tuleap: #294
      Change-Id: Ia9b61814b49e7057ae4eb5fef9d0b814706cafff
    • Guillaume Roguez's avatar
      ringaccount: fix non-handled exception · 450390a0
      Guillaume Roguez authored
      RingAccount::handlePendingCall may throw exception and was not
      catched by the handlePendingCallList loop.
      This leds to non-handled pending calls (all after the failing one).
      This patch fixes that by catch all exception and drop bad guys.
      Change-Id: Ic62e115bf32b467e04a19f2ae077d8256a69d90e
      Tuleap: #106
  5. 16 Feb, 2016 4 commits
    • Guillaume Roguez's avatar
      sip: fix pjsip crash if transport send_msg fails · 0592f9d5
      Guillaume Roguez authored
      As PJSIP documentation said, pjsip_transport::send_msg must
      not call the user callback if PJ_EPENDING is not returned,
      like in case of immediate completion or when an error happens.
      Was not the case in re-factoring on SipsTransportIce class.
      This patch fixes this problem.
      Change-Id: I6b8ea8efb6aa61191914d7794f5484612095598a
      Tuleap: #106
    • Edric Milaret's avatar
      contrib: bump yaml-cpp · d056bd7d
      Edric Milaret authored
      - Use new version using C++11 shared_ptr rather
      than boost implementation
      - This remove the dependence to boost
      Tuleap: #381
      Change-Id: I64f0b58c75b9a573098a41f9f675067bb1e1f5ea
    • Guillaume Roguez's avatar
      security: fix wrong returned cipher suite id · 4d0e3376
      Guillaume Roguez authored
      TlsSession::getCurrentCipherSuiteId() has a minor security bug
      causing the wrong cs_id and cipher name returned.
      This patch fixes this issue by checking all cipher suite parameters:
      key_exchange, cipher_algo and mac_algo, not just chipher algo as before.
      Change-Id: If76c37d34a0efb6141c96d7942a6acb7fd54c2ac
      Tuleap: #106
    • Adrien Béraud's avatar
      security: use better PFS priority string · b9300629
      Adrien Béraud authored
      This patch changes the TLS priority string to remove RSA key-exchange
      algorithms from current cipher suites (based on SECURE192).
      This let DH key-exchange the only remaining algorithms.
      Notice that we use a minimal of 2048-bits DH params
      by using GNUTLS_SEC_PARAM_NORMAL settings
      in the gnutls_sec_param_to_pk_bits function.
      Using this priority makes audio and video calls forward secure,
      a significant security and privacy feature for Ring users.
      Tuleap: #383
      Change-Id: Iabf51bb52617354c34410d15ee96e0be90acee55
  6. 15 Feb, 2016 1 commit
    • Guillaume Roguez's avatar
      security: extract TLS session from SipsIceTransport · c8f451e4
      Guillaume Roguez authored
      TLS session (class handling gnutls session client/server) has
      to be extracted from SipsIceTransport class.
      This last is PJSIP transport related, but we need TLS session
      to securise other kind of network socket.
      This extract has moslty re-written all previous classes
      has the global working model has change.
      This also introduces:
      - flood protection in server SYN cookie state
      - better FSM model in TLS session
      - network statistics recording
      - simplify SipsIceTransport design
      - ICE fixes to not block in waitForData() if ICE is stopped
      - integrate Diffie-Hellman params generation from RingAccount
      Change-Id: I32cf1f0c82dee548912d9efdaca5a4447ab05ec7
      Tuleap: #106
  7. 10 Feb, 2016 1 commit
  8. 09 Feb, 2016 1 commit
    • Guillaume Roguez's avatar
      ringdht: handleEvents method re-write · 3d2aefda
      Guillaume Roguez authored
      This patch does a refactoring of RingAccount::handleEvents() method
      and various code cleanup.
      This patch prepares the work to integrate reliable data transfer.
      To add more kind of events to handles without decreasing
      the code lisibility, maintenability and global understanding,
      we change RingAccount::handleEvents() implementation.
      It's now a dispatcher to underlaying methods that do the business part
      This gives a clear indication of kind of events that we operates
      in RingAccount.
      RingAccount::handlePendingCall() has been added to handle the call
      related events. This also a re-implementation to remove redundancy code.
      Comments has been also added for explaining the process.
      And finally, code cleanup does CR conformance.
      Important: this re-write doesn't change the external behaviour of event
      handling, just simplify the structure and make it self-explained.
      Change-Id: Ib52acedf8517a56acae2827115e8ce3c16d2e557
      Tuleap: #104
  9. 08 Feb, 2016 1 commit
  10. 05 Feb, 2016 3 commits
    • Guillaume Roguez's avatar
      media: make recordable non audio dedicated · 8f8eb254
      Guillaume Roguez authored
      To add video recording this patch changes recordable and
      audio related class non-dependent.
      This moves AudioRecorder handling into AudioRecord class.
      Fixes also Audio recording start/stop that not working as waited:
      - first start was just creating the file
      - recording was started at second "toggle", confusing user.
      Change-Id: I07f69b76ad711d7fc4d64e57e78b5704d60b4861
      Tuleap: #337
    • Guillaume Roguez's avatar
      media: move-up recordable class · 4c71686e
      Guillaume Roguez authored
      Recordable must not be linked to audio only. We need it for
      any media types. So this patch moves it up from media/audio directory
      to media.
      Also unlink from audio headers by using smart pointers.
      Tuleap: #337
      Change-Id: Ia697280a9e482897bdf8c3dc7c3152a7133d1397
    • aviau's avatar
      Track build instructions inside repository + update links · 2c633511
      aviau authored
      Change-Id: I426ca1bf7f788bb640829128559c6cd844b4c62c
      Tuleap: #241
      Tuleap: #249
  11. 04 Feb, 2016 1 commit
  12. 03 Feb, 2016 3 commits
  13. 02 Feb, 2016 1 commit
    • Adrien Béraud's avatar
      audio: allow to mute ringtone device · cf5d18df
      Adrien Béraud authored
      On Android, if the device is in silent or ringtone mode,
      the ringtone device should be muted, while keeping the possibility
      to hear the peer during a call.
      Tuleap: #262
      Change-Id: Ie64da9cb3a940b4749bb163f169474ca237c4b37
  14. 29 Jan, 2016 2 commits
    • Ciro Santilli's avatar
      Gitignore doltcompile and doltlibtool · 25ea2a72
      Ciro Santilli authored
      Change-Id: If2da7162dbfa651f63ea1e047bab0a660da6f53f
      Tuleap: #300
    • Edric Milaret's avatar
      windows: fix race conditions in threadloop · fedf8759
      Edric Milaret authored
      - It seems like we sometimes call joinable() too
      soon, it return false and then it interrupt ffmpeg
      - It happens regurlarly when we don't launch the Windows
      Ring client without console
      - This will need further investigation to determine if it's
      a more profound issue or if it could theoretically affect
      other platforms (even if we never constated it yet)
      No bugs have been constated from not checking the joinable in
      isRunning after 35 calls
      Change-Id: I0968d9cfe401511c37231dc7defb4b3d74a77453
      Tuleap: #303
  15. 27 Jan, 2016 1 commit
    • Alexandre Lision's avatar
      transport: catch std::runtime_error · 927f3b9c
      Alexandre Lision authored
      When there is no internet connection, an error is thrown in IceTransport
      This destroys what has already been initialized including the thread.
      Change-Id: I81b6ec1f52b9312a1d6ea24c5f55dfa94da7e877
      Tuleap: #189
      Tuleap: #258
  16. 25 Jan, 2016 1 commit
  17. 22 Jan, 2016 4 commits
  18. 20 Jan, 2016 2 commits
    • Guillaume Roguez's avatar
      cleanup video_base API · 84f878d9
      Guillaume Roguez authored
      This patchset changes Observable::notify and Observer::update API
      to remove the reference data attribute. This was uneeded into our context,
      aka used with smart pointers.
      Also fix coding rules and missing override keywords to overloaded virtual
      Tuleap: #240
      Change-Id: I068b44cb526718d4cbae34b9d4d51871294bcf3e
    • Guillaume Roguez's avatar
      ring_account: force UTF8 validation for IncomingAccountMessage · ae1e063d
      Guillaume Roguez authored
      Invalid UTF-8 string cause D-BUS exception if given as string object.
      This patch fixes that by forcing validation of incoming IM from
      DHT. This validation strip-out invalid byte sequence.
      Change-Id: I1d599664d767df7a3796f5afd93afc61178baaae
      Tuleap: #239
  19. 19 Jan, 2016 1 commit
  20. 18 Jan, 2016 1 commit
    • Adrien Béraud's avatar
      ringdht: temporary opendht fix · bdc023a5
      Adrien Béraud authored
      * decrease default value preservation duration
      * attempt to reduce bandwidh usage for announce operations
      * fix UDP overflow bug
      * temporarly disable data persistence
      Tuleap: #62
      Change-Id: Ida2c1bd8f2c2dbd0c342bfa28f7ca51bbc5c498e