Skip to content
Snippets Groups Projects
  1. Mar 31, 2020
  2. Sep 04, 2019
    • Chris-Savinovich's avatar
      test_utils.c: Skip test adsi_loaded_test if module not loaded. · ed757cc7
      Chris-Savinovich authored
      Module res_adsi.so is deprecated, therefore it does not load by default.
      Module not loaded causes it to yield a FAIL when tested by tests/test_utils.c.
      This fix checks if the corresponding module is loaded at the start of the test,
      and if not, it passes the test and exits with a message.
      
      This fix is applied to all versions where the module is marked deprecated.
      
      Change-Id: I52be64c8f6af222e15148a856d1f10cb113e1e94
      ed757cc7
  3. Jun 14, 2018
  4. Jan 24, 2018
    • Corey Farrell's avatar
      Remove redundant module checks and references. · 527cf5a5
      Corey Farrell authored
      This removes references that are no longer needed due to automatic
      references created by module dependencies.
      
      In addition this removes most calls to ast_module_check as they were
      checking modules which are listed as dependencies.
      
      Change-Id: I332a6e8383d4c72c8e89d988a184ab8320c4872e
      527cf5a5
  5. Jan 22, 2018
    • Corey Farrell's avatar
      Add missing OPTIONAL_API and ARI dependences. · 679fa5fb
      Corey Farrell authored
      I've audited all modules that include any header which includes
      asterisk/optional_api.h.  All modules which use OPTIONAL_API now declare
      those dependencies in AST_MODULE_INFO using requires or optional_modules
      as appropriate.
      
      In addition ARI dependency declarations have been reworked.  Instead of
      declaring additional required modules in res/ari/resource_*.c we now add
      them to an optional array "requiresModules" in api-docs for each module.
      This allows the AST_MODULE_INFO dependencies to include those missing
      modules.
      
      Change-Id: Ia0c70571f5566784f63605e78e1ceccb4f79c606
      679fa5fb
  6. Nov 17, 2017
    • Corey Farrell's avatar
      menuselect: Remove ineffective weak attribute detection. · b9f4bb59
      Corey Farrell authored
      menuselect detects compiler support for multiple styles of weak
      functions.  This is a remnant from 2013 when OPTIONAL_API required weak
      functions.  It is no longer correct for menuselect to switch
      dependencies from optional to required based on lack of weak function
      support.
      
      Note an issue remains - dependencies should switch from optional to
      required based on OPTIONAL_API being enabled or disabled.  I don't think
      this is possible.  menuselect needs to know at startup if OPTIONAL_API
      is enabled or disabled, so the only way to fix this is to remove
      OPTIONAL_API from menuselect and create a configure option.  I've left
      the code that switches in place but it's preprocessed out.
      
      Additionally removed:
      - WEAKREF variable from Asterisk makeopts.in.
      - Related disabled code from test_utils.
      - Pointless AC_REVISION call from menuselect/configure.ac.
      
      Change-Id: Ifa702e5f98eb45f338b2f131a93354632a8fb389
      b9f4bb59
  7. Nov 02, 2017
  8. Oct 27, 2016
    • Corey Farrell's avatar
      Remove ASTERISK_REGISTER_FILE. · a6e5bae3
      Corey Farrell authored
      ASTERISK_REGISTER_FILE no longer has any purpose so this commit removes
      all traces of it.
      
      Previously exported symbols removed:
      * __ast_register_file
      * __ast_unregister_file
      * ast_complete_source_filename
      
      This also removes the mtx_prof static variable that was declared when
      MTX_PROFILE was enabled.  This variable was only used in lock.c so it
      is now initialized in that file only.
      
      ASTERISK-26480 #close
      
      Change-Id: I1074af07d71f9e159c48ef36631aa432c86f9966
      a6e5bae3
  9. Apr 13, 2015
    • Matt Jordan's avatar
      git migration: Refactor the ASTERISK_FILE_VERSION macro · 4a582616
      Matt Jordan authored
      Git does not support the ability to replace a token with a version
      string during check-in. While it does have support for replacing a
      token on clone, this is somewhat sub-optimal: the token is replaced
      with the object hash, which is not particularly easy for human
      consumption. What's more, in practice, the source file version was often
      not terribly useful. Generally, when triaging bugs, the overall version
      of Asterisk is far more useful than an individual SVN version of a file. As a
      result, this patch removes Asterisk's support for showing source file
      versions.
      
      Specifically, it does the following:
      
      * Rename ASTERISK_FILE_VERSION macro to ASTERISK_REGISTER_FILE, and
        remove passing the version in with the macro. Other facilities
        than 'core show file version' make use of the file names, such as
        setting a debug level only on a specific file. As such, the act of
        registering source files with the Asterisk core still has use. The
        macro rename now reflects the new macro purpose.
      
      * main/asterisk:
        - Refactor the file_version structure to reflect that it no longer
          tracks a version field.
        - Remove the "core show file version" CLI command. Without the file
          version, it is no longer useful.
        - Remove the ast_file_version_find function. The file version is no
          longer tracked.
        - Rename ast_register_file_version/ast_unregister_file_version to
          ast_register_file/ast_unregister_file, respectively.
      
      * main/manager: Remove value from the Version key of the ModuleCheck
        Action. The actual key itself has not been removed, as doing so would
        absolutely constitute a backwards incompatible change. However, since
        the file version is no longer tracked, there is no need to attempt to
        include it in the Version key.
      
      * UPGRADE: Add notes for:
        - Modification to the ModuleCheck AMI Action
        - Removal of the "core show file version" CLI command
      
      Change-Id: I6cf0ff280e1668bf4957dc21f32a5ff43444a40e
      4a582616
  10. Aug 27, 2014
  11. Jan 03, 2014
  12. Jul 03, 2013
    • David M. Lee's avatar
      ARI - channel recording support · a75fd322
      David M. Lee authored
      This patch is the first step in adding recording support to the
      Asterisk REST Interface.
      
      Recordings are stored in /var/spool/recording. Since recordings may be
      destructive (overwriting existing files), the API rejects attempts to
      escape the recording directory (avoiding issues if someone attempts to
      record to ../../lib/sounds/greeting, for example).
      
      (closes issue ASTERISK-21594)
      (closes issue ASTERISK-21581)
      Review: https://reviewboard.asterisk.org/r/2612/
      
      
      git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@393550 65c4cc65-6c06-0410-ace0-fbb531ad65f3
      a75fd322
    • David M. Lee's avatar
      Shuffle RESTful URL's around. · dcf03554
      David M. Lee authored
      This patch moves the RESTful URL's around to more appropriate
      locations for release.
      
      The /stasis URL's are moved to /ari, since Asterisk REST Interface was
      a more appropriate name than Stasis-HTTP. (Most of the code still has
      stasis_http references, but they will be cleaned up after there are no
      more outstanding branches that would have merge conflicts with such a
      change).
      
      A larger change was moving the ARI events WebSocket off of the shared
      /ws URL to its permanent home on /ari/events. The Swagger code
      generator was extended to handle "upgrade: websocket" and
      "websocketProtocol:" attributes on an operation.
      
      The WebSocket module was modified to better handle WebSocket servers
      that have a single registered protocol handler. If a client
      connections does not specify the Sec-WebSocket-Protocol header, and
      the server has a single protocol handler registered, the WebSocket
      server will go ahead and accept the client for that subprotocol.
      
      (closes issue ASTERISK-21857)
      Review: https://reviewboard.asterisk.org/r/2621/
      
      
      
      git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@393528 65c4cc65-6c06-0410-ace0-fbb531ad65f3
      dcf03554
  13. Feb 23, 2012
  14. Aug 16, 2011
  15. Jul 14, 2011
  16. Jan 24, 2011
    • Matthew Nicholson's avatar
      According to section 19.1.2 of RFC 3261: · e706b570
      Matthew Nicholson authored
        For each component, the set of valid BNF expansions defines exactly
        which characters may appear unescaped.  All other characters MUST be
        escaped.
      
      This patch modifies ast_uri_encode() to encode strings in line with this recommendation.  This patch also adds an ast_escape_quoted() function which escapes '"' and '\' characters in quoted strings in accordance with section 25.1 of RFC 3261.  The ast_uri_encode() function has also been modified to take an ast_flags struct describing the set of rules it should use when escaping characters to allow for it to escape SIP URIs in addition to HTTP URIs and other types of URIs or variations of those two URI types in the future.
      
      The ast_uri_decode() function has also been modified to accept an ast_flags struct describing the set of rules to use when decoding to enable decoding '+' as ' ' in legacy http URLs.
      
      The unit tests for these functions have also been updated.
      
      ABE-2705
      
      Review: https://reviewboard.asterisk.org/r/1081/
      
      
      git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@303509 65c4cc65-6c06-0410-ace0-fbb531ad65f3
      e706b570
  17. Sep 30, 2010
  18. Sep 28, 2010
  19. Jul 29, 2010
  20. Jul 16, 2010
  21. Jul 14, 2010
  22. Jul 09, 2010
  23. Mar 02, 2010
  24. Feb 09, 2010
    • Russell Bryant's avatar
      Various updates to the unit test API. · bbed34f7
      Russell Bryant authored
      1) It occurred to me that the difference in usage between the error ast_str and
      the ast_test_update_status() usage has turned out to be a bit ambiguous in
      practice.  In a lot of cases, the same message was being sent to both.
      In other cases, it was only sent to one or the other.  My opinion now is that
      in every case, I think it makes sense to do both; we should output it to the
      CLI as well as save it off for logging purposes.
      
      This change results in most of the changes in this diff, since it required
      changes to all existing unit tests.  It also allowed for some simplifications
      of unit test API implementation code.
      
      2) Update ast_test_status_update() to include the file, function, and line
      number for the code providing the update.
      
      3) There are some formatting tweaks here and there.  Hopefully they aren't too
      distracting for code review purposes.  Reviewboard's diff viewer seems to do a
      pretty good job of pointing out when something is a whitespace change.
      
      4) I moved the md5_test and sha1_test into the test_utils module.  It seemed
      like a better approach since these tests are so tiny.
      
      5) I changed the number of nodes used in heap_test_2 from 1 million to
      100 thousand.  The only reason for this was to reduce the time it took
      for this test to run.
      
      6) Remove an unused function prototype that was at the bottom of utils.h.
      
      7) Simplify test_insert() using the LIST_INSERT_SORTALPHA() macro.  The one
      minor difference in behavior is that it no longer checks for a test registered
      with the same name.
      
      8) Expand the code in test_alloc() to provide specific error messages for each
      failure case, to clearly inform developers if they forget to set the name,
      summary, description, etc.
      
      9) Tweak the output of the "test show registered" CLI command.  I swapped the
      name and category to have the category first.  It seemed more natural since
      that is the sort key.
      
      10) Don't output the status ast_str in the "test show results" CLI command.
      This is going to tend to be pretty verbose, so just leave that for the
      detailed test logs (test generate results).
      
      Review: https://reviewboard.asterisk.org/r/493/
      
      
      git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@245864 65c4cc65-6c06-0410-ace0-fbb531ad65f3
      bbed34f7
  25. Feb 08, 2010
  26. Jan 26, 2010
    • David Vossel's avatar
      RFC compliant uri and display-name encode/decode · d16b89be
      David Vossel authored
      1.  URI Encoding
      This patch changes ast_uri_encode()'s behavior when doreserved is enabled.
      Previously when doreserved was enabled only a small set of reserved
      characters were encoded.  This set was comprised primarily of the reserved
      characters defined in RFC3261 section 25.1, but contained other characters as
      well.  Rather than only escaping the reserved set, doreserved now escapes
      all characters not within the unreserved set as defined by RFC 3261 and
      RFC 2396.  Also, the 'doreserved' variable has been renamed to 'do_special_char'
      in attempts to avoid confusion.
      
      When doreserve is not enabled, the previous logic of only encoding the
      characters <= 0X1F and > 0X7f remains, except for the '%' character, which
      must always be encoded as it signifies a HEX escaped character during the decode
      process.
      
      2. URI Decoding: Break up URI before decode.
      In chan_sip.c ast_uri_decode is called on the entire URI instead of it's
      individual parts after it is parsed.  This is not good as ast_uri_decode
      can introduce special characters back into the URI which can mess up parsing.
      This patch resolves this by not decoding a URI until parsing is completely
      done.  There are many instances where we check to see if pedantic checking
      is enabled before we decode a URI.  In these cases a new macro,
      SIP_PEDANTIC_DECODE, is used on the individual parsed segments of the URI
      rather than constantly putting if (pedantic) { decode() } checks everywhere
      in the code.  In the areas where ast_uri_decode is not dependent upon
      pedantic checking this macro is not used, but decoding is still moved to
      each individual part of the URI.  The only behavior that should change from
      this patch is the time at which decoding occurs.
      
      Since I had to look over every place URI parsing occurs to create this
      patch, I found several places where we use duplicate code for parsing.
      To consolidate the code, those areas have updated to use the parse_uri()
      function where possible.
      
      3. SIP display-name decoding according to RFC3261 section 25.
      To properly decode the display-name portion of a FROM header, chan_sip's
      get_calleridname() function required a complete re-write.  More information
      about this change can be found in the comments at the beginning of this function.
      
      4. Unit Tests.
      Unit tests for ast_uri_encode, ast_uri_decode, and get_calleridname() have been
      written.  This involved the addition of the test_utils.c file for testing the
      utils api.
      
      (closes issue #16299)
      Reported by: wdoekes
      Patches:
            astsvn-16299-get_calleridname.diff uploaded by wdoekes (license 717)
            get_calleridname_rewrite.diff uploaded by dvossel (license 671)
      Tested by: wdoekes, dvossel, Nick_Lewis
      
      Review: https://reviewboard.asterisk.org/r/469/
      
      
      
      git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@243200 65c4cc65-6c06-0410-ace0-fbb531ad65f3
      d16b89be
Loading