Commit Graph

30232 Commits

Author SHA1 Message Date
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
Jenkins2
d0e270c973 Merge "modules: Set deprecated modules to not build by default" into 13 2018-02-23 12:48:35 -06:00
Corey Farrell
caad0c09cd core: Fix handling of maximum length lines in config files.
When a line is the maximum length "\n" is found at sizeof(buf) - 2 since
the last character is actually the null terminator.  In addition if a
line was exactly 8190 plus a multiple of 8192 characters long the config
parser would skip the following line.

Additionally fix comment in voicemail.conf sample config.  It previously
stated that emailbody can only contain up to 512 characters which is
always wrong.  The buffer is normally 8192 characters unless LOW_MEMORY
is enabled then it is 512 characters.  The updated comment states that
the line can be up to 8190 or 510 characters since the line feed and
NULL terminator each use a character.

ASTERISK-26688 #close

Change-Id: I80864a0d40d2e2d8cd79d72af52a8f0a3a99c015
2018-02-23 11:14:59 -06:00
Jenkins2
499f0bfd72 Merge "install_prereq: Update FreeBSD libraries." into 13 2018-02-23 09:20:27 -06:00
Jenkins2
5b5391d7d9 Merge "res_rtp_asterisk: Fix ICE candidate nomination" into 13 2018-02-23 08:13:09 -06:00
Richard Mudgett
3e5864bcc8 res_pjsip_refer.c: Fix attended transfer race condition crash.
The transferrer's session channel was destroyed by the transferrer's
serializer thread in a race condition with the transfer target's
serializer thread during an attended transfer.  The transfer target's
serializer was attempting to clean up a deferred end status on behalf of
the transferrer's channel when it should have passed the action to the
transferrer's serializer.  When the transfer target's serializer lost the
race then both threads wind up trying to end the transferrer's session.

* Push the ast_sip_session_end_if_deferred() call onto the transferrer's
serializer to avoid a race condition that results in a crash.  The
session_end() function that could be called by
ast_sip_session_end_if_deferred() really must be executed by the
transferrer's serializer to avoid this kind of crash.

ASTERISK-27568

Change-Id: Iacda724e7cb24d7520e49b2fd7e504aa398d7238
2018-02-22 17:14:57 -06:00
Kevin Harwell
ffb15b2bc7 AMI: Bumping AMI non-breaking number for Asterisk 13.20.0 release
A few changes were made to AMI:

 * Fixed "(null):" header in AMI AsyncAGIEnd event
 * A mute header was added to the ConfbridgeJoin AMI event
 * ConfbridgeList action's ConfbridgeList events now output all
   the standard channel snapshot headers

Change-Id: I94a82a44b02c91becae08d254e9a56abba5697cf
2018-02-22 14:04:02 -06:00
Alexander Traud
05fc37bbc2 install_prereq: Update FreeBSD libraries.
deleted
 autoconf gcc libsamplerate sqlite

changed
 binutils to libbfd
 freetds-devel to freetds
 gmime2 to gmime26
 mysql55-client to mysql57-client

added
 alsa-lib bison bzip2 cclient corosync doxygen libedit flex graphviz
 libhoard libical libilbc libltdl lua neon newt net-snmp
 openldap-client openssl patch pkgconf portaudio postgresql10-client
 python radcli speexdsp subversion uriparser xmlstarlet libzip

ASTERISK-27686

Change-Id: Ibe88c9b26e59c30d26cdb313a3ef01c9f37ac80d
2018-02-22 13:56:18 -05:00
Sean Bright
220accb461 modules: Set deprecated modules to not build by default
Change-Id: I09090f70224866aead6b3207fa784cfefea7d539
2018-02-22 11:48:00 -05:00
Kevin Harwell
55dc071950 Merge "AST-2018-003: Crash with an invalid SDP fmtp attribute" into 13 2018-02-21 12:12:30 -06:00
Kevin Harwell
1266754d3c Merge "AST-2018-002: Crash with an invalid SDP media format description" into 13 2018-02-21 12:08:48 -06:00
Joshua Colp
b1a0e601c9 Merge "AST-2018-004: Restrict the number of Accept headers in a SUBSCRIBE." into 13 2018-02-21 10:37:20 -06:00
Kevin Harwell
05af43b240 AST-2018-003: Crash with an invalid SDP fmtp attribute
pjproject's fmtp retrieval function failed to catch invalid fmtp attributes.
Because of this Asterisk would crash if given an SDP with an invalid fmtp
attribute.

When retrieving the format this patch now makes sure the fmtp attribute is
available. If not available it now returns an error status.

ASTERISK-27583 #close

Change-Id: I5cebe000ce2d846cae3af33b6d72c416e51caf2f
2018-02-21 09:35:32 -06:00
Kevin Harwell
c5dc2fb4ab AST-2018-002: Crash with an invalid SDP media format description
pjproject's media format parsing algorithm failed to catch invalid values.
Because of this Asterisk would crash if given an SDP with a invalid media
format description.

When parsing the media format description this patch now properly parses the
value and returns an error status if it can't successfully parse/convert the
value.

ASTERISK-27582 #close

Change-Id: I883b3a4ef85b6972397f7b56bf46c5779c55fdd6
2018-02-21 09:33:54 -06:00
George Joseph
5947fd148b AST-2018-005: res_pjsip_transport_management: Move to core
Since res_pjsip_transport_management provides several attack
mitigation features, its functionality moved to res_pjsip and
this module has been removed.  This way the features will always
be available if res_pjsip is loaded.

ASTERISK-27618
Reported By: Sandro Gauci

Change-Id: I21a2d33d9dda001452ea040d350d7a075f9acf0d
2018-02-21 07:40:10 -07:00
George Joseph
a780386dbb AST-2018-005: Fix tdata leaks when calling pjsip_endpt_send_response(2)
pjsip_distributor:
   authenticate() creates a tdata and uses it to send a challenge or
   failure response.  When pjsip_endpt_send_response2() succeeds, it
   automatically decrements the tdata ref count but when it fails, it
   doesn't.  Since we weren't checking for a return status, we weren't
   decrementing the count ourselves on error and were therefore leaking
   tdatas.

res_pjsip_session:
   session_reinvite_on_rx_request wasn't decrementing the ref count
   if an error happened while sending a 491 response.
   pre_session_setup wasn't decrementing the ref count if
   while sending an error after a pjsip_inv_verify_request failure.

res_pjsip:
   ast_sip_send_response wasn't decrementing the ref count on error.

ASTERISK-27618
Reported By: Sandro Gauci

Change-Id: Iab33a6c7b6fba96148ed465b690ba8534ac961bf
2018-02-21 07:39:38 -07:00