Commit Graph

30147 Commits

Author SHA1 Message Date
Alexander Traud
09c43fdc1a res_srtp: Add support for libsrtp2.x on openSUSE.
Since ASTERISK-26976, libSRTP 2.x can be used for sRTP. However, that change
added a private header which is not available on openSUSE for example. To
remain compatibility with very old libSRTP versions, the affected/missing
symbols AES_128_ICM and HMAC_SHA1 are defined manually.

ASTERISK-27733

Change-Id: I25c5cb8fa966043d1506ebef449e5a724412b4b6
2018-03-12 10:22:43 +01:00
Corey Farrell
c09a10bb1b core: Remove non-critical cleanup from startup aborts.
When built-in components of Asterisk fail to start they cause the
Asterisk startup to abort.  In these cases only the most critical
cleanup should be performed - closing databases and terminating
proceses.  These cleanups are registered using ast_register_atexit, all
other cleanups should not be run during startup abort.

The main reason for this change is that these cleanup procedures are
untestable from the partially initialized states, if they fail it could
prevent us from ever running the critical cleanup with ast_run_atexits.

Change-Id: Iecc2df98008b21509925ff16740bd5fa29527db3
2018-03-10 04:33:33 -05:00
Alexander Traud
bd6e0b1a72 BuildSystem: Add NetBSD.
Headers, libraries, and rpath.

ASTERISK-27728
ASTERISK-11015
Reported by: Curt Sampson

Change-Id: I50aa5fcd095937df32a2e33307caac7e79a8b5b7
2018-03-09 10:10:16 -06:00
Alexander Traud
ba88af8a25 BuildSystem: For consistency, avoid double-checking via if clauses.
In the script ./configure, AST_EXT_LIB_CHECK and AST_PKG_CONFIG_CHECK first test
whether parameter 1 was already found. Consequently, an if-test on PBX_ just a
line below is redundant, if exactly the same parameter 1 is used again.

No performance gain is expected by this change. However, because this strategy
is used all over in ./configure except for two places, this change aims to
create more consistency: Only do something different if there is a reason to do
so.

Change-Id: I4a6f48127b7af3a48168c917e888be1f70625027
2018-03-09 10:23:53 +01:00
Jenkins2
99702af57a Merge "res_http_post: Enable GMime in NetBSD." into 13 2018-03-09 02:53:50 -06:00
Alexander Traud
c227462370 BuildSystem: Enable dladdr on non-Linux platforms like FreeBSD.
ASTERISK-27641

Change-Id: I587e8ba0123c70fc10cfd8b0ac3299551f61d84b
2018-03-09 02:45:47 -06:00
Jenkins2
0d7b7158ba Merge "chan_sip: Fix improper RTP framing on outgoing calls" into 13 2018-03-08 17:12:47 -06:00
Kevin Harwell
4135226f0b Merge "voicemail: Fixed wrong voicemail message count" into 13 2018-03-08 15:27:04 -06:00
Richard Mudgett
9ae427c7fd res_pjproject.c: Upgrade bundled PJPROJECT to 2.7.2
Update patches included in bundled PJPROJECT for the new version.

ASTERISK-27730

Change-Id: Id3c8c8ad82126846bcd9768bc3d0a18d89be8944
2018-03-08 12:19:17 -06:00
Alexander Traud
57e8754a3a install_prereq: Add NetBSD.
ASTERISK-27729

Change-Id: I7a706d51375d54cf5e36d32397bfe09a48670804
2018-03-08 19:05:22 +01:00
Jenkins2
19682f84bc Merge "utils: In Solaris, avoid a warning about an unused variable." into 13 2018-03-08 11:13:31 -06:00
Alexander Traud
0d70a9a006 BuildSystem: Re-check for another UUID library only when previous check failed.
As a side-effect, this avoids the ambiguous output:
 checking for uuid_generate_random... no
which was printed always previously.

ASTERISK-25586
Reported by: John Nemeth

Change-Id: I6d541dfcf453932a9856c5e251aa22e0e6c233c9
2018-03-08 09:07:08 -06:00
Jenkins2
51b926aaeb Merge "res_pjsip_rfc3326: Order of 'Reason' headers break many endpoints" into 13 2018-03-08 07:29:42 -06:00
Alexander Traud
7b6b6b0a7e BuildSystem: Instead of $PJPROJECT_LIBS with s, use $PJPROJECT_LIB everywhere.
In the script ./configure,
xyz_LIB  is set by AST_PKG_CONFIG_CHECK and
xyz_LIBS is set by PKG_CHECK_MODULES within
AST_PKG_CONFIG_CHECK. Both are the same. In Asterisk normally the former and
only three times the latter was used. Let us use xyz_LIB without s, for
consistency with AST_EXT_LIB_CHECK. That eases understanding because now readers
do not have to know that xyz_LIB equals xyz_LIBS.

Change-Id: I7359860a5d730cdc784c2c48e501a082196434d3
2018-03-08 12:41:53 +01:00
Alexander Traud
54874eb44d BuildSystem: Enable PortAudio in NetBSD.
In NetBSD, PortAudio 1 is still the default version. PortAudio 2 can be
installed side by side but gets placed in a 'portaudio2' subdirectory. To
find PortAudio 2 even in a subdirectory, the tool pkg-config is queried via
AST_PKG_CONFIG_CHECK. For those platforms, which do not list PowerAudio 2
via pkg-config, the previous check remains and is executed thereafter.

ASTERISK-27721

Change-Id: I4175500126909ad1b181fff8e11bb4a3a6ae4fa9
2018-03-08 04:01:25 -06:00
Corey Farrell
b81eadcefc Replace direct checks of option_debug with DEBUG_ATLEAST macro.
Checking option_debug directly is incorrect as it ignores file/module
specific debug settings.  This system-wide change replaces nearly all
direct checks for option_debug with the DEBUG_ATLEAST macro.

Change-Id: Ic342d4799a945dbc40ac085ac142681094a4ebf0
2018-03-07 17:02:49 -05:00
Jenkins2
7f864dbc36 Merge "apps/app_amd.c: Fixed total time and silence calculations" into 13 2018-03-07 13:55:28 -06:00
Richard Mudgett
342aec5980 BuildSystem regression: Fix errors reported by clean targets.
Doing a 'make clean', 'make distclean', or 'make dist-clean' gets errors
about an invalid shell option: "/bin/sh: 0: Illegal option -".

The clean targets do not include the makeopts file which defines GREP and
LDCONFIG because the file may not exist and the distclean/dist-clean
targets will delete it anyway.

ASTERISK-27715

Change-Id: I33d40acdb03862bc89aeb6fb1ff497894a8ea7f5
2018-03-07 13:19:07 -06:00
Sungtae Kim
0597e72e1d voicemail: Fixed wrong voicemail message count
Fixed wrong voicemail mailbox reference for Action: VoicemailUsersList.

ASTERISK-27703

Change-Id: I99bfec14bd4ae475b0fa1fac5a7992f3e2e8d64a
2018-03-07 11:37:17 -06:00
Jean Aunis
a35a654a52 chan_sip: Fix improper RTP framing on outgoing calls
The "ptime" SDP parameter received in a SIP response was not honoured.
Moreover, in the abscence of this "ptime" parameter, locally configured
framing was lost during response processing.

This patch systematically stores the framing information in the
ast_rtp_codecs structure, taking it from the response or from the
configuration as appropriate.

ASTERISK-27674

Change-Id: I828a6a98d27a45a8afd07236a2bd0aa3cbd3fb2c
2018-03-07 11:22:17 -06:00
Ross Beer
ecff05d51c res_pjsip_rfc3326: Order of 'Reason' headers break many endpoints
ASTERISK-27554

Change-Id: If61c7faab7d2fa1031c056ed6268fe928e2391cf
2018-03-07 12:08:29 -04:00
Alexander Traud
725fd32428 utils: In Solaris, avoid a warning about an unused variable.
When HAVE_GETHOSTBYNAME_R_5 was set by the script ./configure, GCC 7.3.0 found
an unused variable. Actually, the variable was used (set to a dummy value) but
the compiler optimization might have removed that. Instead, this change ensures
that the variable 'res' is only used when it is really required.

Change-Id: Ic3ea23ccf84ac4bc2d501b514985b989030abab5
2018-03-07 09:33:46 -06:00
Jenkins2
359a0cc5a2 Merge "BuildSystem: Cast any intptr_t explicitly to its proposed type." into 13 2018-03-06 11:23:50 -06:00
Alexander Traud
93df498f4e BuildSystem: Enable Lua in NetBSD.
luaL_openlib got removed with Lua 5.2.
luaL_newstate is available in all versions.

ASTERISK-27718

Change-Id: I9c8c8880315ee36ab740d7c40153306c0bfd6f71
2018-03-06 11:01:59 -06:00
Jenkins2
4d0a2b9976 Merge "BuildSystem: Install init scripts on openSUSE Tumbleweed." into 13 2018-03-06 10:44:58 -06:00
Jenkins2
8cbe31d0cf Merge "BuildSystem: AC_PATH_PROG sets to colon character when not found." into 13 2018-03-06 10:43:25 -06:00
Jenkins2
5fedd85bd1 Merge "BuildSystem: Enable autotools in NetBSD." into 13 2018-03-06 10:04:52 -06:00
Alexander Traud
44dbb8251d BuildSystem: Depend not implicitly but explicitly on external libraries.
ASTERISK-27722

Change-Id: Ie7b8c30d86cb00a54d6ac4e09e6f28f42d2bd52c
2018-03-06 07:34:04 -06:00
Jenkins2
451fec3044 Merge "chan_unistim: NetBSD has an incompatible struct in_pktinfo." into 13 2018-03-05 12:57:52 -06:00
Jenkins2
83c2d6a89f Merge "BuildSystem: Avoid == for comparison in ./configure." into 13 2018-03-05 12:36:15 -06:00
Jenkins2
91193807c8 Merge "BuildSystem: Detect whether uselocale(.) is available." into 13 2018-03-05 11:58:51 -06:00
Jenkins2
894a55c850 Merge "BuildSystem: Avoid re-defining of pthread_* on NetBSD." into 13 2018-03-05 11:28:38 -06:00
Jenkins2
848db5abd6 Merge "chan_sip: Emit a second ringing event to ensure channel is found." into 13 2018-03-05 08:39:08 -06:00
Alexander Traud
2d63c185f0 res_http_post: Enable GMime in NetBSD.
ASTERISK-27719

Change-Id: I230c5f9f316b2e9465c093c13580f72ebbaf67a7
2018-03-05 08:15:44 -06:00
Jenkins2
2961dd6c6d Merge "core: Fix handling of maximum length lines in config files." into 13 2018-03-05 08:10:02 -06:00
Jenkins2
9f56ad1673 Merge "pjproject: Add cache_pools debugging option." into 13 2018-03-05 07:54:14 -06:00
Alexander Traud
0af1446d6e BuildSystem: Enable autotools in NetBSD.
ASTERISK-27716

Change-Id: I52525e35e1620341272219911d054a1e3d3ec01e
2018-03-05 04:16:32 -06:00
Alexander Traud
95ecbaa6b8 BuildSystem: AC_PATH_PROG sets to colon character when not found.
ASTERISK-27715
Reported by: Corey Farrell

Change-Id: I0d6d9572d1352dc7ad30c9917173f1e980d8c938
2018-03-05 03:43:41 -06:00
Alexander Traud
7b5e0960ef chan_unistim: NetBSD has an incompatible struct in_pktinfo.
ASTERISK-27714
Reported by: John Nemeth

Change-Id: I1b84a89315a5f61222123d21bf35c59224da8990
2018-03-03 09:06:45 -06:00
Alexander Traud
6b899b2849 BuildSystem: Cast any intptr_t explicitly to its proposed type.
ASTERISK-27713

Change-Id: I90c769e3c7f8c26de8a3af11335862cec15a1b22
2018-03-03 08:30:47 -06:00
Alexander Traud
98e8e849da BuildSystem: Detect whether uselocale(.) is available.
ASTERISK-27712
Reported by: Joerg Sonnenberger, D'Arcy Cain

Change-Id: Idf1c9d43617a3e13028b95b313415903d80ef807
2018-03-03 06:57:42 -06:00
Alexander Traud
8348862103 BuildSystem: Avoid re-defining of pthread_* on NetBSD.
ASTERISK-27711

Change-Id: Idc9194035b2958b99f6b01eb5b438d45a074565b
2018-03-03 03:55:48 -06:00
Alexander Traud
47d45ba025 BuildSystem: Install init scripts on openSUSE Tumbleweed.
ASTERISK-27710

Change-Id: I4c777e41b31d4415bbe21cb435ad47b43ebb5467
2018-03-02 07:05:47 -06:00
Alexander Traud
4035582b64 BuildSystem: Avoid == for comparison in ./configure.
ASTERISK-27709
Reported by: John Nemeth

Change-Id: I11b1ae8fd404c04066f1458f5d71f9536359d58d
2018-03-02 05:13:25 -06:00
Jenkins2
0a452a5f1d Merge "gitreview: Reorder and add padding." into 13 2018-03-01 09:23:58 -06:00
Jenkins2
d175dc794c Merge "res_pjsip_refer.c: Fix attended transfer race condition crash." into 13 2018-03-01 08:38:51 -06:00
Richard Mudgett
104468ad3a pjproject: Add cache_pools debugging option.
The pool cache gets in the way of finding use after free errors of memory
pool contents.  Tools like valgrind and MALLOC_DEBUG don't know when a
pool is released because it gets put into the cache instead of being
freed.

* Added the "cache_pools" option to pjproject.conf.  Disabling the option
helps track down pool content mismanagement when using valgrind or
MALLOC_DEBUG.  The cache gets in the way of determining if the pool
contents are used after free and who freed it.

To disable the pool caching simply disable the cache_pools option in
pjproject.conf and restart Asterisk.

Sample pjproject.conf setting:
[startup]
cache_pools=no

* Made current users of the caching pool factory initialization and
destruction calls call common routines to create and destroy cached pools.

ASTERISK-27704

Change-Id: I64d5befbaeed2532f93aa027a51eb52347d2b828
2018-02-28 11:38:40 -06:00
Corey Farrell
41894965f2 gitreview: Reorder and add padding.
Change-Id: I459dc320a8c9452a01eed6f403d786741587c890
2018-02-25 17:59:08 -05:00
Michael Cargile
bb973aeceb apps/app_amd.c: Fixed total time and silence calculations
Between Asterisk 11 and Asterisk 13 there was a significant increase
in the number of AST_FRAME_NULL frames being processed by app_amd.c's
main loop. Each AST_FRAME_NULL frame was being counted as 100ms
towards the total time and silence. This may have been accurate
when app_amd.c was orginally added, but it is not in Asterisk 13.
As such the total analysis time and silence calculations were way
off effectively breaking app_amd.c

* Additional debug messages were added
* AST_FRAME_NULL are now ignored

ASTERISK-27610

Change-Id: I18aca01af98f87c1e168e6ae0d85c136d1df5ea9
2018-02-25 12:56:44 -05:00
George Joseph
68df9e609e ast_coredumper: Minor fixes
* Fix --tarball-config so the option doesn't cause an error.

* Allow for missing /etc/os-release.

* Add a sleep between tarballing the coredump and removing the
  output directory to allow the filesystem to settle.

Change-Id: I73e03b13087978bcc7f6bc9f45753990f82d9d77
2018-02-23 13:58:54 -07:00