Commit Graph

1098 Commits

Author SHA1 Message Date
Anthony Minessale 04067b4e21 FS-10523: [freeswitch-core] Websocket disconnects prematurely #resolve 2017-07-20 02:55:38 -05:00
trevora 74f5b5675e FS-10395: [mod_sofia] Fix ssl error handling in tls sip traffic
Clears SSL error state.

Updates tport_tls.c to clear the SSL error state after an error occurs.

OpenSSL puts errors into a queue that is kept in thread local storage.
In some cases, such as when SSL_ERROR_SSL is returned by SSL_get_errror(),
OpenSSL will queue multiple errors for a single event. When this occurs,
OpenSSL will report an error the next time I/O is performed if the queue
is not cleared first, which can result in TLS connections being torn down
prematurely.
2017-07-06 17:44:26 -04:00
Mike Jerris d8fcb60155 FS-9785: changes to support newer openssl 2017-06-26 14:53:39 -05:00
Brian West dcc0bf72ec FS-10406: [mod_sofia] mod_sofia secure websocket connections SSLv3 and tls v1.0 is still not disabled #resolve 2017-06-21 08:51:50 -05:00
Brian West 975966bca9 FS-10257: [mod_sofia] libsofia-sip-ua/msg no longer builds on Arch Linux due to -Werror=parentheses 2017-06-05 17:44:56 -05:00
Mike Jerris fde6afda4c FS-10150: fix typo 2017-04-24 12:34:40 -05:00
Mike Jerris 6a781a1e2c FS-10150: fix typo 2017-04-22 08:45:57 -04:00
Anthony Minessale c922223541 FS-10150: [freeswitch-core] Reduce writes to closed ssl sockets -- same fix for non-ssl sockets #resolve 2017-04-21 15:43:40 -05:00
Anthony Minessale d2f96796e5 FS-10150: [freeswitch-core] Reduce writes to closed ssl sockets 2017-04-06 17:08:54 -05:00
Anthony Minessale 014f40d0b8 FS-10150: [freeswitch-core] Reduce writes to closed ssl sockets 2017-04-06 17:06:44 -05:00
Anthony Minessale cd5182c27c FS-10150: [freeswitch-core] Reduce writes to closed ssl sockets #resolve 2017-03-17 13:47:35 -05:00
Mike Jerris db3242ff5c .update 2017-02-14 14:26:35 -06:00
Armen Babikyan 6ed86abf9f FS-9300: Add support for disabling sofia's 100 Trying via configuration, and sending 100 Trying from dialplan 2017-02-13 14:49:05 -08:00
Mike Jerris a3ee7595bb FS-10025: fix global symbol scope issue causing modules to use another modules global pointer 2017-02-09 17:23:30 -06:00
Mike Jerris 6e2764776f Merge pull request #1110 in FS/freeswitch from ~SEBASTIAN/freeswitch:bugfix/FS-9840-fix-some-warnings-V2 to master
* commit '8c94e6f57fd9adee5e6a12535811fff8e4d9ae46':
  FS-9840 mod_avmd: Fix implicit declaration warning
  FS-9840 sofia-sip: fix implicit declaration warning
  FS-9840 mod-verto: fix implicit declaration warning
  FS-9840 mod_sofia: fix redefine warning
2016-12-27 12:36:58 -06:00
Sebastian Kemper 1568194ce5 FS-9840 sofia-sip: fix implicit declaration warning
This fixes the following compile-time warning:

cc1: note: someone does not honour COPTS correctly, passed 2 times
	 LTCOMPILE tport_type_connect.lo
cc1: note: someone does not honour COPTS correctly, passed 2 times
	 LTCOMPILE tport_type_ws.lo
cc1: note: someone does not honour COPTS correctly, passed 2 times
	 LTCOMPILE ws.lo
cc1: note: someone does not honour COPTS correctly, passed 2 times
ws.c: In function 'hton64':
ws.c:730:14: error: implicit declaration of function '__bswap_64' [-Werror=implicit-function-declaration]
  else return __bswap_64(val);
              ^
cc1: all warnings being treated as errors
Makefile:1465: recipe for target 'ws.lo' failed
make[12]: *** [ws.lo] Error 1

Fix by including byteswap.h, which is available on Linux and also
everywhere glibc is used (wpa_supplicant includes this header the same
way).

Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
2016-12-23 21:44:27 +01:00
Sebastian Kemper 3a25d0b20c FS-9840 mod_sofia: fix redefine warning
This fixes the following compile-time warning:

make[8]: Entering directory '/home/sk/tmp/lede/build_dir/target-mips_24kc_musl-1.1.15/freeswitch-1.8.0/src/mod/endpoints/mod_sofia'
  CC       mod_sofia_la-mod_sofia.lo
  CC       mod_sofia_la-sofia.lo
  CC       mod_sofia_la-sofia_glue.lo
  CC       mod_sofia_la-sofia_presence.lo
  CC       mod_sofia_la-sofia_reg.lo
  CC       mod_sofia_la-sofia_media.lo
  CC       mod_sofia_la-sip-dig.lo
In file included from sip-dig.c:137:0:
/home/sk/tmp/lede/build_dir/target-mips_24kc_musl-1.1.15/freeswitch-1.8.0/libs/sofia-sip/libsofia-sip-ua/bnf/../../config.h:522:0: error: "__BYTE_ORDER" redefined [-Werror]
 #define __BYTE_ORDER __BIG_ENDIAN
 ^
In file included from /home/sk/tmp/lede/staging_dir/toolchain-mips_24kc_gcc-5.4.0_musl-1.1.15/include/sys/types.h:70:0,
                 from ../../../../src/include/switch.h:107,
                 from sip-dig.c:135:
/home/sk/tmp/lede/staging_dir/toolchain-mips_24kc_gcc-5.4.0_musl-1.1.15/include/endian.h:11:0: note: this is the location of the previous definition
 #define __BYTE_ORDER __BYTE_ORDER__
 ^
cc1: all warnings being treated as errors

SWITCH_BYTE_ORDER is already used elsewhere in FS source and takes care
of changing byte order without causing a warning

Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
2016-12-23 21:44:17 +01:00
Anthony Minessale d7dbd7ef61 FS-4102: [mod_sofia] invite to gateway without registration goes to another wrong host #resolve 2016-12-22 16:13:44 -06:00
Seven Du b26fa6e17c FS-9810 fix ws write fail on slow network 2016-12-04 12:49:46 +08:00
William King 15a7156230 FS-9656 Coverity 1364971: resolve memory leak in new HEPv3 logging 2016-10-21 11:35:58 -05:00
Brian West b10aabb94f FS-9623 update .update 2016-10-10 15:54:55 -05:00
Mike Jerris f35c2a4ec2 FS-9623: fix rare crash on startup due to openssl init functions being run multiple times 2016-10-07 15:33:50 -04:00
Anthony Minessale c409499cd9 FS-9576 #resolve [Add Realtime Text] 2016-09-27 16:40:43 -05:00
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 a433c20b34 FS-9434 #resolve [SDP parser in sofia does not recognize UDP/TLS/RTP/SAVP] 2016-08-17 12:39:56 -05:00
Michael Jerris 8786dd626e FS-9362: [mod_sofia] fix sofia compile error on newer clang included in new osx
Conflicts:
	libs/sofia-sip/.update
2016-08-16 13:39:20 -05: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 341e94b28d.
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
Anthony Minessale 6c0f18d960 FS-9154 #resolve [Add & remove video on re-invites] 2016-07-27 14:29:12 -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 bc74c70562 .update 2016-04-27 14:46:37 -05: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 024af441b8 one push one pop 2016-04-19 20:22:49 +02:00
Alexandr Dubovikov d710787fa9 FS-9078 added #pragma for MSVC compiler 2016-04-18 23:10:59 +02:00
Alexandr Dubovikov 981b528c48 FS-9078 added hepv2 and hepv3 support 2016-04-18 19:28:00 +02:00
Anthony Minessale ee7a298f40 FS-8868 #resolve [recording app to respect bandwidth set in SDP] 2016-03-07 21:56:13 -06:00
Anthony Minessale ba5aa94ce8 FS-7486 #resolve update sofia 2015-09-09 12:26:03 -05:00