changeset 1:1a06bf451a04 origin

ADD: net/turnserver: the original upstream version 4.5.1.1_2 from the ports tree as of 2020-03-26
author Franz Glasner <fzglas.hg@dom66.de>
date Thu, 26 Mar 2020 21:26:40 +0100
parents
children a1a8a51bb1ac f271ad092ec7
files Makefile distinfo files/pkg-message.in files/turnserver.in pkg-descr pkg-plist
diffstat 6 files changed, 307 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Makefile	Thu Mar 26 21:26:40 2020 +0100
@@ -0,0 +1,146 @@
+# $FreeBSD: head/net/turnserver/Makefile 507877 2019-08-02 13:30:40Z jbeich $
+
+PORTNAME=	turnserver
+PORTVERSION=	4.5.1.1
+PORTREVISION=	2
+CATEGORIES=	net
+MASTER_SITES=	http://turnserver.open-sys.org/downloads/extradocs/:xdocs \
+		http://coturn.net/turnserver/extradocs/:xdocs
+PKGNAMEPREFIX=
+DISTFILES=	turn.extra.docs-2.0.0.1.tar.gz:xdocs
+
+MAINTAINER=	bhughes@FreeBSD.org
+COMMENT=	STUN/TURN Server; IPv6, DTLS support; RFCs 5389, 5766, 6062, 6156
+
+LICENSE=	BSD3CLAUSE
+LICENSE_FILE=	${WRKSRC}/LICENSE
+
+LIB_DEPENDS=	libevent.so:devel/libevent
+
+USES=		gettext-runtime perl5 shebangfix ssl
+SHEBANG_FILES=	examples/scripts/restapi/shared_secret_maintainer.pl
+HAS_CONFIGURE=	yes
+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
+
+USE_GITHUB=	yes
+GH_ACCOUNT=	coturn
+GH_PROJECT=	coturn
+
+SUB_FILES=	pkg-message
+USE_RC_SUBR=	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
+
+_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
+OPTIONS_DEFAULT=	MYSQL PGSQL REDIS SQLITE
+OPTIONS_SUB=	yes
+
+MYSQL_DESC=	MySQL database support
+MYSQL_USES=	mysql
+MYSQL_CONFIGURE_ENV_OFF=	TURN_NO_MYSQL=1
+
+PGSQL_DESC=	PostgreSQL database support
+PGSQL_USES=	pgsql
+PGSQL_CONFIGURE_ENV_OFF=	TURN_NO_PQ=1
+
+REDIS_DESC=	Redis support for user database and for status and statistics reporting
+REDIS_LIB_DEPENDS=	libhiredis.so:databases/hiredis
+REDIS_CONFIGURE_ENV_OFF=	TURN_NO_HIREDIS=1
+
+SQLITE_DESC=	SQLite database support
+SQLITE_USES=	sqlite
+SQLITE_CONFIGURE_ENV_OFF=	TURN_NO_SQLITE=1
+
+do-install:
+	${INSTALL_PROGRAM} ${WRKSRC}/bin/turnserver ${STAGEDIR}${PREFIX}/bin/turnserver
+	${INSTALL_PROGRAM} ${WRKSRC}/bin/turnadmin ${STAGEDIR}${PREFIX}/bin/turnadmin
+.for f in ${_BIN_UTILS}
+	${INSTALL_PROGRAM} ${WRKSRC}/bin/turnutils_${f} ${STAGEDIR}${PREFIX}/bin/
+.endfor
+	(cd ${WRKSRC}/man/man1 && ${INSTALL_MAN} ${MANPAGES} \
+		${STAGEDIR}${PREFIX}/man/man1)
+	${MKDIR} ${STAGEDIR}${DATADIR}
+	(cd ${WRKSRC}/turndb && ${INSTALL_DATA} schema.sql schema.userdb.redis \
+		schema.stats.redis ${STAGEDIR}${DATADIR})
+	(cd ${WRKSRC}/turndb && ${INSTALL_SCRIPT} testredisdbsetup.sh schema.mongo.sh \
+		testmongosetup.sh ${STAGEDIR}${DATADIR})
+	${INSTALL_DATA} ${WRKSRC}/lib/libturnclient.a ${STAGEDIR}${PREFIX}/lib
+	${INSTALL_DATA} ${WRKSRC}/examples/etc/turnserver.conf \
+		${STAGEDIR}${PREFIX}/etc/turnserver.conf.default
+	${MKDIR} ${STAGEDIR}${PREFIX}/include/turn
+	(cd ${WRKSRC}/include/turn && ${COPYTREE_SHARE} "client ns_turn_defs.h" \
+		${STAGEDIR}${PREFIX}/include/turn)
+
+do-install-SQLITE-on:
+	${MKDIR} ${STAGEDIR}${PREFIX}/var/db
+	${INSTALL_DATA} ${WRKSRC}/sqlite/turndb ${STAGEDIR}${PREFIX}/var/db/turndb
+
+do-install-EXAMPLES-on:
+.for dir in basic loadbalance longtermsecure longtermsecuredb restapi selfloadbalance
+	${MKDIR} ${STAGEDIR}${EXAMPLESDIR}/scripts/${dir}
+.endfor
+	${MKDIR} ${STAGEDIR}${EXAMPLESDIR}/etc
+	${INSTALL_DATA} ${WRKSRC}/examples/scripts/readme.txt \
+		${STAGEDIR}${EXAMPLESDIR}/scripts
+	(cd ${WRKSRC}/examples/etc && ${INSTALL_DATA} ${_ETC_EXAMPLES} \
+		${STAGEDIR}${EXAMPLESDIR}/etc)
+.for f in ${_SCRIPT_EXAMPLES}
+	${INSTALL_SCRIPT} ${WRKSRC}/examples/scripts/${f} \
+		${STAGEDIR}${EXAMPLESDIR}/scripts/${f}
+.endfor
+
+do-install-DOCS-on:
+	${MKDIR} ${STAGEDIR}${DOCSDIR}
+	(cd ${WRKDIR}/turndocs/docs && ${COPYTREE_SHARE} "${DOCS}" ${STAGEDIR}${DOCSDIR})
+	(cd ${WRKSRC} && ${INSTALL_DATA} ${PORTREADMEDOCS} ${STAGEDIR}${DOCSDIR})
+	${INSTALL_DATA} ${PKGMESSAGE} ${STAGEDIR}${DOCSDIR}/postinstall.txt
+	(cd ${WRKSRC}/turndb && ${INSTALL_DATA} schema.sql schema.mongo.sh \
+		schema.userdb.redis schema.stats.redis ${STAGEDIR}${DOCSDIR})
+
+.include <bsd.port.mk>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/distinfo	Thu Mar 26 21:26:40 2020 +0100
@@ -0,0 +1,5 @@
+TIMESTAMP = 1551644566
+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.5.1.1_GH0.tar.gz) = 8eabe4c241ad9a74655d8516c69b1fa3275e020e7f7fca50a6cb822809e7c220
+SIZE (coturn-coturn-4.5.1.1_GH0.tar.gz) = 420069
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/files/pkg-message.in	Thu Mar 26 21:26:40 2020 +0100
@@ -0,0 +1,42 @@
+[
+{ type: install
+  message: <<EOM
+1) You can start and stop the turnserver manually. But, if you want
+to enable turnserver as an automatically started system service,
+you have to:
+
+	a) Create and edit %%PREFIX%%/etc/turnserver.conf file.
+	Use %%PREFIX%%/etc/turnserver.conf.default as an example.
+
+	b) For user accounts settings: set up SQLite or PostgreSQL or
+	MySQL or Redis database for user accounts.
+	Use %%DATADIR%%/schema.sql as an SQL database schema,
+	or use %%DATADIR%%/schema*redis as Redis database description.
+
+	If SQLite is used, then %%PREFIX%%/var/db/turndb is the default database
+	location.
+
+	d) add line turnserver_enable="YES" to /etc/rc.conf.
+
+	e) If you are using a non-default PREFIX (other than /usr/local),
+	then edit /usr/local/etc/rc.d/turnserver file, according to
+	your system settings.
+
+	f) Restart the system or run the command:
+	$ %%PREFIX%%/etc/rc.d/turnserver start
+
+2) If you do not want the turnserver to be a system service,
+   then you can start/stop it "manually", using the "turnserver"
+   executable with appropriate options (see the documentation).
+
+3) To create database schema, use schema in file %%DATADIR%%/schema.sql.
+The TURN Server supports (optionally) SQLite, MySQL, PostgreSQL, Redis.
+
+4) For additional information, run:
+
+   $ man turnserver
+   $ man turnadmin
+   $ man turnutils
+EOM
+}
+]
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/files/turnserver.in	Thu Mar 26 21:26:40 2020 +0100
@@ -0,0 +1,31 @@
+#!/bin/sh
+#
+# $FreeBSD: head/net/turnserver/files/turnserver.in 319998 2013-06-05 14:48:56Z gabor $
+#
+# PROVIDE: turnserver
+# REQUIRE: LOGIN
+# KEYWORD: shutdown
+#
+# Add the following lines to /etc/rc.conf.local or /etc/rc.conf
+# to enable this service:
+#
+# turnserver_enable (bool):	Set to NO by default.
+#				Set it to YES to enable turnserver.
+# turnserver_config (path):	Set to %%PREFIX%%/etc/turnserver.conf
+#				by default.
+
+. /etc/rc.subr
+
+name=turnserver
+rcvar=turnserver_enable
+
+load_rc_config $name
+
+: ${turnserver_enable:=no}
+: ${turnserver_config=%%PREFIX%%/etc/turnserver.conf}
+
+command="%%PREFIX%%/bin/${name}"
+command_args="--daemon -c ${turnserver_config}"
+required_files=${turnserver_config}
+
+run_rc_command "$1"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/pkg-descr	Thu Mar 26 21:26:40 2020 +0100
@@ -0,0 +1,4 @@
+This a BSD-licensed version of the Coturn TURN Server implementation,
+with IPv6 and DTLS extensions.
+
+WWW: http://code.google.com/p/coturn/
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/pkg-plist	Thu Mar 26 21:26:40 2020 +0100
@@ -0,0 +1,79 @@
+bin/turnserver
+bin/turnadmin
+bin/turnutils_natdiscovery
+bin/turnutils_oauth
+bin/turnutils_peer
+bin/turnutils_stunclient
+bin/turnutils_uclient
+lib/libturnclient.a
+%%SQLITE%%var/db/turndb
+etc/turnserver.conf.default
+man/man1/turnserver.1.gz
+man/man1/turnadmin.1.gz
+man/man1/turnutils.1.gz
+man/man1/turnutils_natdiscovery.1.gz
+man/man1/turnutils_oauth.1.gz
+man/man1/turnutils_peer.1.gz
+man/man1/turnutils_stunclient.1.gz
+man/man1/turnutils_uclient.1.gz
+man/man1/coturn.1.gz
+%%DATADIR%%/schema.sql
+%%DATADIR%%/schema.userdb.redis
+%%DATADIR%%/schema.stats.redis
+%%DATADIR%%/schema.mongo.sh
+%%DATADIR%%/testredisdbsetup.sh
+%%DATADIR%%/testmongosetup.sh
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/etc/turnserver.conf
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/etc/turn_client_cert.pem
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/etc/turn_client_pkey.pem
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/etc/turn_server_cert.pem
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/etc/turn_server_pkey.pem
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/scripts/readme.txt
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/scripts/peer.sh
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/scripts/basic/relay.sh
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/scripts/basic/dos_attack.sh
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/scripts/basic/tcp_client_c2c_tcp_relay.sh
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/scripts/basic/udp_c2c_client.sh
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/scripts/basic/udp_client.sh
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/scripts/basic/tcp_client.sh
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/scripts/loadbalance/master_relay.sh
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/scripts/loadbalance/slave_relay_1.sh
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/scripts/loadbalance/slave_relay_2.sh
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/scripts/loadbalance/udp_c2c.sh
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/scripts/loadbalance/tcp_c2c_tcp_relay.sh
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/scripts/longtermsecure/secure_dtls_client.sh
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/scripts/longtermsecure/secure_dtls_client_cert.sh
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/scripts/longtermsecure/secure_tls_client_cert.sh
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/scripts/longtermsecure/secure_relay.sh
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/scripts/longtermsecure/secure_relay_cert.sh
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/scripts/longtermsecure/secure_tcp_client_c2c_tcp_relay.sh
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/scripts/longtermsecure/secure_tcp_client.sh
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/scripts/longtermsecure/secure_tls_client_c2c_tcp_relay.sh
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/scripts/longtermsecure/secure_tls_client.sh
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/scripts/longtermsecure/secure_udp_c2c.sh
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/scripts/longtermsecure/secure_udp_client.sh
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/scripts/longtermsecure/secure_sctp_client.sh
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/scripts/longtermsecure/secure_dos_attack.sh
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/scripts/longtermsecuredb/secure_relay_with_db_psql.sh
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/scripts/longtermsecuredb/secure_relay_with_db_mysql.sh
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/scripts/longtermsecuredb/secure_relay_with_db_mysql_ssl.sh
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/scripts/longtermsecuredb/secure_relay_with_db_mongo.sh
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/scripts/longtermsecuredb/secure_relay_with_db_redis.sh
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/scripts/longtermsecuredb/secure_relay_with_db_sqlite.sh
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/scripts/restapi/secure_relay_secret.sh
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/scripts/restapi/secure_relay_secret_with_db_mysql.sh
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/scripts/restapi/secure_relay_secret_with_db_mongo.sh
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/scripts/restapi/secure_relay_secret_with_db_psql.sh
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/scripts/restapi/secure_relay_secret_with_db_redis.sh
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/scripts/restapi/secure_relay_secret_with_db_sqlite.sh
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/scripts/restapi/secure_udp_client_with_secret.sh
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/scripts/restapi/shared_secret_maintainer.pl
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/scripts/selfloadbalance/secure_dos_attack.sh
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/scripts/selfloadbalance/secure_relay.sh
+include/turn/ns_turn_defs.h
+include/turn/client/TurnMsgLib.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