Commit Graph

27400 Commits

Author SHA1 Message Date
Travis Cross
b874048efc Handle gcc's overzealous unused-result warning
Modern static analyzers warn when a variable is set but not used.  GCC
warns when the result of a function marked as
`__attribute__((warn_unused_result))` is not set to some variable,
even when the function is cast to `(void)`, which is the recognized
way of indicating the intent to ignore the result.  We treat all
warnings as errors.

The combination of behaviors here makes it difficult if we really
don't care about the result of the function; the obvious workarounds
are precluded.

GCC's maintainers don't consider this to be a bug:

  Why do you think this is a bug?  warn_unused_result is for cases where
  "not checking the result is either a security problem or always a
  bug".

  https://gcc.gnu.org/bugzilla/show_bug.cgi?id=25509#c1

GLIBC however marks functions like `read` and `write` with this
attribute.  While it certainly in most cases is correct to act on
their return value, in some cases we really just don't care.

So when we see that we're building with GCC, and that we're building
with all warnings enabled, we'll just pass -Wno-unused-result to
disable the warning.

ref: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=25509
ref: https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html
2014-08-22 20:13:39 +00:00
William King
d06d004055 Adding the ability to add a radius param when a channel variable is not set in mod_xml_radius 2014-08-21 23:17:23 -07:00
Travis Cross
aa1a05d0aa Help the static analyzer in handle_ice
Clang's static analyzer thinks we could be using `hosts` here when it
is NULL.  We probably weren't, but it's easy to see how it could think
so.  We were checking whether `from_addr` matched `ice->addr` three
times, and between the second on third time we might have modified the
`ice->addr`; however we only get there if it matched the second time,
so we could only make it not match at that point and avoid the third
branch.  We can't make it match where it did not before.

We'll simplify the logic a bit here so static analyzers (and humans)
can hopefully see this more readily.
2014-08-22 03:37:42 +00:00
Travis Cross
3c32dd3bc9 Return NULL from sub_alloc for zero size
When zero was passed for the size to `sub_alloc`, we were passing this
size on to `malloc` or `calloc`, which is unusual enough that static
analyzers warn about this (POSIX says that either NULL or a pointer
will be returned).

We'll instead just return NULL right away.
2014-08-22 02:47:04 +00:00
Travis Cross
959e672a94 Fix spelling "Couldnt" -> "Couldn't" 2014-08-22 02:19:45 +00:00
Travis Cross
decc19ccd1 Handle zero channels when allocating for resampler
When the number of channels was zero, we were calling malloc with a
size of zero.  While defined, this is unusual.  And since we're
initializing the speex resampler as though there were one channel in
this case, we should probably just allocate the space for it.
2014-08-22 01:59:11 +00:00
Travis Cross
164fa133dc Refactor to avoid warning about realloc usage
Clang's static analyzer noticed the result of realloc was being
assigned to a pointer of a different type than was used to calculate
the new size.  We can make things simpler and more idiomatic here by
using the correct pointer type and letting C's pointer arithmetic
automatically handle some multiplication.

We also use the distributive property here to simplify the calculation
for memset.
2014-08-22 01:36:59 +00:00
Travis Cross
2cf6fd728c Remove dead assignments in switch.c 2014-08-22 01:21:43 +00:00
Travis Cross
4f81e5942a Handle null argv in switch.c 2014-08-22 01:09:05 +00:00
Travis Cross
e2d67d4ead Remove dead assignment 2014-08-22 00:58:53 +00:00
Travis Cross
b5a87aea7f Avoid using undefined memory in switch_fulldate_cmp
The `switch_split_date` and `switch_split_time` functions only set as
many variables as they believe exist values in the input string.
Since we didn't have defaults assigned we would read undefined stack
memory if the input string didn't contain e.g. an hour.

With this commit, we use 1970 if no year is present, January if no
month is present, the first day of the month if none is given, and
zero for each of a missing hour, minute, or second.
2014-08-22 00:47:22 +00:00
Travis Cross
bf42dd65f1 Refactor switch_fulldate_cmp
We're moving the variable declarations down to the smallest possible
scope (a good idea in general) so we can address the use of undefined
memory by the function in a later commit.
2014-08-22 00:43:27 +00:00
Travis Cross
b2f59dd200 Add warning when using HTTPS with mod_curl
mod_curl currently does not verify the authenticity of the peer's
certificate, and does not verify whether the common name on the
certificate matches the server.  This makes mod_curl initiated TLS
connections completely insecure.  We should fix this, but until we do,
we'll warn people that it's not doing what they may think it is.

ref: http://curl.haxx.se/libcurl/c/CURLOPT_SSL_VERIFYPEER.html
ref: http://curl.haxx.se/libcurl/c/CURLOPT_SSL_VERIFYHOST.html
2014-08-21 22:24:04 +00:00
Travis Cross
6d1469d2fb Describe how to hard-wrap text in Emacs 2014-08-21 20:37:08 +00:00
Brian West
6e4cea308d Merge pull request #28 in FS/freeswitch from ~STANGOR/freeswitch:master to master
* commit 'c736cf2f22e4f0a5d490db995ebaed69b9963daa':
  Add sofia gateway parameter "destination-prefix"
  FS-5497 add sofia gateway parameter destination-prefix in case you need to send Invites with prefix only to this gateway
2014-08-21 13:59:37 -05:00
Giovanni Maruzzelli
2ada8286f3 skypopen: new skype client in install/install.pl 2014-08-21 20:52:14 +02:00
Chris Rienzo
0ba1b1efea mod_graylog2: channel variables can now be automatically added as gelf additional fields in logs w/ session UUID 2014-08-21 11:06:13 -04:00
Nathan Neulinger
5f6db1db3e mod_skinny: roll back, these are not expected to be null terminated, they are fixed length 2014-08-20 14:50:46 -05:00
Nathan Neulinger
84bc50e4ad mod_skinny: fix potential buffer size issue CID: 1214145 1214146 2014-08-20 14:32:02 -05:00
Travis Cross
f2ca3c5211 Decode params to curl_sendfile
`curl_sendfile` generates a multipart message with Content-Type:
multipart/form-data with no separate Content-Type headers in the parts
for each non-file argument.  These parts therefore default to
text/plain.  However, prior to this commit, we were putting the URL
encoded POST data into these parts, which is not correct.  We should
be putting raw text into the parts.

With this commit, we urldecode each argument key and value before
composing the multipart message.

See:

  http://www.w3.org/TR/html401/interact/forms.html#h-17.13.4.2
2014-08-20 10:37:24 +00:00
Stan Gor
c736cf2f22 Merge branch 'master' of https://stash.freeswitch.org/scm/~stangor/freeswitch 2014-08-19 12:01:43 -07:00
Stan Gor
64060c7dbd Add sofia gateway parameter "destination-prefix"
FS-5497 add sofia gateway parameter destination-prefix in case you need to send Invites to your provider with prefix only to this gateway
2014-08-19 11:54:09 -07:00
Anthony Minessale
7bbdbadb42 tweak some cid display issues 2014-08-19 03:25:28 +05:00
Giovanni Maruzzelli
eccf505a3b testing new hook FS-6677 #Waiting #comment this is a test 2014-08-18 21:55:03 +02:00
Giovanni Maruzzelli
c086f9647b testing new hook TKT-6677 #Waiting #comment this is a test 2014-08-18 21:46:40 +02:00
Giovanni Maruzzelli
733db22f1d testing new hook FS-6677 #new_state #comment this is a test 2014-08-18 21:39:56 +02:00
Jeff Lenk
ad3715d4be FS-6696 VS2010 Express fixes for pa and v8 2014-08-17 13:28:06 -06:00
Jeff Lenk
571cf932dc fix VS2010 build warning 2014-08-16 18:22:41 -05:00
Seven Du
ecbf662ce7 FS-6738 #comment fix mac build introduced by 0ee48c2 2014-08-16 10:08:39 +08:00
Anthony Minessale
5173471b06 nm 2014-08-16 02:00:38 +05:00
Anthony Minessale
cb928cdf37 fix typo 2014-08-16 01:52:03 +05:00
Anthony Minessale
cbe0bc05d0 force sofia rebuild 2014-08-16 01:34:30 +05:00
Anthony Minessale
0ee48c2210 FS-6738 #comment can you test this patch and see if the tcp keepalive can detect the timeout 2014-08-16 00:43:25 +05:00
Anthony Minessale
24413bfa11 copy changes from verto ws.c to sofia 2014-08-16 00:43:25 +05:00
stangor
1772be2071 FS-5497 add sofia gateway parameter destination-prefix in case you need to send Invites with prefix only to this gateway 2014-08-14 17:28:14 -07:00
William King
3e5933a57b Merge pull request #21 in FS/freeswitch from ~PFOURNIER/freeswitch:refer_event to master
* commit 'd1abf274d53958566e4a23e02b6168061c098827':
  REFER_EVENT is missing from the message names array
2014-08-14 14:44:45 -05:00
Brian West
8ebfca9e3d Merge pull request #24 in FS/freeswitch from ~STANGOR/freeswitch:master to master
* commit '4d0b875d4e7b2ee1fc8f30591b5c98c61080fae5':
  fix mod_fifo presence https://jira.freeswitch.org/browse/FS-6732
2014-08-14 14:02:27 -05:00
Anthony Minessale
d701e3e033 FS-6739 #resolve 2014-08-14 19:40:47 +05:00
Travis Cross
8d84aa25ec Cleanup whitespace 2014-08-13 19:29:03 +00:00
Peter Wu
21c145b108 libzrtp: update zrtp_sleep for modern libc
usleep is deprecated and disabled in glibc 2.12 unless requested. Use
nanosleep instead if available.

This fixes the following compiler warning:

    ./src/zrtp_iface_scheduler.c: In function 'zrtp_sleep':
    ./src/zrtp_iface_scheduler.c:96:2: warning: implicit declaration of
    function 'usleep' [-Wimplicit-function-declaration]
      usleep(msec*1000);
      ^
2014-08-13 19:28:55 +00:00
Peter Wu
98502947c8 libsrtp: do not include unnecessary sources
These two files should only be built when OpenSSL is not enabled. See
the configure script of the original sources and Makefile from upstream.
(RNG_EXTRA_OBJS)

Fixes a -Wimplicit-function-declaration warning.
2014-08-13 18:52:18 +00:00
Peter Wu
76e6be2fad Fix copy-paste error in '-certs' error message 2014-08-13 18:43:39 +00:00
Mike Jerris
5eb01b519e Merge pull request #25 in FS/freeswitch from ~STEVEAYRE/freeswitch:master to master
* commit '05ef18948d3870c4afcd82ce32e164e4a152a8e1':
  add uptime api to mod_commands
2014-08-13 13:37:17 -05:00
Stan Gor
4d0b875d4e Merging in latest from upstream (FS/freeswitch:refs/heads/master)
* commit 'b60df39b96b05b6c3cf220d5049ea5fc20dfa6e1':
  mod_http_cache: fix configuration so that carriage returns or other whitespace is OK around S3 keys
  mod_http_cache: fixed S3 URL parser to allow mybucketsubdomain.com.s3.amazonaws.com
2014-08-12 22:08:44 -05:00
Chris Rienzo
b60df39b96 mod_http_cache: fix configuration so that carriage returns or other whitespace is OK around S3 keys 2014-08-12 16:28:42 -04:00
Chris Rienzo
3b45ef90ae mod_http_cache: fixed S3 URL parser to allow mybucketsubdomain.com.s3.amazonaws.com 2014-08-12 16:07:56 -04:00
Steven Ayre
05ef18948d add uptime api to mod_commands 2014-08-12 14:06:15 +01:00
stangor
c966dc865a fix mod_fifo presence
https://jira.freeswitch.org/browse/FS-6732
2014-08-11 14:08:10 -07:00
Brian West
aeced06c6c Merge pull request #23 in FS/freeswitch from ~DDRAGIC/freeswitch:fix_mod_blacklist to master
* commit 'fe2a6e8acae2e8104c9480361b1561ee3f120bf1':
  FS-6620 mod_blacklist fix not deleting entries from list
2014-08-11 14:54:42 -05:00
Anthony Minessale
3a10e5dff7 don't overwrite autodial ext from cookie when supplied on the input hash 2014-08-12 00:29:45 +05:00