Skip to content
Snippets Groups Projects
  1. 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
  2. Mar 26, 2015
  3. Oct 07, 2014
  4. Jul 20, 2014
  5. May 09, 2014
  6. Oct 24, 2013
  7. Aug 18, 2013
    • Matthew Jordan's avatar
      Fix invalid access to disposed memory in main/data unit test · bcbb8324
      Matthew Jordan authored
      It is not safe to iterate over a macro'd list of ao2 objects, deref them such
      that the item's destructor is called, and leave them in the list. The list
      macro to iterate over items requires the item to be a valid allocated object
      in order to proceed to the next item; with MALLOC_DEBUG on the corruption of
      the linked list is caught in the crash.
      
      This patch fixes the invalid access to free'd memory by removing the ao2 item
      from the list before de-refing it.
      
      
      git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@396915 65c4cc65-6c06-0410-ace0-fbb531ad65f3
      bcbb8324
  8. Aug 16, 2013
  9. Feb 14, 2013
    • Kinsey Moore's avatar
      Revamp of terminal color codes · 2e1e0735
      Kinsey Moore authored
      The core module related to coloring terminal output was old and needed
      some love.  The main thing here was an attempt to get rid of the
      obscene number of stack-local buffers that were allocated for no other
      reason than to colorize some output.  Instead, this uses a simple trick
      to allocate several buffers within threadlocal storage, then
      automatically rotates between them, so that you can make multiple calls
      to the colorization routine within one function and not need to
      allocate multiple buffers.
      
      Review: https://reviewboard.asterisk.org/r/2241/
      Patches:
          bug.patch uploaded by Tilghman Lesher
      
      
      git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@381448 65c4cc65-6c06-0410-ace0-fbb531ad65f3
      2e1e0735
  10. Dec 11, 2012
  11. Oct 02, 2012
  12. Jun 15, 2012
    • Kevin P. Fleming's avatar
      Multiple revisions 369001-369002 · 166b4e2b
      Kevin P. Fleming authored
      ........
        r369001 | kpfleming | 2012-06-15 10:56:08 -0500 (Fri, 15 Jun 2012) | 11 lines
        
        Add support-level indications to many more source files.
        
        Since we now have tools that scan through the source tree looking for files
        with specific support levels, we need to ensure that every file that is
        a component of a 'core' or 'extended' module (or the main Asterisk binary)
        is explicitly marked with its support level. This patch adds support-level
        indications to many more source files in tree, but avoids adding them to
        third-party libraries that are included in the tree and to source files
        that don't end up involved in Asterisk itself.
      ........
        r369002 | kpfleming | 2012-06-15 10:57:14 -0500 (Fri, 15 Jun 2012) | 3 lines
        
        Add a script to enable finding source files without support-levels defined.
      ........
      
      Merged revisions 369001-369002 from http://svn.asterisk.org/svn/asterisk/branches/1.8
      ........
      
      Merged revisions 369005 from http://svn.asterisk.org/svn/asterisk/branches/10
      
      
      git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@369013 65c4cc65-6c06-0410-ace0-fbb531ad65f3
      166b4e2b
  13. May 18, 2012
    • Matthew Jordan's avatar
      Fix a variety of memory leaks · 7b513206
      Matthew Jordan authored
      This patch addresses a number of memory leaks in a variety of modules that were
      found by a static analysis tool.  A brief summary of the changes:
      
      * app_minivm:       free ast_str objects on off nominal paths
      * app_page:         free the ast_dial object if the requested channel technology
                          cannot be appended to the dialing structure
      * app_queue:        if a penalty rule failed to match any existing rule list
                          names, the created rule would not be inserted and its memory
                          would be leaked
      * app_read:         dispose of the created silence detector in the presence of
                          off nominal circumstances
      * app_voicemail:    dispose of an allocated unique ID field for MWI event
                          un-subscribe requests in off nominal paths; dispose of
                          configuration objects when using the secret.conf option
      * chan_dahdi:       dispose of the allocated frame produced by ast_dsp_process
      * chan_iax2:        properly unref peer in CLI command "iax2 unregister"
      * chan_sip:         dispose of the allocated frame produced by sip_rtp_read's
                          call of ast_dsp_process; free memory in parse unit tests
      * func_dialgroup:   properly deref ao2 object grhead in nominal path of
                          dialgroup_read
      * func_odbc:        free resultset in off nominal paths of odbc_read
      * cli:              free match_list in off nominal paths of CLI match completion
      * config:           free comment_buffer/list_buffer when configuration file load
                          is unchanged; free the same buffers any time they were
                          created and config files were processed
      * data:             free XML nodes in various places
      * enum:             free context buffer in off nominal paths
      * features:         free ast_call_feature in off nominal paths of applicationmap
                          config processing
      * netsock2:         users of ast_sockaddr_resolve pass in an ast_sockaddr struct
                          that is allocated by the method.  Failures in
                          ast_sockaddr_resolve could result in the users of the method
                          not knowing whether or not the buffer was allocated.  The
                          method will now not allocate the ast_sockaddr struct if it
                          will return failure.
      * pbx:              cleanup hash table traversals in off nominal paths; free
                          ignore pattern buffer if it already exists for the specified
                          context
      * xmldoc:           cleanup various nodes when we no longer need them
      * main/editline:    various cleanup of pointers not being freed before being
                          assigned to other memory, cleanup along off nominal paths
      * menuselect/mxml:  cleanup of value buffer for an attribute when that attribute
                          did not specify a value
      * res_calendar*:    responses are allocated via the various *_request method
                          returns and should not be allocated in the various
                          write_event methods; ensure attendee buffer is freed if no
                          data exists in the parsed node; ensure that calendar objects
                          are de-ref'd appropriately
      * res_jabber:       free buffer in off nominal path
      * res_musiconhold:  close the DIR* object in off nominal paths
      * res_rtp_asterisk: if we run out of ports, close the rtp socket object and free
                          the rtp object
      * res_srtp:         if we fail to create the session in libsrtp, destroy the
                          temporary ast_srtp object
      
      (issue ASTERISK-19665)
      Reported by: Matt Jordan
      
      Review: https://reviewboard.asterisk.org/r/1922
      ........
      
      Merged revisions 366880 from http://svn.asterisk.org/svn/asterisk/branches/1.8
      ........
      
      Merged revisions 366881 from http://svn.asterisk.org/svn/asterisk/branches/10
      
      
      git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@366917 65c4cc65-6c06-0410-ace0-fbb531ad65f3
      7b513206
  14. May 10, 2012
  15. Apr 17, 2012
  16. Mar 20, 2012
    • Richard Mudgett's avatar
      Allow AMI action callback to be reentrant. · 334f13d8
      Richard Mudgett authored
      Fix AMI module reload deadlock regression from ASTERISK-18479 when it
      tried to fix the race between calling an AMI action callback and
      unregistering that action.  Refixes ASTERISK-13784 broken by
      ASTERISK-17785 change.
      
      Locking the ao2 object guaranteed that there were no active callbacks that
      mattered when ast_manager_unregister() was called.  Unfortunately, this
      causes the deadlock situation.  The patch stops locking the ao2 object to
      allow multiple threads to invoke the callback re-entrantly.  There is no
      way to guarantee a module unload will not crash because of an active
      callback.  The code attempts to minimize the chance with the registered
      flag and the maximum 5 second delay before ast_manager_unregister()
      returns.
      
      The trunk version of the patch changes the API to fix the race condition
      correctly to prevent the module code from unloading from memory while an
      action callback is active.
      
      * Don't hold the lock while calling the AMI action callback.
      
      (closes issue ASTERISK-19487)
      Reported by: Philippe Lindheimer
      
      Review: https://reviewboard.asterisk.org/r/1818/
      Review: https://reviewboard.asterisk.org/r/1820/
      ........
      
      Merged revisions 359979 from http://svn.asterisk.org/svn/asterisk/branches/1.8
      ........
      
      Merged revisions 359980 from http://svn.asterisk.org/svn/asterisk/branches/10
      
      
      git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@359981 65c4cc65-6c06-0410-ace0-fbb531ad65f3
      334f13d8
  17. Feb 22, 2011
    • David Vossel's avatar
      Media Project Phase2: SILK 8khz-24khz, SLINEAR 8khz-192khz, SPEEX 32khz, hd... · d760e81f
      David Vossel authored
      Media Project Phase2: SILK 8khz-24khz, SLINEAR 8khz-192khz, SPEEX 32khz, hd audio ConfBridge, and other stuff
      
      -Functional changes
      1. Dynamic global format list build by codecs defined in codecs.conf
      2. SILK 8khz, 12khz, 16khz, and 24khz with custom attributes defined in codecs.conf
      3. Negotiation of SILK attributes in chan_sip.
      4. SPEEX 32khz with translation
      5. SLINEAR 8khz, 12khz, 24khz, 32khz, 44.1khz, 48khz, 96khz, 192khz with translation
         using codec_resample.c
      6. Various changes to RTP code required to properly handle the dynamic format list
         and formats with attributes.
      7. ConfBridge now dynamically jumps to the best possible sample rate.  This allows
         for conferences to take advantage of HD audio (Which sounds awesome)
      8. Audiohooks are no longer limited to 8khz audio, and most effects have been
         updated to take advantage of this such as Volume, DENOISE, PITCH_SHIFT.
      9. codec_resample now uses its own code rather than depending on libresample.
      
      -Organizational changes
      Global format list is moved from frame.c to format.c
      Various format specific functions moved from frame.c to format.c
      
      Review: https://reviewboard.asterisk.org/r/1104/
      
      
      git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@308582 65c4cc65-6c06-0410-ace0-fbb531ad65f3
      d760e81f
  18. Feb 03, 2011
  19. Jul 09, 2010
  20. Jul 08, 2010
  21. May 02, 2010
  22. Apr 22, 2010
Loading