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. Jan 23, 2015
  3. Jul 25, 2014
  4. Jul 20, 2014
  5. Oct 18, 2012
  6. Oct 17, 2012
  7. Oct 16, 2012
  8. Oct 14, 2012
  9. Oct 01, 2012
  10. Sep 05, 2012
    • Mark Michelson's avatar
      Add fixes and cleanup to app_alarmreceiver. · a7391a37
      Mark Michelson authored
      This work comes courtesy of Pedro Kiefer (License #6407)
      The work was posted to review board by Kaloyan Kovachev (License #5506)
      
      (closes issue ASTERISK-16668)
      Reported by Grant Crawshay
      
      (closes issue ASTERISK-16694)
      Reported by Fred van Lieshout
      
      (closes issue ASTERISK-18417)
      Reported by Kostas Liakakis
      
      (closes issue ASTERISK-19435)
      Reported by Deon George
      
      (closes issue ASTERISK-20157)
      Reported by Pedro Kiefer
      
      (closes issue ASTERISK-20158)
      Reported by Pedro Kiefer
      
      (closes issue ASTERISK-20224)
      Reported by Pedro Kiefer
      
      Review: https://reviewboard.asterisk.org/r/2075
      
      
      git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@372310 65c4cc65-6c06-0410-ace0-fbb531ad65f3
      a7391a37
  11. Apr 19, 2012
  12. Feb 29, 2012
  13. Feb 20, 2012
  14. Feb 08, 2012
  15. 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
  16. Jul 14, 2011
  17. Feb 03, 2011
  18. Jul 14, 2010
    • 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
  19. Nov 04, 2009
  20. Aug 10, 2009
  21. Jun 07, 2009
  22. May 21, 2009
    • Kevin P. Fleming's avatar
      Const-ify the world (or at least a good part of it) · e6b2e9a7
      Kevin P. Fleming authored
      This patch adds 'const' tags to a number of Asterisk APIs where they are appropriate (where the API already demanded that the function argument not be modified, but the compiler was not informed of that fact). The list includes:
      
      - CLI command handlers
      - CLI command handler arguments
      - AGI command handlers
      - AGI command handler arguments
      - Dialplan application handler arguments
      - Speech engine API function arguments
      
      In addition, various file-scope and function-scope constant arrays got 'const' and/or 'static' qualifiers where they were missing.
      
      Review: https://reviewboard.asterisk.org/r/251/
      
      
      
      git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@196072 65c4cc65-6c06-0410-ace0-fbb531ad65f3
      e6b2e9a7
  23. Nov 05, 2008
  24. Nov 01, 2008
  25. Sep 12, 2008
    • Tilghman Lesher's avatar
      Create a new config file status, CONFIG_STATUS_FILEINVALID for differentiating · 08af5bb3
      Tilghman Lesher authored
      when a file is invalid from when a file is missing.  This is most important when
      we have two configuration files.  Consider the following example:
      
      Old system:
      sip.conf     users.conf     Old result               New result
      ========     ==========     ==========               ==========
      Missing      Missing        SIP doesn't load         SIP doesn't load
      Missing      OK             SIP doesn't load         SIP doesn't load
      Missing      Invalid        SIP doesn't load         SIP doesn't load
      OK           Missing        SIP loads                SIP loads
      OK           OK             SIP loads                SIP loads
      OK           Invalid        SIP loads incompletely   SIP doesn't load
      Invalid      Missing        SIP doesn't load         SIP doesn't load
      Invalid      OK             SIP doesn't load         SIP doesn't load
      Invalid      Invalid        SIP doesn't load         SIP doesn't load
      
      So in the case when users.conf doesn't load because there's a typo that
      disrupts the syntax, we may only partially load users, instead of failing with
      an error, which may cause some calls not to get processed.  Worse yet, the old
      system would do this with no indication that anything was even wrong.
      
      (closes issue #10690)
       Reported by: dtyoo
       Patches: 
             20080716__bug10690.diff.txt uploaded by Corydon76 (license 14)
      
      
      git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@142992 65c4cc65-6c06-0410-ace0-fbb531ad65f3
      08af5bb3
  26. May 22, 2008
    • Michiel van Baak's avatar
      - revert change to ast_queue_hangup and create ast_queue_hangup_with_cause · f1e9371d
      Michiel van Baak authored
      - make data member of the ast_frame struct a named union instead of a void
      
      Recently the ast_queue_hangup function got a new parameter, the hangupcause
      Feedback came in that this is no good and that instead a new function should be created.
      This I did.
      
      The hangupcause was stored in the seqno member of the ast_frame struct. This is not very
      elegant, and since there's already a data member that one should be used.
      Problem is, this member was a void *.
      Now it's a named union so it can hold a pointer, an uint32 and there's a padding in case someone
      wants to store another type in there in the future.
      
      This commit is so massive, because all ast_frame.data uses have to be
      altered to ast_frame.data.data
      
      Thanks russellb and kpfleming for the feedback.
      
      (closes issue #12674)
      Reported by: mvanbaak
      
      
      git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@117802 65c4cc65-6c06-0410-ace0-fbb531ad65f3
      f1e9371d
  27. Apr 24, 2008
  28. Feb 07, 2008
  29. Feb 05, 2008
  30. Dec 26, 2007
    • Jason Parker's avatar
      Use defined return values in load_module in more places. · eea428cf
      Jason Parker authored
      (closes issue #11096)
      Patches:
            pbx_config.c.patch uploaded by moy (license 222)
            pbx_dundi.c.patch uploaded by moy (license 222)
            pbx_gtkconsole.c.patch uploaded by moy (license 222)
            pbx_loopback.c.patch uploaded by moy (license 222)
            pbx_realtime.c.patch uploaded by moy (license 222)
            pbx_spool.c.patch uploaded by moy (license 222)
            app_adsiprog.c.patch uploaded by moy (license 222)
            app_alarmreceiver.c.patch uploaded by moy (license 222)
            app_amd.c.patch uploaded by moy (license 222)
            app_authenticate.c.patch uploaded by moy (license 222)
            app_cdr.c.patch uploaded by moy (license 222)
            app_zapateller.c.patch uploaded by moy (license 222)
            app_zapbarge.c.patch uploaded by moy (license 222)
            app_zapras.c.patch uploaded by moy (license 222)
            app_zapscan.c.patch uploaded by moy (license 222)
      
      
      git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@94806 65c4cc65-6c06-0410-ace0-fbb531ad65f3
      eea428cf
  31. Nov 21, 2007
  32. Nov 19, 2007
  33. 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
  34. Aug 16, 2007
  35. Jul 26, 2007
  36. Jul 18, 2007
  37. Jul 16, 2007
  38. Jun 14, 2007
  39. Jun 06, 2007
Loading