]> git.ipfire.org Git - thirdparty/asterisk.git/log
thirdparty/asterisk.git
10 years agoaudiohook.c: Difference in read/write rates caused continuous buffer resets 64/464/6
Kevin Harwell [Thu, 14 May 2015 20:21:30 +0000 (15:21 -0500)] 
audiohook.c: Difference in read/write rates caused continuous buffer resets

Currently, everytime a sample rate change occurs (on read or write) the
associated factory buffers are reset. If the requested sample rate on a
read differed from that of a write then the buffers are continually reset
on every read and write. This has the side effect of emptying the buffer,
thus there being no data to read and then write to a file in the case of
call recording.

This patch fixes it so that an audiohook_list's rate always maintains the
maximum sample rate among hooks and formats. Audiohook sample rates are
only overwritten by this value when slin native compatibility is turned on.
Also, the audiohook sample rate can only overwrite the list's sample rate
when its rate is greater than that of the list or if compatibility is
turned off. This keeps the rate from constantly switching/resetting.

ASTERISK-24944 #close
Reported by: Ronald Raikes

Change-Id: Idab4dfef068a7922c09cc631dda27bc920a6c76f

10 years agoMerge "chan_pjsip: Fix crash during off-nominal when no endpoint specified."
Matt Jordan [Mon, 18 May 2015 12:34:01 +0000 (07:34 -0500)] 
Merge "chan_pjsip: Fix crash during off-nominal when no endpoint specified."

10 years agochan_pjsip: Fix crash during off-nominal when no endpoint specified. 75/475/8
snuffy [Fri, 15 May 2015 03:05:52 +0000 (13:05 +1000)] 
chan_pjsip: Fix crash during off-nominal when no endpoint specified.

Add missing return -1 when no endpoint name is specified.

ASTERISK-25086 #close
Reported by: snuffy

Change-Id: I9de76c2935a1f4e3f0cffe97a670106f5605e89e

10 years agores_pjsip_config_wizard/config: Fix template processing 74/474/2
George Joseph [Thu, 14 May 2015 23:01:56 +0000 (17:01 -0600)] 
res_pjsip_config_wizard/config: Fix template processing

The config wizard was always pulling the first occurrence of
a variable from an ast_variable list but this gets the template
value from the list instead of any overridden value.  This patch
creates ast_variable_find_last_in_list() in config.c and updates
res_pjsip_config_wizard to use it instead of
ast_variable_find_in_list.  Now the overridden values, where they
exist, are used instead of template variables.

Updated test_config to test the new API.

ASTERISK-25089 #close

Reported-by: George Joseph <george.joseph@fairview5.com>
Tested-by: George Joseph <george.joseph@fairview5.com>
Change-Id: Ifa7ddefc956a463923ee6839dd1ebe021c299de4

10 years agoMerge "Add X.509 subject alternative name support to TLS certificate verification."
Joshua Colp [Fri, 15 May 2015 15:37:58 +0000 (10:37 -0500)] 
Merge "Add X.509 subject alternative name support to TLS certificate verification."

10 years agoMerge "cdr: Fix 'core show channel' CDR variable truncation."
Joshua Colp [Fri, 15 May 2015 15:20:51 +0000 (10:20 -0500)] 
Merge "cdr: Fix 'core show channel' CDR variable truncation."

10 years agocdr: Fix 'core show channel' CDR variable truncation. 77/477/4
snuffy [Fri, 15 May 2015 06:54:26 +0000 (16:54 +1000)] 
cdr: Fix 'core show channel' CDR variable truncation.

When the new Bridging API was implemented, the workspace variable
changed to a malloc'd string, causing sizeof() to always be 8 (char).

Revert back to stored on stack string for workspace.

ASTERISK-25090 #close

Change-Id: I51e610ae87371df771ce7693a955510efb90f8f7

10 years agoMerge "tcptls: Enable multiple TLS certificate chains (RSA+ECC+DSA) for server socket."
Joshua Colp [Fri, 15 May 2015 14:38:56 +0000 (09:38 -0500)] 
Merge "tcptls: Enable multiple TLS certificate chains (RSA+ECC+DSA) for server socket."

10 years agotcptls: Enable multiple TLS certificate chains (RSA+ECC+DSA) for server socket. 31/431/6
Alexander Traud [Sun, 10 May 2015 14:55:24 +0000 (16:55 +0200)] 
tcptls: Enable multiple TLS certificate chains (RSA+ECC+DSA) for server socket.

When a client connects to a server via SSL/TLS, the server commonly utilizes an
RSA key-pair. However, other such algorithms exist (i.e. DSA and ECDSA), and if
the server socket is configured with a certificate for either one of those, it
would lose its compatibility with RSA-only clients.

Now, the server socket can be configured with up to one RSA, ECDSA and DSA key
each. For example, if a client is not compatible with SHA-2 hashed certificates
like Nokia mobile phones, the server socket still can use RSA/SHA-1 for legacy
clients and ECDSA/SHA-2 for everyone else.

ASTERISK-24815 #close
Reported by: Alexander Traud
patches:
  tls_rsa_ecc_dsa.patch uploaded by Alexander Traud (License 6520)

Change-Id: Iada5e00d326db5ef86e0af7069b4dfa1b979da9a

10 years agoAdd X.509 subject alternative name support to TLS certificate 16/416/3
Maciej Szmigiero [Thu, 14 May 2015 22:12:41 +0000 (00:12 +0200)] 
Add X.509 subject alternative name support to TLS certificate
verification.

This way one X.509 certificate can be used for hosts that
can be reached under multiple DNS names or for multiple hosts.

Signed-off-by: Maciej Szmigiero <mail@maciej.szmigiero.name>
ASTERISK-25063 #close

Change-Id: I13302c80490a0b44c43f1b45376c9bd7b15a538f

10 years agoMerge "sorcery: Add API to insert/remove a wizard to/from an object type's list"
Joshua Colp [Thu, 14 May 2015 20:20:32 +0000 (15:20 -0500)] 
Merge "sorcery: Add API to insert/remove a wizard to/from an object type's list"

10 years agoMessage.c: Clear message channel frames on cleanup 71/471/1
Jonathan Rose [Wed, 13 May 2015 20:41:07 +0000 (15:41 -0500)] 
Message.c: Clear message channel frames on cleanup

The message channel is a special channel that doesn't actually process frames.
However, certain actions can cause frames to be placed in the channel's read
queue including the Hangup application which is called on the channel after
each message is processed. Since the channel will continually be reused for
many messages, it's necessary to flush these frames at some point.

ASTERISK-25083 #close
Reported by: Jonathan Rose

Change-Id: Idf18df73ccd8c220be38743335b5c79c2a4c0d0f

10 years agoMerge "MALLOC_DEBUG: Replace WRAP_LIBC_MALLOC with ASTMM_LIBC."
Joshua Colp [Thu, 14 May 2015 15:57:04 +0000 (10:57 -0500)] 
Merge "MALLOC_DEBUG: Replace WRAP_LIBC_MALLOC with ASTMM_LIBC."

10 years agoMerge "cdr_adaptive_odbc: Add ability to set character for quoted identifiers."
Joshua Colp [Thu, 14 May 2015 10:28:16 +0000 (05:28 -0500)] 
Merge "cdr_adaptive_odbc: Add ability to set character for quoted identifiers."

10 years agoMerge "AST_MODULE_INFO: Format corrections to the usages of AST_MODULE_INFO macro."
Joshua Colp [Thu, 14 May 2015 10:03:43 +0000 (05:03 -0500)] 
Merge "AST_MODULE_INFO: Format corrections to the usages of AST_MODULE_INFO macro."

10 years agoMerge "main/manager.c: Bugfix sort action_manager by alphabetically"
Joshua Colp [Thu, 14 May 2015 10:03:07 +0000 (05:03 -0500)] 
Merge "main/manager.c: Bugfix sort action_manager by alphabetically"

10 years agoMerge "cel/cel_pgsql.c: Use the 'SEP' macro when appending a column name"
Joshua Colp [Thu, 14 May 2015 10:02:13 +0000 (05:02 -0500)] 
Merge "cel/cel_pgsql.c: Use the 'SEP' macro when appending a column name"

10 years agoMALLOC_DEBUG: Replace WRAP_LIBC_MALLOC with ASTMM_LIBC. 42/442/4
Corey Farrell [Tue, 12 May 2015 13:58:52 +0000 (09:58 -0400)] 
MALLOC_DEBUG: Replace WRAP_LIBC_MALLOC with ASTMM_LIBC.

There are 3 ways that calls directly to standard allocator functions can
be dealt with:
1. Block their use, cause them to generate an error.  This is the default.
2. Replace them with the Asterisk equivalent function calls.
3. Leave them alone.

This change allows one of these 3 options to be selected by any source.
The source just needs to define ASTMM_LIBC to ASTMM_BLOCK, ASTMM_REDIRECT,
or ASTMM_IGNORE to use option 1, 2 or 3 respectively.  Normally ASTMM_BLOCK
is the correct option, so it is default when ASTMM_LIBC is not defined.
In some cases when building 3rd party code it is desirable to have it use
Asterisk functions, without changing the whole source - ASTMM_REDIRECT
accomplishes this.  When using 3rd party libraries sometimes a static
inline function will make use of malloc or free.  In these cases it may
be unsafe to replace the allocator in the header, as it's possible the
memory could be freed by the library using standard allocators.  For
those cases ASTMM_IGNORE is needed.

Change-Id: I8afef4bc7f3b93914263ae27d3a5858b69663fc7

10 years agoAST_MODULE_INFO: Format corrections to the usages of AST_MODULE_INFO macro. 49/449/2
Rodrigo Ramírez Norambuena [Wed, 6 May 2015 00:49:04 +0000 (20:49 -0400)] 
AST_MODULE_INFO: Format corrections to the usages of AST_MODULE_INFO macro.

Change-Id: Icf88f9f861c6b2a16e5f626ff25795218a6f2723

10 years agocel/cel_pgsql.c: Use the 'SEP' macro when appending a column name 60/460/3
Rodrigo Ramírez Norambuena [Wed, 6 May 2015 10:28:28 +0000 (06:28 -0400)] 
cel/cel_pgsql.c: Use the 'SEP' macro when appending a column name

When appending a column name to the sql buffer, the predicate, "if first is
non-null, use empty string; else, use comma", is identical to the 'SEP' macro
definition. Since they are the same, this patch replaces the redundant
predicate statement with the 'SEP' macro.

Change-Id: Ib8b6138b06a48381723108a05ab8752cb8700509

10 years agoMerge "app_voicemail: fix moving when old messages full"
Joshua Colp [Wed, 13 May 2015 20:44:30 +0000 (15:44 -0500)] 
Merge "app_voicemail: fix moving when old messages full"

10 years agoapp_voicemail: fix moving when old messages full 48/448/5
Jonathan Rose [Tue, 12 May 2015 22:45:09 +0000 (17:45 -0500)] 
app_voicemail: fix moving when old messages full

When completing voicemail playback of a message in the 'INBOX', the
message gets moved to the 'Old' messages folder. Without this patch, if
the 'Old' folder is already at its set limit, then the 'INBOX' message will
simply be deleted. With this patch, the flag to delete the message will be
removed if the save_to_folder function indicates that the message could
not be moved due to a full folder.

ASTERISK-25082 #close
Reported by: Jonathan Rose
Review: https://gerrit.asterisk.org/#/c/448/

Change-Id: I2be440a09f42e2d06d50975c40d1ad7f836ecb3f

10 years agoMerge "cdr_pgsql, cel_pgsql: Store maximum buffer size to prevent reallocation"
Joshua Colp [Wed, 13 May 2015 20:17:48 +0000 (15:17 -0500)] 
Merge "cdr_pgsql, cel_pgsql: Store maximum buffer size to prevent reallocation"

10 years agoMerge "cel_pgsql: Add support for setting schema"
Joshua Colp [Wed, 13 May 2015 20:17:18 +0000 (15:17 -0500)] 
Merge "cel_pgsql: Add support for setting schema"

10 years agoMerge "General: Fix recent menuselect-related cross compile regression"
Joshua Colp [Wed, 13 May 2015 19:20:35 +0000 (14:20 -0500)] 
Merge "General: Fix recent menuselect-related cross compile regression"

10 years agoMerge "res_config_mysql: Fix broken column type checking"
Joshua Colp [Wed, 13 May 2015 17:25:58 +0000 (12:25 -0500)] 
Merge "res_config_mysql: Fix broken column type checking"

10 years agoMerge "chan_dahdi/sig_pri: Fix crash on ISDN call hangup collision."
Joshua Colp [Wed, 13 May 2015 17:24:44 +0000 (12:24 -0500)] 
Merge "chan_dahdi/sig_pri: Fix crash on ISDN call hangup collision."

10 years agoMerge "res_rtp_asterisk: Correction for the limit which detects that a packet is...
Joshua Colp [Wed, 13 May 2015 15:38:23 +0000 (10:38 -0500)] 
Merge "res_rtp_asterisk: Correction for the limit which detects that a packet is DTLS."

10 years agoMerge "cdr_pgsql: Use PQescapeStringConn for escaping names."
Joshua Colp [Wed, 13 May 2015 09:35:55 +0000 (04:35 -0500)] 
Merge "cdr_pgsql: Use PQescapeStringConn for escaping names."

10 years agochan_dahdi/sig_pri: Fix crash on ISDN call hangup collision. 47/447/1
Richard Mudgett [Tue, 12 May 2015 22:34:45 +0000 (17:34 -0500)] 
chan_dahdi/sig_pri: Fix crash on ISDN call hangup collision.

If an ISDN call is hungup by both sides at the same time a crash could
happen.

* Added missing NULL checks for the owner channel after calling
pri_queue_pvt_cause_data() in two places.  Code after those calls need to
check the owner channel pointer for NULL before use because
pri_queue_pvt_cause_data() needs to do deadlock avoidance to lock the
owner and the owner may get hung up.

ASTERISK-21893 #close
Reported by:  Alexandr Gordeev

Change-Id: Ica3e266ebc7a894b41d762326f08653e1904bb9a

10 years agoMerge "Allow command-line options to override asterisk.conf."
Joshua Colp [Tue, 12 May 2015 16:59:04 +0000 (11:59 -0500)] 
Merge "Allow command-line options to override asterisk.conf."

10 years agoMerge "cdr: standardizes tab for options of AST_MODULE_INFO"
Joshua Colp [Tue, 12 May 2015 16:58:30 +0000 (11:58 -0500)] 
Merge "cdr: standardizes tab for options of AST_MODULE_INFO"

10 years agoAllow command-line options to override asterisk.conf. 92/392/6
Corey Farrell [Wed, 6 May 2015 13:31:33 +0000 (09:31 -0400)] 
Allow command-line options to override asterisk.conf.

Previous versions of Asterisk processed command-line options before
processing asterisk.conf.  This meant that if an option was set in
asterisk.conf, it could not be overridden with the equivelent command
line option.  This change causes Asterisk to process the command-line
twice.  First it processes options that are needed to load asterisk.conf,
then it processes the remaining options after the config is read.

This changes the function of -X slightly.  Previously using -X without
disabling execincludes in asterisk.conf caused #exec to be usable in any
config.  Now -X only enables #exec for the load of asterisk.conf, if it
is wanted in the rest of the system it must be enabled with execincludes
in asterisk.conf.  Updated 'asterisk -h' and 'man asterisk' to reflect
the limited function of -X.

ASTERISK-25042 #close
Reported by: Corey Farrell

Change-Id: I1450d45c15b4467274b871914d893ed4f6564cd7

10 years agosorcery: Add API to insert/remove a wizard to/from an object type's list 95/395/4
George Joseph [Tue, 5 May 2015 20:32:08 +0000 (14:32 -0600)] 
sorcery: Add API to insert/remove a wizard to/from an object type's list

Currently you can 'apply' a wizard to an object type but the wizard
always goes at the end of the object type's wizard list.  This patch
adds a new ast_sorcery_insert_wizard_mapping function that allows
you to insert a wizard anyplace in the list.  I.E.  You could
add a caching wizard to an object type and place it before all
wizards.

ast_sorcery_get_wizard_mapping_count and
ast_sorcery_get_wizard_mapping were added to allow examination
of the mapping list.

ast_sorcery_remove_mapping was added to remove a mapping by name.

As part of this patch, the object type's wizard list was converted
from an ao2_container to an AST_VECTOR_RW.

A new test was added to test_sorcery for this capability.

ASTERISK-25044 #close

Change-Id: I9d2469a9296b2698082c0989e25e6848dc403b57

10 years agoFix processing of asterisk.conf debug=yes. 39/439/2
Corey Farrell [Tue, 12 May 2015 06:31:58 +0000 (02:31 -0400)] 
Fix processing of asterisk.conf debug=yes.

The code which reads asterisk.conf supports processing the debug
option with ast_true, but ast_true returns -1.  This causes debug
to still be off, convert to 1 so debug will be on as requested.

ASTERISK-25042
Reported by: Corey Farrell

Change-Id: I3c898b7d082d914b057e111b9357fde46bad9ed6

10 years agoGeneral: Fix recent menuselect-related cross compile regression 26/426/3
Sebastian Kemper [Sun, 10 May 2015 07:26:30 +0000 (09:26 +0200)] 
General: Fix recent menuselect-related cross compile regression

MAKE_MENUSELECT currently sets CC to CC, which is the compiler for the
target platform. But menuselect is to be run on the build system, so
BUILD_CC needs to be used instead - like it was in the past, before the
recent changes (https://reviewboard.asterisk.org/r/4370/). This is the
patch for ASTERISK-25074.

ASTERISK-25074 #close
Reported by: Sebastian Kemper
Tested by: Sebastian Kemper

Change-Id: I8a2b1fc5deb6ad2b80f49baca35b1b13d468ebf8

10 years agoMerge "vector: Add REMOVE, ADD_SORTED and RESET macros"
Joshua Colp [Tue, 12 May 2015 10:39:08 +0000 (05:39 -0500)] 
Merge "vector:  Add REMOVE, ADD_SORTED and RESET macros"

10 years agocdr_pgsql, cel_pgsql: Store maximum buffer size to prevent reallocation 15/415/2
Rodrigo Ramírez Norambuena [Fri, 1 May 2015 17:22:17 +0000 (13:22 -0400)] 
cdr_pgsql, cel_pgsql: Store maximum buffer size to prevent reallocation

The code previously used a fixed size of 512 for the SQL
queries. Depending on the size this may require it to grow.

This change makes it so if the buffer size does grow the size
is stored and next time the buffer will be large enough.

Change-Id: I55385899f1c06dee47e4274c2d21538037b2d895

10 years agoMerge "pbx/pbx_spool: Fix issue when call files were executed too early"
Joshua Colp [Tue, 12 May 2015 10:06:23 +0000 (05:06 -0500)] 
Merge "pbx/pbx_spool: Fix issue when call files were executed too early"

10 years agoMerge "dns_srv: Fix SRV sorting when records with priority zero exist with non-zero."
Joshua Colp [Tue, 12 May 2015 09:59:18 +0000 (04:59 -0500)] 
Merge "dns_srv: Fix SRV sorting when records with priority zero exist with non-zero."

10 years agovector: Add REMOVE, ADD_SORTED and RESET macros 22/422/7
George Joseph [Sat, 9 May 2015 21:58:46 +0000 (15:58 -0600)] 
vector:  Add REMOVE, ADD_SORTED and RESET macros

Based on feedback from Corey Farrell and Y Ateya, a few new
macros have been added...

AST_VECTOR_REMOVE which takes a parameter to indicate if
order should be preserved.

AST_VECTOR_ADD_SORTED which adds an element to
a sorted vector.

AST_VECTOR_RESET which cleans all elements from the vector
leaving the storage intact.

Change-Id: I41d32dbdf7137e0557134efeff9f9f1064b58d14

10 years agopbx/pbx_spool: Fix issue when call files were executed too early 32/432/2
Ivan Poddubny [Mon, 11 May 2015 12:07:31 +0000 (12:07 +0000)] 
pbx/pbx_spool: Fix issue when call files were executed too early

pbx_spool used to delete/move the call file upon successful outgoing
call completion, but did not delete it from in-memory list of files
(dirlist, used only when compiled with inotify/kqueue support).
That resulted in an extra attempt to process that filename after
retrytime seconds.
Then, if a new file with the same name appears that is scheduled
in future further than the completed one plus its retrytime,
then it gets executed earlier than expected.

This patch fixes remove_from_queue function to also remove the entry
from the dirlist.

ASTERISK-17069 #close
Reported by: Jeremy Kister

ASTERISK-24442 #close
Reported by: tootai

Change-Id: If9ec9b88073661ce485d6b008fd0b2612e49a28b

10 years agoMerge "main/asterisk.c: Update Asterisk copyright year"
Joshua Colp [Mon, 11 May 2015 19:44:52 +0000 (14:44 -0500)] 
Merge "main/asterisk.c: Update Asterisk copyright year"

10 years agoMerge "utils: Remove trailing whitespace"
Joshua Colp [Mon, 11 May 2015 19:43:01 +0000 (14:43 -0500)] 
Merge "utils: Remove trailing whitespace"

10 years agocdr_pgsql: Use PQescapeStringConn for escaping names. 23/423/2
Rodrigo Ramírez Norambuena [Sat, 2 May 2015 04:43:22 +0000 (00:43 -0400)] 
cdr_pgsql: Use PQescapeStringConn for escaping names.

Use function PQescapeStringConn for escaping the name
of the table and schema instead of doing it manually.

Change-Id: I6709165e2d00463e9c813d24f17830ad4910b599

10 years agoMerge "Fix error's produced by astmm.h when standard allocators are used."
Joshua Colp [Mon, 11 May 2015 10:34:05 +0000 (05:34 -0500)] 
Merge "Fix error's produced by astmm.h when standard allocators are used."

10 years agores_rtp_asterisk: Correction for the limit which detects that a packet is DTLS. 28/428/2
Yousf Ateya [Sun, 10 May 2015 12:37:54 +0000 (14:37 +0200)] 
res_rtp_asterisk: Correction for the limit which detects that a packet is DTLS.

First byte of DTLS packet shall be in range 20-63, not 20-64. Refer to RFC
https://tools.ietf.org/html/rfc5764#section-5.1.2 for correct values.

Change-Id: Iae6fa0d72b37c36a27fe40686e0ae6fba3afec31

10 years agodns_srv: Fix SRV sorting when records with priority zero exist with non-zero. 29/429/1
Joshua Colp [Sun, 10 May 2015 13:36:51 +0000 (10:36 -0300)] 
dns_srv: Fix SRV sorting when records with priority zero exist with non-zero.

The DNS SRV sorting code currently has an issue when records with a priority
of zero exist with records of a non-zero priority. This occurs because the
sorting code considers zero to mean unset when in reality is a valid
value. If the current priority is zero it will get replaced with any remaining
record that has a priority of non-zero, until no records of those exist after
which the records of priority zero are handled.

This change makes it so that the priority of the first remaining record is
the current starting priority. There is also a small optimization to prevent
iterating records when the starting priority is already zero.

Change-Id: I103511f35b50428f770bd4db3ffef70fb6f82d35

10 years agoMerge "configs/basic-pbx: Modified main IVR to play new Allison prompt."
Joshua Colp [Sun, 10 May 2015 13:15:29 +0000 (08:15 -0500)] 
Merge "configs/basic-pbx: Modified main IVR to play new Allison prompt."

10 years agoMerge "Fix crash in codec_lpc10 when MALLOC_DEBUG is enabled."
Matt Jordan [Sat, 9 May 2015 04:33:36 +0000 (23:33 -0500)] 
Merge "Fix crash in codec_lpc10 when MALLOC_DEBUG is enabled."

10 years agores_config_mysql: Fix broken column type checking 20/420/1
Alexandre Fournier [Fri, 8 May 2015 23:01:26 +0000 (01:01 +0200)] 
res_config_mysql: Fix broken column type checking

MySQL configuration engine contains a bug in require_mysql(). This
function is used for column type checking in tables. This bug only
affects DATETIME, DATE and FLOAT types.

It came from mixing the first condition (switch-case-like
if/then/else), to check the expected column type, with the second
condition, to check the actual column type against the expected column
type. Both conditions must be checked separately in order to avoid the
execution of the wrong block.

ASTERISK-18252 #comment This patch might fix the issue
Reported by: Gareth Blades

ASTERISK-25041 #close
Reported by: Alexandre Fournier
Tested by: Alexandre Fournier

Change-Id: I0b8bf7e68ab938be8e6525a249260cb648cb0bfa

10 years agoconfigs/basic-pbx: Modified main IVR to play new Allison prompt. 18/418/1
Rusty Newton [Fri, 8 May 2015 19:47:51 +0000 (14:47 -0500)] 
configs/basic-pbx: Modified main IVR to play new Allison prompt.

The main IVR was playing demo-congrats. I've switched it over to the
basic-pbx-ivr-main file that we added in core sounds 1.4.27. This prompt
has Allison prompting the user with the actual IVR menu.

ASTERISK-24892 #close

Change-Id: Ifb749616ff8e156a1031ddaddfcc9244767a095d

10 years agoFix error's produced by astmm.h when standard allocators are used. 17/417/1
Corey Farrell [Fri, 8 May 2015 17:30:26 +0000 (13:30 -0400)] 
Fix error's produced by astmm.h when standard allocators are used.

astmm.h includes defines that are meant to cause error's when standard
allocators (malloc, calloc, free, etc) are used.  It actually only
causes a warning, which is not always caught on certain sources.  In
modules this unknown symbol is not detected until runtime, where the
module fails to load.  This modifies the define's so that using one
of the blocked functions will cause a compile error regardless of
CFLAGS.

Moved spandsp header includes to before asterisk.h so the static inline
functions can continue using malloc and free.  Although these functions
are never called and optimized away, the updated replacement macro's
would still cause a failure.

Change-Id: I532640aca0913ba9da3b18c04a0f010ca1715af5

10 years agores_rtp_asterisk: Issue ERROR if res_srtp is not found. 11/411/4
Sean Bright [Fri, 8 May 2015 15:39:42 +0000 (15:39 +0000)] 
res_rtp_asterisk: Issue ERROR if res_srtp is not found.

While trying to get WebRTC working with chan_pjsip, I was running
into the following error:

    Attempted to set an invalid DTLS-SRTP configuration on RTP
    instance...

Josh helpfully pointed out that res_srtp.so might not be loaded, and
sure enough, it wasn't. This patch adds a ERROR indiciating as much
to hopefully help others having a similar problem.

Change-Id: I13aa477b47b299876728a21b130998a0ea6cd19f

10 years agoMerge "sounds: Add Swedish sounds to Makefile and XML"
Matt Jordan [Fri, 8 May 2015 18:17:59 +0000 (13:17 -0500)] 
Merge "sounds: Add Swedish sounds to Makefile and XML"

10 years agosounds: Add Swedish sounds to Makefile and XML 03/403/2
Rusty Newton [Thu, 7 May 2015 22:49:07 +0000 (17:49 -0500)] 
sounds: Add Swedish sounds to Makefile and XML

Added the necessary lines to the Makefile and sounds.xml so we'll have the
Swedish sounds in all available formats in menuselect.

See also: Swedish sounds were added into the core sounds release 1.4.27.

ASTERISK-24744 #close

Reported by: Tove Hjelm
Tested by: Rusty Newton

Change-Id: Ib6f4fd177afd1667b2402735034001d4d055a908

10 years agoFix crash in codec_lpc10 when MALLOC_DEBUG is enabled. 09/409/2
Corey Farrell [Fri, 8 May 2015 15:30:24 +0000 (11:30 -0400)] 
Fix crash in codec_lpc10 when MALLOC_DEBUG is enabled.

This switches codecs/lpc10/lpcini.c back to including "asterisk.h"
instead of <stdlib.h>.  lpcini.c allocates memory that is freed by
codec_lpc10.c, so it is important to use MALLOC_DEBUG allocator.
Added #define WRAP_LIBC_MALLOC to the start of the source to prevent
runtime symbol link error's.

Change-Id: I74f63fd09fdeb673ee7753122c3bb4722ab6e1ac

10 years agodoc: Make progdocs play nice with git 01/401/2
George Joseph [Thu, 7 May 2015 19:54:35 +0000 (13:54 -0600)] 
doc: Make progdocs play nice with git

Moved contrib/asterisk-ng-doxygen to doc/asterisk-ng-doxygen.in

Changed /Makefile to copy asterisk-ng-doxygen.in to
asterisk-ng-doxygen then modify it with version instead of
modifying asterisk-ng-doxygen directly.  Updated clean
targets as well.

Updated /.gitignore and doc/.gitignore.

Change-Id: I38712d3e334fa4baec19d30d05de8c6f28137622

10 years agoMerge "res_pjsip_exten_state: Fix race condition between sending NOTIFY and termination"
Joshua Colp [Thu, 7 May 2015 20:10:50 +0000 (15:10 -0500)] 
Merge "res_pjsip_exten_state: Fix race condition between sending NOTIFY and termination"

10 years agocontrib/editors: Fix vim syntax highlighting of comments in config files 54/354/2
Ivan Poddubny [Mon, 4 May 2015 19:43:20 +0000 (19:43 +0000)] 
contrib/editors: Fix vim syntax highlighting of comments in config files

 * Added a lookbehind to one-line comment matcher to skip escaped
   semicolons.
 * Added support for block comments.

Change-Id: Id17dfaeda8ed4be572e8107a0c010066584aaee7

10 years agoMerge "vector: Additional enhancements and fixes"
Matt Jordan [Thu, 7 May 2015 18:30:17 +0000 (13:30 -0500)] 
Merge "vector:  Additional enhancements and fixes"

10 years agores_pjsip_exten_state: Fix race condition between sending NOTIFY and termination 90/390/1
Joshua Colp [Wed, 6 May 2015 18:24:29 +0000 (15:24 -0300)] 
res_pjsip_exten_state: Fix race condition between sending NOTIFY and termination

The res_pjsip_exten_state module currently has a race condition between
processing the extension state callback from the PBX core and processing
the subscription shutdown callback from res_pjsip_pubsub. There is currently
no synchronization between the two. This can present a problem as while
the SIP subscription will remain valid the tree it points to may not.
This is in particular a problem as a task to send a NOTIFY may get queued
which will try to use the tree that may no longer be valid.

This change does the following to fix this problem:

1. All access to the subscription tree is done within the task that
sends the NOTIFY to ensure that no other thread is modifying or
destroying the tree. This task executes on the serializer for the
subscriptions.

2. A reference to the subscription serializer is kept to ensure it
remains valid for the lifetime of the extension state subscription.

3. The NOTIFY task has been changed so it will no longer attempt
to send a NOTIFY if the subscription has already been terminated.

ASTERISK-25057 #close
Reported by: Matt Jordan

Change-Id: I0b3cd2fac5be8d9b3dc5e693aaa79846eeaf5643

10 years agoMerge "tcptls: Avoiding ERR_remove_state in OpenSSL."
Joshua Colp [Thu, 7 May 2015 12:07:08 +0000 (07:07 -0500)] 
Merge "tcptls: Avoiding ERR_remove_state in OpenSSL."

10 years agoMerge "cdr/cdr_csv.c: Refactor, function to write content of csv file."
Matt Jordan [Thu, 7 May 2015 12:05:35 +0000 (07:05 -0500)] 
Merge "cdr/cdr_csv.c: Refactor, function to write content of csv file."

10 years agoMerge topics 'ASTERISK-25049', 'ASTERISK-25056'
Matt Jordan [Thu, 7 May 2015 12:04:43 +0000 (07:04 -0500)] 
Merge topics 'ASTERISK-25049', 'ASTERISK-25056'

* changes:
  CLI: Enable automatic references to modules.
  Modules: Make ast_module_info->self available to auxiliary sources.

10 years agoMerge "chan_dahdi: Improve force_restart_unavailable_chans option description."
Matt Jordan [Thu, 7 May 2015 12:02:49 +0000 (07:02 -0500)] 
Merge "chan_dahdi: Improve force_restart_unavailable_chans option description."

10 years agoMerge "res_stasis_snoop: Spying on a single direction continually increases CPU"
Matt Jordan [Thu, 7 May 2015 11:39:26 +0000 (06:39 -0500)] 
Merge "res_stasis_snoop: Spying on a single direction continually increases CPU"

10 years agoMerge "features: Fix crash when transferee hangs up during DTMF attended transfer."
Joshua Colp [Thu, 7 May 2015 11:27:39 +0000 (06:27 -0500)] 
Merge "features: Fix crash when transferee hangs up during DTMF attended transfer."

10 years agovector: Additional enhancements and fixes 75/375/4
George Joseph [Wed, 6 May 2015 01:22:13 +0000 (19:22 -0600)] 
vector:  Additional enhancements and fixes

After using the new vector stuff for real I found...

A bug in AST_VECTOR_INSERT_AT that could cause a seg fault.

The callbacks needed to be closer to ao2_callback in behavior
WRT to CMP_MATCH and CMP_STOP behavior and the ability to return
a vector of matched entries.

A pre-existing issue with APPEND and REPLACE was also fixed.

I also added a new macro to test.h that acts like ast_test_validate
but also accepts a return code variable and a cleanup label.  As well
as printing the error, it sets the rc variable to AST_TEST_FAIL and
does a goto to the specified label on error.  I had a local version
of this in test_vector so I just moved it.

ASTERISK-25045

Change-Id: I05e5e47fd02f61964be13b7e8942bab5d61b29cc

10 years agores_stasis_snoop: Spying on a single direction continually increases CPU 86/386/3
Kevin Harwell [Wed, 6 May 2015 22:37:51 +0000 (17:37 -0500)] 
res_stasis_snoop: Spying on a single direction continually increases CPU

Creating a snoop channel in ARI and spying only on a single direction (in or
out) results in CPU utilization continually increasing until the CPU is fully
consumed. This occurs because frames are being put in the opposing direction's
slin factory queue, but not being removed.

Fixed the problem by always reading and disposing of frames from the opposite
queue of the direction selected.

ASTERISK-24938 #closes

Change-Id: I935bfd15f1db958f364d9d6b3b45582c0113dd60

10 years agochan_dahdi: Improve force_restart_unavailable_chans option description. 87/387/1
Richard Mudgett [Wed, 6 May 2015 21:00:40 +0000 (16:00 -0500)] 
chan_dahdi: Improve force_restart_unavailable_chans option description.

ASTERISK-25034
Reported by: Richard Mudgett

Change-Id: I1ff8f02124d2f4abd632a050da52c64285bb7f30

10 years agoMerge "app_queue: Fix queue_log EXITWITHTIMEOUT containing only 1 parameter"
Joshua Colp [Wed, 6 May 2015 12:42:16 +0000 (07:42 -0500)] 
Merge "app_queue: Fix queue_log EXITWITHTIMEOUT containing only 1 parameter"

10 years agoMerge "manager: Fix build due to missing variable usage."
Matt Jordan [Wed, 6 May 2015 12:06:11 +0000 (07:06 -0500)] 
Merge "manager: Fix build due to missing variable usage."

10 years agoMerge "res_ari_bridges: Add missing dependencies."
Matt Jordan [Wed, 6 May 2015 11:13:44 +0000 (06:13 -0500)] 
Merge "res_ari_bridges: Add missing dependencies."

10 years agomanager: Fix build due to missing variable usage. 76/376/1
Joshua Colp [Wed, 6 May 2015 09:32:54 +0000 (06:32 -0300)] 
manager: Fix build due to missing variable usage.

Change-Id: I26d4d2cb9cee924632ff59ef0b30a7e6a1e2b00d

10 years agomain/manager.c: Bugfix sort action_manager by alphabetically 35/435/3
Rodrigo Ramírez Norambuena [Tue, 5 May 2015 01:11:56 +0000 (21:11 -0400)] 
main/manager.c: Bugfix sort action_manager by alphabetically

Fix the alphabetic order added on ast_manager_register_struct. The order
for struct manager_action added is not working, this change fixes the
problem.

Change-Id: I149da0cd06c3c4445d7516cc303358e9f26f8b4b

10 years agoMerge "pbx_config: Register manager actions with module version of macro."
Matt Jordan [Wed, 6 May 2015 02:05:16 +0000 (21:05 -0500)] 
Merge "pbx_config: Register manager actions with module version of macro."

10 years agofeatures: Fix crash when transferee hangs up during DTMF attended transfer. 73/373/1
Richard Mudgett [Tue, 5 May 2015 23:17:54 +0000 (18:17 -0500)] 
features: Fix crash when transferee hangs up during DTMF attended transfer.

A crash happens with this sequence of steps:
1) Party A is connected to party B.
2) Party B starts a DTMF attended transfer.
3) Party A hangs up while party B is dialing party C.

When party A hangs up the bridge that party A and party B are in is
dissolved and party B is kicked out of the bridge.  When party B finishes
dialing party C he attempts to move to the new bridge with party C.  Since
party B is no longer in a bridge the attempted move dereferences a NULL
bridge_channel pointer and crashes.

* Made the hold(), unhold(), ringing(), and the bridge_move() functions
tolerant of the channel not being in a bridge.  The assertion that party B
is always in a bridge is not true if the bridged peer of party B hangs up
and dissolves the bridge.  Being tolerant of not being in a bridge allows
the peer hangup stimulus to be processed by the FSM.

* Made the bridge_move() function return void since where the return value
for a failed move was checked generated a FSM coding ERROR message for a
normal off-nominal condition.

* Eliminated most uses of RAII_VAR in bridge_basic.c.

ASTERISK-25003 #close
Reported by: Artem Volodin

Change-Id: Ie2c1b14e5e647d4ea6de300bf56d69805d7bcada

10 years agoapp_queue: Fix queue_log EXITWITHTIMEOUT containing only 1 parameter 70/370/1
Ivan Poddubny [Tue, 5 May 2015 19:48:36 +0000 (19:48 +0000)] 
app_queue: Fix queue_log EXITWITHTIMEOUT containing only 1 parameter

This patch fixes EXITWITHTIMEOUT queue_log entry to always come with 3
parameters: position, original position and waiting time.

ASTERISK-25038 #close
Reported by: Etienne Lessard

Change-Id: I0c62045922e26bee2125e93aee1dee17eee79618

10 years agochan_unistim: Fix build failure due to ACL changes. 66/366/2
Joshua Colp [Tue, 5 May 2015 18:34:43 +0000 (15:34 -0300)] 
chan_unistim: Fix build failure due to ACL changes.

Change-Id: I57081045c72b9fcf12d5c84493278f9272c31b32

10 years agoMerge "stasis: Fix dial masquerade datastore lifetime"
Matt Jordan [Tue, 5 May 2015 18:13:01 +0000 (13:13 -0500)] 
Merge "stasis: Fix dial masquerade datastore lifetime"

10 years agoMerge "vector: Traversal, retrieval, insert and locking enhancements"
Matt Jordan [Tue, 5 May 2015 17:45:41 +0000 (12:45 -0500)] 
Merge "vector:  Traversal, retrieval, insert and locking enhancements"

10 years agotcptls: Avoiding ERR_remove_state in OpenSSL. 65/365/2
Alexander Traud [Tue, 5 May 2015 16:35:16 +0000 (18:35 +0200)] 
tcptls: Avoiding ERR_remove_state in OpenSSL.

ERR_remove_state was deprecated with OpenSSL 1.0.0 and was replaced by
ERR_remove_thread_state. ERR_load_SSL_strings and ERR_load_BIO_strings were
called by SSL_load_error_strings already and got removed. These changes allow
OpenSSL forks like BoringSSL to be used with Asterisk.

ASTERISK-25043 #close
Reported by: Alexander Traud
patches:
  asterisk_with_BoringSSL.patch uploaded by Alexander Traud (License 6520)

Change-Id: If1c0871ece21a7e0763fafbd2fa023ae49d4d629

10 years agoMerge "Restrict functionality when ACLs are misconfigured."
Joshua Colp [Tue, 5 May 2015 15:13:23 +0000 (10:13 -0500)] 
Merge "Restrict functionality when ACLs are misconfigured."

10 years agores_ari_bridges: Add missing dependencies. 63/363/1
Corey Farrell [Tue, 5 May 2015 14:47:43 +0000 (10:47 -0400)] 
res_ari_bridges: Add missing dependencies.

Missed this module in the previous commit.  res_ari_bridges uses symbols
from res_stasis_playback and res_stasis_recording.

ASTERISK-25027 #close
Reported by: Corey Farrell

Change-Id: I90bf756abd25adfc4920d2869ebe7feb636b8c5f

10 years agopbx_config: Register manager actions with module version of macro. 61/361/1
Corey Farrell [Tue, 5 May 2015 14:27:15 +0000 (10:27 -0400)] 
pbx_config: Register manager actions with module version of macro.

Switch manager actions in pbx_config to use the registration macro that
passes the module pointer, allowing pbx_config reference to be bumped
while the manager actions run.

ASTERISK-25061 #close
Reported by: Corey Farrell

Change-Id: I422c50dd74814616ac10c5e9c6598a0b1bc2c44e

10 years agocel_pgsql: Add support for setting schema 20/120/8
Rodrigo Ramírez Norambuena [Sat, 2 May 2015 03:14:31 +0000 (23:14 -0400)] 
cel_pgsql: Add support for setting schema

Add feature to set optional schema parameter on configuration file via
'schema' setting.

Fix query to get columns from table while considering schema. If in
the database there exists two tables with same name in distinct schemas
it will return an error when inserting record.

ASTERISK-24967 #close

Change-Id: I691fd2cbc277fcba10e615f5884f8de5d8152f2c

10 years agostasis: Fix dial masquerade datastore lifetime 58/358/1
Joshua Colp [Mon, 4 May 2015 17:16:24 +0000 (14:16 -0300)] 
stasis: Fix dial masquerade datastore lifetime

A recent change went into Asterisk which added reference counts to the
channels stored in a dial masquerade datastore. Unfortunately this
included a reference to the caller in a dialing operation. While all
of the dialed targets have the datastore removed from them upon dialing
completion this did not occur for the caller, causing it to have a
reference to itself that could go never go away (as it depended on
the destruction of the datastore which only happened when the channel
was destroyed). This resulted in the caller channel remaining on the
system despite it having hung up.

This change does the following to fix this issue:

1. The dial masquerade datastore is now removed from the caller upon
dialing completion, just like the dialed targets.
2. Upon destruction of the caller all the dialed targets are also
removed from the dial masquerade datastore (just in case).
3. The reference to the caller has been removed as it should not be
possible for the datastore to now be valid/useful after the lifetime
of the caller has ended.

ASTERISK-25025 #close

Change-Id: I1ef4ca5ca04980028604cc2af5d2992ac3431b3f

10 years agocdr_adaptive_odbc: Add ability to set character for quoted identifiers. 46/246/10
Rodrigo Ramírez Norambuena [Tue, 21 Apr 2015 22:27:16 +0000 (19:27 -0300)] 
cdr_adaptive_odbc: Add ability to set character for quoted identifiers.

Added the ability to set the character to quote identifiers. This
allows adding the character at the start and end of table and column
names. This setting is configurable for cdr_adaptive_odbc via the
quoted_identifiers in configuration file cdr_adaptive_odbc.conf.

ASTERISK-25006

Change-Id: I0b9a56b79ca13a727a803d88ed3b8643e37632b8

10 years agocdr: standardizes tab for options of AST_MODULE_INFO 36/436/1
Rodrigo Ramírez Norambuena [Tue, 5 May 2015 03:57:57 +0000 (23:57 -0400)] 
cdr: standardizes tab for options of AST_MODULE_INFO

Change-Id: I3c6de30b4859717873100092a7c06e206713a301

10 years agoCLI: Enable automatic references to modules. 37/337/6
Corey Farrell [Mon, 4 May 2015 21:41:08 +0000 (17:41 -0400)] 
CLI: Enable automatic references to modules.

* Pass module to ast_cli_register and ast_cli_register_multiple.
* Add a module reference before executing any CLI callback, remove
  the reference when complete.

ASTERISK-25049 #close
Reported by: Corey Farrell

Change-Id: I7aafc7c9f2b912918f28fe51d51e9e8a755750e3

10 years agoModules: Make ast_module_info->self available to auxiliary sources. 55/355/2
Corey Farrell [Mon, 4 May 2015 19:26:37 +0000 (15:26 -0400)] 
Modules: Make ast_module_info->self available to auxiliary sources.

ast_module_info->self is often needed to register items with the core.  Many
modules have ad-hoc code to make this pointer available to auxiliary sources.
This change updates the module build process to make the needed information
available to all sources in a module.

ASTERISK-25056 #close
Reported by: Corey Farrell

Change-Id: I18c8cd58fbcb1b708425f6757becaeca9fa91815

10 years agovector: Traversal, retrieval, insert and locking enhancements 38/338/10
George Joseph [Sat, 2 May 2015 00:25:17 +0000 (18:25 -0600)] 
vector:  Traversal, retrieval, insert and locking enhancements

Renamed AST_VECTOR_INSERT to AST_VECTOR_REPLACE because it really
does replace not insert.  The few users of AST_VECTOR_INSERT were
refactored.  Because these are macros, there should be no ABI
compatibility issues.

Added AST_VECTOR_INSERT_AT that actually inserts an element into the
vector at a specific index pushing existing elements to the right.

Added AST_VECTOR_GET_CMP that can retrieve from the vector based
on a user-provided compare function.

Added AST_VECTOR_CALLBACK function that will execute a function
for each element in the vector.  Similar to ao2_callback and
ao2_callback_data functions although the vector callback can take
a variable number of arguments.  This should allow easy migration
to a vector where a container might be too heavy.

Added read/write locked vector and lock manipulation macros.

Added unit tests.

ASTERISK-25045 #close

Change-Id: I2e07ecc709d2f5f91bcab8904e5e9340609b00e0

10 years agomain/test.c: Add test to verify there were no registration errors. 48/348/2
Corey Farrell [Sun, 3 May 2015 18:55:56 +0000 (14:55 -0400)] 
main/test.c: Add test to verify there were no registration errors.

This adds a test that will fail if any test failed to register. Also fail
if any test registration produced a warning about missing a leading or
trailing slash.

ASTERISK-25053 #close
Reported by: Corey Farrell

Change-Id: I93e50b8fcbcfa7f1f5b41b2c44a51685c09529c3

10 years agoMerge "contrib/ast-db-manage: Add Postgres ENUM type support in auto DTMF mode update"
Matt Jordan [Mon, 4 May 2015 14:26:17 +0000 (09:26 -0500)] 
Merge "contrib/ast-db-manage: Add Postgres ENUM type support in auto DTMF mode update"

10 years agoMerge "Format Interfaces: Prevent unload except by shutdown."
Matt Jordan [Mon, 4 May 2015 14:25:42 +0000 (09:25 -0500)] 
Merge "Format Interfaces: Prevent unload except by shutdown."

10 years agoMerge "res_odbc: Use negative connection cache for all connections"
Matt Jordan [Mon, 4 May 2015 12:46:12 +0000 (07:46 -0500)] 
Merge "res_odbc: Use negative connection cache for all connections"

10 years agoMerge "main/presencestate.c: Add trailing slash to test category."
Matt Jordan [Mon, 4 May 2015 12:45:04 +0000 (07:45 -0500)] 
Merge "main/presencestate.c: Add trailing slash to test category."

10 years agores_odbc: Use negative connection cache for all connections 82/182/7
Martin Tomec [Tue, 21 Apr 2015 16:52:22 +0000 (18:52 +0200)] 
res_odbc: Use negative connection cache for all connections

Apply the negative connection cache setting to all connections,
even those that are not pooled. This ensures that the connection
will not be  re-established before the negative connection cache
time is met.

ASTERISK-22708 #close

Change-Id: I431cc2e8584ab0b6908b3523d0a0e18c9a527271

10 years agoMerge "Remove unneeded uses of optional_api providers."
Matt Jordan [Mon, 4 May 2015 09:04:04 +0000 (04:04 -0500)] 
Merge "Remove unneeded uses of optional_api providers."