1. 14 Jan, 2019 1 commit
  2. 27 Dec, 2018 1 commit
  3. 21 Oct, 2018 1 commit
    • Michael Olbrich's avatar
      stun: check identifier before using it · b257672b
      Michael Olbrich authored
      By default, 'candidate_identifier == NULL' only happens for 'compatibility
      == NICE_COMPATIBILITY_GOOGLE'. However, keepalive=true will also trigger
      the same code path so candidate_identifier must be checked to avoid a
      segfault.
      b257672b
  4. 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
  5. 12 Sep, 2017 1 commit
  6. 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
  7. 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
  8. 04 Apr, 2017 1 commit
  9. 03 Apr, 2017 1 commit
  10. 26 Oct, 2016 2 commits
    • 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
  11. 06 Jun, 2016 2 commits
  12. 27 May, 2016 1 commit
    • Fabrice Bellet's avatar
      stun: fix ice role conflict handling · acdc0b8b
      Fabrice Bellet authored
      This patch fixes the role conflict handling in stun ICE usage,
      according to RFC 5245, by adding including missing cases in the
      test. The role switch not only depends of the comparison of the
      stun ice-controlling/controlled attrib with the agent tie breaker
      value, but it also depends on the current role of the agent.
      
      This patch also changes the value returned by
      stun_usage_ice_conncheck_create_reply() when a role conflict exists
      but doesn't change the role of the agent, causing an error stun
      response. Previously, this case could not be differenciated by the
      caller from a case with no role conflict. Now by examinating the
      return value, and whether the control param changed, the caller
      can check the four possibles situations. The stun test suite is
      updated to match this change.
      
      Differential Revision: https://phabricator.freedesktop.org/D873
      acdc0b8b
  13. 26 May, 2016 1 commit
  14. 05 Mar, 2016 1 commit
  15. 02 Jan, 2015 1 commit
  16. 23 Jul, 2014 1 commit
  17. 15 May, 2014 1 commit
  18. 02 May, 2014 1 commit
  19. 16 Apr, 2014 1 commit
  20. 31 Mar, 2014 1 commit
  21. 31 Jan, 2014 1 commit
    • Philip Withnall's avatar
      stun: Add missing switch cases · 3a4cd47b
      Philip Withnall authored
      This appeases GCC’s -Wswitch-enum warning, and makes it more obvious
      that those enum cases have been explicitly considered, rather than just
      forgotten about.
      
      This introduces no functional changes.
      3a4cd47b
  22. 18 Dec, 2013 3 commits
  23. 24 Feb, 2012 1 commit
  24. 17 Feb, 2012 1 commit
  25. 30 Nov, 2011 1 commit
  26. 30 Aug, 2011 1 commit
  27. 24 Mar, 2011 2 commits
  28. 10 Feb, 2011 1 commit
  29. 28 Jan, 2011 1 commit
  30. 18 Jan, 2011 1 commit
  31. 17 Dec, 2010 2 commits
  32. 15 Dec, 2010 3 commits