- May 04, 2015
-
-
Martin Tomec authored
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
-
- Apr 30, 2015
-
-
Mark Michelson authored
-
Matt Jordan authored
Vectors are very useful constructs. As a container, they prevent having to calloc/realloc arrays manually. They also have advantages over linked lists, which require elements in the list to be a struct. This patch backports vectors to Asterisk 11 for use in future patches. Change-Id: Idc9d74d246a0158b0b36ccb250e7acc71bab078d
-
Richard Mudgett authored
Some telco switches occasionally ignore ISDN RESTART requests. The fix for ASTERISK-19608 added an escape clause for B channels in the restarting state if the telco ignores a RESTART request. If the telco fails to acknowledge the RESTART then Asterisk will assume the telco acknowledged the RESTART on the second call attempt requesting the B channel by the telco. The escape clause is good for dealing with RESTART requests in general but it does cause the next call for the restarting B channel to be rejected if the telco insists the call must go on that B channel. chan_dahdi doesn't really need to issue a RESTART request in response to receiving a cause 44 (Requested channel not available) code. Sending the RESTART in such a situation is not required (nor prohibited) by the standards. I think chan_dahdi does this for historical reasons to deal with buggy peers to get channels unstuck in a similar fashion as the chan_dahdi.conf resetinterval option. * Add the chan_dahdi.conf force_restart_unavailable_chans compatability option that when disabled will prevent chan_dahdi from trying to RESTART the channel in response to a cause 44 code. ASTERISK-25034 #close Reported by: Richard Mudgett Change-Id: Ib8b17a438799920f4a2038826ff99a1884042f65
-
- Apr 29, 2015
-
-
Matt Jordan authored
-
Matt Jordan authored
The patch in 0b6410c4 did correctly fix a memory leak of the DTLS structures in the RTP engine. However, when a 'core reload' is issued, a double free of the memory pointed to by the char *'s in the DTLS configuration struct can occur, as ast_rtp_dtls_cfg_free does not set the pointers to NULL when they are freed. This patch sets those pointers to NULL, preventing a second call to ast_rtp_dtls_cfg_free from corrupting memory. ASTERISK-25022 Change-Id: I820471e6070a37e3c26f760118c86770e12f6115
-
Kevin Harwell authored
A previous set of patches (see: ASTERISK-22790 & ASTERISK-23231) made it so a v.27 modem was not allowed to have a minimum transmission rate of 2400 bits per second. This reverts all or some of those patches since according to the v.27ter standard a rate of 2400 bits per second is also supported. One of the original patches also added 9600 bits per second support for v.27. This patch also removes that since v.27ter only supports 2400/4800 bits per second. Also, since Asterisk specifically supports v.27ter the enum was renamed to better reflect this. ASTERISK-24955 #close Reported by: Matt Jordan Change-Id: I4b9dfb6bf7eff08463ab47ee1a74224f27cae733
-
Richard Mudgett authored
Change-Id: I7080d32b559f8c5d06ddd3198e0cd6e342bac841
-
Joshua Colp authored
-
Mark Michelson authored
The doxygen for ast_rtp_codecs_payloads_copy() states: "This copies the payloads from the codecs0 structure to the codecs1 structure, overwriting any current values." However, in practice, the overwriting of current values was not happening. Instead, a new RTP codec payload object would be appended to the codecs1 structure instead of replacing the corresponding object. This patch corrects this behavior by overwriting the object in the codecs1 structure if it exists already. If it does not already exist, then create a new copy and link it in. Tests of "memory show summary rtp_engine.c" had previously shown additional allocations being performed any time that Asterisk processed an incoming SDP. Scenarios involving lots of reinvites resulted in lots of allocations. With this patch, I can perform as many reinvites as I want and see no memory increases from the RTP engine. ASTERISK-24916 #close Reported by Christophe Osuna Change-Id: I9a90bc3f564535bc767bf2fc0c455d5f065cea75
-
Ivan Poddubny authored
The realtime API passes down the va_list argument to each RT engine in failover chain until one succeeds. MySQL engine used to access the variable argument list with va_arg, which mutates the va_list, so the next engine in failover chain gets invalid agrument list. This patch uses va_copy to preserve the original va_list argument intact. ASTERISK-19538 #close Reported by: alexat Tested by: Ivan Poddubny Change-Id: I7738b9f98bde81ddfbc2c0fa579d85a0c3e580ae
-
- Apr 28, 2015
-
-
Joshua Colp authored
-
Matt Jordan authored
-
Steve Davies authored
ao2 ref leak in res_rtp_asterisk.c when a DTLS policy is created. The resources are linked into a table, but the original alloc refs are never released. ast_strdup leak in rtp_engine.c. If ast_rtp_dtls_cfg_copy() is called twice on the same destination struct, a pointer to an alloc'd string is overwritten before the string is free'd. ASTERISK-25022 Reported by: one47 Change-Id: I62a8ceb8679709f6c3769136dc6aa9a68202ff9b
-
Joshua Colp authored
-
- Apr 27, 2015
-
-
Rodrigo Ramírez Norambuena authored
Add new column to INSERT new columns added in cdr 1.8 version. The columns are: * peeraccount * linkedid * sequence This feature is configurable in cdr_odbc.conf using a new configuration option, 'newcdrcolumns'. ASTERISK-24976 #close Change-Id: Ibe0c7540a88305c6012786f438a0813ad8b19127
-
- Apr 26, 2015
-
-
Matt Jordan authored
-
- Apr 24, 2015
-
-
Matt Jordan authored
-
Kevin Harwell authored
Confbridge dynamic profiles did not have a default profile unless you explicitly used Set(CONFBRIDGE(bridge,template)=default_bridge). If a template was not set prior to the bridge being created then some options were left with no default values set. This patch makes it so the default templates are set to the default bridge and user profiles. ASTERISK-24749 #close Reported by: philippebolduc Change-Id: I1bd6e94b38701ac2112d842db68de63d46f60e0a
-
Matt Jordan authored
clang can warn about a so called tautological-compare, when it finds comparisons which are logically always true, and are therefore deemed unnecessary. Example: unsigned int x = 4; if (x > 0) // x is always going to be bigger than 0 Enum Case: Each enumeration is its own type. Enums are an integer type but they do not have to be *signed*. C leaves it up to the compiler as an implementation option what to consider the integer type of a particular enumeration is. Gcc treats an enum without negative values as an int while clang treats this enum as an unsigned int. rmudgett & mmichelson: cast the enum to (unsigned int) in assert. The cast does have an effect. For gcc, which seems to treat all enums as int, the cast to unsigned int will eliminate the possibility of negative values being allowed. For clang, which seems to treat enums without any negative members as unsigned int, the cast will have no effect. If for some reason in the future a negative value is ever added to the enum the assert will still catch the negative value. ASTERISK-24917 Change-Id: Ief23ef68916192b9b72dabe702b543ecfeca0b62
-
Diederik de Groot authored
- Added Pre-amble (Options / Flags / Usage Example / GNU License) - Extended Configurability - Made Executable ASTERISK-24917 Change-Id: I70405fe54e4be7dbfbcb62e291690069b88617a8
-
- Apr 23, 2015
-
-
Diederik de Groot authored
clang can warn about a so called tautological-compare, when it finds comparisons which are logically always true, and are therefor deemed unnecessary. Exanple: unsigned int x = 4; if (x > 0) // x is always going to be bigger than 0 Enum Case: Each enumeration is its own type. Enums are an integer type but they do not have to be *signed*. C leaves it up to the compiler as an implementation option what to consider the integer type of a particu- lar enumeration is. Gcc treats an enum without negative values as an int while clang treats this enum as an unsigned int. rmudgett & mmichelson: cast the enum to (unsigned int) in assert. The cast does have an effect. For gcc, which seems to treat all enums as int, the cast to unsigned int will eliminate the possibility of negative values being allowed. For clang, which seems to treat enums without any negative members as unsigned int, the cast will have no effect. If for some reason in the future a negative value is ever added to the enum the assert will still catch the negative value. ASTERISK-24917 Change-Id: I0557ae0154a0b7de68883848a609309cdf0aee6a
-
- Apr 22, 2015
-
-
George Joseph authored
Products of --enable-coverage Change-Id: Ie20882d64b60692e2c941ea8872ab82a86ce77a3
-
Diederik de Groot authored
- When you need to refer to 'variable XXX' outside a block, it needs to be declared as '__block XXX', otherwise it will not be available with- in the block, making updating that variable hard to do, and ast_free lead to issues. - Removed the #error message because it creates complications when compiling external projects against asterisk For example when using a different compiler than the one used to compile asterisk. The warning/error should be generated during the configure process not the compilation process ASTERISK-24917 Change-Id: I12091228090e90831bf2b498293858f46ea7a8c2
-
- Apr 21, 2015
-
-
Corey Farrell authored
Fix a crash that could occur in __ast_channel_internal_alloc if ao2_alloc fails. ASTERISK-24991 #close Change-Id: I4ca89189eb22f907408cb87d0a1645cfe1314a90
-
Richard Mudgett authored
The chan_dahdi channel driver is a very old driver. The ability for it to support ISDN was added well after the initial analog support. Setting the softhangup flags is a carry over from the original analog code. The driver was not updated to call ast_queue_hangup() which will post the AMI HangupRequest event. * Changed sig_pri.c to call ast_queue_hangup() instead of setting the softhangup flag when the remote party initiates a hangup. ASTERISK-24895 #close Reported by: Andrew Zherdin Change-Id: I5fe2e48556507785fd8ab8e1c960683fd5d20325
-
- Apr 20, 2015
-
-
Matt Jordan authored
-
Matt Jordan authored
-
- Apr 19, 2015
-
-
Matt Jordan authored
When a PBX registrar is unloaded, it will fail to remove its extension from the context root_table if a dialplan application used by that extension is still loaded. This can be the case for AGI, which can be unloaded after several of the standard PBX providers. Often, this is harmless; however, if the extension's priorities are removed during the failed unloading *and* the dialplan application later unregisters, it leaves a ticking timebomb for the next PBX provider that attempts to iterate over the extensions. When that occurs, the peer_table pointer on the extension will already be set to NULL. The current code does not check to see if the pointer is NULL before passing it to a hashtab function this is not NULL tolerant. Since it is possible for the peer_table to be NULL when we normally would not expect that to be the case, the solution in this patch is to simply skip over processing an extension's priorities if peer_table is NULL. Prior to this patch, the tests/pbx/callerid_match test would crash during module unload. With this patch, the test no longer crashes after running. ASTERISK-24774 #close Reported by: Corey Farrell Change-Id: I2bbeecb7e0f77bac303a1b9135e4cdb4db6d4c40
-
Matt Jordan authored
The next expected release from the 11 branch is 11.18.0. This patch updates the UPGRADE notes to reflect that. Change-Id: I8e6e9d62b3916484a68733cfc8d64b3709adb0c2
-
- Apr 17, 2015
-
-
Corey Farrell authored
When DEBUG_THREADLOCALS is enabled it causes the threadlocal cleanup to be called as a function. This causes a compile error with raw threadstorage as it uses NULL for cleanup. This fix uses a macro that provides NULL when DEBUG_THREADLOCALS is disabled, and replaces the call to "c_cleanup(data);" with "{};" when DEBUG_THREADLOCALS is enabled. ASTERISK-24975 #close Reported by: Ashley Sanders Change-Id: I3ef7428ee402816d9fcefa1b3b95830c00d5c402
-
- Apr 15, 2015
-
-
George Joseph authored
Added .pyc and .sha1 to the top-level .gitignore. Change-Id: I7dfc4f554d54d22947b38140d3305007503cc16a Tested-by:
George Joseph <george.joseph@fairview5.com>
-
Matt Jordan authored
-
Rodrigo Ramírez Norambuena authored
The LOG_ERROR has reference to CDR instead of CEL for LENGTHEN_BUF1 and LENGTHEN_BUF2. ASTERISK-24965 #close Reported by: Rodrigo Ramirez Norambuena Change-Id: Icc818697d7d66d34bfe3048cdd15ca2b06c89744
-
- Apr 14, 2015
-
-
Corey Farrell authored
The Makefile claims that you can set default menuselect options by creating ~/.asterisk.makeopts or /etc/asterisk.makeopts, but those files have never been respected in Asterisk 11 or 13. This changes the comment to accurately reflect that these files are not automatically used by the build system. ASTERISK-13721 #close Reported by: pj Change-Id: Ibde804ff196283def49ccb9432fbf224a22586e2
-
Rodrigo Ramírez Norambuena authored
The command always showed the usage information. * Fix the error in command validation for CLI_SHOWUSAGE. ASTERISK-24959 #close Reported by: Rodrigo Ramirez Norambuena Change-Id: I584f0936bb01001336a468a55c1d05d79fe795d5 (cherry picked from commit 23a180ca)
-
Matt Jordan authored
-
George Joseph authored
Backport menuselect from 13->12->11->1.8 Change-Id: I54c4dd2bdacd3c9d858be3acab08706941f2e585
-
George Joseph authored
Added bootstrap products Added channels/h323/Makefile Added res/pjproject Change-Id: I6b3bc56bf7bdaee0554f36fc2ce3a77e9eaf8aa3
-
- Apr 13, 2015
-
-
David M. Lee authored
During the mass code deletion for clang support, a stray backslash was left behind that was causing utils to fail to compile. Change-Id: I60e5fa58c9a5b248bde23aaada79ff663f87a2a1
-