Commit Graph

27281 Commits

Author SHA1 Message Date
Travis Cross 2fea35282f Advance the data_stream data pointer 2014-07-04 07:43:59 +00:00
Travis Cross a84b76be2a Add PUT support to mod_curl `curl` api and app
With both the `curl` api command and application, you can now ask for
data to be PUT where previously it could only be sent via POST.
2014-07-04 07:40:13 +00:00
Kathleen King 1affff9db4 Fixed a clang-3.5 missing-prototype warning and added doxygen
documentation for switch_channel_set_presence_data_vals. #doxygen
2014-07-03 18:51:14 -07:00
Kathleen King 2d85726ecd Fixed dead code.
While reviewing code I noticed some dead code. It was not possible to
default to the channel variable because the parameter could not be
both full and empty.

If the parameter is not a non zero length string then the code looked
like it was intending to default to the channel variable
'presence_data_cols'. If neither of these are the case it is a noop.

By enabling the dead code, you now have access to set the
'presence_data_cols' in the dialplan or scripts like lua.
2014-07-03 17:03:01 -07:00
Anthony Minessale 0df352c4fc update image 2014-07-04 03:58:55 +05:00
Mike Jerris e9ef4b143c Merge pull request #2 in FS/freeswitch from ~KATHLEEN.KING/freeswitch-fork:doxygen-switch_apr.h to master
* commit '64fc3f7934888175b80e0cdd3a065d717d0a9014':
  Changed the function parameter name in the function definition to match the updated parameter name in the function declaration. #doxygen
  Changed the variable name for clarity.
2014-07-03 16:45:52 -05:00
Kathleen King 85699480b3 Fixed trucation of value warning.
There was a parameter mismatch between abs(), which expects an int,
and atol() which returns a long. Since max_drift is defined as an int,
there is no need to pars q as a long rather than an int.
2014-07-03 14:41:24 -07:00
Kathleen King 64fc3f7934 Changed the function parameter name in the function definition to
match the updated parameter name in the function declaration. #doxygen
2014-07-03 14:19:33 -07:00
Kathleen King aef569172b Removed a useless called to abs.
Clang 3.5 reported the following error: error: taking the absolute
value of unsigned type 'unsigned int' has no effect
[-Werror,-Wabsolute-value]

Subtracting unsigned variables will never be negative and will either
be the small expected value or will wrap to a very big value. This
code is trying to determine if the difference between these timestamps
is greater than 16000.

The variables last_write_ts and this_ts deal with timestamps. In the
normal case this_ts will be a larger timestamp than
last_write_ts. This change will maintain the intended behavior of
reseting the video if the difference is larger than
16000 and in the abnormal case this value would wrap and still exceed
the 16000.
2014-07-03 13:17:12 -07:00
Kathleen King 24e5c13283 Removed an autological-pointer-compare from src/switch_utils.c.
Building with Clang 3.5 gave the following warning: error: comparison
of array 'iface_out.sin6_addr.__in6_u.__u6_addr8' equal to a null
pointer is always false [-Werror,-Wtautological-pointer-compare]

This is a problem because as it is written the check will never be
true. A pointer to a structure within a structure will never be null. The
intention was either to null check the pointer or to check if the IP
address itself was not zero.

From context in the code this appeared to be a pointer null check so I
removed it.
2014-07-03 12:12:22 -07:00
Anthony Minessale 831d5892b9 preserve timer name for recovery 2014-07-03 23:50:14 +05:00
Kathleen King 89f7196a6e Fixed trucation of value warning.
There was a parameter mismatch between abs(), which expects an int,
and atol() which returns a long. Since max_drift is defined as an int,
there is no need to pars q as a long rather than an int.
2014-07-03 10:53:19 -07:00
Anthony Minessale c9d0f89261 update ico 2014-07-03 22:36:08 +05:00
Anthony Minessale 6fad1bf8ff clean up demo a little 2014-07-03 22:20:30 +05:00
Anthony Minessale 2cbea0437f clean up demo a little 2014-07-03 22:14:23 +05:00
Mike Jerris 64763398fa Merge pull request #4 in FS/freeswitch from ~KATHLEEN.KING/freeswitch-fork:doxygen-switch_regex.h-2 to master
* commit '35755d37d5dd47c2f8470ca9a294b55f124ee1e7':
  Fixed parameter name of variable in switch_regex_match_partial. #doxygen
2014-07-03 12:03:04 -05:00
Ken Rice 8732abef40 test commit hooks, whitespace change only 2014-07-03 08:50:04 -05:00
Ken Rice ceb1f375d1 Merge pull request #1 in FS/freeswitch from ~ARESKI/freeswitch:code-style to master
* commit 'b0e86e65cf16f106a4254e10ab8f8a984b3699db':
  misc of python pep8 fixes
2014-07-03 08:42:15 -05:00
Brian West 4a51650b16 reswig 2014-07-03 08:09:18 -05:00
areski b0e86e65cf misc of python pep8 fixes 2014-07-03 13:46:56 +02:00
Kathleen King f47ecb25a1 Changed the variable name for clarity. 2014-07-02 20:10:31 -07:00
Kathleen King 35755d37d5 Fixed parameter name of variable in
switch_regex_match_partial. #doxygen
2014-07-02 17:46:55 -07:00
Anthony Minessale 39200cd13b increase memory for buffers to hold new decoded stereo codecs 2014-07-03 02:55:21 +05:00
Anthony Minessale 99f15662e2 fix jb endless loop of missing packets 2014-07-03 02:16:32 +05:00
Travis Cross 0efcc9b973 Update SubmittingPatches doc for JIRA smart commits 2014-07-02 18:37:11 +00:00
Anthony Minessale 9e0d1d6841 only count unmuted channels in positioning 2014-07-02 22:57:29 +05:00
Jeff Lenk 9807a92a70 vs2010 reswig 2014-07-02 12:46:26 -05:00
Anthony Minessale d833b9d726 expand table width a bit 2014-07-02 22:18:44 +05:00
Anthony Minessale f0d16d0d18 expand positioning api usage 2014-07-02 04:49:16 +05:00
Anthony Minessale 1518240bab FS-6637 try this instead 2014-07-01 23:59:40 +05:00
Anthony Minessale 0f017814dd FS-6637 nevermind, this is already in the code 2014-07-01 23:53:45 +05:00
Anthony Minessale 5d70df9b1c FS-6637 try this patch 2014-07-01 22:32:02 +05:00
Chris Rienzo 9b14633cf3 fs_cli: fix compiler error on CentOS 6 caused by recent short uuid logging change 2014-06-30 17:30:59 -04:00
jfigus 024162cfc9 Add support for 16-byte auth tag for AES GCM mode. 2014-06-30 19:18:20 +00:00
jfigus b9da5149e2 Set the algorithm member on cipher_t when allocating AES crypto instance. Apply same fix to NULL cipher. 2014-06-30 19:18:20 +00:00
Travis Cross aa4261d11f Avoid buffer-overflow on short RTCP/SRTCP packets
In `srtp_unprotect_rtcp()` we are not validating that the packet
length is as long as the minimum required.  This would cause
`enc_octet_len` to underflow, which would cause us to try to decrypt
data past the end of the packet in memory -- a buffer over-read and
buffer overflow.

In `srtp_protect_rtcp()`, we were similarly not validating the packet
length.  Here we were also polluting the address of the SRTCP
encrypted flag and index (the `trailer`), causing us to write one word
to a bogus memory address before getting to the encryption where we
would also overflow.

In this commit we add checks to appropriately validate the RTCP/SRTCP
packet lengths.

`srtp_unprotect_rtcp_aead()` (but not protect) did correctly validate
the packet length; this check would now be redundant as the check in
`srtcp_unprotect_rtcp()` will also run first, so it has been removed.
2014-06-30 19:00:35 +00:00
Travis Cross 9ea93c4c50 Avoid buffer over-read on null cipher AEAD
In the defined AEAD modes, SRTP packets must always be encrypted and
authenticated, but SRTCP packets may be only authenticated.  It's
possible, therefore, for us to end up in `srtp_protect_aead()` without
the `sec_serv_conf` bit being set.  We should just ignore this and
encrypt the RTP packet anyway.

What we are doing instead is encrypting the packet anyway, but setting
`enc_start` to NULL first.  This causes `aad_len` to underflow which
will cause us to over-read in `cipher_set_aad()`.

If we could get past that, we would try to read and write memory
starting at 0x0 down in `cipher_encrypt()`.

This commit causes us to not check the `sec_serv_conf` bit and never
set `enc_start` to NULL in `srtp_protect_aead()`.

`srtp_unprotect_aead()` does not contain a similar error.
2014-06-30 19:00:35 +00:00
Travis Cross 3bf2b9af75 Prevent buffer overflow from untrusted RTP/SRTP lengths
When computing the start address of the RTP data to encrypt or SRTP
data to decrypt (`enc_start`), we are using `hdr->cc` (the CSRC
count), which is untrusted data from the packet, and the length field
of an RTP header extension, which is also untrusted and unchecked data
from the packet.

This value then pollutes our calculation of how much data we'll be
encrypting or decrypting (`enc_octet_len`), possibly causing us to
underflow.

We'll then call `cipher_encrypt()` or `cipher_decrypt()` with these
two values, causing us to read from and write to arbitrary addresses
in memory.

(In the AEAD functions, we'd also pollute `aad_len`, which would cause
us to read undefined memory in `cipher_set_aad`.)

This commit adds checks to verify that the `enc_start` we calculate is
sane based on the actual packet length.
2014-06-30 19:00:35 +00:00
Travis Cross d2aaf15992 Fix misspelling in comment 2014-06-30 19:00:34 +00:00
Anthony Minessale 2423fc7d0f FS-6540 This should proxy all refers now, the param has changed to proxy-refer 2014-06-30 12:53:22 -05:00
Anthony Minessale 7f9348dbc3 fix volume adjustments in stereo conference 2014-06-30 23:39:42 +05:00
Anthony Minessale 41a7d1cf31 some refactoring to make new stereo stuff more stable 2014-06-30 23:00:45 +05:00
Anthony Minessale 591ea9e9ca tweaks 2014-06-30 04:39:46 +05:00
Anthony Minessale 0bb7f1659f check for member channel 2014-06-30 01:59:21 +05:00
Travis Cross c1f1f8b98e Check for too many SRTP errors before warning
We're checking whether we've hit the warning threshold before checking
whether we should just end the call.  This causes an off-by-one error
where we take one SRTP error more than intended.

This commit reverses the order of the tests.
2014-06-29 20:49:46 +00:00
Anthony Minessale 0ac78cacc3 add openal code to mod_conference 2014-06-30 01:23:08 +05:00
Anthony Minessale 810717cae0 check for proper openal symbol to enable functionality 2014-06-30 01:23:07 +05:00
Anthony Minessale 1a56298c53 add 44.1khz codec defs 2014-06-30 01:23:07 +05:00
Anthony Minessale 1ef5d114f5 adjust ringing var 2014-06-30 01:23:07 +05:00
Steve Underwood c3798dbb02 FAX tweaks 2014-06-29 02:11:25 +08:00