1
0
mirror of https://github.com/coturn/coturn.git synced 2025-12-25 18:01:01 +01:00

799 Commits

Author SHA1 Message Date
Gustavo Garcia
c8663f4a91
fix turn session leak (#962)
Actually, as below, before fixing, the sessions_map may be larger and
larger when register_callback_on_ioa_socket inside
open_client_connection_session retrun -1. The reason is that, if
register_callback_on_ioa_socket return -1, no read/write/ event will be
registered and no timeout event will be registered, in this case, the
session will never be deleted from sessions_map.

![image](https://user-images.githubusercontent.com/23566147/186558792-089ed9b2-9eb0-4ece-b7c0-99eaca10ea99.png)

After fixing, when register_callback_on_ioa_socket fail,it doesn't
return immediately, instead, we still register
client_to_be_allocated_timeout_handler in the next step of
open_client_connection_session. In this case, the unuseful session will
be deleted and freed after timeout.

@eakraly @ggarber
2022-08-29 21:56:47 +02:00
Pavel Punsky
41a8aa09ff Document dependency between new-log-timestamp-format and new-log-timestamp 2022-08-27 20:34:35 -07:00
huhaipeng
f22376ce29 fix turn session leak 2022-08-26 11:17:13 +08:00
Steffen Moser
7cfa7b1c4d
Merge branch 'coturn:master' into master 2022-08-23 09:01:03 +02:00
Steffen Moser
02461e9fbc First step to re-enable compilation with OpenSSL 1.0.x 2022-08-23 08:58:45 +02:00
Pavel Punsky
ed29e986c1 Disable systemd when building on macOS using CMake 2022-08-22 18:53:43 -07:00
Steffen Moser
b722c84b45 Allow compilation on Solaris 11.4 2022-08-22 11:22:59 +02:00
Gustavo Garcia
4546b85cd4
Merge pull request #943 from jeremy-murphy/OpenSSL_dependency
[turncommon] depend on OpenSSL
2022-08-17 13:02:03 +02:00
Gustavo Garcia
4de2d530ff
Merge pull request #942 from eakraly/disable-renegotiation
Disable SSL renegotiation
2022-08-16 08:12:57 +02:00
Gustavo Garcia
dfa978c669
Merge pull request #792 from yfaker/master
Fix user quota release #786
2022-08-16 08:04:08 +02:00
Jeremy Murphy
832f11331f Depend on OpenSSL::Crypto and OpenSSL::SSL
Maybe only one is strictly required, but the list of headers used in
ns_turn_openssl.h includes things from both.
2022-08-16 12:41:44 +10:00
Gustavo Garcia
85c85ab34c
Merge pull request #829 from fancycode/additional-report-properties
Include additional properties in redis allocation status reports.
2022-08-15 12:59:42 +02:00
Joachim Bauch
1b83894be6
Store socket type in variable. 2022-08-15 08:43:53 +02:00
Pavel Punsky
30fbdc740e Disable SSL renegotiation 2022-08-14 21:07:07 -07:00
Gustavo Garcia
f74f50c86d
Merge pull request #773 from haseebq/performance_fix
Fix for performance regression caused by CVE-2020-4067 fix
2022-08-10 11:41:08 +02:00
Gustavo Garcia
38c4055cb0
Merge pull request #789 from korayvt/syslog_facility
Add syslog facility configuration
2022-08-10 11:40:43 +02:00
KORAY VATANSEVER
2b91f0ad8b Function renamed for the consistency. Incomplete coding completed.
Tested for the empty and invalid values.  Parameter is ignored in those cases.
2022-08-09 13:06:45 +03:00
unicode-it
e337c179c6
added MHD_FLAG to make promhttp daemon use dual_stack 2022-08-08 18:53:40 +02:00
Gustavo Garcia
bb1bd984f2
Merge pull request #849 from rozhuk-im/libressl_340
Fix build with libressl 3.4.0+
2022-08-08 18:23:32 +02:00
NeoCat
6be087581f uclient: Show error on invalid peer options specification 2022-08-05 13:19:18 +09:00
Daniil Meitis
ca269fb691 Rename metric 2022-08-01 18:33:15 +03:00
Daniil Meitis
cd221c10fa Merge branch 'master' into prom_allocations_metric 2022-08-01 18:31:09 +03:00
Gustavo Garcia
7400edc703
Fixed missed assignment to freed memory 2022-08-01 00:13:26 +02:00
Gustavo Garcia
bf54410bc7
Merge branch 'sysvinit/toggle-username-labels-upstream' of github.com:wireapp/coturn into wireapp-sysvinit/toggle-username-labels-upstream 2022-07-29 09:47:17 +02:00
Gustavo Garcia
ecdc8893ee
Merge pull request #840 from lionelnicolas/feature/prometheus-port
Add ability to configure prometheus listener port
2022-07-29 01:03:58 +02:00
Molly Miller
6fd08bac3b Invert logic for handling username metrics labels. 2022-07-27 10:44:13 +02:00
Molly Miller
299fcea34c Make username labeling in metrics configurable. 2022-06-20 14:34:35 +01:00
Dave Lambley
12c19817b8 Correct typo 2022-01-07 18:53:24 +00:00
Rozhuk Ivan
8b3bf44f49 Fix build with libressl 3.4.0+
SSL will become opaque in LibreSSL 3.4.x, hence the code reaching inside
it will result in build breakage.
SSL_set0_rbio() now available in libressl.
2021-11-10 00:32:18 +03:00
Lionel Nicolas
19495b2d1d Add ability to configure prometheus listener port 2021-10-22 19:47:49 -04:00
Lionel Nicolas
c42cd844de Fix typo and formatting in --prometheus documentation 2021-10-22 19:47:16 -04:00
Joachim Bauch
cb3dd607ac
Include additional properties in redis allocation status reports.
- Socket type
- Local IP address / port
- Remote IP address / port
- SSL type
- SSH cipher
2021-10-04 09:18:43 +02:00
Mészáros Mihály
a19bc7c464 Revert by hand merge PR825 in favor PR755 more simple solution 2021-09-22 13:32:34 +02:00
Mészáros Mihály
b5a597836b Merge branch 'master' into fix_sqlite_shutdown_race 2021-09-22 11:12:41 +02:00
Mészáros Mihály
82e74935db
Merge pull request #825 from whereby/argggh/no-sqlite3-shutdown
dbd_sqlite: Don't shutdown sqlite3 db during init
2021-09-22 10:59:16 +02:00
Giacomo Vacca
8aded3556e Issue #699 Return codes for prom server 2021-09-21 17:26:48 +02:00
Arne Georg Gisnås Gleditsch
8d66122d91 dbd_sqlite: Don't shutdown sqlite3 db during init
Ref https://www.sqlite.org/c3ref/initialize.html:

    The sqlite3_initialize() interface is threadsafe, but
    sqlite3_shutdown() is not.

We currently call `sqlite3_shutdown` from all threads as part of
`sqlite_init_multithreaded`, and this has been observed to have
adversarial effects during startup if many threads receive their first
inbound request at the same time. The apparent motivation behind
calling shutdown is to make the subsequent calls to `sqlite3_config`
succeed, since these ordinarily return SQLITE_MISUSE if called
multiple times. However, this function is also documented to not be
thread safe, so introduce a barrier that ensures we only initialize
once over all threads.
2021-09-20 16:33:25 +02:00
z00316370
5cf657cdff Fix user quota release #786 2021-07-15 19:26:31 +08:00
KORAY VATANSEVER
22af3ea567 Add syslog facility configuration 2021-07-07 15:56:30 +03:00
Daniil Meitis
99aa623aaf Add current allocations number gauge metric 2021-06-21 17:21:17 +04:00
Mészáros Mihály
6492f51a63
Merge pull request #767 from ggalperi/patch-1
Fix server->log_binding usage
2021-06-17 12:57:45 +02:00
Mark Hills
713bbefd5e Fix a segfault when a TLS context is not used
If the configuration contains entries such as:

  no-tlsv1
  no-tlsv1_1

then the SSL context is NULL. The previous code was simple enough that it
handled this case; the new code needs to deal with it explicitly.

[*] https://github.com/coturn/coturn/issues/770
2021-06-15 23:44:02 +02:00
Mészáros Mihály
7ad04a37d6 Not send SOFTWARE attr, if no_sotware_attribute on 2021-06-05 22:10:31 +02:00
Mészáros Mihály
708b83ea78 RESPONSE_ORIGIN attribute only if rfc5780 is on 2021-06-05 22:10:31 +02:00
Mészáros Mihály
54ef051844 Disable stun backward compatibility 2021-06-05 22:10:31 +02:00
Mészáros Mihály
eda11698f0 Add option no-rfc5780
To avoid any amplifiaction STUN binding attacks.
2021-06-05 22:10:31 +02:00
Mészáros Mihály
8c9622ad18 Add a check, don't SSL_CTX_up_ref a null pointer
This cause segmentation failure. Regression..
2021-06-05 22:10:31 +02:00
Mészáros Mihály
88f5119e1b Include ssl.h 2021-06-05 22:10:31 +02:00
Haseeb Abdul Qadir
e88de80abd Make sure we zero out any padding added to the attribute 2021-05-22 11:53:25 -04:00
Haseeb Abdul Qadir
93c5387180 Avoid using bzero for the entire stun_buffer_list_elem and only init metadata
On high traffic servers bzero -> memset takes a significant amount of time because each stun_buffer_list_elem can be ~64kb
2021-05-21 07:51:45 -04:00