Skip to content
Snippets Groups Projects
  1. Jul 06, 2022
    • Boris P. Korzun's avatar
      pbx_lua: Remove compiler warnings · 740c7737
      Boris P. Korzun authored
      Improved variable definitions (specified correct type) for avoiding
      compiler warnings.
      
      ASTERISK-30117 #close
      
      Change-Id: I3b00c1befb658ee9379ddabd9a9132765ca9201a
      740c7737
  2. Dec 02, 2021
  3. Nov 16, 2021
    • Josh Soref's avatar
      pbx: Spelling fixes · ccb8b8ff
      Josh Soref authored
      Correct typos of the following word families:
      
      process
      populate
      with
      africa
      accessing
      contexts
      exercise
      university
      organizations
      withhold
      maintaining
      independent
      rotation
      ignore
      eventname
      
      ASTERISK-29714
      
      Change-Id: I90eacc5bc3dcf75a9c898cfb85164f37dec08345
      ccb8b8ff
  4. Oct 08, 2021
  5. Sep 02, 2021
    • Mark Murawski's avatar
      pbx_ael: Fix crash and lockup issue regarding 'ael reload' · bbf4f300
      Mark Murawski authored
      Currently pbx_ael does not check if a reload is currently pending
      before proceeding with a reload. This can cause multiple threads to
      operate at the same time on what should be mutex protected data. This
      change adds protection to reloading to ensure only one ael reload is
      executing at a time.
      
      ASTERISK-29609 #close
      
      Change-Id: I5ed392ad226f6e4e7696ad742076d3e45c57af35
      bbf4f300
  6. Jan 06, 2021
    • Kevin Harwell's avatar
      pbx_realtime: wrong type stored on publish of ast_channel_snapshot_type · 4274a4a7
      Kevin Harwell authored
      A prior patch segmented channel snapshots, and changed the underlying
      data object type associated with ast_channel_snapshot_type stasis
      messages. Prior to Asterisk 18 it was a type ast_channel_snapshot, but
      now it type ast_channel_snapshot_update.
      
      When publishing ast_channel_snapshot_type in pbx_realtime the
      ast_channel_snapshot was being passed in as the message data
      object. When a handler, expecting a data object type of
      ast_channel_snapshot_update, dereferenced this value a crash
      would occur.
      
      This patch makes it so pbx_realtime now uses the expected type, and
      channel snapshot publish method when publishing.
      
      ASTERISK-29168 #close
      
      Change-Id: I9a2cfa0ec285169317f4b9146e4027da8a4fe896
      4274a4a7
  7. Jun 10, 2020
    • Kevin Harwell's avatar
      Compiler fixes for gcc 10 · 3d1bf3c5
      Kevin Harwell authored
      This patch fixes a few compile warnings/errors that now occur when using gcc
      10+.
      
      Also, the Makefile.rules check to turn off partial inlining in gcc versions
      greater or equal to 8.2.1 had a bug where it only it only checked against
      versions with at least 3 numbers (ex: 8.2.1 vs 10). This patch now ensures
      any version above the specified version is correctly compared.
      
      Change-Id: I54718496eb0c3ce5bd6d427cd279a29e8d2825f9
      3d1bf3c5
  8. Mar 25, 2020
    • Jaco Kroon's avatar
      dundi: fix NULL dereference. · 40e93b02
      Jaco Kroon authored
      If a negative (error) return is received from dundi_lookup_internal,
      this is not handled correctly when assigning the result to the buffer.
      As such, use a signed integer in the assignment and do a proper
      comparison.
      
      ASTERISK-21205
      
      Change-Id: I5214ebb6491e2bd14f90c7d3ce229da86888f739
      40e93b02
  9. Jun 05, 2019
  10. May 10, 2019
    • George Joseph's avatar
      Fixes for GCC 9 · c5c953c1
      George Joseph authored
      Various fixes for issues caught by gcc 9.  Mostly snprintf
      trying to copy to a buffer potentially too small.
      
      ASTERISK-28412
      
      Change-Id: I9e85a60f3c81d46df16cfdd1c329ce63432cf32e
      c5c953c1
  11. Apr 03, 2019
    • Ben Ford's avatar
      build: Fix compiler warnings/errors. · dd1cc779
      Ben Ford authored
      The compiler complained about a couple of variables that weren't
      initialized but were being used. Initializing them to NULL resolves the
      warnings/errors.
      
      ASTERISK-28362 #close
      
      Change-Id: I6243afc5459b416edff6bbf571b0489f6b852e4b
      dd1cc779
  12. Mar 07, 2019
    • Sean Bright's avatar
      Replace calls to strtok() with strtok_r() · 2473b791
      Sean Bright authored
      strtok() uses a static buffer, making it not thread safe.
      
      Also add a #define to cause a compile failure if strtok is used.
      
      Change-Id: Icce265153e1e65adafa8849334438ab6d190e541
      2473b791
  13. Nov 26, 2018
    • Joshua Colp's avatar
      stasis: Segment channel snapshot to reduce creation cost. · 50ac85cb
      Joshua Colp authored
      When a channel snapshot was created it used to be done
      from scratch, copying all data (many strings). This incurs
      a cost when doing so.
      
      This change segments the channel snapshot into different
      components which can be reused if unchanged from the
      previous snapshot creation, reducing the cost. In normal
      cases this results in some pointers being copied with
      reference count being bumped, some integers being set,
      and a string or two copied. The other benefit is that it
      is now possible to determine if a channel snapshot update
      is redundant and thus stop it before a message is published
      to stasis.
      
      The specific segments in the channel snapshot were split up
      based on whether they are changed together, how often they
      are changed, and their general grouping. In practice only
      1 (or 0) of the segments actually get changed in normal
      operation.
      
      Invalidation is done by setting a flag on the channel when
      the segment source is changed, forcing creation of a new
      segment when the channel snapshot is created.
      
      ASTERISK-28119
      
      Change-Id: I5d7ef3df963a88ac47bc187d73c5225c315f8423
      50ac85cb
  14. Nov 21, 2018
  15. Nov 08, 2018
    • Corey Farrell's avatar
      pbx_config: Only the first [globals] section is seen. · 8e34cb30
      Corey Farrell authored
      If multiple [globals] sections are used (for example via separate
      included files), only the first one is processed.  This can result in
      lost global variables when using a modular extensions.conf.
      
      ASTERISK-28146 #close
      
      Change-Id: Iaac810c0a7c4d9b1bf8989fcc041cdb910ef08a0
      Unverified
      8e34cb30
  16. Oct 02, 2018
  17. Aug 31, 2018
  18. Aug 17, 2018
    • Kirsty Tyerman's avatar
      pbx_dundi: Added IPv6 support for dundi · 328f772d
      Kirsty Tyerman authored
      Change includes move to netsock2 library.
      
      ASTERISK-27164
      Reported-by: Adam Secombe
      
      Change-Id: Ia9e8dc3d153de7a291dbda4bd87fc827dd2bb846
      328f772d
    • Richard Mudgett's avatar
      pbx_dundi.c: Misc memory management fixes when destroying peers · 273e2802
      Richard Mudgett authored
      * In destroy_peer(), fixed memory leaks of lookup history strings and
      qualify transactions when destroying peers.
      
      * In destroy_peer(), fixed leaving the registerexpire scheduled callback
      active when a peer is destroyed on a reload.  The reload marks and sweeps
      peers so any peers not explicitly configured get destroyed.  Peers created
      dynamically from the '*' peer will not exist until they re-register after
      the reload.  These destroyed peers caused memory corruption when the
      registerexpire timer expired.
      
      * Made build_peer() not schedule any callbacks on the '*' peer
      (empty_eid).  It is a special peer that is cloned to dynamically created
      peers so it doesn't actually get involved in any message transactions.
      
      * Made do_register_expire() remove the dundi/dpeers AstDB entry when a
      peer registration expires.
      
      * Fix deep_copy_peer() to not copy some things that cannot be copied to
      the cloned peer structure.  Timers, message transactions, and lookup
      history are specific to a peer instance.
      
      * Made set_config() lock around processing the mappings configuration.
      
      * Reordered unload_module() to handle load_module() declining the load due
      to error.
      
      Change-Id: Ib846b2b60d027f3a2c2b3b563d9a83a357dce1d6
      273e2802
    • Richard Mudgett's avatar
      pbx_dundi.c: Handle thread shutdown better. · d4e72ee2
      Richard Mudgett authored
      Change-Id: Id52f99bd6a948fe6dd82acc0a28b2447a224fe87
      d4e72ee2
    • Richard Mudgett's avatar
      pbx_dundi: Fix debug frame decode string. · 916abe7c
      Richard Mudgett authored
      * Fixed a typo in the name of the REGREQ frame decode string array.
      * Fixed off by one range check indexing into the frame decode string
      array.
      * Removed some unneeded casts associated with the decode string array.
      
      Change-Id: I77435e81cd284bab6209d545919bf236ad7933c2
      916abe7c
  19. Jun 29, 2018
  20. Jun 08, 2018
  21. May 11, 2018
    • Corey Farrell's avatar
      Fix GCC 8 build issues. · b5914d90
      Corey Farrell authored
      This fixes build warnings found by GCC 8.  In some cases format
      truncation is intentional so the warning is just suppressed.
      
      ASTERISK-27824 #close
      
      Change-Id: I724f146cbddba8b86619d4c4a9931ee877995c84
      b5914d90
  22. Apr 30, 2018
    • Christof Lauber's avatar
      pbx_lua: Support displaying lua error message if no debug table exists · 9c9f314f
      Christof Lauber authored
      The lua_error_function assumed that lua's debug table and traceback function
      are always accessible, which is not the case. This fixes the error message
      'Error in the lua error handler' triggred by switch exec() function.
      If this happens lua's error message is shown without traceback.
      
      Change-Id: I34ba0a098f1ae06a3af7b4d1b098bd43f42f96c8
      9c9f314f
  23. Jan 15, 2018
    • Corey Farrell's avatar
      loader: Add dependency fields to module structures. · 9cfdb81e
      Corey Farrell authored
      * Declare 'requires' and 'enhances' text fields on module info structure.
      * Rename 'nonoptreq' to 'optional_modules'.
      * Update doxygen comments.
      
      Still need to investigate dependencies among modules I cannot compile.
      
      Change-Id: I3ad9547a0a6442409ff4e352a6d897bef2cc04bf
      9cfdb81e
  24. Jan 07, 2018
    • Alexander Traud's avatar
      General: Silence modules on (un)load. · 7e9781c2
      Alexander Traud authored
      Some (normally optional) modules created notices, warnings, and even errors
      in normal situations like (un)load. This cluttered the command-line interface
      (CLI) on start and while stopping gracefully. However, when an user went for
      the script './contrib/scripts/install_prereq', those modules get compiled-in
      because their prerequisites were met at compile time. Furthermore, because of
      ASTERISK_27475, the former talkative module 'res_curl' is built as side-effect.
      
      ASTERISK-27553
      
      Change-Id: I9f105f46d72553994e820679bfde3478a551b281
      7e9781c2
  25. Dec 22, 2017
  26. Dec 19, 2017
    • Corey Farrell's avatar
      CLI: Address multiple issues. · d51837a1
      Corey Farrell authored
      * listen uses the variable `s` for the result from ast_poll() then
        overwrites it with the result of accept().  Create a separate variable
        poll_result to avoid confusion since ast_poll does not return a file
        descriptor.
      * Resolve fd leak that would occur if setsockopt failed in listen.
      * Reserve an extra byte while processing completion results from remote
        daemon.  This fixes a bug where completion processing used strstr() on
        a string that was not '\0' terminated.  This was no risk to the Asterisk
        daemon, the bug was only reachable the remote console process.
      * Resolve leak in handle_showchan when the channel is not found.
      * Multiple leaks and a deadlock in pbx_config CLI completion.
      * Fix leaks in "manager show command".
      
      Change-Id: I8f633ceb1714867ae30ef4e421858f77c14485a9
      d51837a1
  27. Nov 02, 2017
  28. Mar 08, 2017
    • Sean Bright's avatar
      pbx_spool: Set AST_OUTGOING_ATTEMPT variable on channel · bc2c66b5
      Sean Bright authored
      Set a variable on the channel that indicates which attempt number we
      are currently performing to allow for attempt-specific behavior.
      
      ASTERISK-26568 #close
      Reported by: Roman Shubovich
      
      Change-Id: Iacd7e8d43b0ed5b6cb021c62f41f1a1f5733dd89
      bc2c66b5
  29. Mar 06, 2017
    • Sean Bright's avatar
      pbx_spool: Gracefully handle long lines in call files · 5a74abc5
      Sean Bright authored
      Per the linked issue, we aren't checking the buffer filled by fgets()
      to determine if it contains a newline, so we will fail to correctly
      parse the trailing portion of a long line.
      
      This patch increases the buffer size from 256 to 1024, and skips any
      line that exceeds that length, logging a warning in the process.
      
      ASTERISK-17067 #close
      Reported by: Dave Olszewski
      
      Change-Id: I51bcf270c1b4347ba05b43f18dc2094c76f5d7b0
      5a74abc5
  30. Feb 22, 2017
    • Sean Bright's avatar
      pbx_realtime: Prevent premature extension matching · 15ed7af0
      Sean Bright authored
      The patterns provided by pbx_realtime were checked in the order in
      which they were returned from the realtime backend. If there was
      overlap between multiple patterns, the first one to correctly match was
      chosen even though it may not have been the best match.
      
      We now sort the patterns descending by their length and compare in that
      order. There may be cases where this still results in a sub-optimal
      match, but this patch should improve the overall behavior.
      
      ASTERISK-18271 #close
      Reported by: Charlie Smurthwaite
      
      Change-Id: I56d9ac15810eb1775966b669c3028e32cc7bd809
      15ed7af0
  31. Feb 21, 2017
    • Sean Bright's avatar
      pbx_dundi: DUNDi weight parameter not processed correctly · fc70ca94
      Sean Bright authored
      The DUNDi weight field is not always converted from network byte order
      to host byte order. This can result in incorrect weight values and
      incorrect selection of DUNDi destinations.
      
      ASTERISK-18731 #close
      Reported by: Peter Racz
      Patches:
      	dundi_weight.patch (license #6290) patch uploaded by Peter Racz
      
      Change-Id: Iba3e1a700ff539db57211a7bbc26f7b22ea9a1be
      fc70ca94
    • Sean Bright's avatar
      realtime: Fix ast_load_realtime_multientry handling · ab04a018
      Sean Bright authored
      ast_load_realtime_multientry() returns an ast_config structure whose
      ast_categorys are keyed with the empty strings. Several modules were
      giving semantic meaning to the category names causing problems at
      runtime.
      
      * app_directory: Treated the category name as the mailbox name, and
        would fail to direct calls to the appropriate extension after an
        entry was chosen.
      
      * app_queue: Queues, queue members, and queue rules were all affected
        and needed to be updated.
      
      * pbx_realtime: Pattern matching would never succeed because the
        extension entered by the user was always compared to the empty
        string.
      
      Change-Id: Ie7e44986344b0b76ea8f6ddb5879f5040c6ca8a7
      ab04a018
  32. Feb 10, 2017
    • Sean Bright's avatar
      manager: Restore Originate failure behavior from Asterisk 11 · 09107730
      Sean Bright authored
      In Asterisk 11, if the 'Originate' AMI command failed to connect the provided
      Channel while in extension mode, a 'failed' extension would be looked up and
      run. This was, I believe, unintentionally removed in 51b6c496. This patch
      restores that behavior.
      
      This also adds an enum for the various 'synchronous' modes in an attempt to
      make them meaningful.
      
      ASTERISK-26115 #close
      Reported by: Nasir Iqbal
      
      Change-Id: I8afbd06725e99610e02adb529137d4800c05345d
      09107730
  33. Jan 04, 2017
    • Jonathan R. Rose's avatar
      core/pbx: dialplan show - display filename/line# · d96e3502
      Jonathan R. Rose authored
      Adds the ability for extensions to be registered to include filename and
      line number so that dialplan show output can show the filename and line
      number of a config file responsible for generating a given extension.
      
      This only affects config modules that are written to use the new extension
      registering functions. In this patch, that only includes pbx_config, so
      extensions registered in extensions.conf and any included extension will
      be shown in this manner. Extensions registered in this manner will show
      the filename and line number *instead* of the registrar.
      
      ASTERISK-26658 #close
      Reported by: Jonathan R. Rose
      
      Change-Id: Ieccc6abccdff34ed5c7da3511fd24972b8f2dd30
      d96e3502
  34. Nov 23, 2016
  35. 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
  36. Aug 15, 2016
    • Alexei Gradinari's avatar
      core: Entity ID is not set or invalid · e85adbd9
      Alexei Gradinari authored
      The Exchanging Device and Mailbox States could not working
      if the Entity ID (EID) is not set manually and can't be obtained
      from ethernet interface.
      
      This patch replaces debug message to warning
      and addes missing description about option 'entityid' to
      asterisk.conf.sample.
      
      With this patch the asterisk also:
      (1) decline loading the modules which won't work without EID:
          res_corosync and res_pjsip_publish_asterisk.
      (2) warn if EID is empty on loading next modules:
          pbx_dundi, res_xmpp
      
      Starting with v197 systemd/udev will automatically assign "predictable"
      names for all local Ethernet interfaces.
      This patch also addes some new ethernet prefixes "eno" and "ens".
      
      ASTERISK-26164 #close
      
      Change-Id: I72d712f1ad5b6f64571bb179c5cb12461e7c58c6
      e85adbd9
Loading