Skip to content
Snippets Groups Projects
  1. May 07, 2015
  2. May 06, 2015
  3. May 05, 2015
    • Richard Mudgett's avatar
      features: Fix crash when transferee hangs up during DTMF attended transfer. · 6c4d1c32
      Richard Mudgett authored
      A crash happens with this sequence of steps:
      1) Party A is connected to party B.
      2) Party B starts a DTMF attended transfer.
      3) Party A hangs up while party B is dialing party C.
      
      When party A hangs up the bridge that party A and party B are in is
      dissolved and party B is kicked out of the bridge.  When party B finishes
      dialing party C he attempts to move to the new bridge with party C.  Since
      party B is no longer in a bridge the attempted move dereferences a NULL
      bridge_channel pointer and crashes.
      
      * Made the hold(), unhold(), ringing(), and the bridge_move() functions
      tolerant of the channel not being in a bridge.  The assertion that party B
      is always in a bridge is not true if the bridged peer of party B hangs up
      and dissolves the bridge.  Being tolerant of not being in a bridge allows
      the peer hangup stimulus to be processed by the FSM.
      
      * Made the bridge_move() function return void since where the return value
      for a failed move was checked generated a FSM coding ERROR message for a
      normal off-nominal condition.
      
      * Eliminated most uses of RAII_VAR in bridge_basic.c.
      
      ASTERISK-25003 #close
      Reported by: Artem Volodin
      
      Change-Id: Ie2c1b14e5e647d4ea6de300bf56d69805d7bcada
      6c4d1c32
    • Ivan Poddubny's avatar
      app_queue: Fix queue_log EXITWITHTIMEOUT containing only 1 parameter · 90bfc02e
      Ivan Poddubny authored
      This patch fixes EXITWITHTIMEOUT queue_log entry to always come with 3
      parameters: position, original position and waiting time.
      
      ASTERISK-25038 #close
      Reported by: Etienne Lessard
      
      Change-Id: I0c62045922e26bee2125e93aee1dee17eee79618
      90bfc02e
    • Joshua Colp's avatar
      chan_unistim: Fix build failure due to ACL changes. · bebf0b9b
      Joshua Colp authored
      Change-Id: I57081045c72b9fcf12d5c84493278f9272c31b32
      bebf0b9b
    • Matt Jordan's avatar
      bc8dcbdf
    • Matt Jordan's avatar
    • Joshua Colp's avatar
    • Corey Farrell's avatar
      res_ari_bridges: Add missing dependencies. · c541923a
      Corey Farrell authored
      Missed this module in the previous commit.  res_ari_bridges uses symbols
      from res_stasis_playback and res_stasis_recording.
      
      ASTERISK-25027 #close
      Reported by: Corey Farrell
      
      Change-Id: I90bf756abd25adfc4920d2869ebe7feb636b8c5f
      c541923a
    • Corey Farrell's avatar
      pbx_config: Register manager actions with module version of macro. · 8a3e93a3
      Corey Farrell authored
      Switch manager actions in pbx_config to use the registration macro that
      passes the module pointer, allowing pbx_config reference to be bumped
      while the manager actions run.
      
      ASTERISK-25061 #close
      Reported by: Corey Farrell
      
      Change-Id: I422c50dd74814616ac10c5e9c6598a0b1bc2c44e
      8a3e93a3
    • Joshua Colp's avatar
      stasis: Fix dial masquerade datastore lifetime · 11f650c6
      Joshua Colp authored
      A recent change went into Asterisk which added reference counts to the
      channels stored in a dial masquerade datastore. Unfortunately this
      included a reference to the caller in a dialing operation. While all
      of the dialed targets have the datastore removed from them upon dialing
      completion this did not occur for the caller, causing it to have a
      reference to itself that could go never go away (as it depended on
      the destruction of the datastore which only happened when the channel
      was destroyed). This resulted in the caller channel remaining on the
      system despite it having hung up.
      
      This change does the following to fix this issue:
      
      1. The dial masquerade datastore is now removed from the caller upon
      dialing completion, just like the dialed targets.
      2. Upon destruction of the caller all the dialed targets are also
      removed from the dial masquerade datastore (just in case).
      3. The reference to the caller has been removed as it should not be
      possible for the datastore to now be valid/useful after the lifetime
      of the caller has ended.
      
      ASTERISK-25025 #close
      
      Change-Id: I1ef4ca5ca04980028604cc2af5d2992ac3431b3f
      11f650c6
    • George Joseph's avatar
      vector: Traversal, retrieval, insert and locking enhancements · 6d594129
      George Joseph authored
      Renamed AST_VECTOR_INSERT to AST_VECTOR_REPLACE because it really
      does replace not insert.  The few users of AST_VECTOR_INSERT were
      refactored.  Because these are macros, there should be no ABI
      compatibility issues.
      
      Added AST_VECTOR_INSERT_AT that actually inserts an element into the
      vector at a specific index pushing existing elements to the right.
      
      Added AST_VECTOR_GET_CMP that can retrieve from the vector based
      on a user-provided compare function.
      
      Added AST_VECTOR_CALLBACK function that will execute a function
      for each element in the vector.  Similar to ao2_callback and
      ao2_callback_data functions although the vector callback can take
      a variable number of arguments.  This should allow easy migration
      to a vector where a container might be too heavy.
      
      Added read/write locked vector and lock manipulation macros.
      
      Added unit tests.
      
      ASTERISK-25045 #close
      
      Change-Id: I2e07ecc709d2f5f91bcab8904e5e9340609b00e0
      6d594129
  4. May 04, 2015
  5. May 03, 2015
    • Corey Farrell's avatar
      main/presencestate.c: Add trailing slash to test category. · 1368dae7
      Corey Farrell authored
      ASTERISK-25053
      Reported by: Corey Farrell
      
      Change-Id: I8c0375dd0818747b2d2e1ceaea87bfbeb2daf8d4
      1368dae7
    • Joshua Colp's avatar
    • Matt Jordan's avatar
    • Diederik de Groot's avatar
      Update configure.ac/Makefile for clang · 305ce3de
      Diederik de Groot authored
      Created autoconf/ast_check_raii.m4: contains AST_CHECK_RAII which
      checks compiler requirements for RAII:
      gcc: -fnested-functions support
      clang: -fblocks (and if required -lBlocksRuntime)
      The original check was implemented in configure.ac and now has it's
      own file. This function also sets C_COMPILER_FAMILY to either gcc or
      clang for use by makefile
      
      Created autoconf/ast_check_strsep_array_bounds.m4 (contains
      AST_CHECK_STRSEP_ARRAY_BOUNDS):
      which checks if clang is able to handle the optimized strsep & strcmp
      functions (linux). If not, the standard libc implementation should be
      used instead. Clang + the optimized macro's work with:
      strsep(char *, char []), but not with strsepo(char *, char *).
      Instead of replacing all the occurences throughout the source code,
      not using the optimized macro version seemed easier
      
      See 'define __strcmp_gc(s1, s2, l2) in bits/string2.h':
      llvm-comment: Normally, this array-bounds warning are suppressed for
      macros, so that unused paths like the one that accesses __s1[3] are
      not warned about.  But if you preprocess manually, and feed the
      result to another instance of clang, it will warn about all the
      possible forks of this particular if statement. Instead of switching
      of this optimization, another solution would be to run the preproces-
      sing step with -frewrite-includes, which should preserve enough
      information so that clang should still be able to suppress the diag-
      nostic at the compile step later on.
      
      See also "https://llvm.org/bugs/show_bug.cgi?id=20144"
      See also "https://llvm.org/bugs/show_bug.cgi?id=11536"
      
      Makefile.rules: If C_COMPILER_FAMILY=clang then add two warning
      suppressions:
      -Wno-unused-value
      -Wno-parentheses-equality
      In an earlier review (reviewboard: 4550 and 4554), they were deemed a
      nuisace and less than benefitial.
      
      configure.ac:
      Added AST_CHECK_RAII() see earlier
      Added AST_CHECK_STRSEP_ARRAY_BOUNDS() see earlier
      Removed moved content
      
      ASTERISK-24917
      Change-Id: I12ea29d3bda2254ad3908e279b7effbbac6a97cb
      305ce3de
    • Rodrigo Ramírez Norambuena's avatar
      cdr/cdr_csv.c: Add a new option to enable columns added in Asterisk 1.8 · 8886b724
      Rodrigo Ramírez Norambuena authored
      This patch adds a new option to cdr.conf, 'newcdrcolumns', that will handle CDR
      columns added in Asterisk 1.8. The columns are:
       * peeraccount
       * linkedid
       * sequence
      When enabled, the columns in the database entry will be populated with the data
      from the CDR.
      
      ASTERISK-24976 #close
      
      Change-Id: I51a57063f4ae5e194a9d933a8df45dc8a4534f0b
      8886b724
    • Matt Jordan's avatar
      8e1b7472
    • Corey Farrell's avatar
      Remove unneeded uses of optional_api providers. · c3ec5da1
      Corey Farrell authored
      A few cases exist where headers of optional_api provders are included but
      not needed.  This causes unneeded calls to ast_optional_api_use.
      
      * Don't include optional_api.h from sip_api.h.
      * Move 'struct ast_channel_monitor' to channel.h.
      * Don't include monitor.h from chan_sip.c, channel.c or features.c.
      
      The move of struct ast_channel_monitor is needed since channel.c depends on
      it.  This has no effect on users of monitor.h since channel.h is included
      from monitor.h.
      
      ASTERISK-25051 #close
      Reported by: Corey Farrell
      
      Change-Id: I53ea65a9fc9693c89f8bcfd6120649bfcfbc3478
      c3ec5da1
  6. May 02, 2015
Loading