Skip to content
Snippets Groups Projects
  1. Nov 20, 2017
  2. Nov 19, 2017
  3. Nov 15, 2017
    • George Joseph's avatar
      app_record: Don't set RECORD_STATUS chan var until file is closed · f5127073
      George Joseph authored
      We've been calling pbx_builtin_setvar_helper to set the
      RECORD_STATUS variable before actually closing the recorded file.
      If a client is watching VarSet events and tries to do something with
      the file when a RECORD_STATUS event is seen, they might attempt to
      do so while the file it's still open.
      
      We now delay calling pbx_builtin_setvar_helper until after we close
      the file.
      
      ASTERISK-27423
      
      Change-Id: I7fe9de99953e46b4bafa2b38cf151fe8f6488254
      f5127073
  4. Nov 06, 2017
    • Richard Mudgett's avatar
      Fix ast_(v)asprintf() malloc failure usage conditions. · ee08f10d
      Richard Mudgett authored
      When (v)asprintf() fails, the state of the allocated buffer is undefined.
      The library had better not leave an allocated buffer as a result or no one
      will know to free it.  The most likely way it can return failure is for an
      allocation failure.  If the printf conversion fails then you actually have
      a threading problem which is much worse because another thread modified
      the parameter values.
      
      * Made __ast_asprintf()/__ast_vasprintf() set the returned buffer to NULL
      on failure.  That is much more useful than either an uninitialized pointer
      or a pointer that has already been freed.  Many uses won't have to check
      for failure to ensure that the buffer won't be double freed or prevent an
      attempt to free an uninitialized pointer.
      
      * stasis.c: Fixed memory leak in multi_object_blob_to_ami() allocated by
      ast_asprintf().
      
      * ari/resource_bridges.c:ari_bridges_play_helper(): Remove assignment to
      the wrong thing which is now not needed even if assigning to the right
      thing.
      
      Change-Id: Ib5252fb8850ecf0f78ed0ee2ca0796bda7e91c23
      ee08f10d
  5. Nov 02, 2017
  6. Oct 30, 2017
    • Corey Farrell's avatar
      Modules: Fix issues with CLI completion. · e82b921c
      Corey Farrell authored
      * Stop using ast_module_helper to check if a module is loaded, use
        ast_module_check instead (app_confbridge and app_meetme).
      * Stop ast_module_helper from listing reload classes when needsreload
        was not requested.
      
      ASTERISK-27378
      
      Change-Id: Iaed8c1e4fcbeb242921dbac7929a0fe75ff4b239
      e82b921c
  7. Oct 29, 2017
  8. Oct 26, 2017
  9. Oct 23, 2017
  10. Oct 18, 2017
    • Corey Farrell's avatar
      app_macro deprecation. · 955a891a
      Corey Farrell authored
      * Mark the module deprecated.
      * Disable the module by default.
      * Produce a warning the first time a macro is used.
      * Note deprecation related options in app_dial and app_queue.
      
      ASTERISK-27350
      
      Change-Id: I560ea043bacdbc5534a17d97854273d52c2f1bdc
      955a891a
  11. Oct 11, 2017
  12. Oct 10, 2017
    • Sean Bright's avatar
      app_originate: Set ORIGINATE_STATUS correctly on failure · 3ad7d2f3
      Sean Bright authored
      We were ignoring the return value from ast_pbx_outgoing_exten() and
      ast_pbx_outgoing_app() which could fail before setting the reason code.
      This resulted in failures being reported as success.
      
      ASTERISK-25266 #close
      Reported by: Allen Ford
      
      Change-Id: Idf16237b7e41b527d2c69c865829128686beeb3b
      3ad7d2f3
  13. Sep 28, 2017
    • Richard Mudgett's avatar
      app_queue.c: Fix announcements when announce-to-first-user not enabled. · b2dbfe23
      Richard Mudgett authored
      The previous patch for ASTERISK-27216 made it so you wouldn't get any
      position or periodic announcements unless you had announce-to-first-user
      enabled.  The announce-to-first-user feature was added by ASTERISK_21782
      as a result of the patch which introduced the redundant announcements that
      ASTERISK-27216 removes.
      
      * By noting that the makeannouncement variable is used to suppresses the
      first user announcement, we set its initial value to the
      announce-to-first-user enable setting.
      
      ASTERISK-27216
      
      Change-Id: Ieaeb7dbea8ae7073086b775fbafe0625b000b10a
      b2dbfe23
  14. Sep 25, 2017
    • George Joseph's avatar
      build: A few gcc 7 error fixes · 4275ca16
      George Joseph authored
      Change-Id: I7b5300fbf1af7d88d47129db13ad6dbdc9b553ec
      4275ca16
    • StefanEng86's avatar
      app_queue: Only do announcement logic between ringing cycles · c3c73b35
      StefanEng86 authored
      This patch reverts the change by patch 2263 from old reviewboard.
      Note that reverting that 2263-patch still preserves the behaviour that
      the commit log of the 2263-patch claimed to add. The reason for this is:
      
      The function wait_for_answer is only called from try_calling which
      in turn is only called from the main for loop in queue_exec, and
      earlier in that loop we already check the things that's removed by
      this patch. There's no need to check those things twice each loop
      iteration, and I think the proper place to check it is before each
      ringing cycle. By checking it in wait_for_answer, you allow the issue
      explained in the jira - that the head caller hears announcements while
      the agents' sip phones are actively ringing.
      
      Reported-by: Stefan Engström
      Tested-by: Stefan Engström
      ASTERISK-27216 #close
      
      Change-Id: Ic4290dc75256f9743900c6762ee1bb915f672db0
      c3c73b35
  15. Sep 23, 2017
    • Sean Bright's avatar
      app_stream_echo: Don't echo declined streams · 0fad11f2
      Sean Bright authored
      Discovered while experimenting with Cyber Mega Phone 2K Ultimate Dynamic
      Edition after accepting the audio request but declining the video one.
      
      Change-Id: Iaa86d41fccfbc1b559a30ccf740d78a3b5f8a98c
      0fad11f2
  16. Sep 19, 2017
    • Joshua Colp's avatar
      app_confbridge: Only create a channel that records audio. · 6fd3db51
      Joshua Colp authored
      This change makes it so that the conference recorder channel
      that is created only contains audio formats and an audio stream.
      This is because the underlying application used by ConfBridge to
      record, MixMonitor, only allows recording audio.
      
      Having additional streams (and in particular a video stream) can
      result in clients needlessly renegotiating to add a video stream
      that will never receive video.
      
      Change-Id: I89d38aedc9205eca7741d5435e73e73bb9de97a0
      6fd3db51
  17. Sep 06, 2017
    • Sean Bright's avatar
      app_waitforsilence: Cleanup & don't treat missing frames as 'noise' · 2b3f903e
      Sean Bright authored
      * WaitForSilence completes successfully if it receives no media in the
        specified timeout, but when acting as WaitForNoise that logic needs
        to be reversed.
      
      * Use standard argument parsing macros and add some error checking for
        invalid values.
      
      * The documentation indicated that the first argument to both
        WaitForSilence and WaitForNoise was required when it was not. Update
        the documentation to reflect that.
      
      * Wrap up some behavior in structs to avoid boolean checks all over the
        place.
      
      ASTERISK-24066 #close
      Reported by: M vd S
      
      Change-Id: I01d40adc5b63342bb5018a1bea2081a0aa191ef9
      2b3f903e
  18. Sep 01, 2017
  19. Aug 30, 2017
    • Corey Farrell's avatar
      AST-2017-006: Fix app_minivm application MinivmNotify command injection · 1bf3dfff
      Corey Farrell authored
      An admin can configure app_minivm with an externnotify program to be run
      when a voicemail is received.  The app_minivm application MinivmNotify
      uses ast_safe_system() for this purpose which is vulnerable to command
      injection since the Caller-ID name and number values given to externnotify
      can come from an external untrusted source.
      
      * Add ast_safe_execvp() function.  This gives modules the ability to run
      external commands with greater safety compared to ast_safe_system().
      Specifically when some parameters are filled by untrusted sources the new
      function does not allow malicious input to break argument encoding.  This
      may be of particular concern where CALLERID(name) or CALLERID(num) may be
      used as a parameter to a script run by ast_safe_system() which could
      potentially allow arbitrary command execution.
      
      * Changed app_minivm.c:run_externnotify() to use the new ast_safe_execvp()
      instead of ast_safe_system() to avoid command injection.
      
      * Document code injection potential from untrusted data sources for other
      shell commands that are under user control.
      
      ASTERISK-27103
      
      Change-Id: I7552472247a84cde24e1358aaf64af160107aef1
      1bf3dfff
  20. Aug 29, 2017
  21. Aug 25, 2017
    • Sean Bright's avatar
      voicemail: Fix various abuses of mkstemp · da13cdb9
      Sean Bright authored
      mkstemp() returns a unique filename, but appending an extension to that
      filename does not guarantee uniqueness. Instead, use mkdtemp() and we
      can put whatever extension we want on the files that we create inside
      the directory.
      
      In the case of app_minivm, we also now properly clean up any temporary
      files that we create.
      
      ASTERISK-20858 #close
      Reported by: Walter Doekes
      
      Change-Id: I30ad04f0e115f0b11693ff678ba5184d8b938e43
      da13cdb9
    • Sean Bright's avatar
      app_record: Resolve some absolute vs. relative filename bugs · 43670e47
      Sean Bright authored
      If the Record() application is called with a relative filename that
      includes directories, we were not properly creating the intermediate
      directories and Record() would fail.
      
      Secondarily, updated the documentation for RECORDED_FILE to mention
      that it does not include a filename extension.
      
      Finally, rewrote the '%d' functionality to be a bit more straight
      forward and less noisy.
      
      ASTERISK-16777 #close
      Reported by: klaus3000
      
      Change-Id: Ibc2640cba3a8c7f17d97b02f76b7608b1e7ffde2
      43670e47
  22. Aug 24, 2017
  23. Aug 22, 2017
  24. Aug 02, 2017
  25. Aug 01, 2017
    • Corey Farrell's avatar
      Fix compiler warnings on Fedora 26 / GCC 7. · 58d03211
      Corey Farrell authored
      GCC 7 has added capability to produce warnings, this fixes most of those
      warnings.  The specific warnings are disabled in a few places:
      
      * app_voicemail.c: truncation of paths more than 4096 chars in many places.
      * chan_mgcp.c: callid truncated to 80 chars.
      * cdr.c: two userfields are combined to cdr copy, fix would break ABI.
      * tcptls.c: ignore use of deprecated method SSLv3_client_method().
      
      ASTERISK-27156 #close
      
      Change-Id: I65f280e7d3cfad279d16f41823a4d6fddcbc4c88
      58d03211
    • Sean Bright's avatar
      app_queue: Add announce-position-only-up option · 3f984882
      Sean Bright authored
      Setting this option will cause the Queue application to only announce
      the caller's position if it has improved since the last time that we
      announced it.
      
      Change-Id: I173a124121422209485b043e2bf784f54242fce6
      3f984882
  26. Jul 21, 2017
    • Richard Mudgett's avatar
      app_voicemail.c: Allow mailbox entry on authentication retry prompt. · 92293075
      Richard Mudgett authored
      The following testsuite voicemail tests were failing to re-enter the
      mailbox after the first login attempt.
      
      tests/apps/voicemail/authenticate_invalid_mailbox
      tests/apps/voicemail/authenticate_invalid_password
      
      The tests were noting the start of the vm-incorrect-mailbox prompt and
      immediately sending the mailbox for the next login attempt.  Since the
      invalid message playback had to complete before the digits were
      recognized, the test passed for the wrong reason and added approximately
      20 seconds to the test times.
      
      * Allow the vm-incorrect-mailbox prompt to get interrupted by the mailbox
      digits like the initial vm-login prompt so the tests are able to enter the
      intended mailbox.
      
      Change-Id: I1dc53fe917bfe03a4587b2c4cd24c94696a69df8
      92293075
  27. Jul 19, 2017
    • Joshua Colp's avatar
      bridge_softmix / res_rtp_asterisk: Fix packet loss and renegotiation issues. · 680c491a
      Joshua Colp authored
      This change does a few things to improve packet loss and renegotiation:
      
      1. On outgoing RTP streams we will now properly reflect out of order
      packets and packet loss in the sequence number. This allows the
      remote jitterbuffer to better reorder things.
      
      2. Video updates can now be discarded for a period of time
      after one has been sent to prevent flooding of clients.
      
      3. For declined and removed streams we will now release any
      media session resources associated with them. This was not
      previously done and caused an issue where old state was being
      used for a new stream.
      
      4. RTP bundling was not actually removing bundled RTP instances
      from the parent. This has been resolved by removing based on
      the RTP instance itself and not the SSRC.
      
      5. The code did not properly handle explicitly unbundling an
      RTP instance from its parent. This now works as expected.
      
      ASTERISK-27143
      
      Change-Id: Ibd91362f0e4990b6129638e712bc8adf0899fd45
      680c491a
  28. Jul 14, 2017
  29. Jul 12, 2017
  30. Jul 11, 2017
    • Benjamin Keith Ford's avatar
      manager: Remove AMI "Queues" action. · 5d86da61
      Benjamin Keith Ford authored
      When performing the "Queues" action via AMI, it outputs the same
      text that the Asterisk CLI outputs when running a "queue show"
      command, which does not conform with the AMI spec. "QueueStatus"
      already does what the "Queues" action should do, so instead of
      correcting the output, the "Queues" action will be removed and
      "QueueStatus" should be used instead.
      
      ASTERISK-27073 #close
      Reported by: Brian
      
      Change-Id: Id11743859758255b69cc3a557750d7a56c6d16f8
      5d86da61
  31. Jul 05, 2017
    • Sean Bright's avatar
      core: Remove 'Data Retrieval API' · 325eeced
      Sean Bright authored
      This API was not actively maintained, was not added to new modules
      (such as res_pjsip), and there exist better alternatives to acquire the
      same information, such as the ARI.
      
      Change-Id: I4b2185a83aeb74798b4ad43ff8f89f971096aa83
      325eeced
  32. Jul 04, 2017
  33. Jul 01, 2017
    • Sean Bright's avatar
      app_voicemail: Cleanup ODBC connection handling · 950b39a4
      Sean Bright authored
      The primary focus of this patch is adding a missing call to
      ast_odbc_release_obj(), but is also a general cleanup of the ODBC
      related code in app_voicemail.
      
      ASTERISK-27093 #close
      
      Change-Id: I8e285142eaeb3146b4287a928276b70db76c902b
      950b39a4
Loading