Skip to content
Snippets Groups Projects
  1. Jun 25, 2020
    • Joshua C. Colp's avatar
      menuselect: Resolve infinite loop in dependency scenario. · 9b504243
      Joshua C. Colp authored
      Given a scenario where a module has a dependency on both
      an external library and a module if the external library was
      available and the module was not an infinite loop would
      occur. This happened due to the code changing the dependecy
      status to no failure on each dependency checking loop
      iteration, resulting in the code thinking that it had
      gone from no failure to failure each time triggering another
      dependency check.
      
      This change makes it so that the old dependency status is
      preserved throughout the dependency checking allowing it to
      determine that after the first iteration the dependency
      status does not transition from no failure to failure.
      
      ASTERISK-28930
      
      Change-Id: Iea06d45d9fd6d8bfd068882a0bb7e23a53ec3e84
      9b504243
  2. Apr 17, 2020
  3. Apr 13, 2020
  4. Feb 26, 2020
    • Sebastian Kemper's avatar
      check_expr2: fix cross-compile/hardening issues · b7fbb9c4
      Sebastian Kemper authored
      
      When building check_expr2 with ASLR PIE hardening enabled the linker
      fails. This is resolved by adding the regular compiler flags when
      building the object files from ast_expr2f.c and ast_expr2.c.
      
      Note: The STANDALONE define is removed because it is already defined in
      _ASTCFLAGS. YY_NO_INPUT is defined so that the compile survives
      '--enable-dev-mode'.
      
      Also, a Makefile variable "CROSS_COMPILING" is added so that the
      build system doesn't try to run check_expr2 when cross-compiling,
      because that will fail the build as will.
      
      ASTERISK-28685 #close
      
      Signed-off-by: default avatarSebastian Kemper <sebastian_ml@gmx.net>
      Change-Id: If435b7db9f9ad8266245bda51c81c220f9658915
      b7fbb9c4
  5. Aug 09, 2019
  6. Jun 13, 2019
    • Joshua Colp's avatar
      res_rtp_asterisk: Add support for DTLS packet fragmentation. · a8e5cf55
      Joshua Colp authored
      This change adds support for larger TLS certificates by allowing
      OpenSSL to fragment the DTLS packets according to the configured
      MTU. By default this is set to 1200.
      
      This is accomplished by implementing our own BIO method that
      supports MTU querying. The configured MTU is returned to OpenSSL
      which fragments the packet accordingly. When a packet is to be
      sent it is done directly out the RTP instance.
      
      ASTERISK-28018
      
      Change-Id: If2d5032019a28ffd48f43e9e93ed71dbdbf39c06
      a8e5cf55
  7. Jun 11, 2019
    • Alexei Gradinari's avatar
      app_attended_transfer: new application AttendedTransfer · 3eaeb3e6
      Alexei Gradinari authored
      AttendedTransfer queues up attended transfer to the given extension.
      
      This application can be useful with Custom Dynamic Features.
      For example to make attended transfer to a predefined number.
      
      features.conf
      ;;;
      [applicationmap]
      my_atxfer => *7,self,GoSub,"my_atxfer,s,1",default
      ;;;
      
      extensions.conf
      ;;;
      [globals]
      DYNAMIC_FEATURES=my_atxfer
      TRANSFER_CONTEXT=my_transfer
      
      [my_atxfer]
      exten => s,1,AttendedTransfer(1234567890)
         same => n,Return()
      
      [my_transfer]
      include => default
      ;;;
      
      This application also can be used to completly redefine Attended transfer
      feature using dialplan. For example:
      
      features.conf
      ;;;
      [featuremap]
      atxfer => *7
      
      [applicationmap]
      custom_atxfer => *2,self,GoSub,"custom_atxfer,s,1",default
      ;;;
      
      extensions.conf
      ;;;
      [globals]
      DYNAMIC_FEATURES=custom_atxfer
      TRANSFER_CONTEXT=my_transfer
      
      [custom_atxfer]
      exten => s,1,
         same => n,Playback(pbx-transfer)
         same => n,Read(dest,dial,10,i,3,3)
         same => n,AttendedTransfer(${dest})
         same => n,Return()
      
      [my_transfer]
      include => default
      ;;;
      
      Change-Id: Ie5cfa455d0813cffd5c85a6fb117f07d8f0b903b
      3eaeb3e6
  8. Jun 07, 2019
    • Alexei Gradinari's avatar
      app_blind_transfer: new application BlindTransfer · 745cbab5
      Alexei Gradinari authored
      BlindTransfer redirects all channels currently bridged to the
      caller channel to the specified destination.
      
      This application can be useful with Custom Dynamic Features.
      For example to make blind transfer to a predefined number.
      
      features.conf
      ;;;
      [applicationmap]
      my_blindxfer => *6,self,GoSub,"my_blindxfer,s,1",default
      ;;;
      
      extensions.conf
      ;;;
      [globals]
      DYNAMIC_FEATURES=my_blindxfer
      
      [my_blindxfer]
      exten => s,1,BlindTransfer(1234567890,default)
         same => n,Return()
      ;;;
      
      This application also can be used to completly redefine Blind transfer
      feature using dialplan. For example:
      
      features.conf
      ;;;
      [featuremap]
      blindxfer =>
      
      [applicationmap]
      custom_blindxfer => ##,self,GoSub,"custom_blindxfer,s,1",default
      ;;;
      
      extensions.conf
      ;;;
      [globals]
      DYNAMIC_FEATURES=custom_blindxfer
      
      [custom_blindxfer]
      exten => s,1,
         same => n,Playback(pbx-transfer)
         same => n,Read(dest,dial,10,i,3,3)
         same => n,BlindTransfer(${dest},default)
         same => n,Return()
      ;;;
      
      Change-Id: I9d55e7f69ccfd4472dec00d62771d6de8803215a
      745cbab5
  9. Feb 28, 2019
  10. Sep 25, 2018
    • George Joseph's avatar
      configure.ac: Check for unbound version >= 1.5 · 1ba51b00
      George Joseph authored
      In order to do this and provide good feedback, a new macro was
      created (AST_EXT_LIB_EXTRA_CHECK) which does the normal check and
      path setups for the library then compiles, links and runs a supplied
      code fragment to do the final determination.  In this case, the
      final code fragment compares UNBOUND_VERSION_MAJOR
      and UNBOUND_VERSION_MINOR to determine if they're greater than or
      equal to 1.5.
      
      Since we require version 1.5, some code in res_resolver_unbound
      was also simplified.
      
      ASTERISK-28045
      Reported by: Samuel Galarneau
      
      Change-Id: Iee94ad543cd6f8b118df8c4c7afd9c4e2ca1fa72
      1ba51b00
  11. Sep 24, 2018
  12. Sep 21, 2018
    • Kevin Harwell's avatar
      rtp_engine: rtcp_report_to_json can overflow the ssrc integer value · 31fba4e8
      Kevin Harwell authored
      When writing an RTCP report to json the code attempts to pack the "ssrc" and
      "source_ssrc" unsigned integer values as a signed int value type. This of course
      means if the ssrc's unsigned value is greater than that which can fit into a
      signed integer value it gets converted to a negative number. Subsequently, the
      negative value goes out in the json report.
      
      This patch now packs the value as a json_int_t, which is the widest integer type
      available on a given system. This should make it so the value no longer
      overflows.
      
      Note, this was caught by two failing tests hep/rtcp-receiver/ and
      hep/rtcp-sender.
      
      Change-Id: I2af275286ee5e795b79f0c3d450d9e4b28e958b0
      31fba4e8
  13. Sep 17, 2018
  14. Jul 29, 2018
    • Alexander Traud's avatar
      BuildSystem: Enable ncurses for menuselect in Solaris 11. · 7418dfa2
      Alexander Traud authored
      The check for the library ncurses should use not use the header <curses.h> but
      <ncurses.h>, because on some platforms <curses.h> is not a drop-in replacement
      for <ncurses.h>: For example in Solaris, the symbol initscr is a typedef in
      <curses.h> to a symbol which does not exist in the library ncurses (initscr32).
      Simply use <ncurses.h> when you link to ncurses.
      
      Furthermore in Solaris, the header <ncurses.h> is in a subdirectory
      /usr/include/ncurses and not available via pkg-config.
      
      ASTERISK-15331
      ASTERISK-14935
      ASTERISK-12382
      ASTERISK-9107
      
      Change-Id: Ife367776b0ccf17d3fefed868245376bfb93745d
      7418dfa2
  15. Jul 18, 2018
  16. Jun 15, 2018
  17. Apr 20, 2018
    • Alexander Traud's avatar
      menuselect: Add DragonFly BSD. · d5463737
      Alexander Traud authored
      In DragonFly BSD, added libraries from ports are placed into /usr/local.
      Therefore, this directory must be added for the preprocessor, compiler, and
      linker.
      
      Beside that, the script ./configure was updated:
      * OSARCH list was outdated and not used, removed.
      * AC_CANONICAL_BUILD was not used.
      * _REENTRANT, this feature test macro is obsolete.
      
      ASTERISK-27820
      
      Change-Id: I186d88d99cfa4de6569888e12ac97bd2f441c422
      d5463737
  18. Apr 04, 2018
    • Corey Farrell's avatar
      Build System: Strip '-std=c99' from CFLAGS provided by libraries. · e40fd7a2
      Corey Farrell authored
      Asterisk requires GNU C extensions.  On some systems certain libraries
      may incorrectly push -std=c99 into CFLAGS, thus breaking the build.
      This change causes that flag to be stripped so the Asterisk build is not
      broken by those libraries.  This change is made for both pkgconfig and
      tool based libraries.
      
      ASTERISK-27629 #close
      
      Change-Id: I13389613b194abbac77becf90cd950dc168704db
      e40fd7a2
  19. Mar 01, 2018
    • Richard Mudgett's avatar
      core: Remove ABI effects of MALLOC_DEBUG. · c711e407
      Richard Mudgett authored
      This allows asterisk to be compiled with MALLOC_DEBUG to load modules
      built without MALLOC_DEBUG.  Now pre-compiled third-party modules will
      still work regardless of MALLOC_DEBUG being enabled or not.
      
      Change-Id: Ic07ad80b2c2df894db984cf27b16a69383ce0e10
      c711e407
  20. Feb 17, 2018
    • Corey Farrell's avatar
      BuildSystem: Use single bootstrap.sh for Asterisk and menuselect. · 525c0251
      Corey Farrell authored
      This causes the root bootstrap.sh script to generate configure scripts
      for both Asterisk and menuselect.  This ensures that both configure
      scripts are generated with the same version of autotools and avoids
      situations where shared autoconf macros get modified without
      regenerating the menuselect script.
      
      Change-Id: I2bfd8537bbb63b3d46b11efabbb15eaaf9ef731a
      525c0251
  21. Jan 12, 2018
  22. Dec 28, 2017
    • Corey Farrell's avatar
      menuselect: Fix check for running configure. · 6338a03c
      Corey Farrell authored
      menuselect/Makefile checks that autoconfig.h and makeopts were newer
      than the '.in' files.  Unfortunately running ./configure does not touch
      autoconfig.h unless the contents will change.
      
      Instead of looking at autoconfig.h we just need to ensure that makeopts
      is newer than configure.
      
      Also make change to configure.ac so bootstrap.sh doesn't re-add the
      extra trailing line-feed.
      
      Change-Id: Ief1f831d6717007f9cebb668c14e92782cd2b794
      6338a03c
  23. Dec 22, 2017
  24. Dec 20, 2017
    • Corey Farrell's avatar
      Fix Common Typo's. · 1b80ffa4
      Corey Farrell authored
      Fix instances of:
      * Retreive
      * Recieve
      * other then
      * different then
      * Repeated words ("the the", "an an", "and and", etc).
      * othterwise, teh
      
      ASTERISK-24198 #close
      
      Change-Id: I3809a9c113b92fd9d0d9f9bac98e9c66dc8b2d31
      1b80ffa4
  25. Dec 12, 2017
    • Corey Farrell's avatar
      menuselect: Tweak check for recently run configure. · 6a67828b
      Corey Farrell authored
      Recently menuselect has randomly produced an error stating that
      configure was just run and make had to be restarted.  I believe this is
      due to an incorrect menuselect/Makefile rule.  The original rule
      produced an error if makeopts or autoconfig.h were older than
      makeopts.in or autoconfig.h.in.  I believe this can create an issue if
      makeopts is older than autoconfig.h.in or if autoconfig.h is older than
      makeopts.in.  The new rules compare files independently.
      
      Change-Id: Ibca155035fa1392c95e33cbf25f257902abba17b
      6a67828b
  26. Nov 28, 2017
  27. Nov 17, 2017
    • Corey Farrell's avatar
      menuselect: Remove ineffective weak attribute detection. · b9f4bb59
      Corey Farrell authored
      menuselect detects compiler support for multiple styles of weak
      functions.  This is a remnant from 2013 when OPTIONAL_API required weak
      functions.  It is no longer correct for menuselect to switch
      dependencies from optional to required based on lack of weak function
      support.
      
      Note an issue remains - dependencies should switch from optional to
      required based on OPTIONAL_API being enabled or disabled.  I don't think
      this is possible.  menuselect needs to know at startup if OPTIONAL_API
      is enabled or disabled, so the only way to fix this is to remove
      OPTIONAL_API from menuselect and create a configure option.  I've left
      the code that switches in place but it's preprocessed out.
      
      Additionally removed:
      - WEAKREF variable from Asterisk makeopts.in.
      - Related disabled code from test_utils.
      - Pointless AC_REVISION call from menuselect/configure.ac.
      
      Change-Id: Ifa702e5f98eb45f338b2f131a93354632a8fb389
      b9f4bb59
  28. Nov 11, 2017
  29. Feb 23, 2017
    • frahaase's avatar
      Binaural synthesis (confbridge): Adds binaural synthesis to bridge_softmix. · 094c26aa
      frahaase authored
      Adds binaural synthesis to bridge_softmix (via convolution using libfftw3).
      Binaural synthesis is conducted at 48kHz.
      For a conference, only one spatial representation is rendered.
      The default rendering is applied for mono-capable channels.
      
      ASTERISK-26292
      
      Change-Id: Iecdb381b6adc17c961049658678f6219adae1ddf
      094c26aa
  30. Oct 18, 2016
    • Tzafrir Cohen's avatar
      menuselect: invalid test for GTK2 · 18a6f250
      Tzafrir Cohen authored
      configuire.ac was only checking for the existence of pkg-config
      and not the gtk2 package itself.  Now it calls AST_PKG_CONFIG_CHECK
      for gtk+-2.0.
      
      ASTERISK-26356 #close
      
      Change-Id: I93e9d0166341f0e7f84b52955bb6f81da42f2ef6
      18a6f250
  31. Aug 01, 2016
  32. Jul 27, 2016
    • David M. Lee's avatar
      Replace strdupa with more portable ast_strdupa · 8802e55c
      David M. Lee authored
      The strdupa function is a GNU extension, and not widely portable. We
      have an ast_strdupa function used within Asterisk which is preferred.
      I pulled the definition up from menuselect.c into the menuselect.h
      header file so it can be shared across menuselect.
      
      Change-Id: I9593c97f78386b47dc1e83201e80cb2f62b36c2e
      8802e55c
  33. Jul 25, 2016
    • George Joseph's avatar
      menuselect: Various menuselect enhancements · b4c5dcad
      George Joseph authored
      * Add 'external' as a support level.
      * Add ability for module directories to add entries to the menu
        by adding members to the <module_prefix>/<module_prefix>.xml file.
      * Expand the description field to 3 lines in the ncurses implementation.
      * Allow the description field to wrap in the newt implementation.
      * Add description field to the gtk implementation.
      
      Change-Id: I7f9600a1984a42ce0696db574c1051bc9ad7c808
      b4c5dcad
  34. Mar 13, 2016
    • George Joseph's avatar
      build_system: Split COMPILE_DOUBLE from DONT_OPTIMIZE · 0af6b5de
      George Joseph authored
      I can't ever recall actually needing the intermediate files or the checking
      that a double compile produces.  What I CAN remember is every DONT_OPTIMIZE
      build needing 3 invocations of gcc instead of 1 just to do the checks and
      produce those intermediate files.
      
      Having said that, Richard pointed out that the reason for the double compile
      was that there were cases in the past where a submitted patch failed to compile
      because the submitter never tried it with the optimizations turned on.
      
      To get the best of both worlds, COMPILE_DOUBLE has been split into its own
      option.  If DONT_OPTIMIZE is turned on, COMPILE_DOUBLE will also be selected
      BUT you can then turn it off if all you need are the debugging symbols.  This
      way you have to make an informed decision about disabling COMPILE_DOUBLE.
      
      To allow COMPILE_DOUBLE to be both auto-selected and turned off, a new feature
      was added to menuselect.  The <use> element can now contain an "autoselect"
      attribute which will turn the used member on but not create a hard dependency.
      The cflags.xml implementation for COMPILE_DOUBLE looks like this...
      
      <member name="DONT_OPTIMIZE" displayname="Disable Optimizations ...">
      	<use autoselect="yes">COMPILE_DOUBLE</use>
      	<support_level>core</support_level>
      </member>
      <member name="COMPILE_DOUBLE" displayname="Pre-compile with ...>
      	<depend>DONT_OPTIMIZE</depend>
      	<support_level>core</support_level>
      </member>
      
      When DONT_OPTIMIZE is turned on, COMPILE_DOUBLE is turned on because
      of the use.
      When DONT_OPTIMIZE is turned off, COMPILE_DOUBLE is turned off because
      of the depend.
      When COMPILE_DOUBLE is turned on, DONT_OPTIMIZE is turned on because
      of the depend.
      When COMPILE_DOUBLE is turned off, DONT_OPTIMIZE is left as is because
      it only uses COMPILE_DOUBLE, it doesn't depend on it.
      
      I also made a few tweaks to the ncurses implementation to move things
      left a bit to allow longer descriptions.
      
      Change-Id: Id49ca930ac4b5ec4fc2d8141979ad888da7b1611
      0af6b5de
  35. Jun 10, 2015
  36. Apr 14, 2015
  37. 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
  38. Sep 05, 2014
  39. Jul 18, 2014
Loading