1
0
mirror of https://github.com/coturn/coturn.git synced 2025-12-24 17:31:00 +01:00

120 Commits

Author SHA1 Message Date
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
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
Nikolayshcx
eb3af26867
Add support for raw public keys (Rfc 7250) (#1458)
Resolving #1456

---------

Co-authored-by: nmegdanov <nikolay.megdanov@softavail.com>
2024-04-19 17:12:48 +02:00
czephyr
19744a4a39
added warnings for prometheus apt unavailability (#1184)
added some warnings that the prometheus implementation is unavailable
when installing through apt
coturn/coturn#1133
2023-08-20 13:17:37 -07:00
Pavel Punsky
85c11b69e3
Move and split documentation files (#1096)
This is not a long term documentation works - this is a temp proposal to
modernize existing documentation

- Create docs folder
- Move existing documentation files into docs
- Split one massive INSTALL files into smaller files (no text editing
was done except small markdown header formatting)
- Rename files to be markdowns for nicer rendering
- Bad md rendering is expected in many places
2022-12-22 11:13:24 -08:00
Molly Miller
902cb99849
Add configuration option for TLS 1.3 ciphersuites (#1118)
There are two different API's in OpenSSL for configuring TLS ciphers,
one for TLS 1.2 and below, and another for TLS 1.3. coturn only calls
the TLS 1.2 API when handling the `--cipher-list` configuration option,
which means that it's not possible to use non-default ciphersuites with
TLS 1.3 connections.

This PR calls appropriate OpenSSL API to allow TLS 1.3 ciphersuites to be configured.
2022-12-16 15:53:36 -08:00
Molly Miller
bc1678cc52
Regenerate manual pages from README files (#1117)
This PR fixes some typos and formatting, and regenerates the manual
pages from the README files. These changes were originally included in
#1105, however I've split them out into a separate PR as requested.
2022-12-06 17:04:13 -08:00
Pavel Punsky
22e51044cd
Generate AUTHORS as Markdown, update references (#1102)
Refs #1049
2022-11-21 16:23:22 -08:00
Pavel Punsky
4bab2adba4
Use a single SSL context object (#989)
openssl allows multiple TLS version support through a single SSL_CTX
object.

This PR replaces 4 per-version SSL_CTX objects with a single object
(DTLS is not yet changed).
SSL context initialization code for openssl with modern API (>=1.1.0)
uses `TLS_server_method` and `SSL_CTX_set_min_proto_version` instead of
enabling specific TLS version. Byproduct of this is TLSv1_3 support when
used with openssl-1.1.1 and above

TLS 1.2 and TLS 1.3 cannot be disabled (as before)

Test plan:
- run_tests.sh script now runs turnserver with SSL certificate (which
enables TLS support)
- run_tests.sh now has one more basic test that uses TLS protocol

Co-authored-by: Pavel Punsky <pavel.punsky@epicgames.com>
2022-09-28 09:50:25 +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
Benjamin Porter
45e8217dbe Fix typo aa -> a 2021-11-18 10:46:31 -07: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
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
c55331dad2
Merge pull request #679 from rubo77/patch-1
Readme.turnserver: how to run server as a daemon
2021-03-23 09:45:34 +01:00
Mészáros Mihály
2204778ce1 Replace keep-address-family with allocation-default-address-family 2021-03-12 23:05:18 +01:00
Ruben Barkow-Kuder
5bb25dbfaf
Update README.turnserver 2021-01-22 06:20:20 +01:00
Mészáros Mihály
104ab83f09 Automatically notify systemd if compiled 2021-01-10 20:57:43 +01:00
Mészáros Mihály
c6347d4c84 Fix typo 2021-01-08 09:44:03 +00:00
Ruben Barkow-Kuder
fa86379538
Readme.turnserver: how to run server as a daemon 2021-01-08 10:14:40 +01:00
Mészáros Mihály
ef7916842d Add systemd notification support 2021-01-07 17:51:34 +00:00
Mészáros Mihály
14f1630ec6 Fix stale-nonce documentation Resolves #604 2021-01-05 10:25:10 +00:00
Mészáros Mihály
27b261eb58 Disable binding logging to avoid DoS attack
* Add new option log-binding
2021-01-05 09:55:55 +00:00
Mészáros Mihály
1300021c6f Correct acme-redirect man and readme 2020-12-15 13:36:02 +00:00
Mészáros Mihály
08bb62ea88 Update README to fix #658 2020-12-08 13:40:49 +01:00
Mészáros Mihály
b0fb4a9a0a Rename new timestamp options, and fix these cli handling 2020-12-08 11:51:25 +01:00
Mészáros Mihály
9a0d9d8c5d Replace new-timestamp_format=>new-timestamp-format 2020-12-08 11:07:53 +01:00
Mészáros Mihály
50f789ab5a Add new timestamp options to the README and man 2020-12-08 10:44:40 +01:00
Samuel
315341d204
Fix misleading option in doc
While that prometheus exporter was initially enabled by default, it looks like there's been a change of plan, resulting in some inconsistencies in the doc.

The `--no-prometheus` option was replaced by a `--prometheus` one -- according to https://github.com/wolmi/coturn/blob/master/src/apps/relay/mainrelay.c#L540
2020-09-14 12:34:04 +02:00
Mészáros Mihály
388d939ed9 Change prometheus exporter port to 9641 2020-08-03 14:24:20 +02:00
Mészáros Mihály
2acb952670 tidy after PR #517 2020-07-08 09:47:24 +02:00
wolmi
a5d1fbba57
Merge branch 'master' into prometheus 2020-06-29 09:33:20 +02:00
Miquel Ortega
83cf9ea6c4 Merge branch 'prometheus' of github.com:wolmi/coturn into prometheus 2020-05-05 19:44:16 +02:00
Miquel Ortega
6680bf17ba Added prometheus to README 2020-05-05 19:42:37 +02:00
Greg Fodor
9102773ef0 Remove unnecessary characters in README.turnserver 2020-04-28 17:19:25 +00:00
Greg Fodor
38e7daf3d6 Merge remote master 2020-04-28 17:18:30 +00:00
Greg Fodor
7c1573ddb9 Update manpages and README 2020-04-28 17:17:21 +00:00
Mészáros Mihály
c8c6cdd226
Merge branch 'master' into remove-trailing-spaces-from-READMEs 2020-04-28 10:12:16 +02:00
Mészáros Mihály
991a82e104
Merge branch 'master' into master 2020-04-28 09:47:20 +02:00
Mészáros Mihály
1e4456ea92
Merge pull request #506 from dbrgn/rename-prod
Rename "prod" config option to "no-software-attribute"
2020-04-28 09:18:51 +02:00
Mészáros Mihály
fb8dc8a736 Change DH key size default from 1066 to 2066 2020-04-15 22:07:26 +02:00
Paul Menzel
fa3f2797c2 README.*: Strip trailing spaces 2020-03-30 19:08:31 +02:00
Danilo Bargen
520e172b22 Rename "prod" config option to "no-software-attribute"
As discussed in https://github.com/coturn/coturn/pull/478, if the
parameter only controls whether or not to send the software attribute
and not other production-relevant configurations, it should be named
accordingly.

The old --prod configuration option still works, but is now deprecated
and undocumented.
2020-03-13 11:03:05 +01:00