Commit Graph

31691 Commits

Author SHA1 Message Date
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
Corey Farrell
de7f2a6cb4 res_stasis_recording: Allow symbolic links in configured recordings dir.
If any component of ast_config_AST_RECORDING_DIR is a symbolic link we
would incorrectly assume the ARI user was trying to escape the recording
path.  Create additional check to check the recording directory's
realpath, only deny access if both do not match.

This is needed by the testsuite when run by 'run-local'.

Change-Id: I9145e841865edadcb5f75cead3471ad06bbb56c0
2018-01-12 19:57:38 -05:00
Jenkins2
516ab38df6 Merge "install_prereq: Update Debian/Ubuntu libraries." 2018-01-12 12:20:24 -06:00
Corey Farrell
99535b0497 menuselect: Remove unused dev-mode option TRACE_FRAMES.
ASTERISK-27575 #close

Change-Id: Ica3a522892afed7a96816a5ecf140e1671f46ad4
2018-01-12 13:00:26 -05:00
Jenkins2
a01c37115c Merge "chan_ooh323: Avoid typecasting an int to unsigned short." 2018-01-12 11:24:13 -06:00
Jenkins2
4573aa1270 Merge "app_osplookup.c: Avoid two format truncations." 2018-01-12 10:36:23 -06:00
Jenkins2
2e7c472b38 Merge "cdr_syslog: Deprecate unmaintained module" 2018-01-12 09:29:37 -06:00
Alexander Traud
eb9b85baec res_config_pgsql: Avoid typecasting an int to unsigned char.
clang 5.0 warned about this.

ASTERISK-27576

Change-Id: If41f400a51973c06cdb9b75462e535b616bfe385
2018-01-12 16:24:17 +01:00
Joshua Colp
3286fd5ef8 Merge "chan_sip: Check that an iostream exists before accessing." 2018-01-12 08:45:08 -06:00
Jenkins2
c03c00d5b4 Merge "Ignore quilt .pc directory, used in deb packaging" 2018-01-12 08:29:43 -06:00
Alexander Traud
cff3add680 BuildSystem: Really do not pass unknown-warning options to the compiler.
When an older GCC version is called with a too new warning option, GCC exited
with an error and Asterisk was not built. Therefore, the configure script tests
the installed compiler whether it supports that warning option. If not, Asterisk
does not pass it to the installed compiler. However, some compilers (like clang)
do not exit (error) but give just a warning in such a case. Because the compiler
did not exit, Asterisk passed the unknown-warning option.

ASTERISK-27560

Change-Id: Ia9d148e689c173df4e91699113605dab2de36038
2018-01-12 14:20:34 +01:00
Alexander Traud
685bab254c app_osplookup.c: Avoid two format truncations.
GCC 7 warned about this.

ASTERISK-27578

Change-Id: I4a00458dbe9b575ef04338b6a7852272745e1552
2018-01-12 11:27:23 +01:00
Alexander Traud
797747afa7 chan_ooh323: Avoid typecasting an int to unsigned short.
clang 5.0 warned about this.

ASTERISK-27577

Change-Id: I898fe4255023138a9e8b579fe4482fcf582f2b78
2018-01-12 11:03:38 +01:00
Alexander Traud
b9e2b72de6 install_prereq: Update Debian/Ubuntu libraries.
ASTERISK-27555

Change-Id: I0818b6e42631be1b69237e2b41d3415275693e53
2018-01-12 08:05:48 +01:00
Jenkins2
e4ee41da4d Merge "res_pjsip_endpoint_identifier_ip.c: Remove unnecessary requirement." 2018-01-11 13:36:02 -06:00
Joshua Colp
6d5f4768a4 chan_sip: Check that an iostream exists before accessing.
Before getting the file descriptor for an iostream check
that it is present.

ASTERISK-27534

Change-Id: Ie0aa1394007a37c30e337ea1176a6fb3a63bc99c
2018-01-11 13:05:05 -05:00
Jenkins2
8a6febd980 Merge "stasis_message_router: Remove silly usage of RAII_VAR." 2018-01-11 08:46:34 -06:00
Jenkins2
97a0e8591f Merge "res_pjsip.c: Update the endpoint identification documentation." 2018-01-11 08:42:52 -06:00
Tzafrir Cohen
30b5ec023f Ignore quilt .pc directory, used in deb packaging
Debian packaging uses quilt to manage patches. Book-keeping for them is
done using quilt (either directly, or in a compatible format), and
tracked in the directory .pc .

Change-Id: I22c90f3d7ab8918e6216e7b686de6fa0e1fdaa7b
Signed-off-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com>
2018-01-11 16:09:04 +02:00
Jenkins2
f94c56d388 Merge "stasis_endpoints: Remove silly usage of RAII_VAR." 2018-01-11 07:58:08 -06:00
Jenkins2
a13578e789 Merge "stasis_system: Remove silly usage of RAII_VAR." 2018-01-11 07:25:51 -06:00
Jenkins2
4534f32fca Merge "stasis: Remove silly usage of RAII_VAR." 2018-01-11 06:58:10 -06:00
Jenkins2
ae723f85ee Merge "stasis_bridges: Remove silly usage of RAII_VAR." 2018-01-11 06:43:33 -06:00
Jenkins2
19523cd5a1 Merge "stasis_cache: Remove silly usage of RAII_VAR." 2018-01-11 06:16:07 -06:00
Jenkins2
a6432f7794 Merge "stasis_cache_pattern: Remove silly usage of RAII_VAR." 2018-01-11 05:48:52 -06:00
Joshua Colp
43305a0d18 Merge "res_pjsip.c: Fix ident_to_str() and refactor ident_handler()." 2018-01-11 04:55:21 -06:00
Corey Farrell
f0eb00d1e7 stasis: Remove silly usage of RAII_VAR.
Change-Id: Ib11193531e797bcb16bba560a408eab155f706d1
2018-01-10 16:09:50 -06:00
Corey Farrell
a383e1ddb1 stasis_cache_pattern: Remove silly usage of RAII_VAR.
Change-Id: Ic98a51f555062cd863b6db3f8d76065943a9dea3
2018-01-10 16:01:17 -06:00
Joshua Colp
92ff6c6598 Merge "app_confbridge: Fix NULL check in action_kick_last." 2018-01-10 09:08:27 -06:00
Joshua Colp
342e3a97c3 Merge "bridge_softmix: Fix sfu_append_source_streams test." 2018-01-10 08:19:56 -06:00
Sean Bright
9e2fcb82ed cdr_syslog: Deprecate unmaintained module
There has been an open issue against cdr_syslog (ASTERISK~14441) about
a race condition for 7.5 years that has never been addressed. Because
this module is effectively unmaintained and currently broken, there is
no sense in keeping it around.

If logging CDRs to syslog is a desirable feature, it would probably be
better to write the logs directly to the syslog server via socket
instead of using the facilities provided by openlog/syslog/closelog.
Doing so would address the race condition referenced in the associated
issue.

Change-Id: Ic77b94cd97f355a9cf5b1d3f3444964a6e0ba5dc
2018-01-10 09:03:57 -05:00