Skip to content
Snippets Groups Projects
  1. Nov 23, 2017
  2. Oct 10, 2017
  3. Sep 18, 2017
  4. Sep 01, 2017
  5. Aug 01, 2017
    • Corey Farrell's avatar
      Fix compiler warnings on Fedora 26 / GCC 7. · 58d03211
      Corey Farrell authored
      GCC 7 has added capability to produce warnings, this fixes most of those
      warnings.  The specific warnings are disabled in a few places:
      
      * app_voicemail.c: truncation of paths more than 4096 chars in many places.
      * chan_mgcp.c: callid truncated to 80 chars.
      * cdr.c: two userfields are combined to cdr copy, fix would break ABI.
      * tcptls.c: ignore use of deprecated method SSLv3_client_method().
      
      ASTERISK-27156 #close
      
      Change-Id: I65f280e7d3cfad279d16f41823a4d6fddcbc4c88
      58d03211
  6. May 30, 2017
    • Sean Bright's avatar
      format_mp3: Re-work menuselect/build issues · 045d7b8c
      Sean Bright authored
      Rather than removing format_mp3 from ALL_C_MODS (which caused format_mp3
      to not show up in menuselect), use .PHONY targets when the necessary
      source files are not present.
      
      ASTERISK-23951
      Reported by: Tzafrir Cohen
      
      Change-Id: I0a7512c51acc9e86043671795020b0de725bd9e8
      045d7b8c
  7. May 25, 2017
  8. Apr 25, 2017
    • Sean Bright's avatar
      cleanup: Fix fread() and fwrite() error handling · f5b67871
      Sean Bright authored
      Cleaned up some of the incorrect uses of fread() and fwrite(), mostly in
      the format modules. Neither of these functions will ever return a value
      less than 0, which we were checking for in some cases.
      
      I've introduced a fair amount of duplication in the format modules, but
      I plan to change how format modules work internally in a subsequent
      patch set, so this is simply a stop-gap.
      
      Change-Id: I8ca1cd47c20b2c0b72088bd13b9046f6977aa872
      f5b67871
  9. Apr 12, 2017
    • George Joseph's avatar
      modules: change module LOAD_FAILUREs to LOAD_DECLINES · 747beb1e
      George Joseph authored
      In all non-pbx modules, AST_MODULE_LOAD_FAILURE has been changed
      to AST_MODULE_LOAD_DECLINE.  This prevents asterisk from exiting
      if a module can't be loaded.  If the user wishes to retain the
      FAILURE behavior for a specific module, they can use the "require"
      or "preload-require" keyword in modules.conf.
      
      A new API was added to logger: ast_is_logger_initialized().  This
      allows asterisk.c/check_init() to print to the error log once the
      logger subsystem is ready instead of just to stdout.  If something
      does fail before the logger is initialized, we now print to stderr
      instead of stdout.
      
      Change-Id: I5f4b50623d9b5a6cb7c5624a8c5c1274c13b2b25
      747beb1e
  10. Mar 27, 2017
  11. Feb 21, 2017
    • Sean Bright's avatar
      realtime: Centralize some common realtime backend code · 6e6c96d7
      Sean Bright authored
      All of the realtime backends create artificial ast_categorys to pass
      back into the core as query results. These categories have no filename
      or line number information associated with them and the backends differ
      slightly on how they create them. So create a couple helper macros to
      help make things more consistent.
      
      Also updated the call sites to remove redundant error messages about
      memory allocation failure.
      
      Note that res_config_ldap sets the category filename to the 'table name'
      but that is not read by anything in the core, so I've dropped it.
      
      Change-Id: I3a1fd91e0c807dea1ce3b643b0a6fe5be9002897
      6e6c96d7
  12. Feb 16, 2017
    • Sean Bright's avatar
      realtime: Fix LIKE escaping in SQL backends · e93f2a51
      Sean Bright authored
      The realtime framework allows for components to look up values using a
      LIKE clause with similar syntax to SQL's. pbx_realtime uses this
      functionality to search for pattern matching extensions that start with
      an underscore (_).
      
      When passing an underscore to SQL's LIKE clause, it will be interpreted
      as a wildcard matching a single character and therefore needs to be
      escaped. It is (for better or for worse) the responsibility of the
      component that is querying realtime to escape it with a backslash before
      passing it in. Some RDBMs support escape characters by default, but the
      SQL92 standard explicitly says that there are no escape characters
      unless they are specified with an ESCAPE clause, e.g.
      
      	SELECT * FROM table WHERE column LIKE '\_%' ESCAPE '\'
      
      This patch instructs 3 backends - res_config_mysql, res_config_pgsql,
      and res_config_sqlite3 - to use the ESCAPE clause where appropriate.
      
      Looking through documentation and source tarballs, I was able to
      determine that the ESCAPE clause is supported in:
      
      MySQL 5.0.15   (released 2005-10-22 - earliest version available from
                      archives)
      PostgreSQL 7.1 (released 2001-04-13)
      SQLite 3.1.0   (released 2005-01-21)
      
      The versions of the relevant libraries that we depend on to access MySQL
      and PostgreSQL will not work on versions that old, and I've added an
      explicit check in res_config_sqlite3 to only use the ESCAPE clause when
      we have a sufficiently new version of SQLite3.
      
      res_config_odbc already handles the escape characters appropriately, so
      no changes were required there.
      
      ASTERISK-15858 #close
      Reported by: Humberto Figuera
      
      ASTERISK-26057 #close
      Reported by: Stepan
      
      Change-Id: I93117fbb874189ae819f4a31222df7c82cd20efa
      e93f2a51
  13. Nov 11, 2016
    • Timo Teräs's avatar
      addons/chan_mobile: do not use strerror_r · 939dcf66
      Timo Teräs authored
      The two reasons why it might be used are that some systems do not
      implement strerror in thread safe manner, and that strerror_r returns
      the error code in the string in case there's no error message.
      
      However, all of asterisk elsewhere uses strerror() and assumes it
      to be thread safe. And in chan_mobile the errno is also explicitly
      printed so neither of the above reasons are valid.
      
      The reasoning to remove usage is that there are actually two versions
      of strerror_r: XSI and GNU. They are incompatible in their return
      value, and there's no easy way to figure out which one is being
      used. glibc gives you the GNU version if _GNU_SOURCE is defined,
      but the same feature test macro is needed for other symbols. On
      all other systems you assumedly get XSI symbol, and compilation warnings
      as well as non-working error printing.
      
      Thus the easiest solution is to just remove strerror_r and use
      strerror as rest of the code. Alternative is to introduce ast_strerror
      in separate translation unit so it can request the XSI symbol in
      glibc case, and replace all usage of strerror.
      
      Change-Id: I84d35225b5642d85d48bc35fdf399afbae28a91d
      939dcf66
  14. Nov 07, 2016
  15. Nov 03, 2016
  16. 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
  17. Oct 12, 2016
    • George Joseph's avatar
      res_config_mysql: Fix several issues related to recent table changes · 3b3d0688
      George Joseph authored
      Unlike any of the other database drivers, res_config_mysql checks that
      the table definition matches the requirements for every insert and
      update statement.  Since all requirements are forced to 'char', any
      column that isn't a char, like ps_contacts' expiration_time,
      qualify_timeout, etc., will throw a warning.  It's kinda harmless but
      very misleading.  Since no other driver does those checks on insert
      or update, they've been removed from res_config_mysql.  Also, all
      the logic that actually attempted to ALTER the table to fix the issue
      has been removed.  With the move to alembic, the auto-alter
      functionality is not only unnecessary, it's also dangerous.
      
      The other issue is that res_config_mysql calls the mysql_insert_id
      function inside store_mysql.  Presumably the intention was to return
      the number of rows inserted DESPITE A NOTE IN THE CODE THAT THE VALUE
      IS NON_PORTABLE AND MAY CHANGE.  That value is then returned to
      config realtime as the number of rows inserted.  Guess what?  The value
      changed.  It now only returns the number of rows inserted if there's an
      auto increment column on the table, which ps_contacts doesn't have.
      Otherwise it returns 0.  So now, the insert worked but we tell config
      realtime and sorcery that no rows were inserted.  That call to
      mysql_insert_id was removed and we now always return 1 if the insert
      succeeded.  We're only inserting 1 row at a time anyway.  If the insert
      fails, we still return -1.
      
      ASTERISK-26362 #close
      Reported-by: Carlos Chavez
      
      Change-Id: I83ce633efdb477b03c8399946994ee16fefceaf4
      3b3d0688
  18. Sep 15, 2016
    • Tzafrir Cohen's avatar
      cdr_mysql: fix UTC support · d3ddf4b0
      Tzafrir Cohen authored
      * Make 'cdrzone=UTC' work properly.
      * Fix the documentation of cdr_mysql.conf: it's cdrzone and not timezone
      
      ASTERISK-26359 #close
      
      Change-Id: I2a6f67b71bbbe77cac31a34d0bbfb1d67c933778
      d3ddf4b0
  19. Aug 16, 2016
    • Corey Farrell's avatar
      Refactor usage pattern of xmldoc info tag. · 824a4e84
      Corey Farrell authored
      This updates func_channel.c and main/message.c to use a generic xpointer
      include instead of including info from each channel driver.  Now the
      name attribute of info is CHANNEL or CHANNEL_EXAMPLES to be included in
      documentation for func_channel.  Setting the name attribute of info to
      MessageToInfo or MessageFromInfo causes it to be included in the
      MessageSend application and AMI action.
      
      Change-Id: I89fd8276a3250824241a618009714267d3a8d1ea
      824a4e84
  20. Aug 15, 2016
    • Matt Jordan's avatar
      func_channel: Reorganize documentation · ddab42e2
      Matt Jordan authored
      * Following the example of the PJSIP channel driver, the channel
        technology specific documentation has been moved to the respective
        channel drivers that provide that functionality. This has the benefit
        of locating the documentation of items with those modules that provide
        it.
      
      * Examples of using the CHANNEL function for both standard items as well
        as for PJSIP have been added.
      
      * The 'max_forwards' standard item has been documented.
      
      Change-Id: Ifaa79a232c8ac99cf8da6ef6cc7815d398b1b79b
      ddab42e2
  21. Jun 08, 2016
    • Timo Teräs's avatar
      Fixes to include signal.h · 39b69ab5
      Timo Teräs authored
      POSIX defines signal.h. sys/signal.h should not be used as it is
      c-library internal header which may or may not exist. Notably with
      musl it generates warning of being incorrect.
      
      Change-Id: Ia56b0aa1d84b5c590114867b1b384a624f39a6fc
      39b69ab5
  22. Jun 07, 2016
    • Alexander Traud's avatar
      BuildSystem: Avoid 'ar cru' and use 'ar cr' instead. · da943ec5
      Alexander Traud authored
      In several internal library projects, the files are archived with the help of
      'ar cr'. Only the projects editline and the Objective Open H.323 stack
      implementation in C (ooh323c) use 'ar cru' instead. Recently, some platforms
      changed the default parameters of AR which creates "/usr/bin/ar: `u' modifier
      ignored since `D' is the default (see `U')". For consistency and to avoid this
      message all projects use 'ar cr' now.
      
      ASTERISK-26091 #close
      
      Change-Id: I710a9b1c01c1b5a1931a646098c044c8161ead40
      da943ec5
  23. Mar 07, 2016
    • Rodrigo Ramírez Norambuena's avatar
      main/cli.c: Refactor function to print seconds formatted · 0ec9fe54
      Rodrigo Ramírez Norambuena authored
      Refactor and created function ast_cli_print_timestr_fromseconds to print
      seconds formatted:  year(s) week(s) day(s) hour(s) second(s)
      
      This function now is used in addons/cdr_mysql.c,cdr_pgsql.c, main/cli.c,
      res_config_ldap.c, res_config_pgsql.c.
      
      Change-Id: Ibeb8634102cd11d3f8623398b279cb731bcde36c
      0ec9fe54
  24. Feb 02, 2016
  25. Nov 09, 2015
  26. Sep 09, 2015
  27. Sep 07, 2015
  28. May 13, 2015
  29. May 08, 2015
    • Alexandre Fournier's avatar
      res_config_mysql: Fix broken column type checking · 1503d0c1
      Alexandre Fournier authored
      MySQL configuration engine contains a bug in require_mysql(). This
      function is used for column type checking in tables. This bug only
      affects DATETIME, DATE and FLOAT types.
      
      It came from mixing the first condition (switch-case-like
      if/then/else), to check the expected column type, with the second
      condition, to check the actual column type against the expected column
      type. Both conditions must be checked separately in order to avoid the
      execution of the wrong block.
      
      ASTERISK-18252 #comment This patch might fix the issue
      Reported by: Gareth Blades
      
      ASTERISK-25041 #close
      Reported by: Alexandre Fournier
      Tested by: Alexandre Fournier
      
      Change-Id: I0b8bf7e68ab938be8e6525a249260cb648cb0bfa
      1503d0c1
  30. Apr 14, 2015
    • Corey Farrell's avatar
      Build System: Create Makefile macro MOD_ADD_SOURCE. · 62508d68
      Corey Farrell authored
      This new macro allows a single line to add all additional
      sources to a module.  This helps prevent modules from
      missing steps, and makes future changes easier since
      they can be made in a single place.
      
      ASTERISK-24960 #close
      Reported by: Corey Farrell
      
      Change-Id: I38f12d8b72c5e7bb37a879b2fb51761a2855eb4b
      62508d68
  31. 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
  32. Apr 12, 2015
    • George Joseph's avatar
      Add .gitignore and .gitreview files · b35e184d
      George Joseph authored
      Add the .gitignore and .gitreview files to the asterisk repo.
      
      NB:  You can add local ignores to the .git/info/exclude file
      without having to do a commit.
      
      Common ignore patterns are in the top-level .gitignore file.
      Subdirectory-specific ignore patterns are in their own .gitignore
      files.
      
      Change-Id: I842a1588ff27d8a0189f12d597f0a7af033d6c69
      Tested-by: George Joseph
      b35e184d
  33. Jan 23, 2015
  34. Dec 17, 2014
  35. Nov 09, 2014
  36. Oct 15, 2014
  37. Oct 03, 2014
  38. Sep 26, 2014
  39. Jul 25, 2014
Loading