Releases: processone/eturnal
Releases · processone/eturnal
eturnal 1.12.2
Added
- Allow for setting the
software_nameoption tonone, which configures
eturnal to omit theSOFTWAREattribute from STUN/TURN responses. - Allow for setting the
relay_ipv4_addrand/orrelay_ipv6_addroptions to
none. The latter may be useful for disabling RFC 6156 support (e.g., in
case the server's IPv6 setup isn't usable for some reason).
Changed
- Binary release: Use new (GCC-14.2-based) version of build toolchain.
- Binary release: Update Erlang/OTP from 27.1.2 to 27.3.3.
- Binary release: Update OpenSSL from 3.4.0 to 3.5.0.
- Docker: Switch base image to Wolfi OS,
which usesglibc. The oldmusl-libc (Alpine) variants now have a-alpine
suffix. - Windows: Add explicit IPv4 listeners to default configuration, as
::doesn't
create dual-stack sockets on that platform.
eturnal 1.12.1
Added
- Docker: Offer a container
VARIANTwhich includes theacme.shcert creation
script. The variant has a tag suffix-acmeor justacmeaslatest
synonym and can be configured with environment variables. - Docker: Add Docker secrets support. Any environment variable with a
__FILE
suffix is treated as a Docker secret. (#64)
Changed
- The
eturnalctl statuscall now checks whether eturnal is actually ready to
handle STURN/TURN clients (and prints a line to the standard output in that
case). If this call is issued early during startup, it will block (up to 15
seconds) until eturnal is responsive. The old behavior was to (silently)
return success as soon as the underlying VM is alive. - Binary release: Update Erlang/OTP from 26.0.2 to 27.1.2.
- Binary release: Update Rebar3 from 3.22.1 to 3.24.0.
- Binary release: Update OpenSSL from 3.1.3 to 3.4.0.
eturnal 1.12.0
Added
- The new
blacklist_clientsandblacklist_peersoptions may be used to
specify blocklists for TURN clients and TURN peers separately. The old
blacklistoption that affected both clients and peers has been deprecated.
The same applies to thewhitelistoption, which has been deprecated in favor
of the newwhitelist_clientsandwhitelist_peersoptions. By default, the
blacklist_peersoption is set to a list of networks
recommended
to be blocked. The other three lists are empty by default.
Changed
- Binary release: Update OpenSSL from 3.1.2 to 3.1.3.
- Binary release: Update zlib from 1.2.13 to 1.3.
- Binary release: Use new (GCC-13.2-based) version of build toolchain.
Fixed
- Don't fail to ping the systemd watchdog under certain conditions.
Removed
- Drop support for container image for architecture
s390x. If you need it,
please contact us.
eturnal 1.11.1
Fixed
- Don't fail to build with
SKIP_DEPSset totrue.
eturnal 1.11.0
Added
- Allow for specifying static
credentialsin theeturnal.ymlconfiguration
file. They can be used instead of (or in addition to) a sharedsecret. - Allow for overriding the
build.configsettings using environment variables
(of the same name, but upper-case). - Docker: Container images can now be pulled from Docker Hub as well. The name
isdocker.io/eturnal/eturnal:latest. When pulling withDocker,docker.io
may be omitted. - Provide a homebrew Formula
for macOS.
Changed
- The environment variable
ETURNAL_ETC_PREFIXhas been deprecated in favor of
ETURNAL_ETC_DIR. If the former was used with previous releases,
ETURNAL_ETC_DIRshould now be set to$ETURNAL_ETC_PREFIX/etc. mod_stats_prometheus: Fine tune bucket sizes for TURN sessions, e.g., drop
the 1 KiB bucket, as the 4 KiB bucket size should be sufficient to identify
"inactive" sessions. Also, slightly alter the other bucket sizes.- Binary release: Update Erlang/OTP from 25.0.3 to 26.0.2.
- Binary release: Update Rebar3 from 3.19.0 to 3.22.1.
- Binary release: Update OpenSSL from 1.1.1q to 3.1.2.
- Binary release: Update zlib from 1.2.12 to 1.2.13.
- Binary release: Build Erlang/OTP without Termcap support.
- Docker: Always use the same Erlang/OTP version as the binary release.
- Windows: Update Erlang/OTP to 26.x.
Fixed
- Fix a small memory leak (about 200 bytes per TURN session).
- Include the
ssllibrary with non-distro builds, as it's required for
enabling TLS for themod_stats_prometheusendpoint. - Docker: Include libcap libraries into the image to enable binding to
privileged ports (<1024) directly.
Hint: Depending on the container runtime in use, if thedocker runoption
--cap-drop=ALLis used,CAP_NET_BIND_SERVICEmay be included again to make
the container work (see examples).
eturnal 1.10.1
Added
- Improve TCP/TLS performance if no traffic shaper is configured using the
max_bpsoption. mod_stats_prometheus: Add a counter for STUN/TURN protocol errors, bucketed
by transport and error condition.build.config: Addcode_loadingoption to specify whether code is loaded
statically during eturnal startup or dynamically on demand. The latter may be
desirable for (distribution) builds that use separately packaged Erlang
dependencies, as it avoids hard-coding dependency versions at build time.- Docker: Include STUN lookup at container start for an IPv6 address as well.
- Docker: Allow to define a different external STUN service for IP address
lookups by adding the container-image-specific environment variable
STUN_SERVICE, defaulting to:STUN_SERVICE="stun.conversations.im 3478".
This same variable may also be used to disable the STUN lookup by defining
STUN_SERVICE=false.
Changed
build.config: Rename theeturnal_bin_prefixoption toeturnal_prefix.- Binary release: Reduce code size by omitting an unused transitive dependency
(which had slipped back into the previous release).
Removed
build.config: Remove theeturnal_etc_prefixoption.
Fixed
- Fix dynamic loading of
mod_stats_prometheusdependencies (for distribution
builds). - Docker: Keep list of installed packages, so that image scanners like Trivy can
check the image for vulnerabilities.
eturnal 1.10.0
Added
- Include
mod_stats_prometheus, a module for exporting metrics to Prometheus. - Include an example configuration for logrotate.
- Include an example OpenRC init (and configuration) file.
Changed
- If an EPMD process was spawned during eturnal startup, stop it on shutdown,
unless it's used by other Erlang nodes.
Fixed
- Avoid permission issues in the case where
eturnalctlwas invoked by root
from a directory the user running eturnal isn't permitted to change into. - Make sure
eturnalctl daemonwon't hang on the very first startup when using
Erlang/OTP 23 or newer.
eturnal 1.9.1
Added
- Allow for adding the special keywords
defaultorrecommendedto the
blacklist. The former expands to the addresses blocked by default, the
latter includes the former and additionally expands to a number of networks
recommended
to be blocked. - Fall back to reading the relay port range boundaries from environment
variables whenrelay_min_portand/orrelay_max_portaren't specified. - Docker: Adjust image
ENTRYPOINTto provide a way to autodetect (in most
cases) the Docker host's IPv4 address during container startup within isolated
network environments, without explicitly defining the IPv4 address (with an
ENVvariable or a configuration file).
Changed
- If an EPMD process is spawned during
eturnal startup, let it listen onlocalhostonly (#9). (Note that our Linux
packages and container images are
configured to not start
an EPMD process.) - Omit the code location from log messages, except when debug logging is
enabled. - Apply other minor logging improvements.
- Docker: Reduce image size. IMPORTANT: A custom
eturnal.ymlconfiguration
file should be mounted to the default path/etc/eturnal.ymlor to a custom
path defined withETURNAL_ETC_PREFIX, as mounting it to
/opt/eturnal/etc/eturnal.ymlwill prevent the container to start up
successfully. - Binary release: Update Erlang/OTP from 25.0.2 to 25.0.3.
- Windows: Update to LibYAML 0.2.5.
- Windows: Update to OpenSSL 3.0.5.
eturnal 1.9.0
Added
- Publish Docker images and provide configuration examples for Docker/Kubernetes
(many thanks to Saarko) (#20). - Fall back to reading the relay IP addresses from environment variables when
relay_ipv4_addressand/orrelay_ipv6_addressaren't specified (#24).
Changed
- Binary release: Update Erlang/OTP from 24.3.4 to 25.0.2.
- Binary release: Update Rebar3 from 3.18.0 to 3.19.0.
- Binary release: Update OpenSSL from 1.1.1m to 1.1.1q.
- Binary release: Update minimum glibc version from 2.17 to 2.19.
- Binary release: Reduce code size by omitting an unused transitive dependency.
Fixed
- Avoid crashes in the case where no
secretis configured in theeturnal.yml
file (#21). - Don't log misleading complaints about
proxy_protocoloption. - Gracefully handle errors while receiving UDP data (#23).
- Restart listeners on failure.
- Reduce log level for network issues that may occur during normal operation.
- Windows: Support custom installation path (#22).
eturnal 1.8.3
Changed
- Specifying an
ipaddress forlistenentries is no longer mandatory. The
default value is now"::". - Make sure eturnal's
log_diris used for the additional log files created by
eturnalctl daemon. - Keep TURN session IDs unique across eturnal restarts.
- Binary release: Update Erlang/OTP from 24.2.2 to 24.3.4.
- Binary release: Update OpenSSL from 1.1.1m to 1.1.1o.
- Binary release: Update zlib from 1.2.11 to 1.2.12.
- Binary release: Use new (GCC-11.2-based) version of build toolchain.
- Binary release: Provide self-extracting installer for non-DEB/RPM systems.
Fixed
- Windows: Don't fail to start up after reboot.