From owner-svn-ports-all@FreeBSD.ORG Sun Jun 2 15:49:16 2013 Return-Path: Delivered-To: svn-ports-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id C5CB4363; Sun, 2 Jun 2013 15:49:16 +0000 (UTC) (envelope-from utisoft@gmail.com) Received: from mail-ie0-x236.google.com (mail-ie0-x236.google.com [IPv6:2607:f8b0:4001:c03::236]) by mx1.freebsd.org (Postfix) with ESMTP id 7FBB11E6E; Sun, 2 Jun 2013 15:49:16 +0000 (UTC) Received: by mail-ie0-f182.google.com with SMTP id 9so2783133iec.41 for ; Sun, 02 Jun 2013 08:49:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:from:date :x-google-sender-auth:message-id:subject:to:cc:content-type; bh=bxWOIMzp5iZwPmPwz2I2KMf1V2dO9sfCH8A8jNvVAUs=; b=W7whjeDLYK8kgtPtJqJMO0lf/w6irg3aq8Jn2301WIROEUp2xeYqWBU/o8q1JXkXNO S9tkVgmZ4Ea4PEKNHqtgDxs27fe+6fqPUAxjTs6s/quMvtgMbDfjT6/Mb3T9Xg8jA0gx 0KBfs+0KKEKCQTxGFy6vfPrZsVa+cVkWdBYaannDbNdZVBnXxYYuSqUXlDHUUVdT8Pb4 qmfPXPtfC9Me5PjaLEslHKu7Y+jo0iI36lVnG5hjqP6Tb9yKwxBGbE92koQQG4owajGM 0NhMxlFBTa7bWSSwYn7Gpz2ECvMds64Yv14GUKq2P2XxbR8HrU0PPCzbb2Vj2Pyc1HZF TZpw== X-Received: by 10.42.78.136 with SMTP id n8mr8804714ick.52.1370188156185; Sun, 02 Jun 2013 08:49:16 -0700 (PDT) MIME-Version: 1.0 Sender: utisoft@gmail.com Received: by 10.64.71.101 with HTTP; Sun, 2 Jun 2013 08:48:46 -0700 (PDT) In-Reply-To: <201306020939.r529dKYg002031@svn.freebsd.org> References: <201306020939.r529dKYg002031@svn.freebsd.org> From: Chris Rees Date: Sun, 2 Jun 2013 16:48:46 +0100 X-Google-Sender-Auth: R0_hCdsE6nAggKlr5WrD2OSJydk Message-ID: Subject: Re: svn commit: r319644 - in head/net: . turnserver turnserver/files To: Gabor Kovesdan , mom040267@gmail.com Content-Type: text/plain; charset=ISO-8859-1 Cc: "svn-ports-head@freebsd.org" , svn-ports-all@freebsd.org, "ports-committers@freebsd.org" X-BeenThere: svn-ports-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: SVN commit messages for the ports tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 02 Jun 2013 15:49:16 -0000 On 2 June 2013 10:39, Gabor Kovesdan wrote: > XXX Ports RC script present > XXX Ports RC script present > Author: gabor > Date: Sun Jun 2 09:39:19 2013 > New Revision: 319644 > URL: http://svnweb.freebsd.org/changeset/ports/319644 > > Log: > This a BSD-licensed version of the RFC5766 TURN Server implementation, > with IPv6 and DTLS extensions. > > WWW: http://code.google.com/p/rfc5766-turn-server/ > > Submitted by: Oleg Moskalenko (via private mail) > > Added: > head/net/turnserver/ > head/net/turnserver/Makefile (contents, props changed) > head/net/turnserver/distinfo (contents, props changed) > head/net/turnserver/files/ > head/net/turnserver/files/pkg-message.in (contents, props changed) > head/net/turnserver/files/turnserver.in (contents, props changed) > head/net/turnserver/pkg-descr (contents, props changed) > head/net/turnserver/pkg-plist (contents, props changed) > Modified: > head/net/Makefile > > Modified: head/net/Makefile > ============================================================================== > --- head/net/Makefile Sun Jun 2 08:03:12 2013 (r319643) > +++ head/net/Makefile Sun Jun 2 09:39:19 2013 (r319644) > @@ -1191,6 +1191,7 @@ > SUBDIR += ttbudget > SUBDIR += ttlscan > SUBDIR += tucan > + SUBDIR += turnserver > SUBDIR += twinkle > SUBDIR += twitux > SUBDIR += u6rd > > Added: head/net/turnserver/Makefile > ============================================================================== > --- /dev/null 00:00:00 1970 (empty, because file is newly added) > +++ head/net/turnserver/Makefile Sun Jun 2 09:39:19 2013 (r319644) > @@ -0,0 +1,138 @@ > +# $FreeBSD$ > + > +PORTNAME= turnserver > +PORTVERSION= 1.8.5.3 > +CATEGORIES= net > +MASTER_SITES= http://rfc5766-turn-server.googlecode.com/files/ > +PKGNAMEPREFIX= > + > +MAINTAINER= mom040267@gmail.com > +COMMENT= STUN/TURN Server; IPv6, DTLS support; RFCs 5389, 5766, 6062, 6156 > + > +LICENSE= BSD > + > +LIB_DEPENDS= ssl:${PORTSDIR}/security/openssl \ > + event-2:${PORTSDIR}/devel/libevent2 > + > +SUB_FILES= pkg-message > + > +MAN1= turnserver.1 turnadmin.1 turnutils.1 turnutils_peer.1 turnutils_rfc5769check.1 turnutils_stunclient.1 turnutils_uclient.1 > +MANCOMPRESSED= no > + > +USE_OPENSSL= YES > + > +USE_RC_SUBR= turnserver > + > +HAS_CONFIGURE= YES > + > +OPTIONS_DEFINE= MYSQL PGSQL REDIS > + > +MYSQL_DESC= MySQL support for users database > +PGSQL_DESC= PostgreSQL support for users database > +REDIS_DESC= Redis support for user database and for status and statistics reporting > + > +OPTIONS_DEFAULT= MYSQL PGSQL REDIS > + > +.include > + > +PORTDOCS= > +PORTREADMEDOCS= README.turnserver README.turnadmin README.turnutils INSTALL > + > +_BIN_UTILS= peer stunclient rfc5769check uclient > + > +_ETC_EXAMPLES= turnserver.conf turnuserdb.conf turn_client_cert.pem \ > + turn_client_pkey.pem turn_server_cert.pem turn_server_pkey.pem > +_SCRIPT_EXAMPLES= peer.sh rfc5769.sh \ > +basic/relay.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_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 \ > +longtermsecuredb/secure_relay_with_db_psql.sh longtermsecuredb/secure_relay_with_db_mysql.sh \ > +longtermsecuredb/secure_relay_with_db_redis.sh \ > +restapi/secure_relay_secret.sh restapi/secure_relay_secret_with_db_mysql.sh \ > +restapi/secure_relay_secret.sh restapi/secure_relay_secret_with_db_redis.sh \ > +restapi/secure_udp_client_with_secret.sh \ > +restapi/shared_secret_maintainer.pl \ > +shorttermsecure/secure_tcp_client_c2c_tcp_relay_short_term.sh shorttermsecure/secure_udp_client_short_term.sh shorttermsecure/secure_relay_short_term_mech.sh > + > +CONFIGURE_ENV+= PTHREAD_LIBS=-pthread > + > +.if ${PORT_OPTIONS:MPGSQL} > +USE_PGSQL= yes > +LIB_DEPENDS+= pq:${PORTSDIR}/databases/postgresql90-client > +.else > +CONFIGURE_ENV+= TURN_NO_PQ=1 > +.endif > + > +.if ${PORT_OPTIONS:MMYSQL} > +USE_MYSQL= yes > +LIB_DEPENDS+= mysqlclient:${PORTSDIR}/databases/mysql55-client > +.else > +CONFIGURE_ENV+= TURN_NO_MYSQL=1 > +.endif > + > +.if ${PORT_OPTIONS:MREDIS} > +LIB_DEPENDS+= hiredis:${PORTSDIR}/databases/hiredis/ > +.else > +CONFIGURE_ENV+= TURN_NO_HIREDIS=1 > +.endif > + > +do-install: > + ${INSTALL_PROGRAM} ${WRKSRC}/bin/turnserver ${PREFIX}/bin/turnserver > + ${INSTALL_PROGRAM} ${WRKSRC}/bin/turnadmin ${PREFIX}/bin/turnadmin > +.for f in ${_BIN_UTILS} > + ${INSTALL_PROGRAM} ${WRKSRC}/bin/turnutils_${f} ${PREFIX}/bin/ > +.endfor > +.for f in ${MAN1} > + ${INSTALL_MAN} ${WRKSRC}/man/man1/${f} ${PREFIX}/man/man1/${f} > +.endfor > + ${MKDIR} ${DATADIR}/ > + ${INSTALL_DATA} ${WRKSRC}/turndb/schema.sql ${DATADIR}/schema.sql > + ${INSTALL_DATA} ${WRKSRC}/turndb/schema.userdb.redis ${DATADIR}/schema.userdb.redis > + ${INSTALL_DATA} ${WRKSRC}/turndb/schema.stats.redis ${DATADIR}/schema.stats.redis > + ${INSTALL_DATA} ${WRKSRC}/lib/libturnclient.a ${PREFIX}/lib/libturnclient.a > + ${INSTALL_DATA} ${WRKSRC}/examples/etc/turnserver.conf ${PREFIX}/etc/turnserver.conf.default > + ${INSTALL_DATA} ${WRKSRC}/examples/etc/turnuserdb.conf ${PREFIX}/etc/turnuserdb.conf.default > + ${MKDIR} ${PREFIX}/include/turn > + (cd ${WRKSRC}/include/turn/ && ${COPYTREE_SHARE} client ${PREFIX}/include/turn/) > + (cd ${WRKSRC}/include/turn/ && ${COPYTREE_SHARE} ns_turn_defs.h ${PREFIX}/include/turn/) > +.if ${PORT_OPTIONS:MEXAMPLES} > + ${MKDIR} ${EXAMPLESDIR}/scripts > + ${MKDIR} ${EXAMPLESDIR}/scripts/basic > + ${MKDIR} ${EXAMPLESDIR}/scripts/loadbalance > + ${MKDIR} ${EXAMPLESDIR}/scripts/longtermsecure > + ${MKDIR} ${EXAMPLESDIR}/scripts/longtermsecuredb > + ${MKDIR} ${EXAMPLESDIR}/scripts/restapi > + ${MKDIR} ${EXAMPLESDIR}/scripts/shorttermsecure > + ${MKDIR} ${EXAMPLESDIR}/etc > + ${INSTALL_MAN} ${WRKSRC}/examples/scripts/readme.txt ${EXAMPLESDIR}/scripts > +.for f in ${_ETC_EXAMPLES} > + ${INSTALL_DATA} ${WRKSRC}/examples/etc/${f} ${EXAMPLESDIR}/etc/ > +.endfor > +.for f in ${_SCRIPT_EXAMPLES} > + ${INSTALL_SCRIPT} ${WRKSRC}/examples/scripts/${f} ${EXAMPLESDIR}/scripts/${f} > +.endfor > +.endif > +.if ${PORT_OPTIONS:MDOCS} > + ${MKDIR} ${DOCSDIR} > +.for f in ${PORTDOCS} > + (cd ${WRKSRC}/docs/ && ${COPYTREE_SHARE} ${f} ${DOCSDIR}) > +.endfor > +.for f in ${PORTREADMEDOCS} > + ${INSTALL_DATA} ${WRKSRC}/${f} ${DOCSDIR} > +.endfor > + ${INSTALL_DATA} ${PKGMESSAGE} ${DOCSDIR}/postinstall.txt > + ${INSTALL_DATA} ${WRKSRC}/turndb/schema.sql ${DOCSDIR}/schema.sql > + ${INSTALL_DATA} ${WRKSRC}/turndb/schema.userdb.redis ${DOCSDIR}/schema.userdb.redis > + ${INSTALL_DATA} ${WRKSRC}/turndb/schema.stats.redis ${DOCSDIR}/schema.stats.redis > +PORTDOCS+= postinstall.txt ${PORTREADMEDOCS} schema.sql schema.userdb.redis schema.stats.redis > +.endif > + > +post-install: > + ${CAT} ${PKGMESSAGE} > + > +.include > > Added: head/net/turnserver/distinfo > ============================================================================== > --- /dev/null 00:00:00 1970 (empty, because file is newly added) > +++ head/net/turnserver/distinfo Sun Jun 2 09:39:19 2013 (r319644) > @@ -0,0 +1,2 @@ > +SHA256 (turnserver-1.8.5.3.tar.gz) = c4a2481ed17d1f59ce58fe2dca1850d54527778b39d966186e681fedaf864872 > +SIZE (turnserver-1.8.5.3.tar.gz) = 204682 > > Added: head/net/turnserver/files/pkg-message.in > ============================================================================== > --- /dev/null 00:00:00 1970 (empty, because file is newly added) > +++ head/net/turnserver/files/pkg-message.in Sun Jun 2 09:39:19 2013 (r319644) > @@ -0,0 +1,40 @@ > +================================================================== > + > +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 /etc/turnserver.conf file. > + Use %%PREFIX%%/etc/turnserver.conf.default as an example. > + > + b) For user accounts settings, if using the turnserver > + with authentication: create and edit /etc/turnuserdb.conf > + file, or set up PostgreSQL or MySQL or Redis database for user accounts. > + Use %%PREFIX%%/etc/turnuserdb.conf.default as example for flat file DB, > + or use %%DATADIR%%/schema.sql as database schema, > + or use %%DATADIR%%/schema*redis as Redis > + database description. > + > + 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. > + > +4) For additional information, run: > + > + $ man turnserver > + $ man turnadmin > + $ man turnutils > + > +================================================================== > + > > Added: head/net/turnserver/files/turnserver.in > ============================================================================== > --- /dev/null 00:00:00 1970 (empty, because file is newly added) > +++ head/net/turnserver/files/turnserver.in Sun Jun 2 09:39:19 2013 (r319644) > @@ -0,0 +1,30 @@ > +#!/bin/sh > +# > +# $FreeBSD$ > +# > + > +# PROVIDE: turnserver > +# REQUIRE: LOGIN > +# > +# 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 doormand. > +# turnserver_config (path): Set to %%PREFIX%%/etc/turnserver.conf > +# by default. > + > +. /etc/rc.subr > + > +: ${turnserver_enable:="NO"} > +: ${turnserver_config="%%PREFIX%%/etc/turnserver.conf"} > + > +name="turnserver" > +rcvar="`set_rcvar`" > + > +load_rc_config $name > + > +command="%%PREFIX%%/bin/${name}" > +command_args="--daemon -c ${turnserver_config}" > + > +run_rc_command "$1" This RC script will fail on head, since set_rcvar was removed a long time ago. Some style bugs are also fixed in the patch at [1], as well as adding $turnserver_config to $required_files and putting the default settings below load_rc_config where they belong, and allows for graceful shutdown. Please consider using devel/rclint. Chris [1] http://www.bayofrum.net/~crees/patches/turnserver-rc-script.diff