Skip to content
Snippets Groups Projects
  1. Nov 16, 2017
  2. May 25, 2017
    • Martin Tomec's avatar
      Sqlite3: make busy_timeout configurable. · 44c5a144
      Martin Tomec authored
      Enables runtime configuration of busy_timeout for sqlite databases.
      Default timeout remains 1000ms.
      
      ASTERISK-27014 #close
      
      Change-Id: I8921a3aac3c335843be4cb17d2dd0a5c157a36da
      44c5a144
  3. May 09, 2017
    • George Joseph's avatar
      cel_odbc: Fix timestamp processing for microseconds · 1a1c8623
      George Joseph authored
      When a column is of type timestamp, the fraction part of the event
      field's seconds was frequently parsed incorrectly especially if
      there were leading zeros.  For instance "2017-05-23 23:55:03.023"
      would be parsed into an int as "23" then when the timestamp was
      formatted again to be inserted into the database column it'd be
      "2017-05-23 23:55:03.23" which is now 230 milliseconds instead of
      23 milliseconds.  "03.000001" would be transformed to "03.1", etc.
      
      * If the event field is 'eventtime' and the db column is timestamp,
        then existing processing has already correctly formatted the
        timestamp so now we simply use it rather than parsing it and
        re-printing it. This is the most common use case anyway.
      
      * If the event field is other than 'eventtime' and the db column
        is timestamp, we now parse the seconds, including the fractional
        part into a double rather than 2 ints.  This preserves the
        magnitude and precision of the fractional part.  When we print
        it, we now print it as a "%09.6lf" which correctly represents the
        input.
      
      To be honest, why we parse the string timestamp into components,
      test the components, then print the components back into a string
      timestamp is beyond me.  We should use parse it, test it, then if
      it passes, use the original string representation in the database
      call.  Maybe someone thought that some implementations wouldn't
      take a partial timestamp string like "2017-05-06" and decided to
      always produce a full timestamp string even if an abbreviated one
      was supplied.  Anyway, I'm leaving it as it is.
      
      ASTERISK-25032 #close
      Reported-by: Etienne Lessard
      
      Change-Id: Id407e6221f79a5c1120e1a70bc7e893bbcaf1938
      1a1c8623
  4. 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
  5. Mar 30, 2017
  6. Mar 29, 2017
    • Josh Roberson's avatar
      cel_pgsql.c: Fix buffer overflow calling libpq · f66edcb8
      Josh Roberson authored
      PQEscapeStringConn() expects the buffer passed in to be an
      adequitely sized buffer to write out the escaped SQL value string
      into.  It is possible, for large values (such as large values to
      Dial with a lot of devices) to have more than our 512+1 byte
      allocation and thus cause libpq to create a buffer overrun.
      
      glibc will nicely ABRT asterisk for you, citing a stack smash.
      
      Let's only allocate it to be as large as needed:
      If we have a value, then (strlen(value) * 2) + 1 (as recommended
      by libpq), and if we have none, just one byte to hold our null
      will do.
      
      ASTERISK-26896 #close
      
      Change-Id: If611c734292618ed68dde17816d09dd16667dea2
      f66edcb8
  7. Nov 14, 2016
    • Tzafrir Cohen's avatar
      Add support for building RADIUS with radcli · 97a75e38
      Tzafrir Cohen authored
      Radcli is yet another RADIUS client library, generally compatible with
      freeradius and radiusclient-ng.
      
      This commit adds autoconf option for detecting it as well and changes
      cdr_radius and cel_radius to use its header file in that case.
      
      ASTERISK-26540 #close
      
      Change-Id: I271f0715406334874865ffbce0b354b3a2ca148f
      97a75e38
  8. 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
  9. Oct 25, 2016
    • Badalyan Vyacheslav's avatar
      cdr_radius,cel_radius: Fix old memleak in unload · 01d1d376
      Badalyan Vyacheslav authored
      - Call "rc_openlog" optional. If you do not call,
      you will simply NULL instead of a name.
      
      - On the one PID can be only one syslog channel.
      And it can already be run in logger.c
      
      - Calling rc_openlog we assigns a new name for
      the channel syslog. This unexpected behavior for logger.c.
      
      Most lesser evil, is to agree on a NULL name syslog
      if the channel was not launched in logger.c.
      
      It also solves the problem of memory leaks.
      
      ASTERISK-26455 #close
      
      Change-Id: Ic17c38de67583e971d78fe18807d1a9faf8f0afd
      01d1d376
  10. Oct 10, 2016
  11. Jun 01, 2016
    • Richard Mudgett's avatar
      logging,cdr,cel: Fix stringfield memory leak. · 40d19f2e
      Richard Mudgett authored
      The stringfields refactor to allow adding stringfields to the end of a
      structure (f6f4cf45) exposed some
      incomplete cleanup code by some stringfield users.
      
      The most noticeable leaker is the logging system where there is a leak for
      every log message generated.
      
      ASTERISK-26078 #close
      Reported by:  Etienne Lessard
      Patches:
            jira_asterisk_26078_v13.patch (license #5621) patch uploaded
            by Richard Mudgett
      
      Change-Id: If6a08b31336b492c3de6f9dfd07c447f8d5a8782
      40d19f2e
  12. Jan 06, 2016
    • Aaron An's avatar
      cel/cel_radius: Fix wrong pointer. · 084563e1
      Aaron An authored
      The macro ADD_VENDOR_CODE defined in the cel_radius.c should use the parameter
      y not the address of y.
      
      I capture the radius UDP packet via tcpdump, and the AV pairs are not correct,
      then i review the source code and compare it with cdr/cdr_radius.c. Fix it and
       it works.
      
      ASTERISK-25647 #close
      Reported by: Aaron An
      Tested by: Aaron An
      
      Change-Id: I72889bccd8fde120d47aa659edc0e7e6d4d019f0
      084563e1
  13. Sep 18, 2015
  14. May 20, 2015
    • Rodrigo Ramírez Norambuena's avatar
      cel, cdr: Assigned separator for column name and values. · 9c3c7797
      Rodrigo Ramírez Norambuena authored
      Use a separator string between column names and values for SQL sentences
      instead of evaluating the separator to use each time.
      
      This change adds a space after the comma in constructing SQL sentences.
      Before the SQL was created like "INSERT INTO cdr(calldate,clid,dst"
      without spaces between column name and values.
      
      The files applied this change are cdr/cdr_adaptive_odbc.c, cdr/cdr_pgsql.c,
      cel/cel_odbc.c
      
      ASTERISK-25109 #close
      Reported By: Rodrigo Ramírez Norambuena <decipher.hk@gmail.com>
      
      Change-Id: Ia5a1a161f5e26e1643703b30f8cc9cf0860cc7ea
      9c3c7797
  15. May 13, 2015
  16. May 12, 2015
  17. May 05, 2015
    • Rodrigo Ramírez Norambuena's avatar
      cel_pgsql: Add support for setting schema · cb79b8ab
      Rodrigo Ramírez Norambuena authored
      Add feature to set optional schema parameter on configuration file via
      'schema' setting.
      
      Fix query to get columns from table while considering schema. If in
      the database there exists two tables with same name in distinct schemas
      it will return an error when inserting record.
      
      ASTERISK-24967 #close
      
      Change-Id: I691fd2cbc277fcba10e615f5884f8de5d8152f2c
      cb79b8ab
  18. Apr 15, 2015
  19. 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
  20. Apr 08, 2015
  21. Mar 28, 2015
  22. Jan 21, 2015
  23. Nov 15, 2014
  24. Sep 26, 2014
  25. Jul 25, 2014
  26. Jul 16, 2014
  27. Jun 16, 2014
  28. May 28, 2014
    • Matthew Jordan's avatar
      Logger/CLI/etc.: Fix some aesthetic issues; reduce chatty verbose messages · fb5690ce
      Matthew Jordan authored
      This patch addresses some aesthetic issues in Asterisk. These are all just
      minor tweaks to improve the look of the CLI when used in a variety of
      settings. Specifically:
       * A number of chatty verbose messages were removed or demoted to DEBUG
         messages. Verbose messages with a verbosity level of 5 or higher were -
         if kept as verbose messages - demoted to level 4. Several messages
         that were emitted at verbose level 3 were demoted to 4, as announcement
         of dialplan applications being executed occur at level 3 (and so the
         effects of those applications should generally be less).
       * Some verbose messages that only appear when their respective 'debug'
         options are enabled were bumped up to always be displayed.
       * Prefix/timestamping of verbose messages were moved to the verboser
         handlers. This was done to prevent duplication of prefixes when the
         timestamp option (-T) is used with the CLI.
       * Verbose magic is removed from messages before being emitted to
         non-verboser handlers. This prevents the magic in multi-line verbose
         messages (such as SIP debug traces or the output of DumpChan) from
         being written to files.
       * _Slightly_ better support for the "light background" option (-W) was
         added. This includes using ast_term_quit in the output of XML
         documentation help, as well as changing the "Asterisk Ready" prompt to
         bright green on the default background (which stands a better chance of
         being displayed properly than bright white).
      
      Review: https://reviewboard.asterisk.org/r/3547/
      
      
      
      git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@414798 65c4cc65-6c06-0410-ace0-fbb531ad65f3
      fb5690ce
  29. May 09, 2014
  30. Jan 28, 2014
  31. Jan 15, 2014
  32. Jan 03, 2014
  33. Dec 31, 2013
    • Kevin Harwell's avatar
      cel_pgsql: deadlock on unload and core_event_dispatcher · bb30b224
      Kevin Harwell authored
      A deadlock can happen between a thread unloading or reloading the cel_pgsql
      module and the core_event_dispatcher taskprocessor thread. Description of
      what is happening:
      
      Thread 1 (for example, a netconsole thread):
      
          a "module reload cel_pgsql" is launched
          the thread enter the "my_unload_module" function (cel_pgsql.c)
          the thread acquire the write lock on psql_columns
          the thread enter the "ast_event_unsubscribe" function (event.c)
          the thread try to acquire the write lock on ast_event_subs[sub->type]
      
      Thread 2 (core_event_dispatcher taskprocessor thread):
      
          the taskprocessor pop a CEL event
          the thread enter the "handle_event" function (event.c)
          the thread acquire the read lock on ast_event_subs[sub->type]
          the thread callback the "pgsql_log" function (cel_pgsql.c), since it's a subscriber of CEL events
          the thread try to acquire a read lock on psql_columns
      
      (closes issue ASTERISK-22854)
      Reported by: Etienne Lessard
      Patches:
           cel_pgsql_fix_deadlock_event.patch uploaded by hexanol (license 6394)
      ........
      
      Merged revisions 404603 from http://svn.asterisk.org/svn/asterisk/branches/1.8
      ........
      
      Merged revisions 404604 from http://svn.asterisk.org/svn/asterisk/branches/11
      ........
      
      Merged revisions 404605 from http://svn.asterisk.org/svn/asterisk/branches/12
      
      
      git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@404606 65c4cc65-6c06-0410-ace0-fbb531ad65f3
      bb30b224
  34. Sep 03, 2013
  35. Aug 17, 2013
  36. Jun 17, 2013
    • Matthew Jordan's avatar
      Update Asterisk's CDRs for the new bridging framework · 6258bbe7
      Matthew Jordan authored
      This patch is the initial push to update Asterisk's CDR engine for the new
      bridging framework. This patch guts the existing CDR engine and builds the new
      on top of messages coming across Stasis. As changes in channel state and bridge
      state are detected, CDRs are built and dispatched accordingly. This
      fundamentally changes CDRs in a few ways.
      (1) CDRs are now *very* reflective of the actual state of channels and bridges.
          This means CDRs track well with what an actual channel is doing - which
          is useful in transfer scenarios (which were previously difficult to pin
          down). It does, however, mean that CDRs cannot be 'fooled'. Previous
          behavior in Asterisk allowed for CDR applications, channels, and other
          properties to be spoofed in parts of the code - this no longer works.
      (2) CDRs have defined behavior in multi-party scenarios. This behavior will not
          be what everyone wants, but it is a defined behavior and as such, it is
          predictable.
      (3) The CDR manipulation functions and applications have been overhauled. Major
          changes have been made to ResetCDR and ForkCDR in particular. Many of the
          options for these two applications no longer made any sense with the new
          framework and the (slightly) more immutable nature of CDRs.
      
      There are a plethora of other changes. For a full description of CDR behavior,
      see the CDR specification on the Asterisk wiki.
      
      (closes issue ASTERISK-21196)
      
      Review: https://reviewboard.asterisk.org/r/2486/
      
      
      
      git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@391947 65c4cc65-6c06-0410-ace0-fbb531ad65f3
      6258bbe7
  37. Oct 14, 2012
  38. Sep 22, 2012
    • Andrew Latham's avatar
      Doxygen Updates Janitor Work · fd98835f
      Andrew Latham authored
      * Whitespace, doc-blocks, spelling, case, missing and incorrect tags.
      * Add cleanup to Makefile for the Doxygen configuration update
      * Start updating Doxygen configuration for cleaner output
      * Enable inclusion of configuration files into documentation
      * remove mantisworkflow...
      * update documentation README
      * Add markup to Tilghman's email and talk with him about updating his email, he knows...
      * no code changes on this commit other than the mentioned Makefile change
      
      (issue ASTERISK-20259)
      
      
      git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@373384 65c4cc65-6c06-0410-ace0-fbb531ad65f3
      fd98835f
  39. Sep 21, 2012
    • Andrew Latham's avatar
      Doxygen Updates - janitor work · 6f61cb50
      Andrew Latham authored
      Doxygen updates including mistakes, misspellings, missing parameters, updates for Doxygen style.  Some missing txt file links are removed but their content or essense will be included in some later updates.  A majority of the txt files were removed in the 1.6 era but never noted. The HR and EXTREF are simple changes that make the documentation more compatable with more versions of Doxygen.
      
      Further updates coming.
      
      (issue ASTERISK-20259)
      
      
      git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@373330 65c4cc65-6c06-0410-ace0-fbb531ad65f3
      6f61cb50
Loading