diff --git a/README.turnserver b/README.turnserver index 8bbda8e..4670952 100644 --- a/README.turnserver +++ b/README.turnserver @@ -27,6 +27,10 @@ to run the programs. The scripts are meant to be run from examples/ sub-director $ cd examples $ ./scripts/secure_relay.sh +SYSTEMD + +If the systemd development library is available, then it will notify systemd about the server status. + RUNNING THE TURN SERVER Options note: turnserver has long and short option names, for most options. @@ -158,8 +162,6 @@ Flags: -o, --daemon Run server as daemon. ---systemd Notify systemd about server status. (Use only in foreground!) - --no-software-attribute Production mode: hide the software version. -f, --fingerprint Use fingerprints in the TURN messages. If an incoming request diff --git a/examples/etc/coturn.service b/examples/etc/coturn.service index 56118e6..12e64ff 100644 --- a/examples/etc/coturn.service +++ b/examples/etc/coturn.service @@ -11,7 +11,7 @@ User=turnserver Group=turnserver Type=notify RuntimeDirectory=turnserver -ExecStart=/usr/bin/turnserver --systemd -c /etc/turnserver.conf +ExecStart=/usr/bin/turnserver -c /etc/turnserver.conf Restart=on-failure InaccessibleDirectories=/home PrivateTmp=yes diff --git a/man/man1/turnadmin.1 b/man/man1/turnadmin.1 index 9205225..9fc0b9e 100644 --- a/man/man1/turnadmin.1 +++ b/man/man1/turnadmin.1 @@ -1,5 +1,5 @@ .\" Text automatically generated by txt2man -.TH TURN 1 "08 January 2021" "" "" +.TH TURN 1 "10 January 2021" "" "" .SH GENERAL INFORMATION \fIturnadmin\fP is a TURN administration tool. This tool can be used to manage @@ -48,8 +48,8 @@ is equivalent to: .fi You have always the use the \fB\-r\fP option with commands for long term credentials \- because data for multiple realms can be stored in the same database. -.PP -===================================== +.SH ===================================== + .SS NAME \fB \fBturnadmin \fP\- a TURN relay administration tool. @@ -288,8 +288,8 @@ $ \fIturnadmin\fP \fB\-\-file\-key\-path\fP \fB\-v\fP Help: .PP $ \fIturnadmin\fP \fB\-h\fP -.PP -======================================= +.SH ======================================= + .SS DOCS After installation, run the \fIcommand\fP: @@ -301,8 +301,8 @@ or in the project root directory: $ man \fB\-M\fP man \fIturnadmin\fP .PP to see the man page. -.PP -===================================== +.SH ===================================== + .SS FILES /etc/turnserver.conf @@ -314,8 +314,8 @@ to see the man page. /var/lib/turn/turndb .PP /usr/local/etc/turnserver.conf -.PP -===================================== +.SH ===================================== + .SS DIRECTORIES /usr/local/share/\fIturnserver\fP @@ -323,14 +323,13 @@ to see the man page. /usr/local/share/doc/\fIturnserver\fP .PP /usr/local/share/examples/\fIturnserver\fP -.PP -====================================== +.SH ====================================== + .SS SEE ALSO \fIturnserver\fP, \fIturnutils\fP -.RE -.PP -====================================== +.SH ====================================== + .SS WEB RESOURCES project page: @@ -344,9 +343,8 @@ https://github.com/coturn/coturn/wiki forum: .PP https://groups.google.com/forum/?fromgroups=#!forum/turn\-server\-project\-rfc5766\-turn\-server/ -.RE -.PP -====================================== +.SH ====================================== + .SS AUTHORS Oleg Moskalenko diff --git a/man/man1/turnserver.1 b/man/man1/turnserver.1 index 1a80a8f..b910d96 100644 --- a/man/man1/turnserver.1 +++ b/man/man1/turnserver.1 @@ -1,5 +1,5 @@ .\" Text automatically generated by txt2man -.TH TURN 1 "08 January 2021" "" "" +.TH TURN 1 "10 January 2021" "" "" .SH GENERAL INFORMATION The \fBTURN Server\fP project contains the source code of a TURN server and TURN client @@ -40,6 +40,9 @@ to run the programs. The scripts are meant to be run from examples/ sub\-directo .PP $ cd examples $ ./scripts/secure_relay.sh +.SH SYSTEMD + +If the systemd development library is available, then it will notify systemd about the server status. .SH RUNNING THE TURN SERVER Options note: \fIturnserver\fP has long and short option names, for most options. @@ -78,7 +81,8 @@ is equivalent to: .fam T .fi -===================================== +.SH ===================================== + .SS NAME \fB \fBturnserver \fP\- a TURN relay server implementation. @@ -230,10 +234,6 @@ Extra verbose mode, very annoying and not recommended. .B \fB\-o\fP, \fB\-\-daemon\fP Run server as daemon. -.TP -.B -\fB\-\-systemd\fP -Notify systemd about server status. (Use only in foreground!) .PP \fB\-\-no\-software\-attribute\fP Production mode: hide the software version. .TP @@ -864,15 +864,15 @@ By default it is disabled for security resons! .B \fB\-\-ne\fP=[1|2|3] Set network engine type for the process (for internal purposes). -.PP -================================== +.SH ================================== + .SH LOAD BALANCE AND PERFORMANCE TUNING This topic is covered in the wiki page: .PP https://github.com/coturn/coturn/wiki/turn_performance_and_load_balance -.PP -=================================== +.SH =================================== + .SH WEBRTC USAGE This is a set of notes for the WebRTC users: @@ -909,8 +909,8 @@ Usually WebRTC uses fingerprinting (\fB\-f\fP). .IP 5) 4 \fB\-\-min\-port\fP and \fB\-\-max\-port\fP may be needed if you want to limit the relay endpoints ports number range. -.PP -=================================== +.SH =================================== + .SH TURN REST API In WebRTC, the browser obtains the TURN connection information from the web @@ -1048,8 +1048,8 @@ examples/scripts/restapi/shared_secret_maintainer.pl . .PP A very important thing is that the nonce must be totally random and it must be different for different clients and different sessions. -.PP -=================================== +.SH =================================== + .SH DATABASES For the user database, the \fIturnserver\fP has the following \fIoptions\fP: @@ -1112,8 +1112,8 @@ it will set the users for you (see the \fIturnadmin\fP manuals). If you are usin \fIturnserver\fP or \fIturnadmin\fP will initialize the empty database, for you, when started. The TURN server installation process creates an empty initialized SQLite database in the default location (/var/db/turndb or /usr/local/var/db/turndb or /var/lib/turn/turndb, depending on the system). -.PP -================================= +.SH ================================= + .SH ALPN The server supports ALPNs "stun.turn" and "stun.nat\-discovery", when @@ -1122,16 +1122,16 @@ ClientHello message that contains one or both of those ALPNs, then the server chooses the first stun.* label and sends it back (in the ServerHello) in the ALPN extension field. If no stun.* label is found, then the server does not include the ALPN information into the ServerHello. -.PP -================================= +.SH ================================= + .SH LIBRARIES In the lib/ sub\-directory the build process will create TURN client messaging library. In the include/ sub\-directory, the necessary include files will be placed. The C++ wrapper for the messaging functionality is located in TurnMsgLib.h header. An example of C++ code can be found in stunclient.c file. -.PP -================================= +.SH ================================= + .SH DOCS After installation, run the command: @@ -1146,8 +1146,8 @@ to see the man page. .PP In the docs/html subdirectory of the original archive tree, you will find the client library reference. After the installation, it will be placed in PREFIX/share/doc/\fIturnserver\fP/html. -.PP -================================= +.SH ================================= + .SH LOGS When the \fBTURN Server\fP starts, it makes efforts to create a log file turn_.log @@ -1170,8 +1170,8 @@ log messages are sent only to the standard output of the process. .PP This behavior can be controlled by \fB\-\-log\-file\fP, \fB\-\-syslog\fP and \fB\-\-no\-stdout\-log\fP \fIoptions\fP. -.PP -================================= +.SH ================================= + .SH HTTPS MANAGEMENT INTERFACE The \fIturnserver\fP process provides an HTTPS Web access as statistics and basic @@ -1184,8 +1184,8 @@ populated with the admin user \fBaccount\fP(s). An admin user can be a superuser (if not assigned to a particular realm) or a restricted user (if assigned to a realm). The restricted admin users can perform only limited actions, within their corresponding realms. -.PP -================================= +.SH ================================= + .SH TELNET CLI The \fIturnserver\fP process provides a telnet CLI access as statistics and basic management @@ -1193,8 +1193,8 @@ interface. By default, the \fIturnserver\fP starts a telnet CLI listener on IP 1 port 5766. That can be changed by the command\-cline \fIoptions\fP of the \fIturnserver\fP process (see \fB\-\-cli\-ip\fP and \fB\-\-cli\-port\fP \fIoptions\fP). The full list of telnet CLI commands is provided in "help" command output in the telnet CLI. -.PP -================================= +.SH ================================= + .SH CLUSTERS \fBTURN Server\fP can be a part of the cluster installation. But, to support the "even port" functionality @@ -1203,8 +1203,8 @@ in "help" command output in the telnet CLI. the RTP and RTCP relaying endpoints must be allocated on the same relay IP. It would be possible to design a scheme with the application\-level requests forwarding (and we may do that later) but it would affect the performance. -.PP -================================= +.SH ================================= + .SH FILES /etc/turnserver.conf @@ -1216,8 +1216,8 @@ it would affect the performance. /var/lib/turn/turndb .PP /usr/local/etc/turnserver.conf -.PP -================================= +.SH ================================= + .SH DIRECTORIES /usr/local/share/\fIturnserver\fP @@ -1225,16 +1225,15 @@ it would affect the performance. /usr/local/share/doc/\fIturnserver\fP .PP /usr/local/share/examples/\fIturnserver\fP -.PP -================================= +.SH ================================= + .SH STANDARDS obsolete STUN RFC 3489 .PP new STUN RFC 5389 -.PP -TURN RFC 5766 -.PP +.SH TURN RFC 5766 + TURN\-TCP extension RFC 6062 .PP TURN IPv6 extension RFC 6156 @@ -1242,14 +1241,13 @@ TURN IPv6 extension RFC 6156 STUN/TURN test vectors RFC 5769 .PP STUN NAT behavior discovery RFC 5780 -.PP -================================= +.SH ================================= + .SH SEE ALSO \fIturnadmin\fP, \fIturnutils\fP -.RE -.PP -====================================== +.SH ====================================== + .SS WEB RESOURCES project page: @@ -1263,8 +1261,8 @@ https://github.com/coturn/coturn/wiki forum: .PP https://groups.google.com/forum/?fromgroups=#!forum/turn\-server\-project\-rfc5766\-turn\-server -.PP -====================================== +.SH ====================================== + .SS AUTHORS Oleg Moskalenko diff --git a/man/man1/turnutils.1 b/man/man1/turnutils.1 index d9bd86a..b3ba1fa 100644 --- a/man/man1/turnutils.1 +++ b/man/man1/turnutils.1 @@ -1,5 +1,5 @@ .\" Text automatically generated by txt2man -.TH TURN 1 "08 January 2021" "" "" +.TH TURN 1 "10 January 2021" "" "" .SH GENERAL INFORMATION A set of turnutils_* programs provides some utility functionality to be used @@ -63,8 +63,8 @@ script in examples/scripts/oauth.sh. .RE .PP -.RS -===================================== +.SH ===================================== + .SS NAME \fB \fBturnutils_uclient \fP\- this client emulation application is supplied for the test purposes only. @@ -276,8 +276,8 @@ the ORIGIN STUN attribute value. Bandwidth for the bandwidth request in ALLOCATE. The default value is zero. .PP See the examples in the "examples/scripts" directory. -.PP -====================================== +.SH ====================================== + .SS NAME \fB \fBturnutils_peer \fP\- a simple UDP\-only echo backend server. @@ -314,8 +314,8 @@ If no listener \fBaddress\fP(es) defined, then it listens on all IPv4 and IPv6 a .B \fB\-v\fP Verbose -.PP -======================================== +.SH ======================================== + .SS NAME \fB \fBturnutils_stunclient \fP\- a basic STUN client. @@ -354,8 +354,8 @@ and if it finds that the STUN server supports RFC 5780 requests with different parameters, to demonstrate the NAT discovery capabilities. .PP This utility does not support the "old" "classic" STUN protocol (RFC 3489). -.PP -===================================== +.SH ===================================== + .SS NAME \fB \fBturnutils_rfc5769check \fP\- a utility that tests the correctness of STUN protocol implementation. @@ -380,8 +380,8 @@ check procedure, it is not copied to the installation destination. Usage: .PP $ \fIturnutils_rfc5769check\fP -.PP -===================================== +.SH ===================================== + .SS NAME \fB \fBturnutils_natdiscovery \fP\- a utility that discovers NAT mapping and filtering @@ -462,8 +462,8 @@ Used by mapping lifetime behavior discovery Usage: .PP $ \fIturnutils_natdiscovery\fP \fB\-m\fP \fB\-f\fP stun.example.com -.PP -===================================== +.SH ===================================== + .SS NAME \fB \fBturnutils_oauth \fP\- a utility that helps OAuth access_token generation/encryption and validation/decyption @@ -568,8 +568,8 @@ stun client hmac algorithm Usage: .PP $ \fIturnutils_natdiscovery\fP -.PP -=================================== +.SH =================================== + .SH DOCS After installation, run the command: @@ -581,8 +581,8 @@ or in the project root directory: $ man \fB\-M\fP man \fIturnutils\fP .PP to see the man page. -.PP -===================================== +.SH ===================================== + .SH FILES /etc/turnserver.conf @@ -594,8 +594,8 @@ to see the man page. /var/lib/turn/turndb .PP /usr/local/etc/turnserver.conf -.PP -================================= +.SH ================================= + .SH DIRECTORIES /usr/local/share/\fIturnserver\fP @@ -603,14 +603,13 @@ to see the man page. /usr/local/share/doc/\fIturnserver\fP .PP /usr/local/share/examples/\fIturnserver\fP -.PP -=================================== +.SH =================================== + .SH STANDARDS new STUN RFC 5389 -.PP -TURN RFC 5766 -.PP +.SH TURN RFC 5766 + TURN\-TCP extension RFC 6062 .PP TURN IPv6 extension RFC 6156 @@ -618,14 +617,13 @@ TURN IPv6 extension RFC 6156 STUN/TURN test vectors RFC 5769 .PP STUN NAT behavior discovery RFC 5780 -.PP -==================================== +.SH ==================================== + .SH SEE ALSO \fIturnserver\fP, \fIturnadmin\fP -.RE -.PP -====================================== +.SH ====================================== + .SS WEB RESOURCES project page: @@ -639,9 +637,8 @@ https://github.com/coturn/coturn/wiki forum: .PP https://groups.google.com/forum/?fromgroups=#!forum/turn\-server\-project\-rfc5766\-turn\-server/ -.RE -.PP -====================================== +.SH ====================================== + .SS AUTHORS Oleg Moskalenko diff --git a/rpm/turnserver.service.fc b/rpm/turnserver.service.fc index 99f3e92..6eb53bd 100644 --- a/rpm/turnserver.service.fc +++ b/rpm/turnserver.service.fc @@ -8,7 +8,7 @@ User=turnserver Group=turnserver Type=notify EnvironmentFile=/etc/sysconfig/turnserver -ExecStart=/usr/bin/turnserver --systemd -c /etc/turnserver/turnserver.conf $EXTRA_OPTIONS +ExecStart=/usr/bin/turnserver -c /etc/turnserver/turnserver.conf $EXTRA_OPTIONS ExecStopPost=/usr/bin/rm -f /var/run/turnserver/turnserver.pid Restart=on-abort diff --git a/src/apps/relay/mainrelay.c b/src/apps/relay/mainrelay.c index 5a75cfd..2118b60 100644 --- a/src/apps/relay/mainrelay.c +++ b/src/apps/relay/mainrelay.c @@ -170,8 +170,7 @@ DEFAULT_CPUS_NUMBER, 0, /* no_dynamic_ip_list */ 0, /* no_dynamic_realms */ -0, /* log_binding */ -0 /* systemd */ +0 /* log_binding */ }; //////////////// OpenSSL Init ////////////////////// @@ -464,7 +463,6 @@ static char Usage[] = "Usage: turnserver [options]\n" " -v, --verbose 'Moderate' verbose mode.\n" " -V, --Verbose Extra verbose mode, very annoying (for debug purposes only).\n" " -o, --daemon Start process as daemon (detach from current shell).\n" -" --systemd Notify systemd about server status. (Use only in foreground!)\n" " --no-software-attribute Production mode: hide the software version (formerly --prod).\n" " -f, --fingerprint Use fingerprints in the TURN messages.\n" " -a, --lt-cred-mech Use the long-term credential mechanism.\n" @@ -815,8 +813,7 @@ enum EXTRA_OPTS { NO_HTTP_OPT, SECRET_KEY_OPT, ACME_REDIRECT_OPT, - LOG_BINDING_OPT, - SYSTEMD_OPT + LOG_BINDING_OPT }; struct myoption { @@ -952,7 +949,6 @@ static const struct myoption long_options[] = { { "keep-address-family", optional_argument, NULL, 'K' }, { "acme-redirect", required_argument, NULL, ACME_REDIRECT_OPT }, { "log-binding", optional_argument, NULL, LOG_BINDING_OPT }, - { "systemd", optional_argument, NULL, SYSTEMD_OPT }, { NULL, no_argument, NULL, 0 } }; @@ -1610,9 +1606,6 @@ static void set_option(int c, char *value) case LOG_BINDING_OPT: turn_params.log_binding = get_bool_value(value); break; - case SYSTEMD_OPT: - turn_params.systemd = get_bool_value(value); - break; /* these options have been already taken care of before: */ case 'l': diff --git a/src/apps/relay/mainrelay.h b/src/apps/relay/mainrelay.h index be46758..cf229fe 100644 --- a/src/apps/relay/mainrelay.h +++ b/src/apps/relay/mainrelay.h @@ -338,9 +338,6 @@ typedef struct _turn_params_ { int no_dynamic_realms; vint log_binding; - - vint systemd; - } turn_params_t; extern turn_params_t turn_params; diff --git a/src/apps/relay/netengine.c b/src/apps/relay/netengine.c index 1590dda..373840e 100644 --- a/src/apps/relay/netengine.c +++ b/src/apps/relay/netengine.c @@ -1591,7 +1591,6 @@ void run_listener_server(struct listener_server *ls) while (!turn_params.stop_turn_server) { #if !defined(TURN_NO_SYSTEMD) - if(turn_params.systemd) sd_notify (0, "READY=1"); #endif @@ -1607,7 +1606,6 @@ void run_listener_server(struct listener_server *ls) } #if !defined(TURN_NO_SYSTEMD) - if(turn_params.systemd) sd_notify (0, "STOPPING=1"); #endif }