Skip to content
Snippets Groups Projects
  1. Mar 13, 2018
    • Corey Farrell's avatar
      core: Remove non-critical cleanup from startup aborts. · fee929c8
      Corey Farrell authored
      When built-in components of Asterisk fail to start they cause the
      Asterisk startup to abort.  In these cases only the most critical
      cleanup should be performed - closing databases and terminating
      proceses.  These cleanups are registered using ast_register_atexit, all
      other cleanups should not be run during startup abort.
      
      The main reason for this change is that these cleanup procedures are
      untestable from the partially initialized states, if they fail it could
      prevent us from ever running the critical cleanup with ast_run_atexits.
      
      Create separate initialization for dns_core.c to be run unconditionally
      during startup instead of being initialized by the first dns resolver to
      be registered. This ensures that 'sched' is initialized before it can be
      potentially used.
      
      Replace ast_register_atexit with ast_register_cleanup in media_cache.c.
      There is no reason for this cleanup to happen unconditionally.
      
      Change-Id: Iecc2df98008b21509925ff16740bd5fa29527db3
      fee929c8
  2. Dec 19, 2017
  3. Nov 19, 2016
    • snuffy's avatar
      Add support for older name resolving version libraries like openBSD · b546497f
      snuffy authored
      Fix support of OS's like openBSD that use an older nameser.h,
      this change reverts the defines to the older style which on other
      systems is found in nameser_compat.h
      
      Tested on openBSD 6.0, Debian 8
      
      ASTERISK-26608 #close
      
      Change-Id: Iffb36caab8c5aa9dece0ce2d009041f7b56cc86a
      b546497f
  4. 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
  5. Jul 31, 2015
    • Mark Michelson's avatar
      dns_core: Allow zero-length DNS responses. · 86034227
      Mark Michelson authored
      A testsuite test recently failed due to a crash that occurred in the DNS
      core. The problem was that the test could not resolve an address, did
      not set a result on the DNS query, and then indicated the query was
      completed. The DNS core does not handle the case of a query with no
      result gracefully, and so there is a crash.
      
      This changeset makes the DNS system resolver set a result with a
      zero-length answer in the case that a DNS resolution failure occurs
      early. The DNS core now also will accept such a response without
      treating it as invalid input. A unit test was updated to no longer treat
      setting a zero-length response as off-nominal.
      
      Change-Id: Ie56641e22debdaa61459e1c9a042e23b78affbf6
      86034227
  6. Apr 15, 2015
    • Joshua Colp's avatar
      res_pjsip: Add external PJSIP resolver implementation using core DNS API. · a3cec44a
      Joshua Colp authored
      This change adds the following:
      
      1. A query set implementation. This is an API that allows queries to be executed in parallel and once all have completed a callback is invoked.
      2. Unit tests for the query set implementation.
      3. An external PJSIP resolver which uses the DNS core API to do NAPTR, SRV, AAAA, and A lookups.
      
      For the resolver it will do NAPTR, SRV, and AAAA/A lookups in parallel. If NAPTR or SRV
      are available it will then do more queries. And so on. Preference is NAPTR > SRV > AAAA/A,
      with IPv6 preferred over IPv4. For transport it will prefer TLS > TCP > UDP if no explicit
      transport has been provided. Configured transports on the system are taken into account to
      eliminate resolved addresses which have no hope of completing.
      
      ASTERISK-24947 #close
      Reported by: Joshua Colp
      
      Change-Id: I56cb03ce4f9d3d600776f36928e0b3e379b5d71e
      a3cec44a
  7. 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
  8. Apr 09, 2015
  9. Apr 06, 2015
  10. Apr 01, 2015
  11. Mar 25, 2015
Loading