1. 23 Jan, 2019 1 commit
  2. 22 Jan, 2019 1 commit
  3. 14 Jan, 2019 1 commit
  4. 02 Jan, 2019 1 commit
  5. 27 Dec, 2018 2 commits
  6. 14 Dec, 2018 4 commits
  7. 21 Oct, 2018 2 commits
  8. 18 Jun, 2018 1 commit
  9. 06 Jun, 2018 1 commit
  10. 04 May, 2018 2 commits
  11. 28 Nov, 2017 1 commit
    • Youness Alaoui's avatar
      turn: Add support for ALTERNATE_SERVER in OC2007 Compatibility · 59fcf95d
      Youness Alaoui authored
      The MS Office TURN servers will always return the MS_ALTERNATE_SERVER in
      allocation responses, and if they are not handled, we end up using the
      main turn server to send allocation requests that then get sent to the
      alternate server which will return the XOR_MAPPED_ADDRESS containing
      the IP address of the turn server that proxied the message instead of
      our own actual external IP.
      59fcf95d
  12. 12 Sep, 2017 1 commit
  13. 21 Jun, 2017 1 commit
  14. 12 Jun, 2017 1 commit
    • Fabrice Bellet's avatar
      stun timer: make properties for stun timer tunables · 8bb210c5
      Fabrice Bellet authored
      Three STUN binding request properties should be customisable. RFC 5245
      describes the retransmission timer of the STUN transaction 'RTO', and
      RFC 5389 describes the number of retransmissions to send until a
      response is received 'Rc'. The third property is the 'RTO' when
      a reliable connection is used.
      
      RFC 5389 introduces a supplementary property 'Rm' as a multiplier used
      to compute the final timeout RTO * Rm. However, this property is not
      added in libnice, because this would require breaking the public API for
      STUN. Currently, our STUN implementation hardcodes a division by two for
      this final timeout.
      
      Differential Revision: https://phabricator.freedesktop.org/D1109
      8bb210c5
  15. 12 Apr, 2017 1 commit
    • Fabrice Bellet's avatar
      stun timer: fix timeout of the last retransmission · f6f704c5
      Fabrice Bellet authored
      According to RFC 5389, section 7.2.1, a special timeout is applied to
      the last retransmission (Rm * RTO), with Rm default value of 16, instead
      of (64 * RTO), 2^6 when the number of transmissions Rc is set to 7.
      
      As spotted by Olivier Crete, stun_timer_* is a public API, that cannot
      be changed, and the initial delay (RTO) is not preserved in the
      stun_timer_s struct. So we use a hack that implicitely guess Rm from the
      number of transmissions Rc, by generalizing the default value of the
      spec for Rm and Rc to other values of Rc passed in stun_timer_start(
      
      According to the spec, with the default value of Rc=7, the last delay
      should be (64 * RTO), and it is instead (16 * RTO). So the last delay
      can be computed by dividing the penultimate delay by two, instead of
      multiplying it by two.
      
      Differential Revision: https://phabricator.freedesktop.org/D1108
      f6f704c5
  16. 04 Apr, 2017 1 commit
  17. 03 Apr, 2017 5 commits
  18. 31 Mar, 2017 5 commits
  19. 28 Mar, 2017 1 commit
  20. 26 Oct, 2016 5 commits
    • Jakub Adam's avatar
      ms-ice: limit legacy connchecks as per [MS-ICE2] 3.1.4.8.2 · 2803a0b4
      Jakub Adam authored
      Client should stop sending connectivity checks with legacy FINGERPRINT
      when it receives a conncheck message containing IMPLEMENTATION-VERSION
      attribute.
      
      Differential Revision: https://phabricator.freedesktop.org/D1139
      2803a0b4
    • Jakub Adam's avatar
      ms-ice: legacy FINGERPRINT mode · 7e5ab23c
      Jakub Adam authored
      In order to preserve compatibility with clients which use custom CRC
      lookup table from [MS-ICE2], whenever a connectivity check request or
      reply is sent, an additional message is sent along. These two messages
      differ only in FINGERPRINT attribute - one uses regular CRC lookup table
      for calculation, the other uses the modified table.
      
      When a message is received and FINGERPRINT doesn't pass validation using
      regular CRC table, the receiver also tries to verify using the modified
      table.
      
      [MS-ICE2] 3.1.4.8.2 describes this procedure.
      
      The commit fixes compatibility with older MSOC and Lync clients.
      
      Differential Revision: https://phabricator.freedesktop.org/D1138
      7e5ab23c
    • Jakub Adam's avatar
      stun: add STUN_COMPATIBILITY_MSICE2 · dab34160
      Jakub Adam authored
      Windows Live Messenger is a discontinued service. We can repurpose
      STUN_COMPATIBILITY_WLM2009 as [MS-ICE2] compatibility.
      
      The orignial WLM enumerator is kept for the sake of API compatibility.
      
      Differential Revision: https://phabricator.freedesktop.org/D1137
      dab34160
    • Jakub Adam's avatar
      ms-ice: calculate FINGERPRINT according to [MS-ICE2] · b3910a9c
      Jakub Adam authored
      Connectivity checks that are fully conforming to [MS-ICE2] should
      contain IMPLEMENTATION-VERSION attribute ([MS-ICE2] 2.2.2.2) equal to 2
      and their FINGERPRINT should be calculated as described in RFC5389
      section 15.5 (i.e. using standard CRC lookup table).
      
      We need this because some Skype for Business clients no longer accept
      messages whose FINGERPRINT contains a value calculated using Microsoft's
      old custom CRC table (specified verbatim in [MS-ICE2] 3.1.4.8.2).
      
      The change creates a compatibility breakage with legacy Lync clients
      which will be fixed in following commits.
      
      Differential Revision: https://phabricator.freedesktop.org/D1136
      b3910a9c
    • Jakub Adam's avatar
      stun: add STUN_USAGE_ICE_COMPATIBILITY_MSICE2 · 71dc0022
      Jakub Adam authored
      Windows Live Messenger is a discontinued service. The only users of WLM
      mode seem to be Lync clients, so STUN_USAGE_ICE_COMPATIBILITY_WLM2009
      can be repurposed as [MS-ICE2] compatibility.
      
      We keep the WLM enumerator for the sake of API compatibility.
      
      Differential Revision: https://phabricator.freedesktop.org/D1135
      71dc0022
  21. 20 Jun, 2016 1 commit
  22. 06 Jun, 2016 1 commit