Commit Graph

30891 Commits

Author SHA1 Message Date
Alexander Traud 6da970bfb9 BuildSystem: Raise autoconf version requirement to 2.60a.
AC_COMPUTE_INT requires at least autoconf 2.60a.

This affects only those who contribute to Asterisk, only those who had to use
the script ./bootstrap.sh. Furthermore, this change just makes sure nobody is
using a too old autoconf.

ASTERISK-16951

Change-Id: Ibca850e2fe0e77d935207bd959bacf7197d7f637
2018-01-26 14:13:12 +01:00
Alexander Traud 0afff31ed0 install_prereq: Download latest Jansson.
ASTERISK-27603

Change-Id: I65c587534c0ae364f063d68da1bed40bb3d5e8aa
2018-01-26 13:52:13 +01:00
Corey Farrell 39fcecad59 core: Tweak startup order.
Move initialization of units which do not require configuration to occur
before preload modules.  This leaves only units which load config between
module preload and regular load stages.

Change-Id: I1d15384acad16a22c3498124421af474fa517478
2018-01-25 20:23:31 -05:00
Corey Farrell 23381d2c5e Build System: Require __sync or __atomic functions.
This change causes the configure script to throw an error if neither
__sync nor __atomic builtin functions are available.

ASTERISK-27619

Change-Id: Ie01a281e0f5c41dfeeb5f250c1ccea8752f56ef9
2018-01-25 10:38:45 -05:00
Jenkins2 7fbf1e32ca Merge "CHANGES: Add AMI action 'PJSIPShowContacts' note." 2018-01-25 07:56:31 -06:00
Jenkins2 e36baaa315 Merge "install_prereq: For PJProject, point users to configure script." 2018-01-25 07:46:31 -06:00
Corey Farrell a164b7ccfb loader: Correct overly strict startup checks.
The code which handled loading modules had too many situations which
would result in halting Asterisk startup.  Treat most errors as declines
instead of failures.  The exception is when the module load function
returns AST_MODULE_LOAD_FAILURE or an invalid code.

Clear the missingdeps vector when appropriate to ensure the next loop
starts clean.

ASTERISK-27620

Change-Id: I45547d9641fd45bd86d80250224417625631ad84
2018-01-25 00:04:51 -05:00
Corey Farrell 6fbd855228 Build System: Add support for __atomic built-in operators.
Add a check to configure.ac for __atomic_fetch_add support.  If found
use the __atomic built-in operators for ast_atomic_dec_and_test and
ast_atomic_fetchadd_int.

ASTERISK~27619

Change-Id: I65b4feb02bae368904ed0fb03f585c05f50a690e
2018-01-24 20:00:48 -05:00
Corey Farrell 527cf5a570 Remove redundant module checks and references.
This removes references that are no longer needed due to automatic
references created by module dependencies.

In addition this removes most calls to ast_module_check as they were
checking modules which are listed as dependencies.

Change-Id: I332a6e8383d4c72c8e89d988a184ab8320c4872e
2018-01-24 13:37:29 -05:00
Richard Mudgett b9e35bf6d3 CHANGES: Add AMI action 'PJSIPShowContacts' note.
ASTERISK-27581

Change-Id: If6af275764741a11030f0a4fd324fa29b376d74e
2018-01-24 10:30:19 -06:00
Jenkins2 7ce34f4e6a Merge "res_pjsip: Add AMI action 'PJSIPShowContacts'" 2018-01-24 07:56:50 -06:00
Jenkins2 6753c08feb Merge "install_prereq: Support package manager DNF and yum option strict=1." 2018-01-24 07:48:58 -06:00
Jenkins2 00b73d4e38 Merge "res_config_mysql: Avoid the header mysql_version.h." 2018-01-23 12:23:43 -06:00
Jenkins2 f1774bb362 Merge "install_prereq: Update Debian/Ubuntu libraries." 2018-01-23 09:58:52 -06:00
Sungtae Kim 5b8e71ab9f res_pjsip: Add AMI action 'PJSIPShowContacts'
Add an AMI action which provides information on all
configured Contacts.

ASTERISK-27581

Change-Id: I2eed42c74bbc725fad26b8b33b1a5b3161950c73
2018-01-23 10:37:27 +00:00
Jenkins2 7cfc0dbddf Merge "chan_unistim: Fix hold function ability to lock/crash asterisk" 2018-01-22 16:41:43 -06:00
Jenkins2 d4e9f7c940 Merge "loader: Add support for built-in modules." 2018-01-22 16:35:09 -06:00
Jenkins2 cec16d8e4f Merge "loader: Rework load_resource_list." 2018-01-22 16:31:29 -06:00
Richard Mudgett 2f78dc2bfa pbx_variables.c: Misc fixes in variable substitution.
* Copy more than one character at a time when there is nothing to
substitute.

* Fix off by one error if a '}' or ']' is missing.

* Eliminated the requirement that the "used" parameter had to point to a
variable.  The current callers were always declaring a variable to meet
the requirement and discarding the value put into that variable.  Now it
can be NULL.

* In ast_str_substitute_variables_full() fixed using the bogus channel to
evaluate a function.  We were not using the bogus channel we just created
to help evaluate a subexpression.

Change-Id: Ia83d99f4f16abe47f329eb39b6ff2013ae7c9854
2018-01-22 12:38:13 -06:00
Corey Farrell 679fa5fb34 Add missing OPTIONAL_API and ARI dependences.
I've audited all modules that include any header which includes
asterisk/optional_api.h.  All modules which use OPTIONAL_API now declare
those dependencies in AST_MODULE_INFO using requires or optional_modules
as appropriate.

In addition ARI dependency declarations have been reworked.  Instead of
declaring additional required modules in res/ari/resource_*.c we now add
them to an optional array "requiresModules" in api-docs for each module.
This allows the AST_MODULE_INFO dependencies to include those missing
modules.

Change-Id: Ia0c70571f5566784f63605e78e1ceccb4f79c606
2018-01-22 12:16:58 -05:00
Joshua Colp 908e39f186 Merge "loader: Remove global symbol only startup phase." 2018-01-22 10:33:18 -06:00
Jenkins2 2c27205e4e Merge "loader: Process module dependencies." 2018-01-22 10:16:29 -06:00
Jenkins2 fd32ca51e8 Merge "pbx: Reduce verbosity while loading extensions" 2018-01-22 09:39:22 -06:00
Alexander Traud 140f937c7e res_config_mysql: Avoid the header mysql_version.h.
ASTERISK-27607

Change-Id: I23d00ded955c4afd5f2c3c9dc96dcb48b3f74eec
2018-01-22 16:18:51 +01:00
Jenkins2 78efb4ce8e Merge "BuildSystem: Allow make clean all again." 2018-01-22 09:13:29 -06:00
Alexander Traud fd557ad041 install_prereq: For PJProject, point users to configure script.
The installation script and the new configure option --with-pjproject-bundled
aimed to accomplish the same. However, the installation script was out of
date. Users should go for the maintained configure option, or the Wiki.

ASTERISK-24598

Change-Id: Icbf4b562f81f7c05bd24a3805bd46c0beb4ebd44
2018-01-22 09:02:08 -06:00
Jenkins2 d8cb8931c0 Merge "BuildSystem: Remove orphaned .PHONY targets." 2018-01-22 08:44:05 -06:00
Jenkins2 8f7b45efbf Merge "res_pjsip: Document tlsv1_1 and tlsv1_2 methods" 2018-01-22 08:35:13 -06:00
Alexander Traud d427bb84a2 BuildSystem: Remove AC_CONFIG_AUX_DIR.
ASTERISK-27602

Change-Id: I9f4d3d2bc1481748e39ad1e2b0a364d38e38978b
2018-01-20 19:58:35 +01:00
Jenkins2 1376aa3f29 Merge "BuildSystem: Detect external library Lua in version 5.3." 2018-01-20 01:24:24 -06:00
Alexander Traud 693e509566 BuildSystem: Remove orphaned .PHONY targets.
Change-Id: Ic44d75141b9bf99e7d72fcc82ee111b5cf6989d2
2018-01-19 19:21:19 +01:00
Alexander Traud 70137794e9 BuildSystem: Allow make clean all again.
ASTERISK-27600
Reported by: Hamid R. Hashmi

Change-Id: I683d14d024650be04074b037b6300464519409f4
2018-01-19 19:14:53 +01:00
Alexander Traud 93471373f6 install_prereq: Update Debian/Ubuntu libraries.
ASTERISK-27555

Change-Id: Ieb41b0cbf968af12882b39454b819ebb48b9ea46
2018-01-19 13:16:36 +01:00
Alexander Traud 4c511c1a4d install_prereq: Support package manager DNF and yum option strict=1.
This re-enables the script ./contrib/scripts/install_prereq on Fedora 22 and
newer, and on RHEL/CentOS when the option strict=1 was set for yum install.

ASTERISK-27598
Reported by: Hunter Stevens, Said Masoud

Change-Id: I40f9517122aaa6906e8fc0962b4b8008dfddb368
2018-01-19 11:46:21 +01:00
krells 77f2814d01 pbx: Reduce verbosity while loading extensions
Each time the dial plan is reloaded, a lot of logs like these are generated:
"Added extension 'XXXXX' priority 1 to YYYYYYYYYYY"
This patch changes the log level for those logs.

ASTERISK-27084

Change-Id: I5662902161c50890997ddc56835d4cafb456c529
2018-01-18 20:36:14 -06:00
Jenkins2 51313e304e Merge "BuildSystem: Avoid $EUID and use id -u instead." 2018-01-18 19:31:20 -06:00
Jenkins2 193bdfe5f0 Merge "loader: Miscellaneous fixes." 2018-01-18 19:18:01 -06:00
Jenkins2 b7a91630e4 Merge "cel_odbc.c: Fix menuslect module description display." 2018-01-18 15:55:17 -06:00
Sean Bright 5964061a21 res_pjsip: Document tlsv1_1 and tlsv1_2 methods
Change-Id: I67ed9039bf3f132fb20ee7a750e0aef0f704d7d3
2018-01-18 14:55:35 -06:00
Jenkins2 21f3d9d095 Merge "BuildSystem: Use the detected name for MD5 everywhere." 2018-01-18 10:17:49 -06:00
Jenkins2 450da19111 Merge "BuildSystem: Invoke install not in GNU but POSIX style." 2018-01-18 10:02:53 -06:00
Jenkins2 3fd96ec996 Merge "BuildSystem: In OpenBSD, xmlstarlet is xml." 2018-01-18 09:26:50 -06:00
Jenkins2 df402c7bd7 Merge "app_followme: Add a prompt to be read when a call is connected" 2018-01-18 09:16:38 -06:00
Igor Goncharovsky 33d5ab3e69 chan_unistim: Fix hold function ability to lock/crash asterisk
This patch fix chan_unistim hold functions to correctly support
hold function in different states possible in case of multiple lines
established on the phone

ASTERISK-26596 #close

Change-Id: Ib1e04e482e7c8939607a42d7fddacc07e26e14d4
2018-01-18 00:12:41 -06:00
Corey Farrell 25cb1ab05b loader: Add support for built-in modules.
* Add SRC_EMBEDDED variable to main/Makefile.  Built-in module sources
  must be listed in this variable to ensure they get the correct CFLAGS.

Change-Id: I920852bc17513a9c2627061a4ad40511e3a20499
2018-01-17 19:25:00 -05:00
Corey Farrell e6142a1282 loader: Rework load_resource_list.
Use a single loop in a loop to scan the resource list attempting to
dlopen each module.  The inner loop is repeated until it doesn't do any
work, then it is run one more time to allow printing of error messages.

Change-Id: I60c15cd57ff9680b62e2a94c7519401fa4a38e45
2018-01-17 19:19:14 -05:00
Corey Farrell a80cbb046e loader: Remove global symbol only startup phase.
Dependency loader is now in place so we no longer need a separate loader
phase for global symbols only.  This simplifies the loader and allows us
to minimize calls to dlopen.

Change-Id: I33e3174d67f3b4552d3d536326dcaf0ebabb097d
2018-01-17 17:57:18 -05:00
Corey Farrell 3b73ed28c5 loader: Process module dependencies.
* Add string vectors for requires, optional_apis and enhances.
* Add reffed_deps module vector for holding references to dependencies.
* Initialize string vectors after final dlopen of each module.
* Free string vectors and clear references from reffed_deps in
  module_destroy.
* Create functions necessary to process module dependencies and enforce
  load order.

Module dependencies result in automatic references being managed by the
module loader.  This enforces unload order.

Change-Id: I9be08d1dd331aceadc1dcba00b804d71360b2fbb
2018-01-17 17:56:59 -05:00
Jenkins2 b304c97dec Merge "pjproject_bundled: Prevent crash on bad outgoing header" 2018-01-17 12:33:20 -06:00
ghjm 86b484dec7 app_followme: Add a prompt to be read when a call is connected
This patch adds the ability to configure a prompt which will be read
to the "winner" who pressed 1 (or the configured value) and received
the call.

ASTERISK-24372 #close

Change-Id: I6ec1c6c883347f7d1e1f597189544993c8d65272
2018-01-17 12:08:59 -06:00