Commit Graph

143 Commits

Author SHA1 Message Date
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
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
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
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
Michael Jerris 1aa8464114 FS-5819: don't assigne variable to itself 2013-09-30 13:28:47 -04:00
Anthony Minessale 8493c88f88 fix proto regression from last commit 2013-09-19 19:34:58 -04: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 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 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
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
Anthony Minessale b2e06346d4 some more ws transport tweaks 2013-06-27 14:04:13 -05:00
Anthony Minessale a26ab6e3e0 fix ssl connect race 2013-06-26 23:10:19 -04:00
Anthony Minessale afc18668f3 tweak sip ws code to avoid double free 2013-06-26 12:43:54 -04:00
Anthony Minessale da0c0c0e4a revert 02c329da33 and put proper fix 2013-06-24 08:31:06 -05:00
Jeff Lenk 02c329da33 fix compiler warning 2013-06-20 14:27:32 -05:00
Anthony Minessale a71b199de4 fix ref counting issue in tcp,tls,wss transports 2013-06-19 21:54:58 -05:00
Anthony Minessale 633dcd46b6 yay for bugs 2013-06-19 12:26:45 -05:00
Anthony Minessale 471b3d33fd add tcp keepalive where possible 2013-04-25 13:33:17 -05:00
Jeff Lenk ff9571e1e9 sofia windows compiler warnings 2013-04-02 17:25:10 -05:00
Ken Rice 23410558ff hust compiler warning 2013-04-01 17:24:52 -05:00
Anthony Minessale cc3e75fc62 omit weak ciphers to prevent hackage 2013-03-31 21:27:27 -05:00
Anthony Minessale 68055eab2b support tls dir options properly 2013-03-31 21:27:26 -05:00
Anthony Minessale c4b221c750 trying to get mozilla to work using sipml5, got stun/dtls/rtp flowing and its dead silent. c'mon guys... why do you have to do everything differently????? 2013-03-31 21:27:25 -05:00
Anthony Minessale a36bd797c6 fix shutdown seg 2013-03-31 21:27:24 -05:00
Anthony Minessale 52e7a63bbf fix for firefox secure websockets which for some reason writes only 1 byte first on secure ws frame 2013-03-31 21:27:24 -05:00
Anthony Minessale fa8ccff7c3 polish 2013-03-31 21:27:21 -05:00
Anthony Minessale 2ccc771825 fix cpu race on ws poll 2013-03-31 21:27:21 -05:00
Anthony Minessale e31c74b638 use cert dir from tls config to find wss certs 2013-03-31 21:27:21 -05:00
Anthony Minessale 668f4a6207 working mo better 2013-03-31 21:27:20 -05:00
Anthony Minessale 62e62e1e34 add websocket transport to sofia 2013-03-31 21:27:20 -05:00
Anthony Minessale 9b11dbe4b9 FS-4452 --resolve 2013-03-06 12:58:30 -06:00
Anthony Minessale 63e2044a7e modify sofia debug code to print file, line numbers and function name 2012-10-26 14:15:14 -05:00
Travis Cross c85c8d7bbd
Add mechanism to set OpenSSL session timeout
In a sofia profile, you can now set the parameter tls-timeout to a
positive integer value which represents the maximum time in seconds
that OpenSSL will keep a TLS session (and its ephemeral keys) alive.

This value is passed to OpenSSL's SSL_CTX_set_timeout(3).

OpenSSL's default value is 300 seconds, but the relevant standard
(RFC 2246) suggests that much longer session lifetimes are
acceptable (it recommends values less than 24 hours).

Longer values can be useful for extending battery life on mobile
devices.

Signed-off-by: Travis Cross <tc@traviscross.com>
2012-06-11 21:46:05 +00:00
Jeff Lenk 5e66db63f1 FS-3896 --resolve that sizeof was incorrect 2012-02-17 08:50:03 -06:00
Anthony Minessale 7938fd81cc FS-3813 --resolve this should be ok 2012-01-16 12:47:37 -06:00