Commit Graph

941 Commits

Author SHA1 Message Date
Travis Cross 3449e265a0 Force sofia rebuild
The rebuild is needed for commit d3b9aaba60.
2014-02-11 17:45:45 +00:00
Travis Cross 8b7d58ddf8 Rework handling of Linux TCP keepalives in Sofia
This separates out the Linux socket TCP keepalive timeout interval
from Sofia's internal mechanisms.  Earlier we tied these together.  In
retrospect this seems improper.

These two values can now be set separately.

You might, for example, want to keep the Sofia internal mechanism
disabled completely while enabling the platform-based mechanism if
your platform supports it.

We also here reform the default value of the socket TCP keepalive
parameter to 30 seconds.

This is what commit a0e9639a1f should
have been.

FS-6104
2014-02-11 06:27:20 +00:00
Travis Cross 2b064e6393 Add additional debugging output to keepalive handling 2014-02-11 05:40:41 +00:00
Travis Cross 3ae189ca3f Synchronize Sofia and Linux TCP keepalive timeout units
Sofia keeps the TCP keepalive timeout in milliseconds, but Linux
expects the value in seconds.  Before this change, it's unlikely the
TCP_KEEPIDLE and TCP_KEEPINTVL calls were having much effect as we
would have been passing them a huge value.

FS-6104
2014-02-11 05:33:25 +00:00
Travis Cross f2d544d559 Rebuild sofia 2014-02-06 15:41:33 +00:00
Travis Cross a96eefe8ee Add support for EECDH to Sofia-SIP
This adds support for the ephemeral elliptic curve Diffie-Hellman key
exchange, which provides for forward secrecy in the event that
long-term keys are compromised.

For the moment, we've hard-coded the curve as prime256v1.
2014-02-06 15:40:35 +00:00
Travis Cross c0101e2ce6 Allow setting TLS cipher suites through Sofia-SIP API
Previously there was no way to override the hard-coded cipher suite
specification of "ALL:!ADH:!LOW:!EXP:!MD5:@STRENGTH".

This commit does leave in place the hardcoded cipher spec for WebRTC
of "HIGH:!DSS:!aNULL@STRENGTH".
2014-02-06 06:04:02 +00:00
Travis Cross e3b353e911 Allow setting enabled TLS versions in Sofia-SIP
Previously if the TPTAG_TLS_VERSION was set to a non-zero value we
supported only TLSv1 (but not TLSv1.1 or TLSv1.2), and if was set to
zero we supported all versions of TLS and SSL (including the
ridiculous SSLv2).

Now we take an integer field where various bits can be set indicating
which versions of TLS we would like to support.
2014-02-06 02:17:13 +00:00
Michael Jerris b6270f4d70 FS-6030: --resolve fix variable scoping issue for more aggressive optimizer 2014-02-05 08:46:04 -05:00
Anthony Minessale 0a3e18a308 FS-6174 --resolve after updating to this revision, put ca-bundle.crt in /usr/local/freeswitch/certs to get chain cert in place for both dtls and wss 2014-01-31 20:16:54 +05:00
Anthony Minessale 0e14b758fc FS-6150 --resolve cool find 2014-01-27 06:57:05 +05:00
Travis Cross a0e9639a1f Handle Linux TCP keepalives better in Sofia
Sofia accepts a value for the TCP keepalive timeout interval via
TPTAG_KEEPALIVE, however it fails to use this value for the Linux
keepalive socket options TCP_KEEPIDLE and TCP_KEEPINTVL.  In fact, on
Linux it enables the sending of TCP keepalives even if tpp_keepalive
is set to zero which would disable Sofia's internal keepalive
mechanisms.  Sofia then uses a hard coded value of 30 seconds for
these keepalive intervals which affects battery life on mobile
devices.

With this commit we harmonize the sending of TCP keepalives on Linux
with other platforms by using the value from TPTAG_KEEPALIVE and not
enabling the sending of TCP keepalives at all if the value of the
parameter is zero.

FS-6104 --resolve
2014-01-18 15:46:56 +00:00
Seven Du f5b18c0fdd FS-5642 --resolve add back the ETIMEDOUT check, needed on Mac 2013-12-13 11:46:14 +08:00
Jeff Lenk bb53175526 FS-6010 --resolve 2013-11-29 22:16:49 -06:00
Anthony Minessale bbe1fe1a31 FS-6005 --resolve 2013-11-27 10:20:35 -06:00
Anthony Minessale c8be999c34 FS-5911 --resolve 2013-10-25 23:51:43 +05:00
Jeff Lenk 88b2e96516 windows fix compiler errors 2013-10-22 23:23:48 -05:00
Anthony Minessale 20a55d3cc6 update 2013-10-22 16:27:15 -05:00
Anthony Minessale e2bdd78d55 FS-5896 --resolve 2013-10-22 20:33:13 +05:00
Anthony Minessale 3c2a5db225 add missing protos 2013-10-21 20:11:30 +05:00
Michael Jerris bfcd1e07ca compile failure due to no newline at end of file 2013-10-21 10:54:23 -04:00
Anthony Minessale 0d19abfbdb FS-5887 --resolve 2013-10-19 00:00:28 +05:00
Anthony Minessale 8aff25e03d FS-5855 please try lastest HEAD 2013-10-08 12:10:36 -05:00
Michael Jerris 1aa8464114 FS-5819: don't assigne variable to itself 2013-09-30 13:28:47 -04:00
Chris Rienzo 6b9382290d FS-5819 fix typo 2013-09-27 22:23:23 -04:00
Michael Jerris 42d7d86514 FS-5819: fix bounds check on enum type 2013-09-27 21:28:12 -04:00
Michael Jerris 25001e857f FS-5819: fix useless assignment in sofia 2013-09-27 12:39:49 -04:00
Anthony Minessale 8493c88f88 fix proto regression from last commit 2013-09-19 19:34:58 -04:00
Anthony Minessale 750847f290 ignore a= lines when m= port is 0 2013-09-19 13:44:20 -05:00
Jeff Lenk b407732dcd fix for todays ws.* changes 2013-09-17 23:23:11 -05:00
Anthony Minessale f1d0357e92 minor fixes in ws.c 2013-09-18 05:13:46 +05:00
Anthony Minessale 50ea67b340 fix connection issue in websocket 2013-09-17 06:24:58 +05:00
Brian West 378648f2b1 similar fix to 53d17a1312 2013-09-12 16:56:07 -05:00
Anthony Minessale 98df017ae6 FS-5780 --resolve 2013-09-12 00:10:28 +05:00
Anthony Minessale d7608fad7a FS-5714 --resolve 2013-09-05 20:55:55 +05:00
Anthony Minessale 9c2a247f72 rebuild 2013-09-05 20:41:45 +05:00
Anthony Minessale c001840d9d FS-5714 --resolve That is probably the right place 2013-09-05 20:41:31 +05:00
Anthony Minessale 53d17a1312 override the default 30 minute timeout on tport connections for websockets 2013-09-04 04:24:53 +05:00
Anthony Minessale b5ac54ecca FS-5738 --resolve 2013-08-28 23:18:41 +05:00
Anthony Minessale dbfde499a4 add val to debug message 2013-08-23 04:13:19 +05:00
Anthony Minessale da148c0dd4 remove call to close 2013-08-22 18:49:35 -04:00
Anthony Minessale 143b1c44eb rebuild 2013-07-29 16:07:34 -05:00
Anthony Minessale d00c8a6abf FS-5641 --resolve 2013-07-29 16:07:03 -05:00
Anthony Minessale bc851de200 FS-5642 FS-5556 --resolve I have not tested this yet for the connect but I fixed the seg for sure which was an outstanding issue in 5556 reopen 5642 if connect still doesnt work 2013-07-26 11:27:45 -05:00
Anthony Minessale 5dbf2b3cf7 refactor some video code 2013-07-11 17:38:24 -05:00
Jeff Lenk 5fc2bc9993 FS-5588 --resolve windows compiler fixes 2013-07-09 07:53:56 -05:00
Anthony Minessale 94f3b90040 use static buffer and nonblocking socket in websocket client 2013-07-08 08:25:45 -05:00
Jeff Lenk a52a604fbb FS-5527 fix compiler error windows 2013-06-28 11:05:27 -05:00
Anthony Minessale dac93d7936 FS-5527 --resolve 2013-06-28 10:42:06 -05:00
Anthony Minessale b2e06346d4 some more ws transport tweaks 2013-06-27 14:04:13 -05:00