1. 18 Dec, 2018 1 commit
    • Jakub Adam's avatar
      udp-bsd: Fix recv with small buffer on Windows · 83c5d0fc
      Jakub Adam authored
      The underlying GSocket implementation on Windows returns an error when
      the user-provided buffer isn't large enough to fit the whole datagram
      received on a message-oriented socket.
      
      When this occurs, in order to preserve identical behavior of udp-bsd
      NiceSocket across platforms, we have to mute the error and set the
      received message length to the size of the provided NiceInputMessage.
      Any excess portion of the message gets discarded.
      
      Fixed udp-bsd test on Windows.
      
      GLib 2.48 is required in order to use G_IO_ERROR_MESSAGE_TOO_LARGE.
      83c5d0fc
  2. 14 Dec, 2018 2 commits
  3. 21 Nov, 2018 1 commit
  4. 20 Nov, 2018 1 commit
    • Jakub Adam's avatar
      tcp-bsd: Restore global locks · a05e9dcf
      Jakub Adam authored
      Avoids race between socket_send_more() and socket_close() leading either
      to crash on use of freed NiceSocket, or abort upon attempting to
      g_mutex_clear() a locked mutex.
      
      Akin to what d1611c0c did to udp-turn.
      a05e9dcf
  5. 19 Nov, 2018 1 commit
  6. 16 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. 18 Jun, 2018 1 commit
    • Nicolas Dufresne's avatar
      Fix queue_clear replaced by queue_free error · 3770519e
      Nicolas Dufresne authored
      There was two cases where instead of freeing the queue, we actually
      clear the queue so it's ready for reused. Notably in
      nice_socket_free_send_queue(), a missed name function and nicesrc
      element state change.
      
      This regression was introduced by: fa783b1dd727a6ee2b99a111ca24790ae850c2f7
      3770519e
  10. 12 Jun, 2018 1 commit
    • Nicolas Dufresne's avatar
      Fix cast-function-type warning introduced in GCC 8 · 23b59268
      Nicolas Dufresne authored
      This is new warning introduced with GCC 8. This is being fixed by using appropriate function, like g_queue_free_full/g_list_free_full or by casting to GCallback before casting to the target function signature.
      
      Closes: #46
      23b59268
  11. 04 Apr, 2017 2 commits
  12. 03 Apr, 2017 3 commits
  13. 02 Jun, 2016 1 commit
  14. 30 May, 2016 1 commit
  15. 26 May, 2016 3 commits
  16. 04 Apr, 2016 2 commits
  17. 01 Mar, 2016 1 commit
  18. 11 Sep, 2015 1 commit
  19. 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
  20. 29 Aug, 2015 1 commit
  21. 18 Aug, 2015 2 commits
  22. 24 Jun, 2015 1 commit
  23. 09 Oct, 2014 1 commit
  24. 23 Sep, 2014 1 commit
  25. 02 Sep, 2014 2 commits