From nobody Thu Jan 04 23:25:13 2024 X-Original-To: dev-commits-ports-main@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 4T5jP6052Bz55XSR; Thu, 4 Jan 2024 23:25:14 +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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4T5jP56yWtz4Vkl; Thu, 4 Jan 2024 23:25:13 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704410713; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ajjoNn0zNGaO+2/W+KQd/O2d5dBo4jos/KJ/QnDXPtY=; b=Mr7iFfOa7UUNsKOW5+WsBjAJY8EvKIHrEkeKPWzgrpz07qiXln5WI24zoOKNatl+1/9/L9 gLN7ENyFC64PTtjxPUK3MyD/XrT8K+mXhegvMk1hfZDa5sng5pDqdK66FRDlOTNR01l5aw k1yNrdW/TnCtn4OYRtWvRxl+X1t3dQHAX4xMTy1K237OHAuaeijq/s2dMrIXUnQ6H4X7QI VskrGUeE3aQ0LyEw3/uw2WEI1ENNlNIWzZyt0R7222gCe1lTwNnvhqU+uSkRMQJdX7z/mt jAOpKCWFu8eAUblyMbYWfsrubVqrWiSLeps4LmWDyzKuX8bPfqO4L4F+VPhAwA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704410713; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ajjoNn0zNGaO+2/W+KQd/O2d5dBo4jos/KJ/QnDXPtY=; b=DbnzkbKJ0RGTPhXr/m/+RPK+CxMbpcto31nfbfsV4ew+6083Td4GQbtul20T67ZE9ucOug GcDkNoT6MVhA11mSKupB9xhn0fS2fmIXNcvrHWAyET6mKByyOXsoQG3tnb8IcUUiUtV3OR yN4P3MEZyi0mmW9FS+ufzCdXDMkZyYTg0hu7YJiJHf+t+NkAehzw9VyQZNRmEYeVzlLDzi b9vEjmbHMHvEUV88lWB85hZGzKPv3GGZ8vSsLoSrDEmG7g1BqTzTj2KdXTnIoT3Pt8p1+4 xa2C7wkzzkDDdHDl+IANKKRX0JZg0MHKuixTCCqtwDCoOt4vXk9sEhcMG+8UXg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1704410713; a=rsa-sha256; cv=none; b=bHpY9wwDctiBexJk6oyn0bjOsXtpi7WVFDIkpS5f+nynFp6PRY0bEq28xPoZMb4Yggwqmo msiFx70LhdCRjDmMnwAqggYKSIfQyTCRN/c+cfo8+flB4J02004rseTm0auQ+Xm4xGBq36 awFjj1oJh4MSHGNvUbhzM+Hc95ZdB8q+yFYgI3dGLB1xkCTf6NEQoF4Fc45hlH/EBwEpiN 2j3kca3FO7NopW40X5tzLf59w38Rc3emnlaPpwYbbDpD6W69FVbzjObz7y1IgDpIi7C9/q K/lu54/ec40sdUcuj3J+N4Dzmb9EK/V0kVAfqZyv4j52VAYU31jr7bAEvg4wyw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (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 did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4T5jP560g7zZ6q; Thu, 4 Jan 2024 23:25:13 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 404NPD7v024604; Thu, 4 Jan 2024 23:25:13 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 404NPDaK024601; Thu, 4 Jan 2024 23:25:13 GMT (envelope-from git) Date: Thu, 4 Jan 2024 23:25:13 GMT Message-Id: <202401042325.404NPDaK024601@gitrepo.freebsd.org> To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org From: Dave Cottlehuber Subject: git: 51829949294f - main - net/eturnal: erlang-based TURN server (new port) List-Id: Commits to the main branch of the FreeBSD ports repository List-Archive: https://lists.freebsd.org/archives/dev-commits-ports-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-ports-main@freebsd.org X-BeenThere: dev-commits-ports-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dch X-Git-Repository: ports X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 51829949294f2fc73e7efc24bd0595bc083971a0 Auto-Submitted: auto-generated The branch main has been updated by dch: URL: https://cgit.FreeBSD.org/ports/commit/?id=51829949294f2fc73e7efc24bd0595bc083971a0 commit 51829949294f2fc73e7efc24bd0595bc083971a0 Author: Dave Cottlehuber AuthorDate: 2024-01-04 23:25:10 +0000 Commit: Dave Cottlehuber CommitDate: 2024-01-04 23:25:10 +0000 net/eturnal: erlang-based TURN server (new port) - appease portclippy - sort pkg-plist PR: 275114 Sponsored by: SkunkWerks, GmbH --- GIDs | 2 +- UIDs | 2 +- net/Makefile | 1 + net/eturnal/Makefile | 90 ++++++++++++++++++++++++ net/eturnal/distinfo | 33 +++++++++ net/eturnal/files/eturnal.in | 78 +++++++++++++++++++++ net/eturnal/files/patch-config_eturnal.yml | 13 ++++ net/eturnal/pkg-descr | 5 ++ net/eturnal/pkg-plist | 107 +++++++++++++++++++++++++++++ 9 files changed, 329 insertions(+), 2 deletions(-) diff --git a/GIDs b/GIDs index ebfa48fa4eeb..c9accb2ce7ce 100644 --- a/GIDs +++ b/GIDs @@ -287,7 +287,7 @@ openfire:*:342: # free: 344 # free: 345 # free: 346 -# free: 347 +eturnal:*:347: # free: 348 # free: 349 _sabnzbd:*:350: diff --git a/UIDs b/UIDs index 1f590ce112ba..82618ab8a00b 100644 --- a/UIDs +++ b/UIDs @@ -292,7 +292,7 @@ openfire:*:342:342::0:0:Openfire IM Daemon:/nonexistent:/usr/sbin/nologin # free: 344 # free: 345 # free: 346 -# free: 347 +eturnal:*:347:347::0:0:eturnal User:/var/spool/eturnal:/bin/sh # free: 348 # free: 349 _sabnzbd:*:350:350::0:0:sabnzb Daemon:/nonexistent:/usr/sbin/nologin diff --git a/net/Makefile b/net/Makefile index 04f9f6830c05..39a38cb7dc7b 100644 --- a/net/Makefile +++ b/net/Makefile @@ -145,6 +145,7 @@ SUBDIR += endlessh SUBDIR += enet SUBDIR += eternalterminal + SUBDIR += eturnal SUBDIR += evans SUBDIR += eventviews SUBDIR += exabgp4 diff --git a/net/eturnal/Makefile b/net/eturnal/Makefile new file mode 100644 index 000000000000..c73261245bcd --- /dev/null +++ b/net/eturnal/Makefile @@ -0,0 +1,90 @@ +PORTNAME= eturnal +DISTVERSION= 1.12.0 +CATEGORIES= net + +MAINTAINER= yzrh@noema.org +COMMENT= Modern, straightforward STUN and TURN server +WWW= https://eturnal.net/ + +LICENSE= APACHE20 + +LIB_DEPENDS= libyaml.so:textproc/libyaml + +USES= compiler:c11 cpe erlang:rebar3 ssl +CPE_VENDOR= process-one +USE_GITHUB= yes +GH_TUPLE= processone:eturnal:${DISTVERSION} \ + blt:port_compiler:${PC_VERSION}:pc/_checkouts/pc \ + ferd:recon:${RECON_VERSION}:recon/_checkouts/recon \ + deadtrickster:quantile_estimator:${QUANTILE_ESTIMATOR_VERSION}:quantile_estimator/_checkouts/quantile_estimator \ + processone:stun:${STUN_VERSION}:stun/_checkouts/stun \ + weiss:conf:${CONF_VERSION}:conf/_checkouts/conf \ + processone:yval:${YVAL_VERSION}:yval/_checkouts/yval \ + processone:fast_yaml:${FAST_YAML_VERSION}:fast_yaml/_checkouts/fast_yaml \ + processone:fast_tls:${FAST_TLS_VERSION}:fast_tls/_checkouts/fast_tls \ + processone:p1_utils:${P1_UTILS_VERSION}:p1_utils/_checkouts/p1_utils \ + palkan:influx_udp:${INFLUX_UDP_VERSION}:influx_udp/_checkouts/influx_udp \ + devinus:poolboy:${POOLBOY_VERSION}:poolboy/_checkouts/poolboy \ + palkan:ulitos:${ULITOS_VERSION}:ulitos/_checkouts/ulitos \ + deadtrickster:prometheus-httpd:${PROMETHEUS_HTTPD_VERSION}:prometheus_httpd/_checkouts/prometheus_httpd \ + deadtrickster:prometheus.erl:${PROMETHEUS_VERSION}:prometheus/_checkouts/prometheus \ + deadtrickster:accept:${ACCEPT_VERSION}:accept/_checkouts/accept +USE_RC_SUBR= ${PORTNAME} + +# USES=erlang related variables +REBAR_PROFILE= distro +REBAR_TARGETS= release + +USERS= ${PORTNAME} +GROUPS= ${USERS} + +.ifnmake portclippy +ACCEPT_VERSION= 897dfca # 0.3.5 +CONF_VERSION= 1d80a8b # 0.2.6 +FAST_TLS_VERSION= 1.1.16 +FAST_YAML_VERSION= 1.0.36 +INFLUX_UDP_VERSION= c744ccf # 1.1.2 +P1_UTILS_VERSION= 1.0.25 +PC_VERSION= 3c62162 # 1.14.0 +POOLBOY_VERSION= 1.5.2 +PROMETHEUS_HTTPD_VERSION= b1ae3bc # 2.1.11 +PROMETHEUS_VERSION= b78e17e # 4.10.0 +QUANTILE_ESTIMATOR_VERSION= eeea7c7 # 0.2.1 +RECON_VERSION= 2.5.4 +STUN_VERSION= 1.2.9 +ULITOS_VERSION= 0.4.0 +YVAL_VERSION= 1.0.10 +.endif + +post-patch: + ${REINPLACE_CMD} -e 's|/opt/eturnal|${LOCALBASE}/lib/eturnal|' \ + -e 's|/etc|${LOCALBASE}/etc/eturnal|' \ + -e 's|static|dynamic|' \ + ${WRKSRC}/build.config + ${REINPLACE_CMD} 's|-/etc|-${LOCALBASE}/etc/eturnal|' \ + ${WRKSRC}/overlay/eturnalctl + +do-install: + @${MKDIR} ${STAGEDIR}${PREFIX}/lib/eturnal + cd ${WRKSRC}/_build/${REBAR_PROFILE}/rel/eturnal && ${COPYTREE_BIN} bin \ + ${STAGEDIR}${PREFIX}/lib/eturnal/ + cd ${WRKSRC}/_build/${REBAR_PROFILE}/rel/eturnal && ${COPYTREE_SHARE} lib \ + ${STAGEDIR}${PREFIX}/lib/eturnal/ + cd ${WRKSRC}/_build/${REBAR_PROFILE}/rel/eturnal && ${COPYTREE_SHARE} releases \ + ${STAGEDIR}${PREFIX}/lib/eturnal/ + ${REINPLACE_CMD} 's|__erts_dir="$$RELEASE_ROOT_DIR/erts-$$ERTS_VSN"|__erts_dir="${LOCALBASE}/lib/erlang/erts-$$ERTS_VSN"|' \ + ${STAGEDIR}${PREFIX}/lib/eturnal/bin/eturnal + +post-install: + ${MKDIR} ${STAGEDIR}${PREFIX}/etc/eturnal + ${INSTALL_DATA} ${WRKSRC}/_build/${REBAR_PROFILE}/rel/eturnal/etc/eturnal.yml \ + ${STAGEDIR}${PREFIX}/etc/eturnal/eturnal.yml.sample + ${MKDIR} ${STAGEDIR}${DOCSDIR} + ${INSTALL_DATA} ${WRKSRC}/_build/${REBAR_PROFILE}/rel/eturnal/doc/README.md \ + ${STAGEDIR}${DOCSDIR}/ + ${RLN} ${STAGEDIR}${PREFIX}/lib/eturnal/bin/eturnalctl \ + ${STAGEDIR}${PREFIX}/sbin/eturnalctl + ${MKDIR} ${STAGEDIR}/var/log/eturnal + ${FIND} ${STAGEDIR}${PREFIX}/lib/eturnal/lib -type f -name '*.so' -exec ${STRIP_CMD} {} + + +.include diff --git a/net/eturnal/distinfo b/net/eturnal/distinfo new file mode 100644 index 000000000000..514d3d9fece1 --- /dev/null +++ b/net/eturnal/distinfo @@ -0,0 +1,33 @@ +TIMESTAMP = 1704409305 +SHA256 (processone-eturnal-1.12.0_GH0.tar.gz) = e8e3be145a8e1c0c62c118c642fc7feb6168f2deff3f47df5d8d9569b43484b4 +SIZE (processone-eturnal-1.12.0_GH0.tar.gz) = 139407 +SHA256 (blt-port_compiler-3c62162_GH0.tar.gz) = 8084ca2a8c366b29bc146564b71991af94468ef18d79ad508236d14fb1ff0fd3 +SIZE (blt-port_compiler-3c62162_GH0.tar.gz) = 13989 +SHA256 (ferd-recon-2.5.4_GH0.tar.gz) = a9a750f64ac82133ce33ba16df3510bf4cf0012858429ca6290075d4a4ef7192 +SIZE (ferd-recon-2.5.4_GH0.tar.gz) = 53397 +SHA256 (deadtrickster-quantile_estimator-eeea7c7_GH0.tar.gz) = b1b552f2a650cb5ecb1aa5486b07d20176460c72bb3836aff59e00ba3d80fbd9 +SIZE (deadtrickster-quantile_estimator-eeea7c7_GH0.tar.gz) = 919517 +SHA256 (processone-stun-1.2.9_GH0.tar.gz) = d3ebd81a35fc7fd26fd4415e371d371a68ef2d690504c5193b5c544023631281 +SIZE (processone-stun-1.2.9_GH0.tar.gz) = 42490 +SHA256 (weiss-conf-1d80a8b_GH0.tar.gz) = e331c5613faec75d138455a931511b050a529547e3b719530e69b3e4baba79dd +SIZE (weiss-conf-1d80a8b_GH0.tar.gz) = 23211 +SHA256 (processone-yval-1.0.10_GH0.tar.gz) = cfecec24e5a23f354e5539fb1c35b25da50309879a654d41a6000154b6c437b6 +SIZE (processone-yval-1.0.10_GH0.tar.gz) = 18477 +SHA256 (processone-fast_yaml-1.0.36_GH0.tar.gz) = 6794470ef35fb3985c4e9aa0ed8d3a0b44e7a5c7bf4c5a1efbeca42060db6806 +SIZE (processone-fast_yaml-1.0.36_GH0.tar.gz) = 60410 +SHA256 (processone-fast_tls-1.1.16_GH0.tar.gz) = 8c38768998e8ee0aa2bf5831bc25deeb4ea2e08bd52e26b2abfd654504fbe4f9 +SIZE (processone-fast_tls-1.1.16_GH0.tar.gz) = 83971 +SHA256 (processone-p1_utils-1.0.25_GH0.tar.gz) = c62f93ab5ea8d9251d9acda2abf576352d50f4a3299972549180a5387656746a +SIZE (processone-p1_utils-1.0.25_GH0.tar.gz) = 47802 +SHA256 (palkan-influx_udp-c744ccf_GH0.tar.gz) = 6c5d8159e9a9ff0723b86da6d4929399618645e6a5509161e8da66378583bca9 +SIZE (palkan-influx_udp-c744ccf_GH0.tar.gz) = 12580 +SHA256 (devinus-poolboy-1.5.2_GH0.tar.gz) = ee4684c0de73782ddb7682aa257bf9e1bfaec6276d92ac53ab044a0983e111e3 +SIZE (devinus-poolboy-1.5.2_GH0.tar.gz) = 1126991 +SHA256 (palkan-ulitos-0.4.0_GH0.tar.gz) = 53b49024dc4c9a2bfb7d74a53fb31ae3c8ee752089233de45b3f365ee0acd499 +SIZE (palkan-ulitos-0.4.0_GH0.tar.gz) = 5204 +SHA256 (deadtrickster-prometheus-httpd-b1ae3bc_GH0.tar.gz) = e82746e423d75f6fc5cc6afca7f9d82e123b46935d88496e2abefc0fbf793fee +SIZE (deadtrickster-prometheus-httpd-b1ae3bc_GH0.tar.gz) = 17341 +SHA256 (deadtrickster-prometheus.erl-b78e17e_GH0.tar.gz) = 4b071e2a569e67cc22f804aeb31ca368f5cb1dcbe5e021e0992bb2915e1d4e6c +SIZE (deadtrickster-prometheus.erl-b78e17e_GH0.tar.gz) = 103642 +SHA256 (deadtrickster-accept-897dfca_GH0.tar.gz) = 0ae80f35e86e06ea89634d1feb486835c4210c48b1472b0f245dbd05678f7577 +SIZE (deadtrickster-accept-897dfca_GH0.tar.gz) = 758745 diff --git a/net/eturnal/files/eturnal.in b/net/eturnal/files/eturnal.in new file mode 100644 index 000000000000..ed33dc4d585c --- /dev/null +++ b/net/eturnal/files/eturnal.in @@ -0,0 +1,78 @@ +#! /bin/sh + +# PROVIDE: eturnal +# REQUIRE: DAEMON +# BEFORE: LOGIN +# KEYWORD: shutdown + +# Define these eturnal_* variables in one of these files: +# /etc/rc.conf +# /etc/rc.conf.local +# /etc/rc.conf.d/eturnal +# +# DO NOT CHANGE THESE DEFAULT VALUES HERE +# +eturnal_enable=${eturnal_enable-"NO"} +eturnal_epmd_address=${eturnal_epmd_address-"127.0.0.1"} +eturnal_log_dir=${eturnal_log_dir-"/var/log/eturnal"} + +. /etc/rc.subr + +name="eturnal" +rcvar=eturnal_enable + +reload_cmd="eturnal_reload" +restart_cmd="eturnal_reload" +start_cmd="eturnal_start" +status_cmd="eturnal_status" +stop_cmd="eturnal_stop" + +extra_commands="reload status" + +ETURNALCTL=%%PREFIX%%/sbin/eturnalctl +ETURNALUSER=eturnal + +eturnal_status() +{ + if eturnal_checkstatus; then + echo "$name is running." + else + echo "$name is not running." + return 1 + fi +} + +eturnal_checkstatus() +{ + su $ETURNALUSER -c "env ERL_EPMD_ADDRESS=\"${eturnal_epmd_address}\" RUNNER_LOG_DIR=\"${eturnal_log_dir}\" $ETURNALCTL status > /dev/null" +} + +eturnal_start() +{ + echo "Starting $name." + su $ETURNALUSER -c "env ERL_EPMD_ADDRESS=\"${eturnal_epmd_address}\" RUNNER_LOG_DIR=\"${eturnal_log_dir}\" $ETURNALCTL daemon" +} + +eturnal_stop() +{ + echo "Stopping $name." + if su $ETURNALUSER -c "env ERL_EPMD_ADDRESS=\"${eturnal_epmd_address}\" RUNNER_LOG_DIR=\"${eturnal_log_dir}\" $ETURNALCTL stop"; then +# sleep 2 +# killall -u eturnal -kill + else + _run_rc_notrunning + fi +} + +eturnal_reload() +{ + echo "Restarting $name." + if eturnal_checkstatus; then + su $ETURNALUSER -c "env ERL_EPMD_ADDRESS=\"${eturnal_epmd_address}\" RUNNER_LOG_DIR=\"${eturnal_log_dir}\" $ETURNALCTL reload" + else + eturnal_start + fi +} + +load_rc_config $name +run_rc_command "$1" diff --git a/net/eturnal/files/patch-config_eturnal.yml b/net/eturnal/files/patch-config_eturnal.yml new file mode 100644 index 000000000000..ebd6bb186cb7 --- /dev/null +++ b/net/eturnal/files/patch-config_eturnal.yml @@ -0,0 +1,13 @@ +--- config/eturnal.yml.orig 2023-09-28 08:04:22 UTC ++++ config/eturnal.yml +@@ -7,6 +7,10 @@ + + eturnal: + ++ ## Minimum configuration needed for FreeBSD file system hierarchy. ++ log_dir: /var/log/eturnal ++ run_dir: /var/spool/eturnal ++ + ## Shared secret for deriving temporary TURN credentials (default: $RANDOM): + #secret: "long-and-cryptic" + diff --git a/net/eturnal/pkg-descr b/net/eturnal/pkg-descr new file mode 100644 index 000000000000..5ad0ae981b9e --- /dev/null +++ b/net/eturnal/pkg-descr @@ -0,0 +1,5 @@ +eturnal is a clean, scalable STUN and TURN server for Unix-like +operating systems and Microsoft Windows. Clients can connect using +UDP, TCP, or TLS over IPv4 or IPv6. For authentication, eturnal +supports the mechanism described in the REST API for Access to TURN +Services specification (in addition to static credentials). diff --git a/net/eturnal/pkg-plist b/net/eturnal/pkg-plist new file mode 100644 index 000000000000..269ef13036d9 --- /dev/null +++ b/net/eturnal/pkg-plist @@ -0,0 +1,107 @@ +@dir(eturnal,eturnal,750) /var/log/eturnal +@sample %%ETCDIR%%/eturnal.yml.sample +lib/eturnal/bin/eturnal +lib/eturnal/bin/eturnal-%%VERSION%% +lib/eturnal/bin/eturnalctl +lib/eturnal/bin/extensions/credentials +lib/eturnal/bin/extensions/disconnect +lib/eturnal/bin/extensions/info +lib/eturnal/bin/extensions/loglevel +lib/eturnal/bin/extensions/password +lib/eturnal/bin/extensions/reload +lib/eturnal/bin/extensions/sessions +lib/eturnal/bin/extensions/version +lib/eturnal/bin/hooks/builtin/wait_for_process +lib/eturnal/bin/hooks/post_stop +lib/eturnal/bin/hooks/pre_start +lib/eturnal/bin/install_upgrade.escript +lib/eturnal/bin/no_dot_erlang.boot +lib/eturnal/bin/nodetool +lib/eturnal/lib/conf-0.2.6/ebin/conf_backend.beam +lib/eturnal/lib/conf-0.2.6/ebin/conf_env.beam +lib/eturnal/lib/conf-0.2.6/ebin/conf_file.beam +lib/eturnal/lib/conf-0.2.6/ebin/conf_http.beam +lib/eturnal/lib/conf-0.2.6/ebin/conf_misc.beam +lib/eturnal/lib/conf-0.2.6/ebin/conf_sup.beam +lib/eturnal/lib/conf-0.2.6/ebin/conf_yaml_backend.beam +lib/eturnal/lib/conf-0.2.6/ebin/conf.app +lib/eturnal/lib/conf-0.2.6/ebin/conf.beam +lib/eturnal/lib/conf-0.2.6/ebin/crypto_yaml.beam +lib/eturnal/lib/conf-0.2.6/ebin/kernel_yaml.beam +lib/eturnal/lib/conf-0.2.6/ebin/mnesia_yaml.beam +lib/eturnal/lib/conf-0.2.6/ebin/odbc_yaml.beam +lib/eturnal/lib/conf-0.2.6/ebin/os_mon_yaml.beam +lib/eturnal/lib/conf-0.2.6/ebin/runtime_tools_yaml.beam +lib/eturnal/lib/conf-0.2.6/ebin/sasl_yaml.beam +lib/eturnal/lib/conf-0.2.6/ebin/ssl_yaml.beam +lib/eturnal/lib/conf-0.2.6/ebin/stdlib_yaml.beam +lib/eturnal/lib/eturnal-%%VERSION%%/ebin/eturnal_app.beam +lib/eturnal/lib/eturnal-%%VERSION%%/ebin/eturnal_cert.beam +lib/eturnal/lib/eturnal-%%VERSION%%/ebin/eturnal_ctl.beam +lib/eturnal/lib/eturnal-%%VERSION%%/ebin/eturnal_logger.beam +lib/eturnal/lib/eturnal-%%VERSION%%/ebin/eturnal_misc.beam +lib/eturnal/lib/eturnal-%%VERSION%%/ebin/eturnal_module.beam +lib/eturnal/lib/eturnal-%%VERSION%%/ebin/eturnal_sup.beam +lib/eturnal/lib/eturnal-%%VERSION%%/ebin/eturnal_systemd.beam +lib/eturnal/lib/eturnal-%%VERSION%%/ebin/eturnal_yaml.beam +lib/eturnal/lib/eturnal-%%VERSION%%/ebin/eturnal.app +lib/eturnal/lib/eturnal-%%VERSION%%/ebin/eturnal.beam +lib/eturnal/lib/eturnal-%%VERSION%%/ebin/mod_log_stun.beam +lib/eturnal/lib/eturnal-%%VERSION%%/ebin/mod_stats_influx.beam +lib/eturnal/lib/eturnal-%%VERSION%%/ebin/mod_stats_prometheus.beam +lib/eturnal/lib/fast_tls-1.1.16/ebin/fast_tls.app +lib/eturnal/lib/fast_tls-1.1.16/ebin/fast_tls.beam +lib/eturnal/lib/fast_tls-1.1.16/ebin/p1_sha.beam +lib/eturnal/lib/fast_tls-1.1.16/priv/lib/fast_tls.so +lib/eturnal/lib/fast_tls-1.1.16/priv/lib/p1_sha.so +lib/eturnal/lib/fast_yaml-1.0.36/ebin/fast_yaml_app.beam +lib/eturnal/lib/fast_yaml-1.0.36/ebin/fast_yaml_sup.beam +lib/eturnal/lib/fast_yaml-1.0.36/ebin/fast_yaml.app +lib/eturnal/lib/fast_yaml-1.0.36/ebin/fast_yaml.beam +lib/eturnal/lib/fast_yaml-1.0.36/priv/lib/fast_yaml.so +lib/eturnal/lib/p1_utils-1.0.25/ebin/p1_file_queue.beam +lib/eturnal/lib/p1_utils-1.0.25/ebin/p1_fsm.beam +lib/eturnal/lib/p1_utils-1.0.25/ebin/p1_http.beam +lib/eturnal/lib/p1_utils-1.0.25/ebin/p1_nif_utils.beam +lib/eturnal/lib/p1_utils-1.0.25/ebin/p1_options.beam +lib/eturnal/lib/p1_utils-1.0.25/ebin/p1_prof.beam +lib/eturnal/lib/p1_utils-1.0.25/ebin/p1_proxy_protocol.beam +lib/eturnal/lib/p1_utils-1.0.25/ebin/p1_queue.beam +lib/eturnal/lib/p1_utils-1.0.25/ebin/p1_rand.beam +lib/eturnal/lib/p1_utils-1.0.25/ebin/p1_server.beam +lib/eturnal/lib/p1_utils-1.0.25/ebin/p1_shaper.beam +lib/eturnal/lib/p1_utils-1.0.25/ebin/p1_time_compat.beam +lib/eturnal/lib/p1_utils-1.0.25/ebin/p1_utils_sup.beam +lib/eturnal/lib/p1_utils-1.0.25/ebin/p1_utils.app +lib/eturnal/lib/p1_utils-1.0.25/ebin/p1_utils.beam +lib/eturnal/lib/p1_utils-1.0.25/ebin/treap.beam +lib/eturnal/lib/p1_utils-1.0.25/include/p1_queue.hrl +lib/eturnal/lib/stun-1.2.9/ebin/stun_acceptor_sup.beam +lib/eturnal/lib/stun-1.2.9/ebin/stun_acceptor.beam +lib/eturnal/lib/stun-1.2.9/ebin/stun_app.beam +lib/eturnal/lib/stun-1.2.9/ebin/stun_codec.beam +lib/eturnal/lib/stun-1.2.9/ebin/stun_listener_sup.beam +lib/eturnal/lib/stun-1.2.9/ebin/stun_listener.beam +lib/eturnal/lib/stun-1.2.9/ebin/stun_logger.beam +lib/eturnal/lib/stun-1.2.9/ebin/stun_shaper.beam +lib/eturnal/lib/stun-1.2.9/ebin/stun_sup.beam +lib/eturnal/lib/stun-1.2.9/ebin/stun_test.beam +lib/eturnal/lib/stun-1.2.9/ebin/stun_tmp_sup.beam +lib/eturnal/lib/stun-1.2.9/ebin/stun.app +lib/eturnal/lib/stun-1.2.9/ebin/stun.beam +lib/eturnal/lib/stun-1.2.9/ebin/turn_sm.beam +lib/eturnal/lib/stun-1.2.9/ebin/turn_tmp_sup.beam +lib/eturnal/lib/stun-1.2.9/ebin/turn.beam +lib/eturnal/lib/stun-1.2.9/include/stun_logger.hrl +lib/eturnal/lib/stun-1.2.9/include/stun.hrl +lib/eturnal/lib/yval-1.0.10/ebin/yval.app +lib/eturnal/lib/yval-1.0.10/ebin/yval.beam +lib/eturnal/releases/%%VERSION%%/eturnal.rel +lib/eturnal/releases/%%VERSION%%/no_dot_erlang.boot +lib/eturnal/releases/%%VERSION%%/start_clean.boot +lib/eturnal/releases/%%VERSION%%/start.boot +lib/eturnal/releases/%%VERSION%%/start.script +lib/eturnal/releases/%%VERSION%%/sys.config +lib/eturnal/releases/%%VERSION%%/vm.args +lib/eturnal/releases/start_erl.data +sbin/eturnalctl