Skip to content
Snippets Groups Projects
  1. Aug 06, 2019
  2. Aug 01, 2019
  3. Jul 31, 2019
  4. Jul 30, 2019
  5. Jul 29, 2019
    • Sean Bright's avatar
      manager: Send fewer packets · 5f66fb51
      Sean Bright authored
      The functions that build manager message headers do so in a way that
      results in a single messages being split across multiple packets. While
      this doesn't matter to the remote end, it makes network captures noisier
      and harder to follow, and also means additional system calls.
      
      With this patch, we build up more of the message content into the TLS
      buffer before flushing to the network. This change is completely
      internal to the manager code and does not affect any of the existing
      API's consumers.
      
      Change-Id: I50128b0769060ca5272dbbb5e60242d131eaddf9
      5f66fb51
    • Asterisk Development Team's avatar
    • George Joseph's avatar
      Update master for Asterisk 18 · 8d10028b
      George Joseph authored
      Change-Id: I8b8ed97001446fab0c14d7c89391ee572fb29dd6
      8d10028b
    • Sean Bright's avatar
      res_musiconhold: Use ast_pipe_nonblock() wrapper · 7ce9ee7f
      Sean Bright authored
      Change-Id: Ib0a4b41e5ececbe633079e2d8c2b66c031d2d1f2
      7ce9ee7f
    • George Joseph's avatar
      loader.c: Fix possible SEGV when a module fails to register · 8e44d823
      George Joseph authored
      When a module fails to register itself (usually a coding error
      in the module), dlerror() can return NULL.  We weren't checking
      for that in load_dlopen() before trying to strdup the error message
      so a SEGV was thrown.  dlerror() is now surrounded with an S_OR
      so we don't SEGV.
      
      Change-Id: Ie0fb9316f08a321434f3f85aecf3c7d2ede8b956
      8e44d823
  6. Jul 26, 2019
  7. Jul 24, 2019
  8. Jul 23, 2019
  9. Jul 22, 2019
  10. Jul 19, 2019
  11. Jul 18, 2019
    • Walter Doekes's avatar
      sched: Don't allow ast_sched_del to deadlock ast_sched_runq from same thread · 3c6f1199
      Walter Doekes authored
      When fixing ASTERISK~24212, a change was done so a scheduled callback could not
      be removed while it was running. The caller of ast_sched_del would have to wait.
      
      However, when the caller of ast_sched_del is the callback itself (however wrong
      this might be), this new check would cause a deadlock: it would wait forever
      for itself.
      
      This changeset introduces an additional check: if ast_sched_del is called
      by the callback itself, it is immediately rejected (along with an ERROR log and
      a backtrace). Additionally, the AST_SCHED_DEL_UNREF macro is adjusted so the
      after-ast_sched_del-refcall function is only run if ast_sched_del returned
      success.
      
      This should fix the following spurious race condition found in chan_sip:
      - thread 1: schedule sip_poke_peer_now (using AST_SCHED_REPLACE)
      - thread 2: run sip_poke_peer_now
      - thread 2: blank out sched-ID (too soon!)
      - thread 1: set sched-ID (too late!)
      - thread 2: try to delete the currently running sched-ID
      
      After this fix, an ERROR would be logged, but no deadlocks (in do_monitor) nor
      excess calls to sip_unref_peer(peer) (causing double frees of rtp_instances and
      other madness) should occur.
      
      (Thanks Richard Mudgett for reviewing/improving this "scary" change.)
      
      Note that this change does not fix the observed race condition: unlocked
      access to peer->pokeexpire (and potentially other scheduled items in chan_sip),
      causing AST_SCHED_DEL_UNREF to look at a changing id. But it will make the
      deadlock go away. And in the observed case, it will not have adverse affects
      (like memory leaks) because the scheduled item is removed through a different
      path.
      
      ASTERISK-28282
      
      Change-Id: Ic26777fa0732725e6ca7010df17af77a012aa856
      3c6f1199
  12. Jul 16, 2019
    • George Joseph's avatar
      Build: Separate header install/uninstall · c781806e
      George Joseph authored
      Asterisk headers are no longer installed and uninstalled
      automatically when performing a "make install" or a
      "make uninstall".  To install/uninstall the headers, use
      "make install-headers" and "make uninstall-headers".
      The headers also continue to be uninstalled when performing a
      "make uninstall-all".
      
      Also corrects an issue where /usr/include/asterisk.h was never
      being removed at all.
      
      Change-Id: Ia7399f3a0203a4825fc4a9f43b9034dae9a2b643
      c781806e
Loading