Skip to content
Snippets Groups Projects
  1. Dec 22, 2017
  2. Aug 30, 2017
    • Corey Farrell's avatar
      AST-2017-006: Fix app_minivm application MinivmNotify command injection · 1bf3dfff
      Corey Farrell authored
      An admin can configure app_minivm with an externnotify program to be run
      when a voicemail is received.  The app_minivm application MinivmNotify
      uses ast_safe_system() for this purpose which is vulnerable to command
      injection since the Caller-ID name and number values given to externnotify
      can come from an external untrusted source.
      
      * Add ast_safe_execvp() function.  This gives modules the ability to run
      external commands with greater safety compared to ast_safe_system().
      Specifically when some parameters are filled by untrusted sources the new
      function does not allow malicious input to break argument encoding.  This
      may be of particular concern where CALLERID(name) or CALLERID(num) may be
      used as a parameter to a script run by ast_safe_system() which could
      potentially allow arbitrary command execution.
      
      * Changed app_minivm.c:run_externnotify() to use the new ast_safe_execvp()
      instead of ast_safe_system() to avoid command injection.
      
      * Document code injection potential from untrusted data sources for other
      shell commands that are under user control.
      
      ASTERISK-27103
      
      Change-Id: I7552472247a84cde24e1358aaf64af160107aef1
      1bf3dfff
  3. 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
  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. 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
  6. Mar 11, 2010
  7. 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
  8. Feb 20, 2009
  9. Nov 01, 2008
  10. Nov 22, 2007
    • Luigi Rizzo's avatar
      shuffle a little bit the content of header files to reduce dependencies. · 51391e6b
      Luigi Rizzo authored
      In this commit:
      - move the ast_register/unregister_app functions to module.h
        to avoid the need to include pbx.h for the simpler apps;
      - move the ast_group structure to channel.h to remove the
        dependency of app.h on linkedlists.h
      
      Note, this is a long process that I am doing in small steps.
      
      The main difficulty is that now for each subsystem we
      have a single header (e.g. channel.h) included by the subsystem
      provider (usually one file, e.g. channel.c) and by its clients
      (dozens of them, e.g. we have some 70+ apps and 30+ functions).
      
      This requires the clients to include all the extra headers
      required by the provider (eg. lock.h, linkedlists.h, definitions
      of substructures...) even though many of the clients would be
      just happy with opaque struct declarations and function prototypes.
      
      The long term plan is to eventually rectify this structure
      so that the compilation can become faster, and also APIs
      are more stable.
      
      
      
      git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89522 65c4cc65-6c06-0410-ace0-fbb531ad65f3
      51391e6b
    • Luigi Rizzo's avatar
      remove redundant headers · b1fe2d85
      Luigi Rizzo authored
      git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89518 65c4cc65-6c06-0410-ace0-fbb531ad65f3
      b1fe2d85
  11. Nov 21, 2007
  12. Nov 19, 2007
  13. 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
  14. Sep 19, 2007
  15. Jul 16, 2007
  16. Jun 12, 2007
  17. Aug 21, 2006
  18. Jun 07, 2006
  19. 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
  20. Apr 08, 2006
  21. Feb 15, 2006
  22. Dec 30, 2005
  23. Dec 04, 2005
  24. Nov 29, 2005
  25. Nov 08, 2005
  26. Nov 07, 2005
  27. Nov 06, 2005
  28. Oct 26, 2005
  29. Oct 24, 2005
  30. Oct 19, 2005
  31. Oct 18, 2005
  32. Oct 13, 2005
  33. Sep 14, 2005
  34. Sep 07, 2005
  35. Jun 06, 2005
  36. Apr 21, 2005
  37. Jan 21, 2005
Loading