1. 11 Jan, 2017 1 commit
  2. 10 Jan, 2017 2 commits
    • Adrien Béraud's avatar
      ringaccount: support device revocation · 6c66cf68
      Adrien Béraud authored
      Add support for Ring device revocation.
      Each device manages a local revocation list, synced with
      other devices linked with the account.
      When a device is revoked, its certificate is added to the
      local certificate revocation list (standard x509 CRL).
      CRL support from the trust store and OpenDHT is used.
      
      Tuleap: #1457
      Change-Id: I227e21afb3234e70ad562a5a4d0cf1084d61f174
      6c66cf68
    • Adrien Béraud's avatar
      trustrequests: adapt for multi-device · 84510ece
      Adrien Béraud authored
      Change-Id: I1ab520134eb09f6801e820b5ec87967b14056027
      84510ece
  3. 05 Jan, 2017 3 commits
    • Adrien Béraud's avatar
      ringaccount: factor peer authorization check · 7a0310b7
      Adrien Béraud authored
      Previous implementation was duplicating authorization
      checks between incoming call and message.
      Add two methods to factorize the checks:
      * foundPeerDevice will check the validity of the peer certificate chain
      * onPeerMessage will check the validity of the peer certificate chain,
        perform authorization checks using the account trust store (async),
        and call the provided callback if the peer is authorized.
      
      Change-Id: I80833a73c6842c9e84677fcaaef2a543745e005b
      7a0310b7
    • Guillaume Roguez's avatar
      update copyright date to 2017 · a5ded29b
      Guillaume Roguez authored
      Change-Id: I6dbc51dd41c1f44d1446fe7365026af037bc86d9
      Reviewed-by: default avatarStepan Salenikovich <stepan.salenikovich@savoirfairelinux.com>
      a5ded29b
    • Adrien Béraud's avatar
      ringaccount: update account certificate through account migration · 73f208d1
      Adrien Béraud authored
      Multi-device account migration used a certificate without the CA flag
      to sign the device certificate, preventing to properly validate the
      device certificate chain.
      Fix this by reusing the existing account migration API to ask for the
      account password when the case is detected, placing the account in the
      ERROR_NEED_MIGRATION state.
      ERROR_NEED_MIGRATION could also be used for future account migrations,
      when the password is needed to unlock the archive.
      
      Bump OpenDHT to check the certificate expiration date.
      
      Tuleap: #1434
      Change-Id: I5527cf5bd31310d969819570cd984e622029fa71
      73f208d1
  4. 04 Jan, 2017 1 commit
    • Simon Désaulniers's avatar
      ringaccount: introduce buddy presence on DHT · 55e892f1
      Simon Désaulniers authored
      This functionality of RingAccount exposes methods to "track" a buddy with it's
      ringid. The RingAccount keeps a map of BuddyInfo for all buddies to track. The
      BuddyInfo struct contains the last time the device has been seen online.
      RingAccount exposes the following methods:
      
      * ::trackBuddyPresence which will look for a buddy's DeviceAnnouncement on the
        DHT to deduce the buddy's presence. This will be done each 10 minutes
        (DeviceAnnouncement expiration time).
      * ::getTrackedBuddyPresence which returns the relevant content from the map of
        BuddyInfo, i.e. if each of the buddy is online or not.
      
      Change-Id: Ib149585c4835da88b0b0248b4a866770d35afe90
      55e892f1
  5. 26 Dec, 2016 1 commit
    • atraczyk's avatar
      build: fix template specialization error on Windows native build · 56cd32d8
      atraczyk authored
      - prevents error C2910 which disallows explicit specialization of
        a member function outside the class if the function has already
        been explicitly specialized via a template class specialization.
      
      Tuleap: #790
      
      Change-Id: Idde2413707abf0ef65a3445ea1d577c0394c7121
      56cd32d8
  6. 06 Dec, 2016 2 commits
    • Adrien Béraud's avatar
      Revert "ringaccount: factor peer authorization check" · 8afce906
      Adrien Béraud authored
      This reverts commit 60222051.
      
      Causes issues with peer verification
      
      Change-Id: Ib7d7d46b1a42ed952ec887b11f9e19b626274bd0
      8afce906
    • Adrien Béraud's avatar
      ringaccount: factor peer authorization check · 60222051
      Adrien Béraud authored
      Previous implementation was duplicating authorization
      checks between incoming call and message.
      Add two methods to factorize the checks:
      * foundPeerDevice will check the validity of the peer certificate chain
      * onPeerMessage will check the validity of the peer certificate chain,
        perform authorization checks using the account trust store (async),
        and call the provided callback if the peer is authorized.
      
      Change-Id: I237d3ccae4c6adba232564a05106ff77dc9cd9d8
      60222051
  7. 01 Dec, 2016 1 commit
  8. 30 Nov, 2016 2 commits
  9. 29 Nov, 2016 3 commits
  10. 13 Nov, 2016 1 commit
  11. 02 Nov, 2016 1 commit
  12. 29 Oct, 2016 1 commit
  13. 27 Oct, 2016 2 commits
  14. 20 Oct, 2016 1 commit
    • Guillaume Roguez's avatar
      ringaccount: fix ICE init for incoming call · e9996361
      Guillaume Roguez authored
      ICE transport was a blocking method before
      the commit 0bc5829b.
      Since not and this led to an error during incoming
      ICE msg reception, when the ice start method is called
      as the ice transport is not initalized yet.
      
      This patch implements this wait using asynchronous methods
      as the outgoing call implementation does.
      
      Change-Id: Idc69cefcf67eb1c902a197ea689fae2fc6b6c8d0
      Tuleap: #1047
      e9996361
  15. 12 Oct, 2016 2 commits
    • Adrien Béraud's avatar
      multi-device: add getKnownRingDevices · 4b3ca5c7
      Adrien Béraud authored
      * adds mechanism to find other devices with a Ring account
      * adds API to list those devices
      
      Change-Id: Idde0aa5524be58290c345a530df1b0aba2252279
      Tuleap: #938
      4b3ca5c7
    • Adrien Béraud's avatar
      multi-device: initial implementation · 1dccd81b
      Adrien Béraud authored
      * generate device certificate
      * generate encrypted archive including:
       - Account certificate
       - Generated Ethereum key
      * adds "signed receipt" to the account configuration
      * adds mechanism to export/import account over the DHT
      
      Change-Id: Iac77f990b094c3405785fb0df41bc8a993995a26
      Tuleap: #938
      1dccd81b
  16. 05 Oct, 2016 1 commit
    • Guillaume Roguez's avatar
      account: delete filesystem traces of an account · 8619027f
      Guillaume Roguez authored
      This patch adds a new virtual API to Account, flush(),
      that does nothing by default. Concrete classes may overload it
      when it's needed to remove filesystem entries created by them.
      
      Then this patch adds also overloads of this method in SIPAccountBase and
      RingAccount to delete all files added by these account classes.
      
      Finaly, the removeAccount() external API calls flush by default, but
      internal calls do not, to keep a conservative behaviour
      and not destroying account files due to yml parsing errors.
      
      Change-Id: I52c4e225f4d41f0e3d74f63838e56a769011b58e
      Tuleap: #988
      8619027f
  17. 18 Aug, 2016 1 commit
    • Guillaume Roguez's avatar
      ringdht: fix big parameter passed by value · a294e484
      Guillaume Roguez authored
      Fix definition of RingAccount::createIceTransport
      to pass by reference and not by value as ICE option
      structure is not small (more than 200 bytes).
      
      coverity CID #1369566
      
      Change-Id: I41f17a266384e28e1cab9a17e17c8436f07a22d4
      Tuleap: #909
      a294e484
  18. 17 Aug, 2016 1 commit
    • Guillaume Roguez's avatar
      RingAccount: fix uninitialized class members · 99cd560e
      Guillaume Roguez authored
      Set true as default value to members:
      allowPeersFromHistory_
      allowPeersFromContact_
      allowPeersFromTrusted_
      
      Coverity CID # 1369576
      
      Change-Id: I38499608ee35692e96c511f08d261eea8ad9b72b
      Tuleap: #909
      99cd560e
  19. 11 Aug, 2016 1 commit
  20. 22 Jul, 2016 1 commit
    • Stepan Salenikovich's avatar
      add connectivityChanged API · 20f40205
      Stepan Salenikovich authored
      This allows the clients to notify the daemon when the conenctivity
      (ie: network status) has changed. The daemon will then try to detect
      the new IGD (UPnP) and re-connect all enabled accounts.
      
      Change-Id: I5c8fc57f75e48d86eda5d195b0586c61a26134ad
      Tuleap: #841
      20f40205
  21. 30 May, 2016 1 commit
    • Adrien Béraud's avatar
      contrib: bump opendht · f86f2a17
      Adrien Béraud authored
      * bump OpenDHT to 0.6.1
      * adapt to new APIs
      * bump msgpack dependency
      
      Tuleap: #709
      Change-Id: I32bf62d085dc51ea49ee3594529e5d11cda0b4ce
      f86f2a17
  22. 13 Apr, 2016 1 commit
  23. 16 Mar, 2016 1 commit
    • Adrien Béraud's avatar
      crypto: save dh params · fbdc7b24
      Adrien Béraud authored
      Diffie-Hellman parameters can take a few seconds to compute,
      during this time a CPU core will be fully used. This leads
      to high power consumption on startup, which can be problematic
      for mobile devices.
      
      This patch introduces saving DH params to the persistent cache
      to avoid regenerating them too often.
      The file modification time is used to know the age of the
      parameters. DH params can be reused for up to 3 days.
      
      * Intoduce writeTime to know a file modification time
      * Introduce to_wstring to convert filenames to the Windows format
      * Introduce a DhParams structure to handle serialization
      
      Tuleap: #452
      Change-Id: Iaea9cf24d922fc6cfc542f8fa7b0c208ebc141d2
      fbdc7b24
  24. 09 Mar, 2016 1 commit
  25. 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
      c8f451e4
  26. 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
      3d2aefda
  27. 04 Dec, 2015 1 commit
    • Guillaume Roguez's avatar
      im: normalize call/account instant-messaging API's · 27565853
      Guillaume Roguez authored
      WARNING: API changes
      
      This patch makes code common for IM send/receive message API's
      between call and account classes.
      
      Multi-part messages is supported for :
      - SIPAccount
      - SIPCall (any SIP like account)
      
      RingAccount supports only Single-part messages yet.
      
      Change-Id: Ic65425cd95f02f89f03dd6ea2a9c4a10bb233859
      Tuleap: #157
      27565853
  28. 03 Nov, 2015 1 commit
  29. 27 Oct, 2015 1 commit
  30. 24 Oct, 2015 1 commit
  31. 14 Oct, 2015 1 commit