890 Commits

Author SHA1 Message Date
Travis Cross
92e2caf86b 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 1bf17857c9a322df50305606ca41203053001818 should
have been.

FS-6104
2014-02-11 06:39:50 +00:00
Travis Cross
f7c4dd79f5 Add additional debugging output to keepalive handling 2014-02-11 06:34:43 +00:00
Travis Cross
01a4aeaaeb 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 06:34:40 +00:00
Travis Cross
e2639e1d4d Add ifdefs around TLS v1.1 and v1.2 handling
This is needed to support squeeze for awhile longer.
2014-02-10 04:09:52 +00:00
Travis Cross
d1e40b088a Add OpenSSL version check around ECDH
...we'll try to support ancient OpenSSL versions on v1.2 for awhile
longer.
2014-02-09 22:33:52 +00:00
Travis Cross
1398975622 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-09 20:13:44 +00:00
Travis Cross
25c65d52c5 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:32 +00:00
Travis Cross
7f772b2601 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:45:50 +00:00
Anthony Minessale
a6cd8c5cc5 FS-6150 --resolve cool find 2014-01-27 06:57:21 +05:00
Travis Cross
1bf17857c9 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:49:01 +00:00
Jeff Lenk
3687892e91 FS-6010 VS2013 build changes 2013-12-21 16:50:09 -06:00
Anthony Minessale
76f30ae090 FS-6005 --resolve
Conflicts:
	libs/sofia-sip/.update
2013-11-27 21:21:45 +05:00
Anthony Minessale
9764fb33cd FS-5855 please try lastest HEAD
Conflicts:
	libs/sofia-sip/.update
2013-10-08 23:05:45 +05:00
Michael Jerris
2f556d4802 FS-5819: don't assigne variable to itself 2013-09-30 13:29:04 -04:00
Chris Rienzo
5c9479db1c FS-5819 fix typo 2013-09-27 22:24:21 -04:00
Michael Jerris
4dcb448d10 FS-5819: fix bounds check on enum type 2013-09-27 21:27:52 -04:00
Michael Jerris
d732c855cc FS-5819: fix useless assignment in sofia 2013-09-27 12:40:13 -04:00
Anthony Minessale
c6dd7b8fe4 ignore a= lines when m= port is 0
Conflicts:
	libs/sofia-sip/.update
2013-09-20 00:39:34 +05:00
Brian West
2645113465 similar fix to 53d17a13121cb85d5bf3c260a4d365fefc7ae179 2013-09-12 16:57:19 -05:00
Anthony Minessale
439e582dc6 FS-5780 --resolve
Conflicts:
	libs/sofia-sip/.update
2013-09-12 00:11:06 +05:00
Anthony Minessale
795498da83 FS-5714 --resolve
Conflicts:
	libs/sofia-sip/.update
2013-09-05 20:56:51 +05:00
Anthony Minessale
9cc8b725e4 rebuild 2013-09-05 20:41:17 +05:00
Anthony Minessale
b9c3dc071a FS-5714 --resolve That is probably the right place 2013-09-05 20:39:58 +05:00
Anthony Minessale
e765748288 rebuild 2013-07-29 16:07:52 -05:00
Anthony Minessale
c0e75741b0 FS-5641 --resolve 2013-07-29 16:07:14 -05:00
Jeff Lenk
5e2f808de6 FS-5527 fix compiler error windows
(cherry picked from commit a52a604fbb561dbb604676b1a17888bd74625101)
2013-06-28 11:10:58 -05:00
Anthony Minessale
74740cca5f FS-5527 --resolve
Conflicts:
	libs/sofia-sip/.update
	libs/sofia-sip/libsofia-sip-ua/nta/nta.c
2013-06-28 10:45:33 -05:00
Anthony Minessale
9a67ce5c1a fix gcc bug patch
Conflicts:
	libs/sofia-sip/.update
2013-06-20 10:52:10 -05:00
Anthony Minessale
adf61e4bf5 newer gcc does not like when you use out of bounds array indexes to access other elements in a struct (at least at -O2) 2013-06-20 10:17:17 -05:00
Anthony Minessale
4ea6369d1d disable dialog matching for subscribe reqs so it always uses a new handle to avoid conflicting with notify transactions 2013-06-12 23:46:52 -05:00
Brian West
83c6f4250b add kirk wireless servers to safe as they do not do rport 2013-05-31 11:56:53 -05:00
Anthony Minessale
b4feb4d93f rebuild 2013-04-25 12:15:50 -05:00
Anthony Minessale
d7e107a46a add tcp keepalive where possible 2013-04-25 12:15:30 -05:00
Anthony Minessale
03f9daf002 remember to file your tps reports 2013-04-24 15:52:10 -05:00
Anthony Minessale
31f294e417 FS-5343 --resolve
Conflicts:
	libs/sofia-sip/.update
2013-04-24 12:11:02 -05:00
Anthony Minessale
9b11dbe4b9 FS-4452 --resolve 2013-03-06 12:58:30 -06:00
Ken Rice
c35a41e4ca FS-3772 --resolve please no vanity comments 2013-03-01 15:48:48 -06:00
Anthony Minessale
45d849ab74 FS-5095 --resolve all boils down to uninitialized vars grrr 2013-02-19 13:11:50 -06:00
Anthony Minessale
1c9a10162f FS-5068 --resolve this was an edge case assert in a DNS error. You may want to check that you have valid DNS servers but this should stop the crash 2013-01-31 13:53:50 -06:00
Anthony Minessale
f0bf3b917d FS-5047 --resolve This seems to be a problem in libsofia, this should fix it. 2013-01-30 17:20:19 -06:00
Michael Jerris
63deed9fc9 fix double-destroy seg 2013-01-14 12:02:28 -05:00
Michael Jerris
41b2ce51d2 add support for RTP/SAVPF to sofia stack 2013-01-14 08:31:10 -05:00
Anthony Minessale
8e78ca69e5 add some missing macros to typically disabled stun code 2012-12-07 08:42:54 -06:00
Anthony Minessale
18f20e24bf fix bad return vals on sending messages when under stress 2012-11-13 17:56:31 -06:00
Anthony Minessale
e8f3e42f8b FS-4779 try this patch 2012-11-08 09:52:20 -06:00
Anthony Minessale
6627dc8696 fix some contention issues under really high load...That doesn't mean you need to push it this hard and bug me about it =p 2012-11-07 14:53:16 -06:00
Anthony Minessale
e884de5b07 add NUTAG_RETRY_AFTER_ENABLE() tag to lib sofia and use it in mod_sofia to disable processing retry-after headers on a per-call basis 2012-11-02 13:54:54 -05:00
Seven Du
3ef548eeb5 fix compile, please review 2012-10-27 08:24:01 +08:00
Anthony Minessale
63e2044a7e modify sofia debug code to print file, line numbers and function name 2012-10-26 14:15:14 -05:00
Anthony Minessale
6d75c36f69 Merge branch 'master' of ssh://git.freeswitch.org/freeswitch 2012-10-23 13:15:14 -04:00