Skip to content
Snippets Groups Projects
  1. Jul 20, 2015
  2. Jul 19, 2015
  3. Jul 17, 2015
  4. Jul 16, 2015
    • Richard Mudgett's avatar
      strings.h: Fix issues with escape string functions. · e31cb6b2
      Richard Mudgett authored
      Fixes for issues with the ASTERISK-24934 patch.
      
      * Fixed ast_escape_alloc() and ast_escape_c_alloc() if the s parameter is
      an empty string.  If it were an empty string the functions returned NULL
      as if there were a memory allocation failure.  This failure caused the AMI
      VarSet event to not get posted if the new value was an empty string.
      
      * Fixed dest buffer overwrite potential in ast_escape() and
      ast_escape_c().  If the dest buffer size is smaller than the space needed
      by the escaped s parameter string then the dest buffer would be written
      beyond the end by the nul string terminator.  The num parameter was really
      the dest buffer size parameter so I renamed it to size.
      
      * Made nul terminate the dest buffer if the source string parameter s was
      an empty string in ast_escape() and ast_escape_c().
      
      * Updated ast_escape() and ast_escape_c() doxygen function description
      comments to reflect reality.
      
      * Added some more unit test cases to /main/strings/escape to cover the
      empty source string issues.
      
      ASTERISK-25255 #close
      Reported by: Richard Mudgett
      
      Change-Id: Id77fc704600ebcce81615c1200296f74de254104
      e31cb6b2
    • Richard Mudgett's avatar
      parking_applications.c: Fix ast_verb() line terminator. · 243c0d16
      Richard Mudgett authored
      Change-Id: I8797238c71563e243c48c6145b4f1ae58f91f775
      243c0d16
    • Richard Mudgett's avatar
      res_parking: Fix crash if ATTENDEDTRANSFER set empty before Park. · c782320c
      Richard Mudgett authored
      setup_park_common_datastore() was assuming that a non-NULL string returned
      for the ATTENDEDTRANSFER and BLINDTRANSFER channel variables are not empty
      strings.  Things got crashy as a result.
      
      * Made setup_park_common_datastore() treat the channel variable values the
      same whether they are NULL or empty for ATTENDEDTRANSFER and
      BLINDTRANSFER.
      
      ASTERISK-25254 #close
      Reported by: Richard Mudgett
      
      Change-Id: I9a9c174b33f354f35f82cc6b7cea8303adbaf9c2
      c782320c
  5. Jul 15, 2015
  6. Jul 14, 2015
    • Richard Mudgett's avatar
      res_pjsip_session.c: Fix crash on call disconnect. · 653f2087
      Richard Mudgett authored
      The crash fix for ASTERISK-25183 backported some code from master to try
      to make sure that a BYE response is processed by the same serializer used
      by the BYE request.  The identified race condition causing that backport
      was the BYE request code had not finished processing after sending the BYE
      before the BYE response came in for processing under a different thread.
      Unfortunately, there is still a race condition.  Now the race condition is
      between destroying the call session's serializer in
      ast_taskprocessor_unreference() and using ast_taskprocessor_get() to get a
      reference to the serializer for a BYE response.  Even worse, the new race
      condition is a design limitation of the taskprocessor implementation that
      didn't matter in versions before v12.  Back then, taskprocessors were only
      destroyed when a module unloaded.  Now res_pjsip can destroy them when a
      call ends.
      
      However, as noted on the ASTERISK-25183 commit,
      session_inv_on_state_changed() is disassociating the dialog from the
      session when the invite dialog state becomes PJSIP_INV_STATE_DISCONNECTED.
      This is a tad too soon because our BYE request transaction has not
      completed yet.
      
      * Split session_end() that is called by session_inv_on_state_changed() to
      hold off session destruction until the BYE transaction timeout occurs or a
      failed initial INVITE transaction timeout occurs in
      session_inv_on_tsx_state_changed().
      
      ASTERISK-25201 #close
      Reported by: Matt Jordan
      
      Change-Id: Iaf8dc8485fd8392a2a3ee4ad3b7f7f04a0dcc961
      653f2087
    • Benjamin Ford's avatar
      ARI: Added new functionality to reload a single module. · 1aafadf8
      Benjamin Ford authored
      An http request can be sent to reload an Asterisk module. If the
      module can not be reloaded or is not already loaded, an error
      response will be returned.
      
      The command "curl -v -u user:pass -X PUT 'http://localhost:8088
      /ari/asterisk/modules/{moduleName}'" (or something similar, based
      on configuration) can be run in the terminal to access this new
      functionality.
      
      For more information, see:
      https://wiki.asterisk.org/wiki.display/~bford/Asterisk+ARI+Resource
      
      * Added new ARI functionality
      * Asterisk modules can be reloaded through http requests
      
      ASTERISK-25173
      
      Change-Id: I289188bcae182b2083bdbd9ebfffd50b62f58ae1
      1aafadf8
    • Benjamin Ford's avatar
      ARI: Added new functionality to unload a single module. · 9dcae23c
      Benjamin Ford authored
      An http request can be sent to unload an Asterisk module. If the
      module can not be unloaded or is already unloaded, an error response
      will be returned.
      
      The command "curl -v -u user:pass -X DELETE 'http://localhost:8088
      /ari/asterisk/modules/{moduleName}'" (or something similar, depending
      on configuration) can be run in the terminal to access this new
      functionality.
      
      For more information, see:
      https://wiki.asterisk.org/wiki.display/~bford/Asterisk+ARI+Resource
      
      * Added new ARI functionality
      * Asterisk modules can be unloaded through http requests
      
      ASTERISK-25173
      
      Change-Id: I535a95f5676deb02651522761ecbdc0b00b5ac57
      9dcae23c
  7. Jul 13, 2015
  8. Jul 12, 2015
    • Matt Jordan's avatar
      main/sorcery: Don't fail object set creation from JSON if field fails · bb76b88b
      Matt Jordan authored
      Some individual fields may fail their conversion due to their default
      values being invalid for their custom handlers. In particular,
      configuration values that depend on others being enabled (and thus have
      an empty default value) are notorious for tripping this routine up. An
      example of this are any of the DTLS options for endpoints. Any of the
      DTLS options will fail to be applied (as DTLS is not enabled), causing
      the entire object set to be aborted.
      
      This patch makes it so that we log a debug message when skipping a
      field, and rumble on anyway.
      
      ASTERISK-25238
      
      Change-Id: I0bea13de79f66bf9f9ae6ece0e94a2dc1c026a76
      bb76b88b
Loading