1. 21 Dec, 2018 3 commits
    • Jakub Adam's avatar
      meson: Fix pkg-config generation with internal dependencies · ff75be1b
      Jakub Adam authored
      Prevents Meson error:
      
      ERROR:  requires argument not a string, library with pkgconfig-generated
      file or pkgconfig-dependency object, got <InternalDependency null: True>
      
      Requires Meson 0.49.
      ff75be1b
    • Jakub Adam's avatar
      meson: Fix build with fallback glib · 17272759
      Jakub Adam authored
      When building libnice with glib fallback, its 'libgio_dep' internal
      dependency doesn't provide all needed include and library search paths.
      
      To avoid unresolved header files and linker errors in such case,
      'libglib_dep', 'libmodule_dep' and 'libgobject_dep' from glib submodule
      must be pulled in as well.
      
      The problem should be fixed in GLib 2.60.
      17272759
    • Jakub Adam's avatar
      agent: Fix use of freed stream in nice_agent_dispose() · 9864f36b
      Jakub Adam authored
      nice_stream_close() calls agent_find_stream(), which iterates over
      agent->streams list.
      
      Therefore, when we're freeing agent->streams in a loop, we must also
      delete the respective GSList item from the list at the end of each
      iteration. Otherwise agent_find_stream() would stumble over already
      deleted NiceStream instance the next time it gets called.
      
      Fixes random crashes when running test-different-number-streams on
      Windows.
      9864f36b
  2. 18 Dec, 2018 6 commits
  3. 14 Dec, 2018 16 commits
  4. 21 Nov, 2018 1 commit
  5. 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
  6. 19 Nov, 2018 1 commit
  7. 16 Nov, 2018 1 commit
  8. 31 Oct, 2018 4 commits
    • Jakub Adam's avatar
      agent: check message length before extracting RFC4571 frame size · 5496500b
      Jakub Adam authored
      nice_socket_recv_messages() may return a NiceInputMessage of length = 0,
      so before attempting to read the RFC4571 header check the message really
      has at least sizeof (guint16) bytes of data.
      
      The bug's always been there, the previous commit only made it more
      apparent.
      5496500b
    • 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
  9. 28 Oct, 2018 7 commits