Skip to content
Snippets Groups Projects
  1. Dec 03, 2021
    • Alexander Traud's avatar
      res: Fix for Doxygen. · a85f2bf3
      Alexander Traud authored
      These are the remaining issues found in /res.
      
      ASTERISK-29761
      
      Change-Id: I572e6019c422780dde5ce8448b6c85c77af6046d
      a85f2bf3
  2. Nov 15, 2021
    • Josh Soref's avatar
      res: Spelling fixes · 9ae9893c
      Josh Soref authored
      Correct typos of the following word families:
      
      identifying
      structures
      actcount
      initializer
      attributes
      statement
      enough
      locking
      declaration
      userevent
      provides
      unregister
      session
      execute
      searches
      verification
      suppressed
      prepared
      passwords
      recipients
      event
      because
      brief
      unidentified
      redundancy
      character
      the
      module
      reload
      operation
      backslashes
      accurate
      incorrect
      collision
      initializing
      instance
      interpreted
      buddies
      omitted
      manually
      requires
      queries
      generator
      scheduler
      configuration has
      owner
      resource
      performed
      masquerade
      apparently
      routable
      
      ASTERISK-29714
      
      Change-Id: I88485116d2c59b776aa2e1f8b4ce8239a21decda
      9ae9893c
  3. Dec 22, 2017
  4. Nov 19, 2017
  5. 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
  6. May 14, 2015
    • Corey Farrell's avatar
      MALLOC_DEBUG: Replace WRAP_LIBC_MALLOC with ASTMM_LIBC. · 478fb4a3
      Corey Farrell authored
      There are 3 ways that calls directly to standard allocator functions can
      be dealt with:
      1. Block their use, cause them to generate an error.  This is the default.
      2. Replace them with the Asterisk equivalent function calls.
      3. Leave them alone.
      
      This change allows one of these 3 options to be selected by any source.
      The source just needs to define ASTMM_LIBC to ASTMM_BLOCK, ASTMM_REDIRECT,
      or ASTMM_IGNORE to use option 1, 2 or 3 respectively.  Normally ASTMM_BLOCK
      is the correct option, so it is default when ASTMM_LIBC is not defined.
      In some cases when building 3rd party code it is desirable to have it use
      Asterisk functions, without changing the whole source - ASTMM_REDIRECT
      accomplishes this.  When using 3rd party libraries sometimes a static
      inline function will make use of malloc or free.  In these cases it may
      be unsafe to replace the allocator in the header, as it's possible the
      memory could be freed by the library using standard allocators.  For
      those cases ASTMM_IGNORE is needed.
      
      Change-Id: I8afef4bc7f3b93914263ae27d3a5858b69663fc7
      478fb4a3
  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. Jan 20, 2015
  9. Jul 25, 2014
  10. Aug 02, 2013
  11. Feb 19, 2013
  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. Apr 19, 2012
  14. Mar 13, 2012
  15. Mar 01, 2012
  16. Feb 29, 2012
  17. Feb 20, 2012
  18. Feb 13, 2012
  19. Jan 27, 2012
  20. Jan 24, 2012
  21. Jan 09, 2012
    • Terry Wilson's avatar
      Replace direct access to channel name with accessor functions · 04da92c3
      Terry Wilson authored
      There are many benefits to making the ast_channel an opaque handle, from
      increasing maintainability to presenting ways to kill masquerades. This patch
      kicks things off by taking things a field at a time, renaming the field to
      '__do_not_use_${fieldname}' and then writing setters/getters and converting the
      existing code to using them. When all fields are done, we can move ast_channel
      to a C file from channel.h and lop off the '__do_not_use_'.
      
      This patch sets up main/channel_interal_api.c to be the only file that actually
      accesses the ast_channel's fields directly. The intent would be for any API
      functions in channel.c to use the accessor functions. No more monkeying around
      with channel internals. We should use our own APIs.
      
      The interesting changes in this patch are the addition of
      channel_internal_api.c, the moving of the AST_DATA stuff from channel.c to
      channel_internal_api.c (note: the AST_DATA stuff will have to be reworked to
      use accessor functions when ast_channel is really opaque), and some re-working
      of the way channel iterators/callbacks are handled so as to avoid creating fake
      ast_channels on the stack to pass in matching data by directly accessing fields
      (since "name" is a stringfield and the fake channel doesn't init the
      stringfields, you can't use the ast_channel_name_set() function). I went with
      ast_channel_name(chan) for a getter, and ast_channel_name_set(chan, name) for a
      setter.
      
      The majority of the grunt-work for this change was done by writing a semantic
      patch using Coccinelle ( http://coccinelle.lip6.fr/ ).
      
      Review: https://reviewboard.asterisk.org/r/1655/
      
      
      git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@350223 65c4cc65-6c06-0410-ace0-fbb531ad65f3
      04da92c3
  22. Jul 14, 2010
    • Richard Mudgett's avatar
      Expand the caller ANI field to an ast_party_id · cf7bbcc4
      Richard Mudgett authored
      Expand the ani field in ast_party_caller and ast_party_connected_line to
      an ast_party_id.
      
      This is an extension to the ast_callerid restructuring patch in review:
      https://reviewboard.asterisk.org/r/702/
      
      Review: https://reviewboard.asterisk.org/r/744/
      
      
      git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@276393 65c4cc65-6c06-0410-ace0-fbb531ad65f3
      cf7bbcc4
    • Richard Mudgett's avatar
      Make compile again. · 2cf60bb0
      Richard Mudgett authored
      git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@276391 65c4cc65-6c06-0410-ace0-fbb531ad65f3
      2cf60bb0
    • Richard Mudgett's avatar
      ast_callerid restructuring · ec37ffbd
      Richard Mudgett authored
      The purpose of this patch is to eliminate struct ast_callerid since it has
      turned into a miscellaneous collection of various party information.
      
      Eliminate struct ast_callerid and replace it with the following struct
      organization:
      
      struct ast_party_name {
      	char *str;
      	int char_set;
      	int presentation;
      	unsigned char valid;
      };
      struct ast_party_number {
      	char *str;
      	int plan;
      	int presentation;
      	unsigned char valid;
      };
      struct ast_party_subaddress {
      	char *str;
      	int type;
      	unsigned char odd_even_indicator;
      	unsigned char valid;
      };
      struct ast_party_id {
      	struct ast_party_name name;
      	struct ast_party_number number;
      	struct ast_party_subaddress subaddress;
      	char *tag;
      };
      struct ast_party_dialed {
      	struct {
      		char *str;
      		int plan;
      	} number;
      	struct ast_party_subaddress subaddress;
      	int transit_network_select;
      };
      struct ast_party_caller {
      	struct ast_party_id id;
      	char *ani;
      	int ani2;
      };
      
      The new organization adds some new information as well.
      
      * The party name and number now have their own presentation value that can
      be manipulated independently.  ISDN supplies the presentation value for
      the name and number at different times with the possibility that they
      could be different.
      
      * The party name and number now have a valid flag.  Before this change the
      name or number string could be empty if the presentation were restricted.
      Most channel drivers assume that the name or number is then simply not
      available instead of indicating that the name or number was restricted.
      
      * The party name now has a character set value.  SIP and Q.SIG have the
      ability to indicate what character set a name string is using so it could
      be presented properly.
      
      * The dialed party now has a numbering plan value that could be useful to
      have available.
      
      The various channel drivers will need to be updated to support the new
      core features as needed.  They have simply been converted to supply
      current functionality at this time.
      
      
      The following items of note were either corrected or enhanced:
      
      * The CONNECTEDLINE() and REDIRECTING() dialplan functions were
      consolidated into func_callerid.c to share party id handling code.
      
      * CALLERPRES() is now deprecated because the name and number have their
      own presentation values.
      
      * Fixed app_alarmreceiver.c write_metadata().  The workstring[] could
      contain garbage.  It also can only contain the caller id number so using
      ast_callerid_parse() on it is silly.  There was also a typo in the
      CALLERNAME if test.
      
      * Fixed app_rpt.c using ast_callerid_parse() on the channel's caller id
      number string.  ast_callerid_parse() alters the given buffer which in this
      case is the channel's caller id number string.  Then using
      ast_shrink_phone_number() could alter it even more.
      
      * Fixed caller ID name and number memory leak in chan_usbradio.c.
      
      * Fixed uninitialized char arrays cid_num[] and cid_name[] in
      sig_analog.c.
      
      * Protected access to a caller channel with lock in chan_sip.c.
      
      * Clarified intent of code in app_meetme.c sla_ring_station() and
      dial_trunk().  Also made save all caller ID data instead of just the name
      and number strings.
      
      * Simplified cdr.c set_one_cid().  It hand coded the ast_callerid_merge()
      function.
      
      * Corrected some weirdness with app_privacy.c's use of caller
      presentation.
      
      Review:	https://reviewboard.asterisk.org/r/702/
      
      
      git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@276347 65c4cc65-6c06-0410-ace0-fbb531ad65f3
      ec37ffbd
  23. Apr 03, 2010
  24. Oct 21, 2009
    • Kevin P. Fleming's avatar
      Finish implementaton of astobj2 OBJ_MULTIPLE, and convert ast_channel_iterator to use it. · cdd1f9e2
      Kevin P. Fleming authored
      This patch finishes the implementation of OBJ_MULTIPLE in astobj2 (the
      case where multiple results need to be returned; OBJ_NODATA mode
      already was supported). In addition, it converts ast_channel_iterators
      (only the targeted versions, not the ones that iterate over all
      channels) to use this method.
      
      During this work, I removed the 'ao2_flags' arguments to the
      ast_channel_iterator constructor functions; there were no uses of that
      argument yet, there is only one possible flag to pass, and it made the
      iterators less 'opaque'. If at some point in the future someone really
      needs an ast_channel_iterator that does not lock the container, we can
      provide constructor(s) for that purpose.
      
      Review: https://reviewboard.asterisk.org/r/379/
      
      
      
      git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@225244 65c4cc65-6c06-0410-ace0-fbb531ad65f3
      cdd1f9e2
  25. Aug 10, 2009
  26. Apr 24, 2009
    • Russell Bryant's avatar
      Convert the ast_channel data structure over to the astobj2 framework. · cba19c8a
      Russell Bryant authored
      There is a lot that could be said about this, but the patch is a big 
      improvement for performance, stability, code maintainability, 
      and ease of future code development.
      
      The channel list is no longer an unsorted linked list.  The main container 
      for channels is an astobj2 hash table.  All of the code related to searching 
      for channels or iterating active channels has been rewritten.  Let n be 
      the number of active channels.  Iterating the channel list has gone from 
      O(n^2) to O(n).  Searching for a channel by name went from O(n) to O(1).  
      Searching for a channel by extension is still O(n), but uses a new method 
      for doing so, which is more efficient.
      
      The ast_channel object is now a reference counted object.  The benefits 
      here are plentiful.  Some benefits directly related to issues in the 
      previous code include:
      
      1) When threads other than the channel thread owning a channel wanted 
         access to a channel, it had to hold the lock on it to ensure that it didn't 
         go away.  This is no longer a requirement.  Holding a reference is 
         sufficient.
      
      2) There are places that now require less dealing with channel locks.
      
      3) There are places where channel locks are held for much shorter periods 
         of time.
      
      4) There are places where dealing with more than one channel at a time becomes 
         _MUCH_ easier.  ChanSpy is a great example of this.  Writing code in the 
         future that deals with multiple channels will be much easier.
      
      Some additional information regarding channel locking and reference count 
      handling can be found in channel.h, where a new section has been added that 
      discusses some of the rules associated with it.
      
      Mark Michelson also assisted with the development of this patch.  He did the 
      conversion of ChanSpy and introduced a new API, ast_autochan, which makes it 
      much easier to deal with holding on to a channel pointer for an extended period 
      of time and having it get automatically updated if the channel gets masqueraded.
      Mark was also a huge help in the code review process.
      
      Thanks to David Vossel for his assistance with this branch, as well.  David 
      did the conversion of the DAHDIScan application by making it become a wrapper 
      for ChanSpy internally.
      
      The changes come from the svn/asterisk/team/russell/ast_channel_ao2 branch.
      
      Review: http://reviewboard.digium.com/r/203/
      
      
      git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@190423 65c4cc65-6c06-0410-ace0-fbb531ad65f3
      cba19c8a
  27. Feb 17, 2009
    • Russell Bryant's avatar
      Merge a large set of updates to the Asterisk indications API. · 4ec30136
      Russell Bryant authored
      This patch includes a number of changes to the indications API.  The primary
      motivation for this work was to improve stability.  The object management
      in this API was significantly flawed, and a number of trivial situations could
      cause crashes.
      
      The changes included are:
      
      1) Remove the module res_indications.  This included the critical functionality
         that actually loaded the indications configuration.  I have seen many people
         have Asterisk problems because they accidentally did not have an
         indications.conf present and loaded.  Now, this code is in the core,
         and Asterisk will fail to start without indications configuration.
      
         There was one part of res_indications, the dialplan applications, which did
         belong in a module, and have been moved to a new module, app_playtones.
      
      2) Object management has been significantly changed.  Tone zones are now
         managed using astobj2, and it is no longer possible to crash Asterisk by
         issuing a reload that destroys tone zones while they are in use.
      
      3) The API documentation has been filled out.
      
      4) The API has been updated to follow our naming conventions.
      
      5) Various bits of code throughout the tree have been updated to account
         for the API update.
      
      6) Configuration parsing has been mostly re-written.
      
      7) "Code cleanup"
      
      The code is from svn/asterisk/team/russell/indications/.
      
      Review: http://reviewboard.digium.com/r/149/
      
      
      git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@176627 65c4cc65-6c06-0410-ace0-fbb531ad65f3
      4ec30136
  28. Feb 07, 2009
  29. Jan 13, 2009
  30. Dec 13, 2008
  31. Dec 10, 2008
  32. May 02, 2008
  33. Mar 03, 2008
  34. Feb 26, 2008
  35. Jan 05, 2008
  36. Dec 20, 2007
  37. Dec 19, 2007
    • Luigi Rizzo's avatar
      make netsmp build under AST_DEVMODE. Description, included in the source, · 094ec652
      Luigi Rizzo authored
      is below. I should note that the PACKAGE_* macros that asterisk
      defines in autoconfig.h are not used anywhere in the tree so
      they should just be removed.
      
       /*
        * There is some collision collision between netsmp and asterisk names,
        * causing build under AST_DEVMODE to fail.
        *
        * The following PACKAGE_* macros are one place.
        * Also netsnmp has an improper check for HAVE_DMALLOC_H, using
        *    #if HAVE_DMALLOC_H   instead of #ifdef HAVE_DMALLOC_H
        * As a countermeasure we define it to 0, however this will fail
        * when the proper check is implemented.
        */
      
      No
      
      
      git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@93875 65c4cc65-6c06-0410-ace0-fbb531ad65f3
      094ec652
Loading