Commit Graph

16109 Commits

Author SHA1 Message Date
Michael Jerris 16805187ec CID:1214256 Unused pointer value 2014-05-15 12:36:36 +00:00
Michael Jerris 128601316f CID:1214255 Unused pointer value 2014-05-15 12:34:50 +00:00
Michael Jerris 19f3ab5182 CID:1214218 fix memory leak in conference_event_channel_handler 2014-05-15 12:33:15 +00:00
Michael Jerris 622cd21009 CID:1214231 don't leak when using invalid syntax 2014-05-15 12:27:39 +00:00
William King bdbefdcc48 CID:1087631 In the unlikely case the sprintf fails, free the memory instead of leak it 2014-05-14 19:56:32 -07:00
Raymond Chandler bf8b88cddd CID: 1210583 2014-05-14 19:37:57 +00:00
Travis Cross b263201a2e Avoid polluting CFLAGS for mod_snmp
Putting `net-snmp-config --cflags` into CFLAGS causes major pollution;
it overrides optimization and debugging levels, warnings, and more.
While normally we do want to automatically locate library headers,
there has to be a better way to do this.  libsnmp is normally in the
usual place and doesn't need special handling.  Perhaps people with
libsnmp in a weird place should just need to add the -I flag to their
CFLAGS before build.
2014-05-13 17:40:43 +00:00
Travis Cross 94ec447e0d Cleanup makefile library dependencies of mod_snmp
Calling out to net-snmp-config --agent-libs causes transitive
dependencies to get pulled in, but we don't need those -- a sensible
dynamic linker pulls those in automatically.  Trying to track the
transitive dependencies manually would be a losing battle.

People were recently hitting this on Debian sid/jessie, where libpci
is in the transitive dependency list but isn't otherwise one of our
build dependencies.
2014-05-13 17:27:46 +00:00
Giovanni Maruzzelli cbe6f74fa9 FS-6285 skypopen: ANY, RR NOT work fine in mod_skypopen 2014-05-13 11:00:47 +02:00
Giovanni Maruzzelli 7dbab7b1c6 FS-6517 skypopen: mod_skypopen not using configured context with mod_sms chatplan with PATCH, thanks Russell Treleaven 2014-05-12 16:07:39 +02:00
Michael Jerris 9a1c4f6827 don't pass large strucutre by value 2014-05-12 09:31:12 -04:00
Michael Jerris 3e18f08796 clean up coverity warnings and improve error checking 2014-05-12 09:08:52 -04:00
Anthony Minessale 717bcf617e FS-6515 --resolve 2014-05-10 00:35:32 +05:00
Anthony Minessale be56bbb7ae let relay work if its the only option 2014-05-09 01:14:52 +05:00
Michael Jerris 31069f33a2 generate the modules list vars from modules.conf into a file instead of on the fly every time 2014-05-08 15:59:49 -04:00
Chris Rienzo c4f38f8d0d CID: 1211940 mod_rayo - unlikely dereference of NULL pointer 2014-05-08 12:11:15 -04:00
Chris Rienzo 42108871c9 CID: 1211941 mod_rayo - unlikely dereference of NULL pointer 2014-05-08 12:10:01 -04:00
Chris Rienzo 17848d26be CID: 1211943 mod_rayo - removed dead code when changing output speed 2014-05-08 12:03:28 -04:00
Chris Rienzo a72137d4ae CID: 1211944 mod_rayo - remove set of unused pointer 2014-05-08 11:47:38 -04:00
Chris Rienzo 58fea2544b CID: 1211946 mod_rayo - dead code after switch statement 2014-05-08 11:36:05 -04:00
Chris Rienzo 873acb2975 CID: 1211947 mod_rayo - allocated array with unsigned char * element size instead of unsigned char 2014-05-08 11:33:27 -04:00
Chris Rienzo 4f4fb9e942 CID: 1211951 mod_rayo - fix unlikely dereference of null pointer 2014-05-08 11:30:53 -04:00
Chris Rienzo 84eb4a0404 mod_rayo: re-added Makefile for iks helpers unit tests 2014-05-08 11:16:02 -04:00
Chris Rienzo d7d4625866 mod_rayo: re-added Makefile for srgs unit tests 2014-05-08 11:14:20 -04:00
Chris Rienzo 752f7956f9 mod_rayo: fix compiler error to nlsml.c from attempted coverity fix 2014-05-08 11:10:42 -04:00
Michael Jerris 02f6269cf1 check for say errors in say_money functions 2014-05-07 13:18:21 -04:00
Anthony Minessale 2459e710f7 FS-6337 prevent over-frequent jb resets in bad conditions 2014-05-07 22:12:18 +05:00
William King ee6f3da9ff CID: 1211948 fix memory leak of decoded iks message in function parse_plain_auth_message in mod_rayo 2014-05-07 00:44:54 -07:00
William King 2a50bbba68 CID: 1211950 fix memory leak of iksparser in function nlsml_parse in mod_rayo 2014-05-07 00:37:32 -07:00
William King ad327dffc8 CID: 1211946 fixing uninitialized pointer read in mod_translate 2014-05-07 00:22:56 -07:00
Anthony Minessale 4a543b29a2 FS-6506 --resolve Technically when you are not using groups you do not add a <users> tag inside <domain> you just put several <user> tags in <domain> This patch will consume an extraneous <users> tag and move on making it work either way. 2014-05-07 00:06:02 +05:00
Michael Jerris d6fe10979d remove opezap from tree, it has been replaced by freetdm 2014-05-06 11:05:54 -04:00
Michael Jerris 3ff3f327ee FS-6484: guess at fixing seg from mod_managed, this function should never be called without a channel, but if it does, throw an error instead 2014-05-05 19:19:03 -04:00
Anthony Minessale 0a2ba8869a sofia is treating all notify sending as if they were natted rather than when nat is detected. This causes issues on some polycoms that use strange ports in their contact for getting notifies that do not match the port the calls come from 2014-05-06 04:10:19 +05:00
Steve Underwood 38abcf7e2c The APIs for spandsp FAX have changes, removing one of the parameters passed in
the callbacks.
2014-05-04 17:22:28 +08:00
Michael Jerris 9db6d5ba9c different distros have diff pkg names 2014-05-02 18:35:37 -04:00
Michael MCGuinness 974cebd389 SIP-686 changed mod_say (en) to speak full dates when asked to speak a date in the future (rather than only weekday and time). 2014-05-02 14:48:09 -05:00
Anthony Minessale 607247397c FS-6413 update presence_epoch to lock to midnite 2014-05-02 23:49:46 +05:00
Natanael Copa 317f4b1442 Fix building with musl libc
POSIX says poll.h and signal.h should not be prefixed with sys/ (ie
poll.h instead of sys/poll.h)

limits.h also defines a TZNAME_MAX so we change name of the define for
spandsp.
2014-05-02 11:20:36 -04:00
Travis Cross fc40e4ab79 Avoid leaking data_buf in mod_conference
When we couldn't acquire the rwlock on the conference we were leaking
a buffer we just allocated.  On a 48k/10ms conference we would leak
960 bytes per attempt.
2014-05-02 03:48:10 +00:00
Michael Jerris db1a2de186 don't null check what we know won't be null 2014-05-01 19:00:24 -04:00
Michael Jerris 2e3558c43e don't need to double check for null 2014-05-01 18:50:26 -04:00
Michael Jerris 582fa1a664 fix typo 2014-05-01 18:22:57 -04:00
Travis Cross cd650f6055 Use system ldns library
This library is used only by mod_enum and is available on most
platforms.  The version in our tree has many code quality problems
that are generating noise when doing static analysis.  Suffice it to
say we want rid of it as our responsibility.

FS-353
2014-05-01 22:01:59 +00:00
Travis Cross c1f884cd33 Remove old ldns patch from FS-3110 2014-05-01 22:01:59 +00:00
Raymond Chandler 33460064ac CID: 1210739 2014-05-01 17:34:54 -04:00
Raymond Chandler a4e0929ef0 CID: 1210596 2014-05-01 17:28:54 -04:00
Raymond Chandler 17f79bc2c3 CID: 1210770 2014-05-01 16:36:58 -04:00
Anthony Minessale 7f18b80e60 FS-6503 --resolve remove unused code 2014-05-02 01:28:12 +05:00
Brian West c462ed6ae1 FS-6499 --resolve 2014-05-01 15:21:57 -05:00
Brian West d06b137abd FS-6498 --resolve 2014-05-01 15:20:28 -05:00
Michael Jerris 64f1098b8c remove dead assignment 2014-05-01 14:17:06 -04:00
Michael Jerris b0fd845786 remove dead assignment 2014-05-01 14:04:56 -04:00
Michael Jerris d4ba268f29 remove dead assignment 2014-05-01 13:52:12 -04:00
Travis Cross 4ec5e5af47 Refactor if blocks
Since the first branch doesn't need to do anything, we invert it and
pull a sub-branch out a level into the main conditional.
2014-04-30 23:23:06 +00:00
Travis Cross ae3cf0a1a9 Remove dead assignment
...now this code needs refactoring.
2014-04-30 23:22:13 +00:00
Travis Cross 2ae823fb9f Drop dead assignments
We goto done at the end of these blocks.
2014-04-30 23:03:06 +00:00
Raymond Chandler e4d807108c CID: 1210646 2014-04-30 18:47:02 -04:00
Travis Cross fd4364cd43 Drop dead assignment 2014-04-30 22:43:33 +00:00
Travis Cross 946db55b34 Drop dead assignments 2014-04-30 22:42:08 +00:00
Raymond Chandler 3abcee7142 unused 2014-04-30 18:36:44 -04:00
Travis Cross f38ccbfb51 Remove dead assignment, but why...
This assignment isn't doing anything, so it safe to remove it, but
there remains the question of whether there could have been some
actually necessary intention behind this line.
2014-04-30 22:33:24 +00:00
Travis Cross 0f6e364e61 Drop dead assignment 2014-04-30 22:33:24 +00:00
Travis Cross b9b5b0d827 Avoid dead assignment of return value of execv
execv(3) only returns on error, and will always return -1 in that
case.
2014-04-30 22:33:24 +00:00
William King 5f3e98beb4 Fix a use after free in a 'theoretical' case in switch_cache_db_persistant_execute_trans_full where the pre_trans_execute statement fails, but SQLSetAutoCommitAttr succeeds 2014-04-30 14:37:17 -07:00
Michael Jerris 6add88b43f check return value for es_say_general_count 2014-04-30 16:43:35 -04:00
Michael Jerris ef18915ca5 make sure old_pid_buffer is null terminated 2014-04-30 16:36:14 -04:00
Michael Jerris 23b3e172d5 don't leak file handle if fd = 0 2014-04-30 15:56:36 -04:00
Michael Jerris 6f16e0d3da don't leak if first realloc fails but second one succeeds 2014-04-30 15:53:26 -04:00
Michael Jerris 068ad205b7 split this into 2 functions so its clear if this function allocates or not 2014-04-30 15:48:23 -04:00
Michael Jerris 942215637a make sure receive buffer is always null terminated 2014-04-30 13:49:58 -04:00
Michael Jerris ac9741b579 don't leak xml string in dl_logger 2014-04-30 13:44:59 -04:00
Michael Jerris 0b8d2c5d65 add better bounds checking in dtmf_accepting array to avoid buffer overrun in mod_voicemail_ivr 2014-04-30 13:31:06 -04:00
Michael Jerris a9a852477a fix read beyond buffer length error 2014-04-30 13:25:29 -04:00
Michael Jerris e57484af9b FS-6497: --resolve fix for loop initial declaration not allowed 2014-04-30 12:16:02 -04:00
Chris Rienzo c36e63026c mod_http_cache: CID 1025858: Thread deadlock (ORDER_REVERSAL) 2014-04-30 10:08:00 -04:00
Michael Jerris e98045841e gracefully handle allocation failure 2014-04-30 08:55:39 -04:00
Michael Jerris 2e8572acb5 we always have the session in the dialplan function 2014-04-30 08:51:52 -04:00
Michael Jerris b3bfa563ae we always have the caller profile at this point, if for some reason we don't just instead of crashing 2014-04-30 08:50:29 -04:00
Michael Jerris 7508481597 we always have the seesion in the app function 2014-04-30 08:46:11 -04:00
Michael Jerris 9bf98d0dd3 remove useless checks of array == 0 2014-04-30 08:43:57 -04:00
William King af32ca00e3 Correction to commit 0ba59aa6c2 using the correct variable in tel uri param parsing for mod_sofia 2014-04-29 15:23:24 -07:00
Michael Jerris 529099f15c silence incorrect warnings about null pointer derference and remove unused code 2014-04-29 14:34:49 -04:00
Anthony Minessale d0de8c0bc6 add heartbeat_use_scheduler variable to force the heartbeat to use the scheduler rather than the media stream and also make it auto-chage between modes when going in and out of the media path 2014-04-29 04:20:51 +05:00
Michael Jerris 6e41898517 this should never happen, but just in case, this will at least calm coverity 2014-04-28 16:30:19 -04:00
Michael Jerris 7e2499355a handle null 'status' passed to 'switch_channel_perform_presence' more gracefully 2014-04-28 16:21:45 -04:00
Michael Jerris a5f680810d only enable passthru_ptime_mismatch when set to a true value, not when it is set to any value 2014-04-28 16:17:56 -04:00
Michael Jerris d9b5bfaa7f only enable passthru_ptime_mismatch when set to a true value, not when it is set to any value 2014-04-28 16:12:10 -04:00
Michael Jerris a044b3b64b remove unused var ocp 2014-04-28 16:06:39 -04:00
Michael Jerris e7107f616f if we can't open /dev/null, you have much bigger issues to deal with 2014-04-28 16:02:39 -04:00
Michael Jerris 34c967707d improve null checks 2014-04-28 15:49:57 -04:00
Michael Jerris 1b43fa85b5 remove useless variable 2014-04-28 15:19:19 -04:00
Michael Jerris 7a7c275445 remove useless statement 2014-04-28 15:16:03 -04:00
Michael Jerris 0cba8b39c3 improve error checking for null path 2014-04-28 15:12:02 -04:00
Michael Jerris 8d10e65b79 fix bitwise flag unsetting 2014-04-28 15:06:39 -04:00
Michael Jerris 4828ecd7fd remove unused variable 2014-04-28 15:00:22 -04:00
Michael Jerris 95d4d0031c don't set variable we don't use, and fix off by 1 buffer overflow in 1 case 2014-04-28 14:46:05 -04:00
Michael Jerris dbaf49926c remove unnecessary null check, we would have crashed already if that strdup failed 2014-04-28 14:38:38 -04:00
Brian West 5c07c3eb03 don't use memory after free when using naptr with mod_enum with multiple routes 2014-04-28 13:03:09 -05:00
Michael Jerris a83fde3543 block of code in here twice was writing over expanded, causing it to potentially leak 2014-04-28 13:41:48 -04:00
Michael Jerris 59734d8e15 add bounds check to keep rtcp packets with > 5 report blocks from creating a buffer overrun 2014-04-28 13:32:01 -04:00
Anthony Minessale cc06d9181b FS-4779 FS-6467 the behaviour from 4479 is now masked behind the param 3pcc-reinvite-bridged-on-ack FS-6467 please test master 2014-04-28 22:10:14 +05:00
Michael Jerris e3b4e6b227 fix deref before null check 2014-04-28 13:01:12 -04:00
Michael Jerris 1174413115 remove unused variable 2014-04-28 12:41:04 -04:00
Anthony Minessale c51b55a46e FS-6491 --resolve
This seems to be a paradox when running a perl script from a session then executing perl again on the same session from a different thread.
I fixed it by converting any execution of perl in the execute_on_* family of operators to only run background mode which is to store the command in the session stack to be executed only by the session thread instead of on the spot by the outide thread.  changing the execute_on_answer to perl::/path/to/script.pl would also eliminate the crash in code that has not been updated with this patch.

This is just a limitation of embedded perl we have to live with.
2014-04-28 21:19:48 +05:00
William King 0d8f954e09 fixing commit a710841123 in switch_config
Previous commit actually broke the functionality since it was now returning if cfg->path[0] was not null.
Also since cfg->path can never be null, this check can be simplified to only check the first index.
2014-04-28 08:46:48 -07:00
Michael Jerris 60bc7dae9f check return value of switch_vasprintf 2014-04-28 09:54:20 -04:00
Michael Jerris 553dd9bdcf fix assigned but never used issue and code cleanup for readability 2014-04-28 09:47:30 -04:00
Michael Jerris 1affd78204 we only call this with values, and it would crash if you passed it null anyways, just assert to make it 100% clear 2014-04-26 15:41:34 -04:00
Michael Jerris abd7882d18 contact->m_url is an array, don't check array for zero as its useless 2014-04-26 15:35:27 -04:00
Michael Jerris 96c6abbe69 Fix buffer overrun that could have been exploited with a crafted skinny packet designed to exploit this mistake in bounds checking. 2014-04-26 15:29:01 -04:00
Georgiewskiy Yuriy 2e45fc0619 fix memory leaks, tanks to Sharath from packetizer forum. 2014-04-26 04:49:35 +04:00
Brian West 1aa2fc7548 FS-3332 --resolve 2014-04-25 15:53:21 -05:00
William King 0ba59aa6c2 Expanding on 052638186b to support boolean tel url params in mod_sofia 2014-04-25 13:49:59 -07:00
William King f27fe7ed08 BNPH-6470 follow up to commit 68d863a179 removing the original line that performed the curl request to avoid a double request in mod_xml_curl 2014-04-25 12:11:09 -07:00
Brian West 68d863a179 FS-6470 2014-04-25 11:50:06 -05:00
Brian West 7e15c938e2 FS-6482 --resolve 2014-04-24 14:05:18 -05:00
Anthony Minessale d171e156d7 fix issues with heartbeat in bypass media mode 2014-04-24 23:21:15 +05:00
William King bcc2aa9899 Fixing memory leak that would occur when reloading mod_xml_curl 2014-04-24 09:13:00 -07:00
Anthony Minessale 4def48b881 revert 2014-04-24 20:58:23 +05:00
Anthony Minessale 2e0cd74e07 FS-6477 --resolve 2014-04-22 23:51:44 +05:00
Anthony Minessale 61e22e8b50 FS-6476 --resolve 2014-04-22 23:25:41 +05:00
Chris Rienzo 25c9b6196b mod_rayo: preserve old caller ID behavior if display name is not given 2014-04-22 13:30:15 -04:00
Chris Rienzo 1eab82ba2d mod_rayo: relax recent caller ID restrictions a bit 2014-04-22 08:50:50 -04:00
Travis Cross 175c9eebca Remove extraneous abort(3) when sending chat
This appears to have been accidentally added in commit
79ebcb104b which sought to provide a
mechanism for disabling Sofia's chat interface.  The abort(3) here
achieved that a bit too well.
2014-04-19 19:26:27 +00:00
Anthony Minessale 79ebcb104b add enable-chat sofia profile param which defaults to true when not present, set to false to turn off the chat interface in sofia 2014-04-19 12:29:10 -05:00
Travis Cross 59fd9b90d0 Correct display of last write timestamp
On start DTMF packets we were showing the last write timestamp as a
signed value when it's an unsigned value, which could result in it
appearing incongruous with later packets where the value was displayed
correctly.
2014-04-19 01:48:49 +00:00
Brian West 265de3d314 FS-6082 --resolve 2014-04-18 15:17:23 -05:00
Brian West 190c241c81 FS-6452 mod_spy doesn't react on events without variable_domain_name 2014-04-17 20:12:27 -05:00
Anthony Minessale 18df083c69 don't send heartbeat until the first timeout has elapsed rather than instantly 2014-04-18 00:06:24 +05:00
Seven Du 37ee4299fb fix compiler warning 2014-04-17 14:58:18 +08:00
Anthony Minessale bce51017fb FS-6462 --resolve
I found a problem here but it may not completely match your expectations.
I reviewed the RFC 4028 and checked against the code and I discovered we should not be putting a Min-SE in any response at all besides a 422:

section 5:

   The Min-SE header field MUST NOT be used in responses except for
   those with a 422 response code.  It indicates the minimum value of
   the session interval that the server is willing to accept.

I corrected this problem and implemented the 422 response so if you request a value lower than the minimum specified for the profile.
If the value is equal or higher to the minimum, it will be reflected in the Session-Expires header in the response and no Min-SE will be present.
2014-04-17 04:26:43 +05:00
Anthony Minessale 2bc2811050 FS-5997 regression from commit 70accd9f27 this caused some attended transfers to calls with multiple targets to get the abondoned channels to be stuck on write lock 2014-04-17 02:41:40 +05:00
William King 748b7dea3c Get rid of a small memory leak when the configs are reloaded in mod_enum 2014-04-16 09:27:34 -07:00
Anthony Minessale a4a792488b add generic keepalive system and implement it in sofia to send MESSAGE or INFO packets in-dialog at specified interval.
Adds app: enable_keepalive 0|<seconds>
This app can be run in the dialplan or with execute_on_* type variables for B-legs.

Adds sofia param: keepalive-method  : defaults to MESSAGE can also be "INFO"
This param sets which SIP method to use.
2014-04-16 06:10:25 +05:00
Chris Rienzo ae69c5a7b0 FS-6407 --resolve mod_rayo: support SIP URI caller ID w/ display name 2014-04-15 14:27:49 -04:00
Raymond Chandler 052638186b add parsing of user params on invite 2014-04-15 12:48:07 -04:00
Anthony Minessale b99ef3af01 add SWITCH_MESSAGE_HEARTBEAT_EVENT indication to execute on a session when session heartbeat fires 2014-04-15 21:22:36 +05:00
Nathan Neulinger 96523a9bef mod_skinny: fix leak 2014-04-14 15:04:06 -05:00
Nathan Neulinger 93a84cf130 FS-6460 --resolve fix leaked RTP ports that cause mod_skinny to fail after N calls 2014-04-14 13:23:05 -05:00
Chris Rienzo e8078d8aef mod_rayo: clean up module hashes on shutdown 2014-04-14 12:01:31 -04:00
Chris Rienzo b0c2c6d67c FS-6447 --resolve return subscriber-absent platform-code 20 if <dial> is attempted to user that is not registered 2014-04-14 09:47:41 -04:00
Peter Olsson 295964f0ec FS-6457 --resolve
Upgrade to OpenSSL 1.0.1g in Windows build (Visual Studio 2010 and 2012)
2014-04-13 10:01:17 +02:00
Travis Cross 2dba7dd367 Avoid leaking memory on mod_cdr_sqlite unload 2014-04-12 06:59:02 +00:00
Travis Cross 39f960a212 Avoid leaking memory on mod_voicemail unload 2014-04-12 06:48:36 +00:00
Travis Cross 886a730ae8 Avoid leaking memory on mod_hash unload 2014-04-12 06:43:11 +00:00
Travis Cross 237da22e22 Avoid leaking memory on unload of mod_dptools
Automated leak detectors find leaked memory on shutdown.  Cleaning up
after ourselves on shutdown eliminates noise from these reports.
2014-04-12 06:31:31 +00:00
Travis Cross 12af80d6b2 Condense styling a bit 2014-04-12 05:06:51 +00:00
Travis Cross 538cdd378c Hide warning about sometimes initialized variable
The rc variable here was always initialized but the compiler couldn't
see that because of the lack of an unconditional else clause.
2014-04-12 05:02:09 +00:00
Travis Cross 3f8cf4a59d Fix memory leak in subscription handling
We were leaking one event (~539 bytes) for every subscribe packet
received with both an "event: as-feature-event" and an authorization
header.
2014-04-12 05:00:41 +00:00
James Le Cuirot 4bdb7129ba Ungetlib libmemcached
Tested with several libmemcached versions between 0.31 and
1.0.18. Unfortunately the API is extremely volatile and awkward to
use. Packaging scripts still need addressing.

FS-353
2014-04-11 22:55:36 +00:00
James Le Cuirot 23fe7f5c9f Add libyaml pkg-config LIBS to LIBADD not LDFLAGS
Per the automake manual these should go in LIBADD.

http://www.gnu.org/software/automake/manual/html_node/Program-and-Library-Variables.html

FS-353

Signed-off-by: Travis Cross <tc@traviscross.com>
2014-04-11 22:53:14 +00:00
Anthony Minessale 38c6e89db0 remove SSML from mod_rss 2014-04-11 03:33:57 +05:00
Anthony Minessale 7428746ce2 FS-6453 --resolve 2014-04-11 03:24:14 +05:00
Anthony Minessale 7e9c350532 avoid recomputing hash 2014-04-11 03:08:27 +05:00
Anthony Minessale f1d7721710 FS-6448 --resolve revert string func patch cos some things free it 2014-04-11 02:36:13 +05:00
Chris Rienzo a86623972d mod_rayo: fixed input crash introduced in 2014-04-07 commit 2014-04-10 10:20:47 -04:00
Travis Cross b72194b72b Move loop exit conditionals
The net effect here is the code looks more "regular" and reads more
linearly.
2014-04-09 18:41:03 +00:00
Travis Cross 4a8dace5ab Avoid considering more phrase actions after break
Previously we would continue considering phrase actions even after
receiving a break action; we would only break on the next input
clause.  It appears the intent here was to break before the next
action.
2014-04-09 18:41:02 +00:00
Travis Cross 75b8f3e0a8 Improve comment 2014-04-09 18:41:02 +00:00
Travis Cross ffc3f9bb0b Consolidate two conditionals
If we get SWITCH_STATUS_BREAK then we didn't get
SWITCH_STATUS_SUCCESS.
2014-04-09 18:41:02 +00:00
Travis Cross 549aba0d2f Remove variable assignment without effect
We're breaking out of the loop here anyway, so setting done to true is
useless.
2014-04-09 18:41:02 +00:00
Travis Cross 2ace7bc79b Fix memory leak in phrase macro playback
We were leaking memory when break_on_match was set or when we received
back SWITCH_STATUS_BREAK from a callee as we were failing to free
field_expanded_alloc.
2014-04-09 18:41:02 +00:00
Travis Cross f83d6770ff Remove tautological conditional
If pattern is null we're setting it to a non-null value, so this
branch will always be taken.

Use `git diff -w` or `git log -p -w` to see what's going on in this
commit.
2014-04-09 18:41:02 +00:00
Travis Cross 1a71cf886e Fix memory leak on memory error
In the event of a memory error, we were trying to free a null pointer
while leaking the allocation for field_expanded_alloc.
2014-04-09 18:41:02 +00:00
Travis Cross a0b8d92219 Move variables down into loop where they're used
These variables aren't used outside of this for loop, so they should
be declared within it.
2014-04-09 18:41:01 +00:00
Anthony Minessale 4178688b4a add switch_hashtable_insert_destructor so you can insert a pointer into a hash with a custom destructor and use it in spandsp to fix a leak on reloadxml with the tone_descriptor tables and fix a bunch of random tiny leaks etc 2014-04-09 23:26:47 +05:00
Anthony Minessale d789c6470a free global pool on shutdown 2014-04-09 23:26:47 +05:00
Anthony Minessale 0449baca59 clear event queue on shutdown 2014-04-09 23:26:46 +05:00
Travis Cross 2d811e0ba0 Suppress spurious warning in phrase macro playback
Prior to this commit, if anything at all went wrong in
switch_ivr_phrase_macro_event() we would generate a warning like this:

  [WARNING] switch_ivr_play_say.c:348 Macro [macro_name]: 'pattern_name' did not match any patterns

This is clearly misleading.  The natural thing to do on seeing that
message is to verify that the language files are there, and that the
pattern really does exist in that macro.  But none of that was usually
the problem.  The message would be generated if the language wasn't
found, or if the channel had gone away, for example.

With this commit, we verify that we actually tried looking for the
pattern before displaying the warning about the pattern not matching.
2014-04-09 04:48:09 +00:00
Travis Cross 1e273e514d Avoid playback on dead channels in voicemail
For years we've been generating spurious messages like:

  [WARNING] switch_ivr_play_say.c:348 Macro [voicemail_ack]: 'saved' did not match any patterns

This would happen when the caller hangs up during the playback of
certain prompts in the voicemail system where we weren't checking the
return value of vm_macro_get().  Looking closely at the log, it's
clear we were calling down into switch_ivr_phrase_macro() long after
the channel was gone.

The message above is also misleading -- switch_ivr_phrase_macro()
would have been able to find that pattern just fine, but it never
actually looked because the channel was gone.  We'll clean up that
message in a follow on commit.
2014-04-09 04:46:47 +00:00
Anthony Minessale 369bb55d15 remove unnecessary pool create 2014-04-09 03:18:21 +05:00
Travis Cross 1636550176 Add immediate sanity check on untrusted length
We were actually checking this indirectly in the loop that follows,
but it's more clear to check this immediately and directly.
2014-04-08 21:08:02 +00:00
William King 711e49c46a Don't leak these 4 hash tables when mod_fifo is reloaded 2014-04-08 11:18:23 -07:00
William King aae1954c07 FS-6442 --resolve 2014-04-08 10:36:36 -07:00
Brian West de7d5a9e07 Resolve key length issue with AES GCM 128/256 2014-04-08 11:04:41 -05:00
Anthony Minessale 72c52052dc FS-6436 2014-04-08 20:30:23 +05:00
Chris Rienzo 264a12a4af mod_rayo: fix memory corruption in dial, input, output 2014-04-07 12:37:39 -04:00
Anthony Minessale c98fb0bd0e send muted members as recvonly on RFC4575 data 2014-04-07 20:51:29 +05:00
William King 658d938754 Unused return value 2014-04-06 23:49:05 -07:00
Anthony Minessale 65fd534346 fix seg in complete del with no arg 2014-04-07 01:04:51 +05:00
Anthony Minessale a608550800 FS-5832 regression.... After this change the sticky completes were deleting. This should correct it 2014-04-06 03:51:36 +05:00
Anthony Minessale 77056e3c81 fix seg in alias del 2014-04-05 21:09:28 +05:00
Travis Cross fb7fa3d66a Update gitignore 2014-04-05 07:57:05 +00:00
Travis Cross c26343d0c9 Merge in upstream changes to my-basic
We can't use their new mb_gets() because they call exit(3) in the
event of a read error, which isn't what we want.
2014-04-05 06:48:02 +00:00
Travis Cross 8da4259539 Cleanup whitespace 2014-04-05 06:43:49 +00:00
Travis Cross 32c03b39d9 Replace gets(3) with fgets(3) in my-basic
gets(3) is going away; it's been removed by C11, and gcc now warns on
it, breaking the build.
2014-04-05 04:45:30 +00:00
Brian West 34b31f8f02 swig managed 2014-04-04 07:27:48 -05:00
Michael Jerris 5320075df7 FS-6429: --resolve check return values of fread and gets 2014-04-03 21:43:12 -04:00
Michael Jerris 98237f5962 fix mod_basic clang build warning, we don't need to declare var we don't use on this side of the ifdef 2014-04-03 19:35:43 -04:00
Michael Jerris 4e86b03126 FS-6424: --resolve properly export symbols from stfu 2014-04-03 13:58:13 -04:00
Anthony Minessale 287fd66800 FS-6403 --resolve
This commit also reverts 2 previous attempts to fix this very rare race issue spanning back to 2009

62ce853897 Patch from MOC
3a85348cdf FS-2302 mutex added around switch_xml_toxml()

The real problem was switch_xml_toxml_buf() was actually temporarily modifying the xml structure being searialized to make it appaer to be a root structure then serializing it and restoring the pointers.  This caused a non-threadsafe operation when some other thread was scanning the same xml structure.

This patch removes the modification and instead passes a new arg to switch_xml_toxml_r indicating to treat the structure as if it were a root structure.

This bug has been present since the induction of xml into FS.
2014-04-03 20:30:45 +05:00
Brian West 19e3175518 FS-6422: --resolve obvious copy and paste error 2014-04-03 07:20:41 -05:00
Anthony Minessale 1ce92b3ae7 FS-6421 --resolve 2014-04-02 16:43:36 -05:00
Jeff Lenk 554abf3e0c vs2010 reswig 2014-04-01 18:13:07 -05:00
Anthony Minessale 7151d6acea FS-6402 part 2 2014-04-02 03:21:37 +05:00
Travis Cross a78596221a Add uuid_ring_ready API command
We already had uuid_answer and uuid_pre_answer, so we might as well
add uuid_ring_ready.
2014-04-01 20:58:49 +00:00
Travis Cross 6234a94f41 Cleanup style for consistency 2014-04-01 20:54:44 +00:00
Travis Cross a8dd56f2b3 Convert my_basic files to Unix newline format 2014-04-01 20:41:19 +00:00
Anthony Minessale 5c0cff70b3 FS-6402 --resolve 2014-04-02 01:20:19 +05:00