1. 06 May, 2020 1 commit
  2. 13 Feb, 2020 1 commit
  3. 05 Jun, 2019 2 commits
  4. 22 Jan, 2019 1 commit
  5. 04 Jan, 2019 2 commits
  6. 19 Nov, 2018 1 commit
  7. 31 Oct, 2018 3 commits
    • Jakub Adam's avatar
      udp-turn: handle multiple RFC4571 frames received in a TCP-TURN message · d79d1179
      Jakub Adam authored
      There might be multiple RFC4571-framed messages (or fragments thereof)
      within a single TCP-TURN message. Make sure each NiceInputMessage
      passed by the user into socket_recv_messages() gets exactly one RFC4571
      frame, or remains empty if there aren't any messages to receive.
      
      We should keep any data that doesn't fit into the user buffers for
      the next time socket_recv_messages() gets called with the socket.
      d79d1179
    • Jakub Adam's avatar
      udp-turn: don't re-iterate incoming TURN control messages · 5aa49920
      Jakub Adam authored
      After being parsed, a TURN control message turns into a NiceInputMessage
      with zero length. Such message doesn't increment the iteration counter i
      and so is re-processed in the next iteration, which detects right away
      that message->length == 0 and continues to the next element in
      recv_messages.
      
      Thus, n_valid_messages variable serves no real purpose and to achieve
      the same result we can simply increment the iteration counter after each
      message.
      5aa49920
    • Olivier Crête's avatar
      67771ba2
  8. 28 Oct, 2018 5 commits
  9. 12 Jun, 2018 1 commit
  10. 04 Apr, 2017 2 commits
  11. 03 Apr, 2017 1 commit
  12. 02 Jun, 2016 1 commit
  13. 30 May, 2016 1 commit
  14. 26 May, 2016 3 commits
  15. 04 Apr, 2016 1 commit
  16. 01 Mar, 2016 1 commit
  17. 11 Sep, 2015 1 commit
  18. 02 Sep, 2015 1 commit
    • Jakub Adam's avatar
      ms-turn: don't wait for a reply to STUN_SEND request · ab4ced5a
      Jakub Adam authored
      As per [MS-TURN] Section 2.2.1, TURN message type 0x0104 "Send request
      response" isn't supported and the TURN server MUST NOT send them. Thus,
      libnice should not remember Send requests in agent->sent_ids because
      without replies coming, the number of allowed pending transaction gets
      quickly exhausted, causing our data packets to be dropped until a
      request timeout frees some space in the queue.
      
      This behavior resulted in choppy reception of our audio on a Lync client
      when connected via Lync Edge (TURN) Server.
      
      Maniphest Tasks: T126
      
      Reviewers: pwithnall
      
      Projects: #libnice
      
      Reviewed By: pwithnall
      
      Subscribers: pwithnall
      
      Differential Revision: https://phabricator.freedesktop.org/D223
      ab4ced5a
  19. 24 Jun, 2015 1 commit
  20. 09 Oct, 2014 1 commit
  21. 23 Sep, 2014 1 commit
  22. 02 Sep, 2014 1 commit
    • Philip Withnall's avatar
      socket: Return early from socket functions if the socket is closed · b80bc3a1
      Philip Withnall authored
      Explicitly check whether the socket is closed (universally represented
      as sock->priv == NULL) before doing anything else in the socket methods.
      This should safely return from unusual situations where the socket has
      been closed and part-destroyed but still ends up having send() or recv()
      called on it.
      b80bc3a1
  23. 23 Jul, 2014 1 commit
    • Youness Alaoui's avatar
      Fix timer for TURN CreatePermission. · 5ab7c883
      Youness Alaoui authored
      The TURN CreatePermission is a list of multiple permissions but the timer
      is created and overwrites the old one, so some of them don't get triggered
      at the right time.
      This patch was suggested by Livio Madaro. We create a timer for the minimal
      amount of time, and trigger the retransmissions on the permissions that
      timed out, then reschedule for the next retransmissions.
      5ab7c883
  24. 17 May, 2014 3 commits
  25. 15 May, 2014 3 commits
    • Youness Alaoui's avatar
      Rename turn files and API to be UDP specific · 6263028e
      Youness Alaoui authored
      The TURN-TCP RFC is very different from TURN-UDP, the current turn and tcp-turn
      files were only for UDP TURN RFC and UDP TURN using TCP transport.
      When we implement TCP-TURN, we'll need a different algorithm, so I
      renamed the files and API to avoid any confusion.
      6263028e
    • Youness Alaoui's avatar
      Add a nice_socket_send_reliable API for internal use. · 535701b0
      Youness Alaoui authored
      One issue with tcp-bsd is that it will queue messages when the tcp socket
      is not writable, but it will also drop messages when the queue is full.
      If we want to do proper reliable ice-tcp, we need to make sure that
      messages don't get dropped, also, this would affect http/socks5/pseudossl
      if their messages get dropped. For ice-tcp, when the socket is not writable
      we want to return 0, not queue the message.
      The change here is to allow connchecks and other important protocol messages
      to be sent as 'reliable' on tcp transports by queuing them and in the various
      socket layers and to never drop them, but all user messages will be dropped.
      
      if the tcp socket is not writable.
      535701b0
    • Youness Alaoui's avatar