202 Commits

Author SHA1 Message Date
Anthony Minessale
5c43a17a04 FS-8761 2016-09-12 11:24:41 -05:00
Sebastian Denz
ebaf95e709 FS-9452: fixed true/false logic for using dst flag 2016-08-22 16:36:37 +02:00
Anthony Minessale
8abc16f501 FS-8761 2016-08-08 16:39:44 -05:00
Anthony Minessale
1e7b4a1301 FS-8761 #resolve [Memory leak in FreeSWITCH] 2016-08-06 11:49:21 -05:00
Anthony Minessale
61c487c3e8 Revert "FS-8761 #resolve [Memory leak in FreeSWITCH]"
This reverts commit 341e94b28d966ae47390606c5447bb56f2453465.
2016-08-06 11:47:07 -05:00
Anthony Minessale
341e94b28d FS-8761 #resolve [Memory leak in FreeSWITCH] 2016-08-03 23:57:00 -05:00
Alexandr Dubovikov
c6fa70054d FS-9227: [sofia-sip] fix Wrong byte order in HEP packet for source and destination ports 2016-06-07 12:30:58 -05:00
Mike Jerris
e6d77e2813 Merge pull request #830 in FS/freeswitch from ~ETHANATKINS/freeswitch:ssl-transport to master
* commit 'db0dfe94d079e8b82c5ca93092faa2fe204b0d06':
  FS-9113 [sofia-sip] Clear out ssl error queue
2016-05-23 10:52:12 -05:00
Spencer Thomason
7f24fc7ab5 FS-9158 [sofia-sip] Add include for changes in 65460fa 2016-05-14 13:42:17 -07:00
Ethan Atkins
db0dfe94d0 FS-9113 [sofia-sip] Clear out ssl error queue
Sofia will unpredictably close a tls transport during call setup. This
occurs when the epoll event loop wakes up the socket reader and SSL_read
returns an error because there is no packet on the socket. Normally
sofia will read the last error using SSL_get_error and return
SSL_ERROR_WANT_READ. Sofia gracefully handles this error and the
transport stays open. Sometimes, however, the worker thread will call
SSL_shutdown for a different transport, which can write an error to the
internal openssl error queue. If that error is not read off the queue,
the next time that SSL_get_error is called, it will read that unrelated
error.

The documentation for SSL_shutdown explains that there are three
possible results -1, 0 and 1 with, oddly, 1 indicating success. The -1
result code occurs when there is no handshake callback registered on the
connection. It can return 0 when there is still work to be done. The
documentation suggest that it is insufficient to call it just once. This
is why I added the do {} while () construct.

Although just the fix to SSL_shutdown was enough to resolve my issue, I
a also audited other calls to SSL_* functions and found a few other
cases where an error may be generated, but was not handled.
2016-04-30 10:39:47 -07:00
Michael Jerris
65460fae25 FS-9099: fix windows build 2016-04-28 14:29:39 -05:00
Michael Jerris
0ba86871b4 FS-9078: [sofia-sip] fix typo in HEP3 2016-04-27 15:34:17 -05:00
Mike Jerris
943e8ef323 FS-9099: [sofia-sip] fix windows build of websocket transport 2016-04-27 16:08:13 -04:00
Michael Jerris
3caa794f7a FS-9078: [sofia-sip] fix linux build of HEPv2/HEPv3 code 2016-04-27 16:02:00 -04:00
Michael Jerris
c6d0a99495 FS-9078: [sofia-sip] fix linux build of HEPv2/HEPv3 code 2016-04-27 14:45:59 -05:00
Michael Jerris
6ce69adcb3 FS-9099: remove unneeded header include 2016-04-27 14:45:09 -05:00
Mike Jerris
e23bb54f9a FS-9078: [sofia-sip] fix windows build of HEPv2/HEPv3 code 2016-04-27 13:50:14 -04:00
Anthony Minessale
18db50c46a FS-9099 #resolve [Websocket raw frame read timeout is too short] 2016-04-25 17:29:50 -05:00
Alexandr Dubovikov
981b528c48 FS-9078 added hepv2 and hepv3 support 2016-04-18 19:28:00 +02:00
Michael Giagnocavo
5e456fe9a6 FS-7966. First pass at moving to Visual Studio 2015.
The new C compiler breaks a lot of things. snprintf and timespec now exist, and redefining causes an error.
Many more things are warnings, so warnings-as-errors will fail - remove it from some projects for now.
V8: don't pass VS version to build batch file.
mod_sofia: Config has too-long if/elseif chain. Break this up to avoid "parser stack overflow; program too complex".
Add mod_conference.h to project and dir to includes.
2015-08-21 18:28:32 -04:00
Michael Jerris
69ea6a444a FS-7587: keep sofia-sip ws lib in sync 2015-06-01 15:27:45 -04:00
Alexander Traud
022fddbe6a Add Perfect Forward Secrecy (DHE PFS) to mod_sofia
Ephemeral ECDH (ECDHE) was supported already. This patch adds Ephemeral
DH (DHE). To enable it, add DH parameters into the private-key file of
your server (agent.pem). For example via:
openssl dhparam -out dh.pem 2048

FS-7561 #resolve
2015-06-01 12:45:19 -05:00
Michael Jerris
d17edb59dc FS-7264: fix signed/unsigned warnings on windows building ws.c 2015-02-11 12:40:04 -05:00
Anthony Minessale
5187aaed79 FS-7117 #comment revert bf5210bf72d6c4b0d9b599a5a07ee59a9c947436 and implement it in ws.c please be sure to learn to use git commit hooks to properly associate commits with jiras 2015-01-07 17:17:28 -06:00
Anthony Minessale
6c1bc0e2f6 sync ws code 2015-01-07 02:12:29 -06:00
Anthony Minessale
0150c862a2 FS-6854 #comment try this patch 2014-09-30 20:35:19 +05:00
Brian West
7c89c21153 FS-6860 #resolve this was fixed once but was lost in the last sync 2014-09-26 09:00:09 -05:00
Anthony Minessale
f7de058acd FS-6854 #resolve 2014-09-25 21:44:02 +05:00
Anthony Minessale
9e72c8477f fix possible buffer overrun in websocket uri and sync the ws.c between sofia and verto (missing code from last commit) 2014-09-24 01:09:44 +05:00
Anthony Minessale
59e71341db fix possible buffer overrun in websocket uri and sync the ws.c between sofia and verto 2014-09-23 20:17:20 +05:00
Jeff Lenk
571cf932dc fix VS2010 build warning 2014-08-16 18:22:41 -05:00
Anthony Minessale
24413bfa11 copy changes from verto ws.c to sofia 2014-08-16 00:43:25 +05:00
Anthony Minessale
2411550727 add homer capture line to websocket transport 2014-08-11 21:02:25 +05:00
Brian West
327146cecf Fix WS Compile on MSVC2012 2014-07-25 11:34:08 -05:00
Anthony Minessale
6c80281ce9 buffer websocket headers and body before sending to avoid fragmentation 2014-07-17 01:07:57 +05:00
Anthony Minessale
cc75547672 merge ws.c change to sofia 2014-07-12 04:39:41 +05:00
Anthony Minessale
0685027bd8 FS-6574 --resolve 2014-06-09 14:29:08 -04:00
Michael Jerris
b5a223cd1b CID:1215201 Explicit null dereferenced 2014-05-22 15:39:59 +00:00
Anthony Minessale
f0aa0fc1d8 seek chain cert from wss.pem just cat together the cert, the key and the chain cert into wss.pem 2014-05-20 23:18:38 +05:00
Anthony Minessale
88ce7dae1c minor tweak to make ws code work in blocking mode properly when used outside sofia 2014-05-07 06:13:27 +05:00
Michael Jerris
906467b360 fix log message on sending tport ping over ws to log error in failure cases 2014-05-01 14:20:27 -04:00
Michael Jerris
cfd8d28bc8 silence clang unused function warnings and get rid of some unused functions 2014-05-01 09:03:19 -04:00
Anthony Minessale
2cdae46b19 FS-6476 regression where sock would sometimes drop while reading logical frames 2014-04-29 18:25:05 -04:00
Anthony Minessale
61e22e8b50 FS-6476 --resolve 2014-04-22 23:25:41 +05:00
Anthony Minessale
7ea4acaece FS-6426 --resolve 2014-04-03 23:25:48 +05:00
Brian West
16577339be FS-6387 don't fail if your openssl package has been compiled without EC support...LOOKING AT YOU GENTOO 2014-03-20 08:07:53 -05:00
Brian West
f6d9027282 FS-6375 ifdef for sun in this case 2014-03-18 17:43:46 -05:00
Travis Cross
19fc943f59 Mitigate the CRIME TLS flaw
If an attacker can cause a device to make an authenticated request to
a service via TLS while including a payload of the attacker's choice
in that request, and if TLS compression is enabled, the attacker can
uncover the plaintext authentication information by making a series of
guesses and observing changes in the length of the ciphertext.

This is CVE-2012-4929.

FS-6360 --resolve

Thanks-to: Brian West <brian@freeswitch.org>
2014-03-16 16:24:58 +00:00
Michael Jerris
2513388d8a clean up some bootstrap warnings 2014-03-07 18:36:26 -05:00
Travis Cross
1990d10057 Reword the websocket TLS cipher list
This generates an identical list of cipher suites, but this commit
restates the cipher spec to be more similar to the way we state it
elsewhere.
2014-03-05 21:37:30 +00:00