Commit Graph

30820 Commits

Author SHA1 Message Date
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
Jenkins2
ee893774c0 Merge "res_pjsip: Split type=identify to IP address and SIP header matching priorities" 2018-01-17 11:42:03 -06:00
Corey Farrell
4fd303b630 loader: Miscellaneous fixes.
* Remove comment about lazy load.
* Improve message about module already being loaded and running.
* Handle allocation error in add_to_load_order.
* Dead code elimination from modules_shutdown.

Change-Id: I22261599c46d0f416e568910ec9502f45143197f
2018-01-17 11:02:43 -06:00
Alexander Traud
2a1b52cc67 BuildSystem: Use the detected name for MD5 everywhere.
Affacted the (automatic) download script for external modules:
./build_tools/download_externals

ASTERISK-27596

Change-Id: If4c3176f7bf58df32fec6e02a659f1a78d57cf4b
2018-01-17 15:36:14 +01:00
Alexander Traud
4cd3f5c162 BuildSystem: Invoke install not in GNU but POSIX style.
ASTERISK-27594

Change-Id: Iaaa6a19d2fe031dffcba441d0502a7ea65c93cb3
2018-01-17 14:11:24 +01:00
Alexander Traud
7e7a20642c BuildSystem: In OpenBSD, xmlstarlet is xml.
ASTERISK-27593

Change-Id: I1c7087f7f7582e40b3312c690d912c9a86466805
2018-01-17 13:52:25 +01:00
Alexander Traud
8f31b70246 BuildSystem: Detect external library Lua in version 5.3.
On some platforms, you decide to go for one specific version of Lua, for
example in OpenBSD. On other platforms, you are able to install several versions
side-by-side, for example in Ubuntu and Fedora. Asterisk already works with
Lua 5.3. Asterisk failed to detect Lua 5.3 on those platforms which allow
several versions.

ASTERISK-27592

Change-Id: If7a4b395d844a464e9a1f4f626c5bff4ee67eed8
2018-01-17 09:51:29 +01:00
Richard Mudgett
8494e78010 res_pjsip: Split type=identify to IP address and SIP header matching priorities
The type=identify endpoint identification method can match by IP address
and by SIP header.  However, the SIP header matching has limited
usefulness because you cannot specify the SIP header matching priority
relative to the IP address matching.  All the matching happens at the same
priority and the order of evaluating the identify sections is
indeterminate.  e.g., If you had two type=identify sections where one
matches by IP address for endpoint alice and the other matches by SIP
header for endpoint bob then you couldn't predict which endpoint is
matched when a request comes in that matches both.

* Extract the SIP header matching criteria into its own "header" endpoint
identification method so the user can specify the relative priority of the
SIP header and the IP address matching criteria in the global
endpoint_identifier_order option.  The "ip" endpoint identification method
now only matches by IP address.

ASTERISK-27491

Change-Id: I9df142a575b7e1e3471b7cda5d3ea156cef08095
2018-01-16 12:50:34 -06:00
Richard Mudgett
7ed7d525fb taskprocessor.c: Increase the number of tps_singletons container buckets.
Since v12 the number of taskprocessors in the system has increased a lot.
Small systems can easily have over a hundred and larger systems can have
thousands.

Most uses of the tps_singletons container deal with creating and
destroying the taskprocessors.  However, the pjsip distributor looks up
taskprocessors/serializers by name frequently.  It needs to find the
serializer for incoming SIP responses to distribute them to the
appropriate serializer.

Change-Id: Ice0603606614ba49f7c0c316c524735c064e7e43
2018-01-16 12:42:06 -06:00
Jenkins2
2f392bedb3 Merge "BuildSystem: Resolve resolv.h not via Generic but Particular Header-Check." 2018-01-16 09:52:45 -06:00
Jenkins2
d677ff47ae Merge "res_stasis_recording: Allow symbolic links in configured recordings dir." 2018-01-16 09:42:25 -06:00
George Joseph
f0a3c977d6 pjproject_bundled: Prevent crash on bad outgoing header
We still need to figure out how a bad header is getting into the
outgoing message but this patch to pjproject prevents attempting
to print that header and causing a crash.

For several users, this crash happens when sending 183 progress
messages.

ASTERISK-26832
Reported by: Ross Beer, Jan Rozhon

Change-Id: Ie5c5a921c890c843587763e7f33f987dfe66bd16
2018-01-16 08:25:09 -06:00
Alexander Traud
a046305fae BuildSystem: Avoid $EUID and use id -u instead.
Makefile included a call to ${EUID} which requires the shell bash. To keep
compatibility with other shells like dash or ksh, use id -u instead.

ASTERISK-27589

Change-Id: Ia6e74f5bc9aab4e6dc62b7439f647b7964e6f657
2018-01-16 13:34:23 +01:00
Richard Mudgett
6fbe315f77 cel_odbc.c: Fix menuslect module description display.
Asterisk's makefile for menuselect has a very simple source file parsing
script that looks for AST_MODULE_INFO lines to extract the quoted string
as a module description.  If it does not find a quoted string it uses the
whole line as the description.

Change-Id: I80f13a63818e4e28d683639a94a4dfaea405c1d5
2018-01-15 18:15:57 -06:00
Corey Farrell
9cfdb81e91 loader: Add dependency fields to module structures.
* 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
2018-01-15 13:25:51 -05:00
Corey Farrell
35ae99c712 vector: Additional string vector definitions.
ast_vector_string_split:
This function will add items to an ast_vector_string by splitting values
of a string buffer.  Items are appended to the vector in the order they
are found.

ast_vector_const_string:
A vector of 'const char *'.

Change-Id: I1bf02a1efeb2baeea11c59c557d39dd1197494d7
2018-01-15 13:25:45 -05:00
Alexander Traud
645297614e BuildSystem: Resolve resolv.h not via Generic but Particular Header-Check.
ASTERISK-27585

Change-Id: I27c67563788e6f67eeda5fb51a741823a50a95e2
2018-01-15 17:57:11 +01:00
Jenkins2
6f1f16d887 Merge "config_transport: Enable TCP_NODELAY on TLS transports" 2018-01-15 10:40:27 -06:00
Jenkins2
569c1a0614 Merge "BuildSystem: Really do not pass unknown-warning options to the compiler." 2018-01-15 07:24:06 -06:00
Jenkins2
224b5bde96 Merge "menuselect: Remove unused dev-mode option TRACE_FRAMES." 2018-01-15 07:12:22 -06:00
Jenkins2
0ab13bb403 Merge "res_config_pgsql: Avoid typecasting an int to unsigned char." 2018-01-14 09:04:19 -06:00
George Joseph
cabe80631b config_transport: Enable TCP_NODELAY on TLS transports
We did this for TCP transports already but I'm not sure why we
didn't do it for TLS transports.

ASTERISK_27474 #not_final_fix

Change-Id: I5b1ef4b882f7b859e718236686b7898751dbb262
2018-01-13 13:57:03 -06:00