From nobody Wed Aug 5 09:12:06 2026 X-Original-To: dev-commits-ports-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4hFPn73sF2z6mwfJ for ; Wed, 05 Aug 2026 09:12:11 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "YR1" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4hFPn72CJjz40PF for ; Wed, 05 Aug 2026 09:12:11 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1785921131; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Pp7TUiR/BM4+ZvFJH2zvVB8kb+gr3IFIgu9BZtiR4wE=; b=WCc1CcQkVWLusjPM1IGwu0LP7P5CU5nZPdWn2v3NHncEY15lTuYdOYxwKlz9OhFBtiDaDT q+tBF7l1YMtN9ywcvckAZbO+tzMyKFE1ZZdkcmKfmYgbCY01rVFEJ1lIhkY9lneCoCOivj 2BKKcF3dedR2TgfmOC9tg7AqNQET9FwH2gCasAeoOFAnmCVhDgvT8/gCJnWxcBJkVa0frN zroMyUAVZB0GCpdkC6MAZqtI2pnNDwjreAQSMM0RkoBe7j5P0kM4wIB4BFoEEmRg/7mtN5 h5MdnSjCbVlVMm3idrvnocKOCf409pUiJKhqAEzce1iqU3BGyMdJ0Oy1WBFr9w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1785921131; a=rsa-sha256; cv=none; b=bkDemWI4lL3CCGGUYWLfWNTyUYfEvD/S6alKlfazZec3z5ofBDsBn9O67x18lyfoAbdDy1 Fqtk8EgRxmKEtyqagTi1JaLGqB4xEc3V/XRFkqKhg7j8GKdcYBoVTsdgSLyBYbOoiK7pcK 0bTJYfNwdbZ9yoYQeyURuWlLhdNrAPIpoun6vVp2cp1BUJSctWfn7/QgKpyZr9OW8KfkEl FRf7tJ/BbWgmY4knRqVkcXff6IHD1NAnuuq4KXgWEvYUg0/CCwUh88nWF/yDQjAIn3utkd dY2EJH3GYO48BQH2vwFgmObbS5pOLGEA0r1JaWHSdBPTOFfpEPZ6uQaIuR0lXA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1785921131; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Pp7TUiR/BM4+ZvFJH2zvVB8kb+gr3IFIgu9BZtiR4wE=; b=pfUhfEh9/4hajeZly7GpvIikQJWFmHex7udD7Q6vt7vKlKorU+X3OfRZIXVz8ie8q7QDiv t4FyKNLCQX8cI5ZKh73d+eS48uIJQMk7rOtv4OgH6KqC+ARS/9pY9MGhj/UAcH1bsYUyNx pB8q/3ikCLc87VPNLosUTTKyQrIigKwlo2LXE4LgMc5KemmDkzA7CgSfU5GrnNuzry38lu ysEts0InT7n3MxvLS0IeJam2fy8FDcqKKq4u1b9WQFA00M5r8U0CaDdtSPi7whLslP2kRO /IKLh+yAxFx0c5t3c4mgxVM4lD2joZqrNQAlw3zjm/sVus23NqlbArg99wVvSA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4hFPn71DMlzCDd for ; Wed, 05 Aug 2026 09:12:11 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3fc4b by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 05 Aug 2026 09:12:06 +0000 To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-branches@FreeBSD.org Cc: Chris Hutchinson From: Yusuf Yaman Subject: git: 8bd693b6edc9 - 2026Q3 - net/turnserver: Update 4.14.0 => 4.16.0 List-Id: Commits to the quarterly branches of the FreeBSD ports repository List-Archive: https://lists.freebsd.org/archives/dev-commits-ports-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-ports-branches@freebsd.org Sender: owner-dev-commits-ports-branches@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: nxjoseph X-Git-Repository: ports X-Git-Refname: refs/heads/2026Q3 X-Git-Reftype: branch X-Git-Commit: 8bd693b6edc9d83ceecdafa886b4185b7f3f0623 Auto-Submitted: auto-generated Date: Wed, 05 Aug 2026 09:12:06 +0000 Message-Id: <6a72fe66.3fc4b.3fc0939a@gitrepo.freebsd.org> The branch 2026Q3 has been updated by nxjoseph: URL: https://cgit.FreeBSD.org/ports/commit/?id=8bd693b6edc9d83ceecdafa886b4185b7f3f0623 commit 8bd693b6edc9d83ceecdafa886b4185b7f3f0623 Author: Chris Hutchinson AuthorDate: 2026-08-04 19:04:49 +0000 Commit: Yusuf Yaman CommitDate: 2026-08-05 09:11:54 +0000 net/turnserver: Update 4.14.0 => 4.16.0 Port changes: - Run turnserver as non-root by default. - Pet port(lint|fmt|clippy). PR: 297251, 296810 Reported by: Frank Wall Reported by Zixu Wu Approved by: Chris Hutchinson (maintainer) Approved by: osa, vvd (Mentors, implicit) Co-authored-by: Frank Wall Co-authored-by: Zixu Wu Security: GHSA-5538-7cxj-5jcc MFH: 2026Q3 (cherry picked from commit 87d11fd7305cb245dff284e34be3a5c0c423aa60) --- GIDs | 2 +- UIDs | 2 +- net/turnserver/Makefile | 106 ++++++++++++++++++++---------------- net/turnserver/distinfo | 4 +- net/turnserver/files/pkg-message.in | 4 ++ net/turnserver/files/turnserver.in | 8 ++- 6 files changed, 74 insertions(+), 52 deletions(-) diff --git a/GIDs b/GIDs index d1680ea27890..e94131b7d412 100644 --- a/GIDs +++ b/GIDs @@ -333,7 +333,7 @@ autopulse:*:388: ldap:*:389: bunkerweb:*:390: dirsrv:*:391: -# free: 392 +_turnserver:*:392: # free: 393 # free: 394 # free: 395 diff --git a/UIDs b/UIDs index 5a68b6d96726..5e3eb1190e85 100644 --- a/UIDs +++ b/UIDs @@ -338,7 +338,7 @@ autopulse:*:388:388::0:0:Autopulse Daemon:/nonexistent:/usr/sbin/nologin ldap:*:389:389::0:0:OpenLDAP Server:/nonexistent:/usr/sbin/nologin bunkerweb:*:390:390::0:0:Bunkerweb Service:/nonexistent:/usr/sbin/nologin dirsrv:*:391:391::0:0:389 Directory Server:/usr/local/share/dirsrv:/usr/sbin/nologin -# free: 392 +_turnserver:*:392:392::0:0:Coturn Turnserver Daemon:/nonexistent:/usr/sbin/nologin # free: 393 # free: 394 # free: 395 diff --git a/net/turnserver/Makefile b/net/turnserver/Makefile index 573fe66f066a..a0e2e5be976d 100644 --- a/net/turnserver/Makefile +++ b/net/turnserver/Makefile @@ -1,5 +1,5 @@ PORTNAME= turnserver -DISTVERSION= 4.14.0 +DISTVERSION= 4.16.0 CATEGORIES= net MASTER_SITES= https://coturn.net/turnserver/extradocs/:xdocs DISTFILES= turn.extra.docs-2.0.0.1.tar.gz:xdocs @@ -22,75 +22,89 @@ USE_RC_SUBR= turnserver SHEBANG_FILES= examples/scripts/restapi/shared_secret_maintainer.pl HAS_CONFIGURE= yes -CONFIGURE_ENV+= PTHREAD_LIBS=-pthread TURN_DISABLE_RPATH=1 +CONFIGURE_ENV+= PTHREAD_LIBS=-pthread \ + TURN_DISABLE_RPATH=1 # MongoDB support is disabled until devel/mongo-c-driver is updated CONFIGURE_ENV+= TURN_NO_MONGO=1 TEST_TARGET= test SUB_FILES= pkg-message +SUB_LIST= GROUP=${GROUPS} \ + USER=${USERS} + +USERS= _turnserver +GROUPS= _turnserver MANPAGES= turnserver.1 turnadmin.1 turnutils.1 turnutils_peer.1 \ turnutils_stunclient.1 turnutils_uclient.1 coturn.1 \ turnutils_oauth.1 turnutils_natdiscovery.1 -DOCS= html TurnNetworks.pdf -PORTREADMEDOCS= LICENSE README.turnserver README.turnadmin README.turnutils INSTALL -PORTDOCS= ${DOCS} ${PORTREADMEDOCS} postinstall.txt schema.sql schema.mongo.sh \ - schema.userdb.redis schema.stats.redis +DOCS= html TurnNetworks.pdf +PORTREADMEDOCS= LICENSE README.turnserver README.turnadmin README.turnutils \ + INSTALL +PORTDOCS= ${DOCS} ${PORTREADMEDOCS} postinstall.txt schema.mongo.sh \ + schema.sql schema.stats.redis schema.userdb.redis _BIN_UTILS= peer stunclient uclient oauth natdiscovery -_ETC_EXAMPLES= turnserver.conf turn_client_cert.pem \ - turn_client_pkey.pem turn_server_cert.pem turn_server_pkey.pem -_SCRIPT_EXAMPLES= peer.sh \ - basic/relay.sh basic/dos_attack.sh \ - basic/tcp_client_c2c_tcp_relay.sh basic/udp_c2c_client.sh \ - basic/udp_client.sh basic/tcp_client.sh \ - loadbalance/master_relay.sh loadbalance/slave_relay_1.sh loadbalance/slave_relay_2.sh \ - loadbalance/udp_c2c.sh loadbalance/tcp_c2c_tcp_relay.sh \ - longtermsecure/secure_dtls_client.sh longtermsecure/secure_relay.sh \ - longtermsecure/secure_tls_client_cert.sh longtermsecure/secure_dtls_client_cert.sh \ - longtermsecure/secure_relay_cert.sh \ - longtermsecure/secure_tcp_client_c2c_tcp_relay.sh longtermsecure/secure_tcp_client.sh \ - longtermsecure/secure_tls_client_c2c_tcp_relay.sh longtermsecure/secure_tls_client.sh \ - longtermsecure/secure_udp_c2c.sh longtermsecure/secure_udp_client.sh \ - longtermsecure/secure_sctp_client.sh \ - longtermsecure/secure_dos_attack.sh \ - longtermsecuredb/secure_relay_with_db_psql.sh \ - longtermsecuredb/secure_relay_with_db_mysql.sh \ - longtermsecuredb/secure_relay_with_db_mysql_ssl.sh \ - longtermsecuredb/secure_relay_with_db_mongo.sh \ - longtermsecuredb/secure_relay_with_db_redis.sh \ - longtermsecuredb/secure_relay_with_db_sqlite.sh \ - restapi/secure_relay_secret.sh \ - restapi/secure_relay_secret_with_db_mysql.sh \ - restapi/secure_relay_secret_with_db_psql.sh \ - restapi/secure_relay_secret_with_db_redis.sh \ - restapi/secure_relay_secret_with_db_mongo.sh \ - restapi/secure_relay_secret_with_db_sqlite.sh \ - restapi/secure_udp_client_with_secret.sh \ - restapi/secure_relay_secret_with_db_psql.sh \ - restapi/shared_secret_maintainer.pl \ - selfloadbalance/secure_dos_attack.sh \ - selfloadbalance/secure_relay.sh - -OPTIONS_DEFINE= DOCS EXAMPLES MYSQL PGSQL REDIS SQLITE +_ETC_EXAMPLES= turnserver.conf turn_client_cert.pem \ + turn_client_pkey.pem turn_server_cert.pem \ + turn_server_pkey.pem +_SCRIPT_EXAMPLES= peer.sh basic/relay.sh basic/dos_attack.sh \ + basic/tcp_client_c2c_tcp_relay.sh \ + basic/udp_c2c_client.sh basic/udp_client.sh \ + basic/tcp_client.sh loadbalance/master_relay.sh \ + loadbalance/slave_relay_1.sh \ + loadbalance/slave_relay_2.sh loadbalance/udp_c2c.sh \ + loadbalance/tcp_c2c_tcp_relay.sh \ + longtermsecure/secure_dtls_client.sh \ + longtermsecure/secure_relay.sh \ + longtermsecure/secure_tls_client_cert.sh \ + longtermsecure/secure_dtls_client_cert.sh \ + longtermsecure/secure_relay_cert.sh \ + longtermsecure/secure_tcp_client_c2c_tcp_relay.sh \ + longtermsecure/secure_tcp_client.sh \ + longtermsecure/secure_tls_client_c2c_tcp_relay.sh \ + longtermsecure/secure_tls_client.sh \ + longtermsecure/secure_udp_c2c.sh \ + longtermsecure/secure_udp_client.sh \ + longtermsecure/secure_sctp_client.sh \ + longtermsecure/secure_dos_attack.sh \ + longtermsecuredb/secure_relay_with_db_psql.sh \ + longtermsecuredb/secure_relay_with_db_mysql.sh \ + longtermsecuredb/secure_relay_with_db_mysql_ssl.sh \ + longtermsecuredb/secure_relay_with_db_mongo.sh \ + longtermsecuredb/secure_relay_with_db_redis.sh \ + longtermsecuredb/secure_relay_with_db_sqlite.sh \ + restapi/secure_relay_secret.sh \ + restapi/secure_relay_secret_with_db_mysql.sh \ + restapi/secure_relay_secret_with_db_psql.sh \ + restapi/secure_relay_secret_with_db_redis.sh \ + restapi/secure_relay_secret_with_db_mongo.sh \ + restapi/secure_relay_secret_with_db_sqlite.sh \ + restapi/secure_udp_client_with_secret.sh \ + restapi/secure_relay_secret_with_db_psql.sh \ + restapi/shared_secret_maintainer.pl \ + selfloadbalance/secure_dos_attack.sh \ + selfloadbalance/secure_relay.sh + +OPTIONS_DEFINE= DOCS EXAMPLES MYSQL PGSQL REDIS SQLITE OPTIONS_DEFAULT= MYSQL PGSQL REDIS SQLITE -OPTIONS_SUB= yes +OPTIONS_SUB= yes REDIS_DESC= Redis support for user database and for status and statistics reporting -MYSQL_USES= mysql +MYSQL_USES= mysql MYSQL_CONFIGURE_ENV_OFF= TURN_NO_MYSQL=1 -PGSQL_USES= pgsql +PGSQL_USES= pgsql PGSQL_CONFIGURE_ENV_OFF= TURN_NO_PQ=1 -REDIS_LIB_DEPENDS= libhiredis.so:databases/hiredis +REDIS_LIB_DEPENDS= libhiredis.so:databases/hiredis REDIS_CONFIGURE_ENV_OFF= TURN_NO_HIREDIS=1 -SQLITE_USES= sqlite +SQLITE_USES= sqlite SQLITE_CONFIGURE_ENV_OFF= TURN_NO_SQLITE=1 do-install: diff --git a/net/turnserver/distinfo b/net/turnserver/distinfo index 90ab33895e25..9a46d7eb91ef 100644 --- a/net/turnserver/distinfo +++ b/net/turnserver/distinfo @@ -1,5 +1,5 @@ TIMESTAMP = 1783348674 SHA256 (turn.extra.docs-2.0.0.1.tar.gz) = 3a86600fd0a30ce7aeb547e80402ce68ea9959f7dd58697e5b47fda6e33ab9ce SIZE (turn.extra.docs-2.0.0.1.tar.gz) = 485379 -SHA256 (coturn-coturn-4.14.0_GH0.tar.gz) = dc575988326274eb46256b04ef8dad698df8c8e053a35d9e5596fa8f2208bf81 -SIZE (coturn-coturn-4.14.0_GH0.tar.gz) = 712150 +SHA256 (coturn-coturn-4.16.0_GH0.tar.gz) = 4782c1560c2dfa4697dd3fbd85f2f8b506beb48f1d738351464300ef1e294760 +SIZE (coturn-coturn-4.16.0_GH0.tar.gz) = 788671 diff --git a/net/turnserver/files/pkg-message.in b/net/turnserver/files/pkg-message.in index b7e20aed04dd..0accf031a2ae 100644 --- a/net/turnserver/files/pkg-message.in +++ b/net/turnserver/files/pkg-message.in @@ -39,6 +39,10 @@ The TURN Server supports (optionally) SQLite, MySQL, PostgreSQL, Redis. $ man turnserver $ man turnadmin $ man turnutils + +Please be aware that running as non-root user may require additional +workarounds on FreeBSD, as suggested by this bug report: +https://github.com/coturn/coturn/issues/1098 EOM } ] diff --git a/net/turnserver/files/turnserver.in b/net/turnserver/files/turnserver.in index 8d82fc8e9b8c..2b0bcd5354d4 100644 --- a/net/turnserver/files/turnserver.in +++ b/net/turnserver/files/turnserver.in @@ -11,6 +11,8 @@ # Set it to YES to enable turnserver. # turnserver_config (path): Set to %%PREFIX%%/etc/turnserver.conf # by default. +# turnserver_user (str): Set to %%USER%% by default. +# turnserver_group (str): Set to %%GROUP%% by default. . /etc/rc.subr @@ -19,8 +21,10 @@ rcvar=turnserver_enable load_rc_config $name -: ${turnserver_enable:=no} -: ${turnserver_config=%%PREFIX%%/etc/turnserver.conf} +: ${turnserver_enable:="NO"} +: ${turnserver_config="%%PREFIX%%/etc/turnserver.conf"} +: ${turnserver_user:="%%USER%%"} +: ${turnserver_group:="%%GROUP%%"} command="%%PREFIX%%/bin/${name}" command_args="--daemon -c ${turnserver_config}"