Skip to content
Snippets Groups Projects
  1. Dec 02, 2021
  2. Nov 16, 2021
    • Josh Soref's avatar
      menuselect: Spelling fixes · 7a59a936
      Josh Soref authored
      Correct typos of the following word families:
      
      dependency
      unless
      random
      dependencies
      delimited
      randomly
      modules
      
      ASTERISK-29714
      
      Change-Id: I3920603a8dc7c0a1852d2f885e06b1144692d40e
      7a59a936
  3. Oct 21, 2021
    • Mike Bradeen's avatar
      various: Fix GCC 11 compilation issues. · 0b2646ae
      Mike Bradeen authored
      test_voicemail_api: Use empty char* for empty_msg_ids.
      chan_skinny: Fix size of calledParty to be maximum extension.
      menuselect: Change Makefile to stop deprecated warnings. Added comments
      test_linkedlist: 'bogus' variable was manually allocated from a macro
      and the test fails if this happens but the compiler couldn't 'see' this
      and returns a warning. memset to all 0's after allocation.
      chan_ooh323: Fixed various indentation issues that triggered misleading
       indentation warnings.
      
      ASTERISK-29682
      Reported by: George Joseph
      
      Change-Id: If4fe42222c8444dc16828a42731ee53b4ce5cbbe
      0b2646ae
  4. Oct 20, 2021
    • George Joseph's avatar
      BuildSystem: Check for alternate openssl packages · c07e3c2f
      George Joseph authored
      OpenSSL is one of those packages that often have alternatives
      with later versions.  For instance, CentOS/EL 7 has an
      openssl package at version 1.0.2 but there's an openssl11
      package from the epel repository that has 1.1.1.  This gets
      installed to /usr/include/openssl11 and /usr/lib64/openssl11.
      Unfortunately, the existing --with-ssl and --with-crypto
      ./configure options expect to point to a source tree and
      don't work in this situation.  Also unfortunately, the
      checks in ./configure don't use pkg-config.
      
      In order to make this work with the existing situation, you'd
      have to run...
      ./configure --with-ssl=/usr/lib64/openssl11 \
          --with-crypto=/usr/lib64/openssl11 \
          CFLAGS=-I/usr/include/openssl11
      
      BUT...  those options don't get passed down to bundled pjproject
      so when you run make, you have to include the CFLAGS again
      which is a big pain.
      
      Oh...  To make matters worse, although you can specify
      PJPROJECT_CONFIGURE_OPTS on the ./configure command line,
      they don't get saved so if you do a make clean, which will
      force a re-configure of bundled pjproject, those options
      don't get used.
      
      So...
      
      * In configure.ac... Since pkg-config is installed by install_prereq
        anyway, we now use it to check for the system openssl >= 1.1.0.
        If that works, great.  If not, we check for the openssl11
        package. If that works, great.  If not, we fall back to just
        checking for any openssl.  If pkg-config isn't installed for some
        reason, or --with-ssl=<dir> or --with-crypto=<dir> were specified
        on the ./configure command line, we fall back to the existing
        logic that uses AST_EXT_LIB_CHECK().
      
      * The whole OpenSSL check process has been moved up before
        THIRD_PARTY_CONFIGURE(), which does the initial pjproject
        bundled configure, is run.  This way the results of the above
        checks, which may result in new include or library directories,
        is included.
      
      * Although not strictly needed for openssl, We now save the value of
        PJPROJECT_CONFIGURE_OPTS in the makeopts file so it can be used
        again if a re-configure is triggered.
      
      ASTERISK-29693
      
      Change-Id: I341ab7603e6b156aa15a66f43675ac5029d5fbde
      c07e3c2f
  5. Mar 19, 2021
  6. Mar 17, 2021
    • Joshua C. Colp's avatar
      menuselect: Add ability to set deprecated and removed versions. · 6aac148d
      Joshua C. Colp authored
      The "deprecated_in" and "removed_in" information can now be
      set in MODULEINFO for a module and is then displayed in
      menuselect so users can be aware of when a module is slated
      to be deprecated and then removed.
      
      ASTERISK-29337
      
      Change-Id: I6952889cf08e0e9e99cf8b43f99b3cef4688087a
      6aac148d
  7. 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
  8. Apr 17, 2020
  9. Apr 13, 2020
  10. 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
  11. Aug 09, 2019
  12. 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
  13. 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
  14. 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
  15. Feb 28, 2019
  16. 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
  17. Sep 24, 2018
  18. 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
      Unverified
      31fba4e8
  19. Sep 17, 2018
  20. 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
  21. Jul 18, 2018
  22. Jun 15, 2018
  23. 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
  24. 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
  25. 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
  26. 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
  27. Jan 12, 2018
  28. 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
  29. Dec 22, 2017
  30. 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
  31. 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
  32. Nov 28, 2017
  33. 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
  34. Nov 11, 2017
  35. 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
  36. 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
  37. Aug 01, 2016
  38. 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
  39. 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
  40. 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
Loading