1. 15 Apr, 2014 4 commits
    • Philip Withnall's avatar
      agent: Fix GSource dispatches for UDP NiceOutputStreams · 479c2ee3
      Philip Withnall authored
      The GSource created by g_pollable_output_stream_create_source() on a
      NiceOutputStream would never have been dispatched, due to not having any
      poll events (or anything else); it only works for TCP streams because of
      a GCancellable child source which is triggered by the TCP code.
      Fix that by making ComponentSource suitable for G_IO_IN and G_IO_OUT
      again, and adding that as a child source for UDP output stream GSources.
    • Philip Withnall's avatar
    • Philip Withnall's avatar
      agent: Limit printed length of uname and password in debug output · 23cd6e7a
      Philip Withnall authored
      At this point in the code, neither the username nor password are
      nul-terminated, so printing them in the debug output as nul-terminated
      strings can easily result in rubbish being printed after them.
      Fix this by specifying the string length in the printf() format string.
      Finally my terminal will no longer ask me to install N’Ko fonts when
      running the libnice tests.
    • Philip Withnall's avatar
      agent: Fix a leak in nice_output_stream_write() with a NULL cancellable · a5b8578d
      Philip Withnall authored
      If @cancellable is NULL in a call to nice_output_stream_write(), the
      WriteData struct is created with a reference count of 4, but only two
      operations are scheduled which will result in its reference count being
      decremented. The third operation is only scheduled if @cancellable is
      non-NULL (and the final reference is dropped unconditionally at the end
      of the function).
      Fix this by properly implementing reference counting for WriteData,
      rather than hard-coding the expected number of references in a fragile
      and unmaintainable way.
  2. 09 Apr, 2014 6 commits
  3. 31 Mar, 2014 20 commits
  4. 07 Mar, 2014 5 commits
  5. 06 Mar, 2014 4 commits
  6. 04 Mar, 2014 1 commit
    • Philip Withnall's avatar
      agent: Fix a potential re-entrancy situation · e62d47d6
      Philip Withnall authored
      If we emit signals from component_io_cb() in the middle of a read, it’s
      possible that one of those signals will be picked up by the client to
      perform another read. A likely candidate (and what was triggering the
      re-entrancy here) would be component-state-changed. Since signals are
      emitted synchronously, the second read would being inside the first, and
      trigger the anti-re-entrancy assertion.