Skip to content
Snippets Groups Projects
  1. Jul 02, 2015
  2. Jul 01, 2015
    • Scott Griepentrog's avatar
      Channel alert pipe: improve diagnostic error return · 8874d5fc
      Scott Griepentrog authored
      When a frame is queued on a channel, any failure in
      ast_channel_alert_write is logged along with errno.
      
      This change improves the diagnostic message through
      aligning the errno value with actual failure cases.
      
      ASTERISK-25224
      Reported by: Andrey Biglari
      
      Change-Id: I1bf7b3337ad392789a9f02c650589cd065d20b5b
      8874d5fc
  3. Jun 28, 2015
    • Matt Jordan's avatar
      Makefile: Remove coverage files on 'make clean' · 9b74dcb6
      Matt Jordan authored
      This patch updates a variety of Makefiles in Asterisk's build system to
      remove .gcda and .gcno files when 'make clean' is executed. These files
      are generated when '--enable-coverage' is passed to the Asterisk
      configure script.
      
      Change-Id: Ib70b41eea2ee2908885bff02e80faf9f40c84602
      9b74dcb6
  4. Jun 27, 2015
    • Matt Jordan's avatar
      main/pbx: Resolve case sensitivity regression in PBX hints · 96bbcf49
      Matt Jordan authored
      When 8297136f was merged for ASTERISK-25040, a regression was introduced
      surrounding the case sensitivity of device names within hints.
      Previously, device names - such as 'sip/foo' - were compared in a case
      insensitive fashion. Thus, 'sip/foo' was equivalent to 'SIP/foo'. After
      that patch, only the case sensitive name would match, i.e., 'SIP/foo'.
      As a result, some dialplan hints stopped working.
      
      This patch re-introduces case insensitive matching for device names in
      hints.
      
      ASTERISK-25040
      
      ASTERISK-25202 #close
      
      Change-Id: If5046a7d14097e1e3c12b63092b9584bb1e9cb4c
      96bbcf49
  5. Jun 16, 2015
  6. Jun 12, 2015
    • Damian Ivereigh's avatar
      chan_sip.c: Update dialog fromtag after request with auth · 8b60998d
      Damian Ivereigh authored
      If a client sends and INVITE which is 401 rejected, then subsequently
      sends a new INVITE with the auth info and uses a different fromtag
      from the first INVITE, Asterisk will accept the new INVITE as part of
      the original dialog - match_req_to_dialog() specifically ignores the
      fromtag. However it does not update the stored dialog with the new
      fromtag.
      
      This results in Asterisk being unable to match future packets that are
      part of this dialog (such as the ACK to the OK or the OK to the BYE),
      and the call is dropped.
      
      This problem was originally found when using an NEC-i SV8100-GE (NEC SIP
      Card).
      
      * After a successful match of a packet to the dialog, if the packet is
        not a SIP_RESPONSE, authentication is present and the fromtags are
        different, the stored fromtag is updated with the one from the recent
        INVITE.
      
      ASTERISK-25154 #close
      Reported by: Damian Ivereigh
      Tested by: Damian Ivereigh
      
      Change-Id: I5c16cf3b409e5ef9f2b2fe974b6bd2a45a6aa17e
      8b60998d
  7. Jun 11, 2015
    • Mark Michelson's avatar
      chan_sip: Prevent deadlock when performing BYE with Also transfer. · d821f56b
      Mark Michelson authored
      When a BYE with an Also header is successfully processed, and the sender
      of the BYE is bridged with another channel, chan_sip will unlock the
      owner of the dialog on which the BYE was received, call ast_async_goto()
      on the bridged channel, and then re-lock the owner. The reason for this
      locking behavior is that ast_async_goto() can result in a masquerade,
      which requires that the involved channels are unlocked.
      
      The problem here is that this causes a locking inversion since the
      dialog's lock is held when re-locking the owner channel after the async
      goto. The lock order is supposed to be channel and then sip_pvt.
      
      The fix proposed is simple. In addition to unlocking the owner channel
      before the ast_async_goto() call, also unlock the sip_pvt. Then relock
      both after ast_async_goto() returns, being sure to lock the channel and
      then the sip_pvt.
      
      ASTERISK-25139 #close
      Reported by Gregory Massel
      
      Change-Id: I72c4fc295ec8573bee599e8e9213c5350a3cd224
      d821f56b
  8. Jun 10, 2015
  9. Jun 08, 2015
    • Corey Farrell's avatar
      Fix unsafe uses of ast_context pointers. · 53658a14
      Corey Farrell authored
      Although ast_context_find, ast_context_find_or_create and
      ast_context_destroy perform locking of the contexts table,
      any context pointer can become invalid at any time that the
      contexts table is unlocked. This change adds locking around
      all complete operations involving these functions.
      
      Places where ast_context_find was followed by ast_context_destroy
      have been replaced with calls ast_context_destroy_by_name.
      
      ASTERISK-25094 #close
      Reported by: Corey Farrell
      
      Change-Id: I1866b6787730c9c4f3f836b6133ffe9c820734fa
      53658a14
  10. Jun 04, 2015
  11. May 31, 2015
    • Ivan Poddubny's avatar
      Fix buffer overflow in slin sample frames generation. · 99c54fe4
      Ivan Poddubny authored
      The length of frames retured by sample functions was twice as large as
      real, what caused global buffer overflow caught by AddressSanitizer.
      
      ASTERISK-24717 #close
      Reported by: Badalian Vyacheslav
      
      Change-Id: Iec2fe682aef13e556684912f906bedf7c18229c6
      99c54fe4
  12. May 25, 2015
    • Ivan Poddubny's avatar
      Astobj2: Correctly treat hash_fn returning INT_MIN · f9877139
      Ivan Poddubny authored
      The code in astobj2_hash.c wrongly assumed that abs(int) is always > 0.
      However, abs(INT_MIN) = INT_MIN and is still negative, as well as
      abs(INT_MIN) % num_buckets, and as a result this led to a crash.
      
      One way to trigger the bug is using host=::80 or 0.0.0.128 in peer
      configuration section in chan_sip or chan_iax.
      
      This patch takes the remainder before applying abs, so that bucket
      number is always in range.
      
      ASTERISK-25100 #close
      Reported by: Mark Petersen
      
      Change-Id: Id6981400ad526f47e10bcf7b847b62bd2785e899
      f9877139
  13. May 21, 2015
  14. May 20, 2015
    • Corey Edwards's avatar
      chan_sip/sdp_crypto.c: allow SDP crypto tag to be up to 9 digits · 2d297c7b
      Corey Edwards authored
      ASTERISK-24887 #close
      Reported by: Makoto Dei
      Tested by: tensai
      
      Change-Id: I6a96f572adb17f76b3acafe503a01c48eb5dd9bf
      2d297c7b
    • Kevin Harwell's avatar
      audiohook.c: Difference in read/write rates caused continuous buffer resets · 58970f14
      Kevin Harwell authored
      Currently, everytime a sample rate change occurs (on read or write) the
      associated factory buffers are reset. If the requested sample rate on a
      read differed from that of a write then the buffers are continually reset
      on every read and write. This has the side effect of emptying the buffer,
      thus there being no data to read and then write to a file in the case of
      call recording.
      
      This patch fixes it so that an audiohook_list's rate always maintains the
      maximum sample rate among hooks and formats. Audiohook sample rates are
      only overwritten by this value when slin native compatibility is turned on.
      Also, the audiohook sample rate can only overwrite the list's sample rate
      when its rate is greater than that of the list or if compatibility is
      turned off. This keeps the rate from constantly switching/resetting.
      
      ASTERISK-24944 #close
      Reported by: Ronald Raikes
      
      Change-Id: Idab4dfef068a7922c09cc631dda27bc920a6c76f
      58970f14
  15. May 14, 2015
  16. May 13, 2015
  17. May 12, 2015
  18. May 11, 2015
    • Ivan Poddubny's avatar
      pbx/pbx_spool: Fix issue when call files were executed too early · cc39cfa2
      Ivan Poddubny authored
      pbx_spool used to delete/move the call file upon successful outgoing
      call completion, but did not delete it from in-memory list of files
      (dirlist, used only when compiled with inotify/kqueue support).
      That resulted in an extra attempt to process that filename after
      retrytime seconds.
      Then, if a new file with the same name appears that is scheduled
      in future further than the completed one plus its retrytime,
      then it gets executed earlier than expected.
      
      This patch fixes remove_from_queue function to also remove the entry
      from the dirlist.
      
      ASTERISK-17069 #close
      Reported by: Jeremy Kister
      
      ASTERISK-24442 #close
      Reported by: tootai
      
      Change-Id: If9ec9b88073661ce485d6b008fd0b2612e49a28b
      cc39cfa2
Loading