From: Stuart Henderson Subject: telephony/coturn (turnserver) update To: ports Date: Thu, 5 Mar 2026 11:31:29 +0000 if anyone's using this, can you test this update/cleanup please? Index: Makefile =================================================================== RCS file: /cvs/ports/telephony/coturn/Makefile,v diff -u -p -r1.20 Makefile --- Makefile 14 Jan 2025 15:07:27 -0000 1.20 +++ Makefile 5 Mar 2026 11:30:24 -0000 @@ -1,13 +1,9 @@ COMMENT = coturn STUN/TURN server -V = 4.6.3-r0 GH_ACCOUNT = coturn GH_PROJECT = coturn -GH_TAGNAME = docker/${V} -DISTNAME = turnserver-${V:S/-r/pl/} - -COMPILER = base-clang ports-gcc -COMPILER_LANGS = c +GH_TAGNAME = 4.8.0 +PKGNAME = turnserver-${GH_TAGNAME} CATEGORIES = telephony @@ -15,27 +11,33 @@ CATEGORIES = telephony PERMIT_PACKAGE = Yes WANTLIB += c crypto event_core event_extra event_openssl event_pthreads -WANTLIB += hiredis intl mariadb pq pthread sqlite3 ssl m z +WANTLIB += hiredis mariadb pq pthread sqlite3 ssl + +COMPILER = base-clang ports-gcc +COMPILER_LANGS = c -LIB_DEPENDS = databases/mariadb \ - databases/postgresql \ - databases/sqlite3 \ - devel/gettext,-runtime \ - devel/libevent2 \ - databases/libhiredis - -CONFIGURE_STYLE = simple -CONFIGURE_ARGS = --localstatedir='${LOCALSTATEDIR}' -# There is no port for MongoDB development libraries and/or headers -CONFIGURE_ENV = TURN_NO_MONGO=1 \ - TURN_NO_PROMETHEUS=1 \ - TURN_NO_SYSTEMD=1 -# Don't pick up devel/pkgconf -CONFIGURE_ENV += PKGCONFIG="pkg-config" +MODULES = devel/cmake + +LIB_DEPENDS = databases/mariadb \ + databases/postgresql \ + databases/sqlite3 \ + devel/libevent2 \ + databases/libhiredis post-install: - rm -rf ${PREFIX}/etc - mv ${WRKINST}${LOCALSTATEDIR}/db/turndb \ + rm -rf ${PREFIX}/etc \ + ${PREFIX}/share/examples/turnserver/ca \ + ${PREFIX}/share/examples/turnserver/run*.sh + mv ${PREFIX}/share/examples/turnserver/var/db/turndb \ ${PREFIX}/share/examples/turnserver + rmdir ${PREFIX}/share/examples/turnserver/var{/db,} + chmod +x ${PREFIX}/bin/* # huh?! not installed as executable... + +NO_TEST = Yes +# there are tests, but hitting "bind: Address already in use" +#do-test: +# ln -fs ${WRKBUILD} ${WRKSRC}/build +# cd ${WRKSRC}/examples; sh run_tests.sh +# cd ${WRKSRC}/examples; sh run_tests_conf.sh .include Index: distinfo =================================================================== RCS file: /cvs/ports/telephony/coturn/distinfo,v diff -u -p -r1.6 distinfo --- distinfo 16 Dec 2024 13:14:51 -0000 1.6 +++ distinfo 5 Mar 2026 11:30:24 -0000 @@ -1,2 +1,2 @@ -SHA256 (turnserver-4.6.3pl0.tar.gz) = yIFrwM9YQT5Y6r8EDtTCHp8kHKk6cEVja1Dow0BsTrk= -SIZE (turnserver-4.6.3pl0.tar.gz) = 535329 +SHA256 (coturn-4.8.0.tar.gz) = o7MCtSxUBaJZX1kDbJX8NnbmQENrpn4/Yhk37GSLHqU= +SIZE (coturn-4.8.0.tar.gz) = 544737 Index: patches/patch-CMakeLists_txt =================================================================== RCS file: patches/patch-CMakeLists_txt diff -N patches/patch-CMakeLists_txt --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-CMakeLists_txt 5 Mar 2026 11:30:24 -0000 @@ -0,0 +1,34 @@ +Index: CMakeLists.txt +--- CMakeLists.txt.orig ++++ CMakeLists.txt +@@ -147,7 +147,7 @@ install(DIRECTORY turndb/ + DESTINATION share/turnserver + COMPONENT Runtime) + install(DIRECTORY turndb/ +- DESTINATION doc/turnserver ++ DESTINATION share/doc/turnserver + COMPONENT Runtime) + install(FILES + LICENSE +@@ -156,7 +156,7 @@ install(FILES + README.turnutils + INSTALL + postinstall.txt +- DESTINATION doc/turnserver ++ DESTINATION share/doc/turnserver + COMPONENT Runtime) + install(FILES examples/etc/turnserver.conf + DESTINATION ${CMAKE_INSTALL_SYSCONFDIR} +@@ -164,9 +164,9 @@ install(FILES examples/etc/turnserver.conf + RENAME turnserver.conf.default + ) + install(DIRECTORY +- examples +- DESTINATION share +- COMPONENT examples ++ examples/ ++ DESTINATION share/examples/turnserver ++ COMPONENT turnserver + ) + include(cmake/CMakeCPack.cmake) + Index: patches/patch-src_apps_common_apputils_c =================================================================== RCS file: /cvs/ports/telephony/coturn/patches/patch-src_apps_common_apputils_c,v diff -u -p -r1.1 patch-src_apps_common_apputils_c --- patches/patch-src_apps_common_apputils_c 16 Dec 2024 13:14:51 -0000 1.1 +++ patches/patch-src_apps_common_apputils_c 5 Mar 2026 11:30:24 -0000 @@ -1,7 +1,7 @@ Index: src/apps/common/apputils.c --- src/apps/common/apputils.c.orig +++ src/apps/common/apputils.c -@@ -1179,7 +1179,7 @@ char *find_config_file(const char *config_file) { +@@ -1190,7 +1190,7 @@ char *find_config_file(const char *config_file) { /////////////////// SYS SETTINGS /////////////////////// void ignore_sigpipe(void) { Index: patches/patch-src_apps_relay_CMakeLists_txt =================================================================== RCS file: patches/patch-src_apps_relay_CMakeLists_txt diff -N patches/patch-src_apps_relay_CMakeLists_txt --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-src_apps_relay_CMakeLists_txt 5 Mar 2026 11:30:24 -0000 @@ -0,0 +1,19 @@ +Index: src/apps/relay/CMakeLists.txt +--- src/apps/relay/CMakeLists.txt.orig ++++ src/apps/relay/CMakeLists.txt +@@ -188,12 +188,8 @@ if(WIN32) + DESTINATION "${CMAKE_INSTALL_BINDIR}" + COMPONENT Runtime) + else() +- add_custom_target(turnadmin ALL +- COMMAND +- ${CMAKE_COMMAND} -E create_symlink $ $/turnadmin +- DEPENDS ${PROJECT_NAME}) +- INSTALL(FILES $/turnadmin +- DESTINATION "${CMAKE_INSTALL_BINDIR}" ++ INSTALL(CODE "execute_process(COMMAND ${CMAKE_COMMAND} -E create_symlink ${PROJECT_NAME} turnadmin WORKING_DIRECTORY \$ENV{DESTDIR}/${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_BINDIR})" + COMPONENT Runtime +- ) ++ ) + endif() ++ Index: patches/patch-src_apps_relay_mainrelay_c =================================================================== RCS file: /cvs/ports/telephony/coturn/patches/patch-src_apps_relay_mainrelay_c,v diff -u -p -r1.3 patch-src_apps_relay_mainrelay_c --- patches/patch-src_apps_relay_mainrelay_c 16 Dec 2024 13:14:51 -0000 1.3 +++ patches/patch-src_apps_relay_mainrelay_c 5 Mar 2026 11:30:24 -0000 @@ -3,9 +3,9 @@ Don't create a default pidfile Index: src/apps/relay/mainrelay.c --- src/apps/relay/mainrelay.c.orig +++ src/apps/relay/mainrelay.c -@@ -126,7 +126,7 @@ turn_params_t turn_params = { +@@ -131,7 +131,7 @@ turn_params_t turn_params = { - 0, /* do_not_use_config_file */ + false, /* do_not_use_config_file */ - "/var/run/turnserver.pid", /* pidfile */ + "", /* pidfile */ Index: pkg/PLIST =================================================================== RCS file: /cvs/ports/telephony/coturn/pkg/PLIST,v diff -u -p -r1.5 PLIST --- pkg/PLIST 8 Nov 2022 11:17:14 -0000 1.5 +++ pkg/PLIST 5 Mar 2026 11:30:24 -0000 @@ -1,23 +1,49 @@ @newgroup _turnserver:795 @newuser _turnserver:795:795::TURN Server user:/var/empty:/sbin/nologin @rcscript ${RCDIR}/turnserver -@bin bin/turnadmin +bin/turnadmin @bin bin/turnserver @bin bin/turnutils_natdiscovery @bin bin/turnutils_oauth @bin bin/turnutils_peer +@bin bin/turnutils_rfc5769check @bin bin/turnutils_stunclient @bin bin/turnutils_uclient include/turn/ +include/turn/apputils.h include/turn/client/ include/turn/client/TurnMsgLib.h +include/turn/client/ns_turn_defs.h include/turn/client/ns_turn_ioaddr.h include/turn/client/ns_turn_msg.h include/turn/client/ns_turn_msg_addr.h include/turn/client/ns_turn_msg_defs.h include/turn/client/ns_turn_msg_defs_experimental.h -include/turn/ns_turn_defs.h +include/turn/ns_turn_openssl.h +include/turn/ns_turn_utils.h +include/turn/server/ +include/turn/server/ns_turn_allocation.h +include/turn/server/ns_turn_ioalib.h +include/turn/server/ns_turn_khash.h +include/turn/server/ns_turn_maps.h +include/turn/server/ns_turn_maps_rtcp.h +include/turn/server/ns_turn_server.h +include/turn/server/ns_turn_session.h +include/turn/stun_buffer.h +lib/cmake/coturn/ +lib/cmake/coturn/coturnConfig.cmake +lib/cmake/coturn/turn_serverConfig${MODCMAKE_BUILD_SUFFIX} +lib/cmake/coturn/turn_serverConfig.cmake +lib/cmake/coturn/turn_serverConfigVersion.cmake +lib/cmake/coturn/turnclientConfig${MODCMAKE_BUILD_SUFFIX} +lib/cmake/coturn/turnclientConfig.cmake +lib/cmake/coturn/turnclientConfigVersion.cmake +lib/cmake/coturn/turncommonConfig${MODCMAKE_BUILD_SUFFIX} +lib/cmake/coturn/turncommonConfig.cmake +lib/cmake/coturn/turncommonConfigVersion.cmake +@static-lib lib/libturn_server.a @static-lib lib/libturnclient.a +@static-lib lib/libturncommon.a @man man/man1/coturn.1 @man man/man1/turnadmin.1 @man man/man1/turnserver.1 @@ -38,7 +64,11 @@ share/doc/turnserver/schema.mongo.sh share/doc/turnserver/schema.sql share/doc/turnserver/schema.stats.redis share/doc/turnserver/schema.userdb.redis +share/doc/turnserver/testmongosetup.sh +share/doc/turnserver/testredisdbsetup.sh +share/doc/turnserver/testsqldbsetup.sql share/examples/turnserver/ +share/examples/turnserver/cpu-mem.sh share/examples/turnserver/etc/ share/examples/turnserver/etc/cacert.pem share/examples/turnserver/etc/coturn.service @@ -106,6 +136,7 @@ share/examples/turnserver/scripts/restap share/examples/turnserver/scripts/restapi/secure_relay_secret_with_db_sqlite.sh share/examples/turnserver/scripts/restapi/secure_udp_client_with_secret.sh share/examples/turnserver/scripts/restapi/shared_secret_maintainer.pl +share/examples/turnserver/scripts/rfc5769.sh share/examples/turnserver/scripts/selfloadbalance/ share/examples/turnserver/scripts/selfloadbalance/secure_dos_attack.sh share/examples/turnserver/scripts/selfloadbalance/secure_relay.sh