Skip to content
Snippets Groups Projects
  1. Mar 14, 2018
    • Corey Farrell's avatar
      loader: Convert reload_classes to built-in modules. · 572a508e
      Corey Farrell authored
      * acl (named_acl.c)
      * cdr
      * cel
      * ccss
      * dnsmgr
      * dsp
      * enum
      * extconfig (config.c)
      * features
      * http
      * indications
      * logger
      * manager
      * plc
      * sounds
      * udptl
      
      These modules are now loaded at appropriate time by the module loader.
      Unlike loadable modules these use AST_MODULE_LOAD_FAILURE on error so
      the module loader will abort startup on failure of these modules.
      
      Some of these modules are still initialized or shutdown from outside the
      module loader.  logger.c is initialized very early and shutdown very
      late, manager.c is initialized by the module loader but is shutdown by
      the Asterisk core (too much uses it without holding references).
      
      Change-Id: I371a9a45064f20026c492623ea8062d02a1ab97f
      572a508e
  2. 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
  3. May 05, 2015
  4. 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
  5. Jan 21, 2015
  6. Jul 25, 2014
  7. Oct 27, 2013
  8. Jun 17, 2013
    • Matthew Jordan's avatar
      Update Asterisk's CDRs for the new bridging framework · 6258bbe7
      Matthew Jordan authored
      This patch is the initial push to update Asterisk's CDR engine for the new
      bridging framework. This patch guts the existing CDR engine and builds the new
      on top of messages coming across Stasis. As changes in channel state and bridge
      state are detected, CDRs are built and dispatched accordingly. This
      fundamentally changes CDRs in a few ways.
      (1) CDRs are now *very* reflective of the actual state of channels and bridges.
          This means CDRs track well with what an actual channel is doing - which
          is useful in transfer scenarios (which were previously difficult to pin
          down). It does, however, mean that CDRs cannot be 'fooled'. Previous
          behavior in Asterisk allowed for CDR applications, channels, and other
          properties to be spoofed in parts of the code - this no longer works.
      (2) CDRs have defined behavior in multi-party scenarios. This behavior will not
          be what everyone wants, but it is a defined behavior and as such, it is
          predictable.
      (3) The CDR manipulation functions and applications have been overhauled. Major
          changes have been made to ResetCDR and ForkCDR in particular. Many of the
          options for these two applications no longer made any sense with the new
          framework and the (slightly) more immutable nature of CDRs.
      
      There are a plethora of other changes. For a full description of CDR behavior,
      see the CDR specification on the Asterisk wiki.
      
      (closes issue ASTERISK-21196)
      
      Review: https://reviewboard.asterisk.org/r/2486/
      
      
      
      git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@391947 65c4cc65-6c06-0410-ace0-fbb531ad65f3
      6258bbe7
  9. Oct 14, 2012
  10. Feb 20, 2012
  11. Sep 26, 2011
    • Richard Mudgett's avatar
      Merged revisions 337974 via svnmerge from · 55b70ae6
      Richard Mudgett authored
      https://origsvn.digium.com/svn/asterisk/branches/10
      
      ................
        r337974 | rmudgett | 2011-09-26 14:35:23 -0500 (Mon, 26 Sep 2011) | 37 lines
        
        Merged revisions 337973 via svnmerge from 
        https://origsvn.digium.com/svn/asterisk/branches/1.8
        
        ........
          r337973 | rmudgett | 2011-09-26 14:30:39 -0500 (Mon, 26 Sep 2011) | 30 lines
          
          Fix deadlock when using dummy channels.
          
          Dummy channels created by ast_dummy_channel_alloc() should be destoyed by
          ast_channel_unref().  Using ast_channel_release() needlessly grabs the
          channel container lock and can cause a deadlock as a result.
          
          * Analyzed use of ast_dummy_channel_alloc() and made use
          ast_channel_unref() when done with the dummy channel.  (Primary reason for
          the reported deadlock.)
          
          * Made app_dial.c:dial_exec_full() not call ast_call() holding any channel
          locks.  Chan_local could not perform deadlock avoidance correctly.
          (Potential deadlock exposed by this issue.  Secondary reason for the
          reported deadlock since the held lock was part of the deadlock chain.)
          
          * Fixed some uses of ast_dummy_channel_alloc() not checking the returned
          channel pointer for failure.
          
          * Fixed some potential chan=NULL pointer usage in func_odbc.c.  Protected
          by testing the bogus_chan value.
          
          * Fixed needlessly clearing a 1024 char auto array when setting the first
          char to zero is enough in manager.c:action_getvar().
          
          (closes issue ASTERISK-18613)
          Reported by: Thomas Arimont
          Patches:
                jira_asterisk_18613_v1.8.patch (license #5621) patch uploaded by rmudgett
          Tested by: Thomas Arimont
        ........
      ................
      
      
      git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@337975 65c4cc65-6c06-0410-ace0-fbb531ad65f3
      55b70ae6
  12. Jul 14, 2011
  13. Jul 20, 2010
  14. Feb 26, 2010
  15. Jun 26, 2009
    • Russell Bryant's avatar
      Merge the new Channel Event Logging (CEL) subsystem. · 0264eef1
      Russell Bryant authored
      CEL is the new system for logging channel events.  This was inspired after
      facing many problems trying to represent what is possible to happen to a call
      in Asterisk using CDR records.  For more information on CEL, see the built in
      HTML or PDF documentation generated from the files in doc/tex/.
      
      Many thanks to Steve Murphy (murf) and Brian Degenhardt (bmd) for their hard
      work developing this code.  Also, thanks to Matt Nicholson (mnicholson) and
      Sean Bright (seanbright) for their assistance in the final push to get this
      code ready for Asterisk trunk.
      
      Review: https://reviewboard.asterisk.org/r/239/
      
      
      git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@203638 65c4cc65-6c06-0410-ace0-fbb531ad65f3
      0264eef1
  16. Jun 21, 2009
  17. Jun 20, 2009
  18. Jun 15, 2009
  19. May 26, 2009
  20. Dec 13, 2008
  21. Nov 20, 2008
  22. Nov 19, 2008
  23. Dec 05, 2007
  24. Nov 19, 2007
  25. Nov 16, 2007
    • Luigi Rizzo's avatar
      Start untangling header inclusion in a way that does not affect · fdb7f7ba
      Luigi Rizzo authored
      build times - tested, there is no measureable difference before and
      after this commit.
      
      In this change:
      
      use asterisk/compat.h to include a small set of system headers:
      inttypes.h, unistd.h, stddef.h, stddint.h, sys/types.h, stdarg.h,
      stdlib.h, alloca.h, stdio.h
      
      Where available, the inclusion is conditional on HAVE_FOO_H as determined
      by autoconf.
      
      Normally, source files should not include any of the above system headers,
      and instead use either "asterisk.h" or "asterisk/compat.h" which does it
      better. 
      
      For the time being I have left alone second-level directories
      (main/db1-ast, etc.).
      
      
      
      git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89333 65c4cc65-6c06-0410-ace0-fbb531ad65f3
      fdb7f7ba
  26. Nov 12, 2007
  27. Nov 01, 2007
    • Steve Murphy's avatar
      This commits the performance mods that give the priority processing engine in... · 63f2f04c
      Steve Murphy authored
      This commits the performance mods that give the priority processing engine in the pbx, a 25-30% speed boost. The two updates used, are, first, to merge the ast_exists_extension() and the ast_spawn_extension() where they are called sequentially in a loop in the code, into a slightly upgraded version of ast_spawn_extension(), with a few extra args; and, second, I modified the substitute_variables_helper_full, so it zeroes out the byte after the evaluated string instead of demanding you pre-zero the buffer; I also went thru the code and removed the code that zeroed this buffer before every call to the substitute_variables_helper_full. The first fix provides about a 9% speedup, and the second the rest. These figures come from the 'PIPS' benchmark I describe in blogs, conf. reports, etc.
      
      git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@88166 65c4cc65-6c06-0410-ace0-fbb531ad65f3
      63f2f04c
  28. Sep 29, 2007
  29. Sep 21, 2007
  30. Aug 16, 2007
  31. Jul 18, 2007
  32. Jun 19, 2007
  33. Jun 14, 2007
  34. Jan 10, 2007
  35. Aug 31, 2006
  36. Aug 21, 2006
  37. Jun 07, 2006
  38. Apr 14, 2006
    • Luigi Rizzo's avatar
      This rather large commit changes the way modules are loaded. · e43bc663
      Luigi Rizzo authored
       
      As partly documented in loader.c and include/asterisk/module.h,
      modules are now expected to return all of their methods and flags
      into a structure 'mod_data', and are normally loaded with RTLD_NOW
      | RTLD_LOCAL, so symbols are resolved immediately and conflicts
      should be less likely.  Only in a small number of cases (res_*,
      typically) modules are loaded RTLD_GLOBAL, so they can export
      symbols.
       
      The core of the change is only the two files loader.c and
      include/asterisk/module.h, all the rest is simply adaptation of the
      existing modules to the new API, a rather mechanical (but believe
      me, time and finger-consuming!) process whose detail you can figure
      out by svn diff'ing any single module.
      
      Expect some minor compilation issue after this change, please
      report it on mantis http://bugs.digium.com/view.php?id=6968
      so we collect all the feedback in one place.
      
      I am just sorry that this change missed SVN version number 20000!
      
      
      
      git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@20003 65c4cc65-6c06-0410-ace0-fbb531ad65f3
      e43bc663
  39. Apr 08, 2006
Loading