1
0
mirror of https://github.com/coturn/coturn.git synced 2026-04-09 22:31:00 +02:00

180 Commits

Author SHA1 Message Date
tyranron
7ffd0300b9
Update Debian "trixie" to 20260406 snapshot in Docker image 2026-04-07 15:58:12 +03:00
Pavel Punsky
69aa0e4401
Keep only NEV_UDP_SOCKET_PER_THREAD network engine (#1849)
Remove the two engine implementations (NEV_UDP_SOCKET_PER_SESSION and
NEV_UDP_SOCKET_PER_ENDPOINT) and all the dispatch/selection logic around
them. NEV_UDP_SOCKET_PER_THREAD is now the sole, unconditional
implementation.

- mainrelay.h: removed _NET_ENG_VERSION enum, typedef, and
net_engine_version / net_engine_version_txt struct fields
- mainrelay.c: removed NE_TYPE_OPT CLI option, set_network_engine(),
per-endpoint branch in print_features(), and all remaining
net_engine_version references
- netengine.c: removed run_udp_listener_thread(),
setup_socket_per_endpoint_udp_listener_servers() (~190 lines),
setup_socket_per_session_udp_listener_servers() (~90 lines); simplified
setup_barriers(), setup_relay_server(), run_general_relay_thread(),
setup_general_relay_servers(), and setup_server() by eliminating all
engine-type conditionals
- turn_admin_server.c: replaced dynamic engine version lookups with
hardcoded values (3 / "UDP thread per CPU core") in CLI and HTTPS status
handlers

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-06 19:26:46 -07:00
Pavel Punsky
6e8dd731a7
Update config and Readme files about deprecated TLSv1/1.1 (#1848)
This commit only updates documentation - the change has been done in
#1693
2026-04-05 20:49:46 -07:00
tyranron
ba571ad795
Update Debian "trixie" to 20260316 snapshot in Docker image 2026-03-17 13:43:57 +02:00
Pavel Punsky
9467af5041
CLI interface is disabled by default (#1830)
cli interface is ON by default which creates a security risk (even
though requires a password) and recommended to be disabled.
Instead of just recommendation, this PR disables CLI by default and now
requires an explicit flag to enable it

If using old configuration or cli arguments to turnserver - it will log
an error message about `--no-cli` being deprecated while doing nothing
(already disabled). This log line will be removed in the future
2026-03-06 18:00:45 -08:00
Pavel Punsky
20d8e38297
Disable reason string in response messages to reduce amplification factor (#1829)
Disable the messages by default - they can be re-enabled using
`--include-reason-string` option

As a result of not sending reason string (which is optional by standard
and provide debugging information for the actual numeric error code)
response message size can be decreased by up to NNN bytes.
2026-03-06 17:59:21 -08:00
tyranron
e4b7f09c00
Upgrade Docker image to 4.9.0 Coturn version 2026-02-24 11:12:50 +02:00
tyranron
8dc340f9be
Update Debian "trixie" to 20260202 snapshot in Docker image 2026-02-04 17:12:33 +02:00
tyranron
53c405a712
Update Alpine to 3.23.3 version to fix OpenSSL CVEs in Docker image
- CVE-2025-11187
- CVE-2025-15467
- CVE-2025-15468
- CVE-2025-15469
- CVE-2025-66199
- CVE-2025-68160
- CVE-2025-69418
- CVE-2025-69419
- CVE-2025-69420
- CVE-2025-69421
- CVE-2026-22795
- CVE-2026-22796
2026-01-29 12:42:56 +01:00
tyranron
80e20f58f3
Update Debian "trixie" to 20260112 snapshot in Docker image 2026-01-13 13:10:32 +01:00
tyranron
48fb3dd287
Upgrade Docker image to 4.8.0 Coturn version 2026-01-06 16:48:21 +01:00
tyranron
a7202a72dd
Update Debian "trixie" to 20251229 snapshot in Docker image 2025-12-30 12:33:55 +01:00
Pavel Punsky
59921981bb
Implement configurable buffer sizes (#1780)
# Description

Replace the hardcoded buffer sizes inside coturn to make them
configurable for different use cases (low bitrate use cases can save
memory and high bitrate use case can avoid congestion) - based on #1089

Add this feature in both sides (listener and relay connections).

# Tests

For now it is only the automated CI tests.
Confirmed with debugger that buffer sizes are set according to the
arguments.
2025-12-25 14:06:28 -08:00
tyranron
6a0b3a648a
Update Alpine to 3.23.2 version in Docker image 2025-12-18 14:44:24 +01:00
tyranron
5a6c9f3ce4
Update Debian "trixie" to 20251208 snapshot in Docker image 2025-12-09 12:33:53 +01:00
tyranron
a668d4b4cc
Upgrade Alpine to 3.23 version in Docker image 2025-12-04 15:34:15 +01:00
tyranron
60b6e2d816
Update Debian "trixie" to 20251117 snapshot in Docker image 2025-11-18 13:57:46 +01:00
tyranron
e1d3ba8a69
Update Debian "trixie" to 20251103 snapshot in Docker image 2025-11-05 12:04:30 +02:00
tyranron
bc8d0ca36b
Update Debian "trixie" to 20251020 snapshot in Docker image 2025-10-22 14:28:29 +03:00
tyranron
242467faba
Update Alpine to 3.22.2 version in Docker image to fix CVE-2025-9230, CVE-2025-9231 and CVE-2025-9232 2025-10-09 14:13:50 +03:00
tyranron
e1ce664cbb
Update Debian "trixie" to 20250929 snapshot in Docker image 2025-09-30 14:27:15 +03:00
tyranron
0f46392ec1
Update Debian "trixie" to 20250908 snapshot in Docker image 2025-09-09 11:45:29 +03:00
tyranron
24e99eca1c
Upgrade Debian to "trixie" in Docker image 2025-08-13 15:59:17 +03:00
tyranron
8b55bd05c0
Update Debian "bookworm" to 20250811 snapshot in Docker image 2025-08-13 14:38:44 +03:00
tyranron
3a788061a0
Update Debian "bookworm" to 20250721 snapshot in Docker image 2025-07-22 13:07:58 +03:00
tyranron
f386333d00
Update Alpine to 3.22.1 version in Docker image 2025-07-16 13:27:51 +03:00
tyranron
bc7cd74718
Update Debian "bookworm" to 20250630 snapshot in Docker image 2025-07-01 14:34:38 +03:00
tyranron
14e6919996
Update Debian "bookworm" to 20250610 snapshot in Docker image 2025-06-11 11:12:58 +02:00
Amin Farjadi
9c039d9026
fix: comment out verbose mode by default (#1696)
Following the comments, verbose mode should be commented out by default.
2025-06-03 20:52:26 +02:00
tyranron
aa685e2669
Upgrade Docker image to 4.7.0 Coturn version 2025-06-02 14:44:49 +02:00
tyranron
f272bb4db7
Upgrade Alpine to 3.22 version in Docker image 2025-06-02 13:59:15 +02:00
Pavel Punsky
14f84fa48c
[BREAKING] Deprecate response-origin-only-with-rfc5780 (#1690)
Make this true - response-origin-only will only be enabled with rfc5780 option enabled
2025-05-28 16:37:20 -07:00
Pavel Punsky
4cc076d424
[BREAKING] Invert no-stun-backward-compatibility to be default on (#1689)
Deprecate `--no-stun-backward-compatibility` and set it to true by
default
Add new option `--stun-backward-compatibility`, off by default

Update example/recommended configuration files

This is a breaking change as passing `--no-stun-backward-compatibility`
will be rejected as invalid argument
2025-05-28 16:23:33 -07:00
Pavel Punsky
368355a06f
Invert RFC5780 option to default off (#1688)
Invert `--no-rfc5780` option to be true by default
Make it `--rfc5780` to enable it
Update example/recommended configuration files

Passing `--no-rfc5780` will have no effect as this is the default
behavior now
2025-05-28 15:08:57 -07:00
tyranron
60813060da
Update Debian "bookworm" to 20250520 snapshot in Docker image 2025-05-22 13:47:52 +02:00
tyranron
1adf0213d7
Update Debian "bookworm" to 20250428 snapshot in Docker image 2025-04-29 16:53:44 +02:00
tyranron
1bc31844e0
Update Debian "bookworm" to 20250407 snapshot in Docker image 2025-04-10 13:28:35 +03:00
tyranron
831b7245aa
Update Debian "bookworm" to 20250317 snapshot in Docker image 2025-03-18 12:23:25 +02:00
tyranron
7b46ba121d
Update Debian "bookworm" to 20250224 snapshot in Docker image 2025-03-04 14:08:35 +01:00
tyranron
7273e70bf3
Update Alpine to 3.21.3 version in Docker image 2025-02-17 12:58:42 +02:00
tyranron
3b2fb7ccef
Update Debian "bookworm" to 20250203 snapshot in Docker image 2025-02-06 14:25:28 +02:00
tyranron
2acb4b1989
Update Debian "bookworm" to 20250113 snapshot in Docker image 2025-01-14 12:39:57 +02:00
tyranron
a85eefc48a
Update Alpine to 3.21.2 version in Docker image 2025-01-09 12:58:41 +02:00
tyranron
e825110d38
Update Alpine to 3.21.1 version in Docker image 2025-01-08 13:02:43 +02:00
tyranron
326b983ece
Update Debian "bookworm" to 20241223 snapshot in Docker image 2024-12-25 11:08:34 +02:00
Pavel Punsky
94fcfadce1
[BREAKING] Reverse SOFTWARE_ATTRIBUTE_OPT to avoid inverse logic (#1598)
As part of looking at #1588 , I figured that sending `SOFTWARE`
attribute is also part of a problem as it increases messages sent out by
coturn and thus increasing amplification factor. For 4.6.2, the
additional size is 24 bytes (4 bytes attribute header, and 20 bytes for
"Coturn-4.6.2 'Gorst'")

If we are to use an example from #1588, "A 62 byte request will be met
with Coturn’s 401 Unauthorized response which is 150 bytes, a factor of
~2.42." - without SOFTWARE the response will be 126 bytes which reduces
amplification factor to ~2.

As I observed with multiple providers using coturn - some of the are
sending it. Meaning, they do not set `--no-software-attribute` - most
probably due to lack of clarity about this setting.

I believe sending SOFTWARE_ATTRIBUTE should be off by default which is
hinted in the RFC
(https://datatracker.ietf.org/doc/html/rfc8489#section-16.1.2)

Detailed changes:
- Extract setting the attribute into a function to avoid code
duplication
- This option is now not reloadable
- The option is now called `software_attribute` because inverse logic
creates multiple double-not in the code which makes it harder to read.
- `no-software_attribute` is still functional but marked as deprecated
in documentation

Test Plan:
- Run local tests with different cli arguments (new and deprecated) and
confirm SOFTWARE attribute is off by default, and added when arguments
say so
2024-12-13 09:28:45 -08:00
tyranron
a6b052c570
Upgrade Docker image to 4.6.3 Coturn version 2024-12-11 19:33:47 +01:00
Alex Gustafsson
d63704c72d
Implement custom prometheus http handler (#1591)
Implement a custom prometheus http handler in order to:

1. Support listening on a specified address as opposed to any
2. Remove the requirement on the unmaintained promhttp library

This feature comes with one limitation: if an IPv4 address is used, the
server will not listen on the IPv6-mapped address, even if IPv6 is
available. That is, dual-stacking does not work.

Solves: #1475

---------

Co-authored-by: Pavel Punsky <eakraly@users.noreply.github.com>
2024-12-10 10:28:43 -08:00
tyranron
8f9c87075b
Upgrade Alpine to 3.21 version in Docker image 2024-12-06 19:10:33 +01:00
tyranron
817bbd1bea
Update Debian "bookworm" to 20241202 snapshot in Docker image 2024-12-05 12:28:33 +01:00