Commit Graph

30232 Commits

Author SHA1 Message Date
Jenkins2
9083022ebf Merge "taskprocessor.c: Increase the number of tps_singletons container buckets." into 13 2018-01-17 05:49:01 -06:00
Alexander Traud
985834607b 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 02:53:07 -06:00
Jenkins2
d7f5421ea4 Merge "res_stasis_recording: Allow symbolic links in configured recordings dir." into 13 2018-01-16 09:27:11 -06:00
Richard Mudgett
1bbd9f4a47 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 08:32:20 -06:00
George Joseph
fbd0667c84 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 07:20:28 -07:00
Alexander Traud
637bd26575 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 06:36:31 -06:00
Richard Mudgett
b0a78bdc3e 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:13:52 -06:00
Jenkins2
5ebb32d3e3 Merge "config_transport: Enable TCP_NODELAY on TLS transports" into 13 2018-01-15 10:36:04 -06:00
Jenkins2
cb5593c594 Merge "BuildSystem: Really do not pass unknown-warning options to the compiler." into 13 2018-01-15 07:29:34 -06:00
Jenkins2
197bff1532 Merge "menuselect: Remove unused dev-mode option TRACE_FRAMES." into 13 2018-01-15 07:09:37 -06:00
Yasuhiko Kamata
c0a4a939cc chan_sip: 3PCC patch for AMI "SIPnotify"
A patch for sending in-dialog SIP NOTIFY message
with "SIPnotify" AMI action.

ASTERISK-27461

(created patch for 13 branch manually due to merge conflict)

Change-Id: I255067f02e2ce22c4b244f12134b9a48d210c22a
2018-01-15 16:45:21 +09:00
Jenkins2
e79e8c557b Merge "res_config_pgsql: Avoid typecasting an int to unsigned char." into 13 2018-01-14 08:58:35 -06:00
George Joseph
948b852f48 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 12:55:25 -07:00
Corey Farrell
f01bac230d 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:05:12 -06:00
Corey Farrell
97b574c927 menuselect: Remove unused dev-mode option TRACE_FRAMES.
ASTERISK-27575 #close

Change-Id: Ica3a522892afed7a96816a5ecf140e1671f46ad4
2018-01-12 12:05:38 -06:00
Jenkins2
2c32e22792 Merge "chan_ooh323: Avoid typecasting an int to unsigned short." into 13 2018-01-12 11:32:08 -06:00
Jenkins2
bb7ae01487 Merge "install_prereq: Update Debian/Ubuntu libraries." into 13 2018-01-12 10:57:53 -06:00
Jenkins2
25b07f8c49 Merge "app_osplookup.c: Avoid two format truncations." into 13 2018-01-12 10:35:40 -06:00
Alexander Traud
f07b0df627 res_config_pgsql: Avoid typecasting an int to unsigned char.
clang 5.0 warned about this.

ASTERISK-27576

Change-Id: If41f400a51973c06cdb9b75462e535b616bfe385
2018-01-12 09:26:36 -06:00
Jenkins2
9debcc10fe Merge "Ignore quilt .pc directory, used in deb packaging" into 13 2018-01-12 08:20:03 -06:00
Alexander Traud
659c44f5fb 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 07:21:49 -06:00
Alexander Traud
45008c604d app_osplookup.c: Avoid two format truncations.
GCC 7 warned about this.

ASTERISK-27578

Change-Id: I4a00458dbe9b575ef04338b6a7852272745e1552
2018-01-12 04:27:49 -06:00
Alexander Traud
d53a312a03 chan_ooh323: Avoid typecasting an int to unsigned short.
clang 5.0 warned about this.

ASTERISK-27577

Change-Id: I898fe4255023138a9e8b579fe4482fcf582f2b78
2018-01-12 04:05:14 -06:00
Alexander Traud
1d625a7428 install_prereq: Update Debian/Ubuntu libraries.
ASTERISK-27555

Change-Id: I0818b6e42631be1b69237e2b41d3415275693e53
2018-01-12 08:01:40 +01:00
Richard Mudgett
f35960d55b 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-11 14:14:08 -06:00
Jenkins2
231caefd9b Merge "res_pjsip_endpoint_identifier_ip.c: Remove unnecessary requirement." into 13 2018-01-11 13:27:49 -06:00
Tzafrir Cohen
90b2dc1450 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 10:54:32 -06:00
Jenkins2
60a66b56a5 Merge "res_pjsip.c: Update the endpoint identification documentation." into 13 2018-01-11 08:18:11 -06:00
Jenkins2
1f1b8e85b0 Merge "stasis_endpoints: Remove silly usage of RAII_VAR." into 13 2018-01-11 07:53:20 -06:00
Joshua Colp
fab209e746 Merge "stasis_message_router: Remove silly usage of RAII_VAR." into 13 2018-01-11 07:28:58 -06:00
Jenkins2
8d642b8d07 Merge "stasis_system: Remove silly usage of RAII_VAR." into 13 2018-01-11 07:03:48 -06:00
Jenkins2
2697904f0e Merge "stasis: Remove silly usage of RAII_VAR." into 13 2018-01-11 06:36:16 -06:00
Jenkins2
6acabbeaca Merge "stasis_bridges: Remove silly usage of RAII_VAR." into 13 2018-01-11 06:10:18 -06:00
Jenkins2
7c4733bf7f Merge "stasis_cache: Remove silly usage of RAII_VAR." into 13 2018-01-11 05:46:07 -06:00
Jenkins2
ffec53b528 Merge "stasis_cache_pattern: Remove silly usage of RAII_VAR." into 13 2018-01-11 05:42:47 -06:00
Jenkins2
d72d6f6223 Merge "res_pjsip.c: Fix ident_to_str() and refactor ident_handler()." into 13 2018-01-10 17:10:59 -06:00
Corey Farrell
608112ced3 stasis: Remove silly usage of RAII_VAR.
Change-Id: Ib11193531e797bcb16bba560a408eab155f706d1
2018-01-10 17:09:04 -05:00
Joshua Colp
cdefdea1cc Merge "app_confbridge: Fix NULL check in action_kick_last." into 13 2018-01-10 08:11:53 -06:00
Joshua Colp
7f2d6f51ed Merge "res_pjsip_endpoint_identifier_ip.c: Allow multiple IdentifyDetail AMI events." into 13 2018-01-10 06:55:10 -06:00
Joshua Colp
a1eb5b06a8 Merge "res_stasis: Reduce RAII_VAR usage." into 13 2018-01-10 06:40:39 -06:00
Corey Farrell
b7c25740fa stasis_bridges: Remove silly usage of RAII_VAR.
Change-Id: I0fa7ab05454f183dc4ff10e26d18776d2b0fcf1f
2018-01-09 22:12:24 -05:00
Richard Mudgett
2e09ed3b18 res_pjsip.c: Update the endpoint identification documentation.
* Endpoint identify_by documentation.
* IP/Header endpoint identifier documentation.

Change-Id: Id92f00b495acca7be945daf749d2abd7f76a0b5a
2018-01-09 13:38:32 -06:00
Jenkins2
8e0f2c7379 Merge "Revert "codec_opus: Make libcurl a dependency in menuselect"" into 13 2018-01-09 13:33:15 -06:00
Richard Mudgett
dd6dee7e50 res_pjsip_endpoint_identifier_ip.c: Remove unnecessary requirement.
The requirement that "ip" must be in the endpoint identify_by list to
allow the type=identify method to identify the endpoint is not necessary.
The "ip" identifier method can match one and only one endpoint.  To even
work, the "ip" identifier method configuration must explicitly specify the
identified endpoint.  Therefore, why bother configuring the type=identify
identifier in the first place?  The requirement only adds the potential
for configuration errors for no benefit.  Even worse, those configuration
errors cannot be detected when the configuration loads.  The requirement
was introduced with the ASTERISK_27206 patch.

* Remove the code change that enforces the requiremnt.  Listing the "ip"
method in the identify_by value is simply documentation.

Change-Id: Ia057f92a33fb5d9f51dc5d5692e3d5ee1a6f2c11
2018-01-09 12:31:19 -06:00
Richard Mudgett
96040fa6bb res_pjsip.c: Fix ident_to_str() and refactor ident_handler().
* Extracted sip_endpoint_identifier_type2str() and
sip_endpoint_identifier_str2type() to simplify the calling functions.

* Fixed pjsip_configuration.c:ident_to_str() building the endpoint's
identify_by value string.

Change-Id: Ide876768a8d5d828b12052e2a75008b0563fc509
2018-01-09 12:18:03 -06:00
Richard Mudgett
a8a2f39f04 res_pjsip_endpoint_identifier_ip.c: Allow multiple IdentifyDetail AMI events.
The AMI PJSIPShowEndpoint action could only list one IdentifyDetail AMI
event per endpoint.  However, there is no reason that multiple
type=identify sections cannot identify the same endpoint.

* Reworked format_ami_endpoint_identify() to generate as many
IdentifyDetail AMI events as there are matching identifiers.

Change-Id: Ie146792aef72d78e05416ab5b27bc552a30399db
2018-01-09 12:01:14 -06:00
Corey Farrell
dedf0ff2bf stasis_cache: Remove silly usage of RAII_VAR.
Change-Id: Ifa95e5801c949df296c7e4376347730fb0ed52ef
2018-01-09 12:10:27 -05:00
Corey Farrell
8a6b3537b1 stasis_cache_pattern: Remove silly usage of RAII_VAR.
Change-Id: Ic98a51f555062cd863b6db3f8d76065943a9dea3
2018-01-09 12:09:08 -05:00
Corey Farrell
909e642918 stasis_endpoints: Remove silly usage of RAII_VAR.
Change-Id: Ic099dc552f36c353c89783a4bcfd09f010432733
2018-01-09 11:57:50 -05:00
Corey Farrell
bd11159dbc stasis_message_router: Remove silly usage of RAII_VAR.
Change-Id: I50d6ae230920e0b878ed9cc8f79eef746e06701d
2018-01-09 11:55:37 -05:00