restund: remove package
Removing as upstream dropped the project. Users can use coturn instead. Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
This commit is contained in:
parent
51e62de182
commit
b508e76300
7 changed files with 0 additions and 350 deletions
|
@ -1,141 +0,0 @@
|
|||
#
|
||||
# Copyright (C) 2010-2017 OpenWrt.org
|
||||
# Copyright (C) 2010 Alfred E. Heggestad
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=restund
|
||||
PKG_VERSION:=0.4.12
|
||||
PKG_RELEASE:=9
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||
PKG_SOURCE_URL:=http://www.creytiv.com/pub
|
||||
PKG_HASH:=3170441dc882352ab0275556b6fc889b38b14203d936071b5fa12f39a5c86d47
|
||||
|
||||
PKG_LICENSE:=BSD-3-Clause
|
||||
PKG_LICENSE_FILES:=docs/COPYING
|
||||
PKG_MAINTAINER:=Jiri Slachta <jiri@slachta.eu>
|
||||
|
||||
PKG_BUILD_PARALLEL:=1
|
||||
PKG_INSTALL:=1
|
||||
|
||||
restund-mods:=mysql
|
||||
|
||||
PKG_CONFIG_DEPENDS:=$(patsubst %,CONFIG_PACKAGE_restund-mod-%,$(restund-mods))
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
define Package/restund/Default
|
||||
SECTION:=net
|
||||
CATEGORY:=Network
|
||||
SUBMENU:=Telephony
|
||||
URL:=http://www.creytiv.com
|
||||
endef
|
||||
|
||||
define Package/restund
|
||||
$(call Package/restund/Default)
|
||||
TITLE:=Modular STUN/TURN server
|
||||
DEPENDS:=+libre
|
||||
USERID:=$(PKG_NAME)=373:$(PKG_NAME)=373
|
||||
endef
|
||||
|
||||
restund-mod-mysql:=USE_MYSQL
|
||||
|
||||
RESTUND_MOD_OPTIONS:= \
|
||||
$(foreach m,$(restund-mods),$(restund-mod-$(m))=$(if $(CONFIG_PACKAGE_restund-mod-$(m)),1))
|
||||
|
||||
MAKE_FLAGS+= \
|
||||
CROSS_COMPILE="$(TARGET_CROSS)" \
|
||||
EXTRA_LFLAGS="$(TARGET_LDFLAGS)" \
|
||||
LD="$(TARGET_CC)" \
|
||||
LIBRE_MK="$(STAGING_DIR)/usr/share/re/re.mk" \
|
||||
LIBRE_INC="$(STAGING_DIR)/usr/include/re" \
|
||||
LIBRE_SO="$(STAGING_DIR)/usr/lib" \
|
||||
OS=linux \
|
||||
RELEASE=1 \
|
||||
SYSROOT="$(shell $(FIND) $(TOOLCHAIN_DIR) -path '*/include/pthread.h' | sed -ne '1s|/include/pthread.h||p')" \
|
||||
SYSROOT_ALT="$(STAGING_DIR)/usr" \
|
||||
$(RESTUND_MOD_OPTIONS)
|
||||
|
||||
define Package/restund/install
|
||||
$(INSTALL_DIR) $(1)/usr/sbin
|
||||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/restund $(1)/usr/sbin
|
||||
$(INSTALL_DIR) $(1)/usr/lib/restund/modules
|
||||
$(INSTALL_DATA) \
|
||||
$(PKG_INSTALL_DIR)/usr/lib/restund/modules/auth.so \
|
||||
$(PKG_INSTALL_DIR)/usr/lib/restund/modules/binding.so \
|
||||
$(PKG_INSTALL_DIR)/usr/lib/restund/modules/filedb.so \
|
||||
$(PKG_INSTALL_DIR)/usr/lib/restund/modules/restauth.so \
|
||||
$(PKG_INSTALL_DIR)/usr/lib/restund/modules/stat.so \
|
||||
$(PKG_INSTALL_DIR)/usr/lib/restund/modules/status.so \
|
||||
$(PKG_INSTALL_DIR)/usr/lib/restund/modules/syslog.so \
|
||||
$(PKG_INSTALL_DIR)/usr/lib/restund/modules/turn.so \
|
||||
$(1)/usr/lib/restund/modules
|
||||
$(INSTALL_DIR) $(1)/etc
|
||||
$(INSTALL_DATA) $(PKG_BUILD_DIR)/etc/restund.conf $(1)/etc
|
||||
$(SED) \
|
||||
's|^\(module_path\)\([ \t]\+\).*$$$$|\1\2/usr/lib/restund/modules|g' \
|
||||
$(1)/etc/restund.conf
|
||||
$(INSTALL_DIR) $(1)/etc/default
|
||||
$(INSTALL_CONF) ./files/restund.default $(1)/etc/default/restund
|
||||
$(INSTALL_DIR) $(1)/etc/init.d
|
||||
$(INSTALL_BIN) ./files/restund.init $(1)/etc/init.d/restund
|
||||
endef
|
||||
|
||||
define Package/restund/conffiles
|
||||
/etc/default/restund
|
||||
/etc/init.d/restund
|
||||
/etc/restund.conf
|
||||
endef
|
||||
|
||||
define Package/restund/postinst
|
||||
#!/bin/sh
|
||||
if [ -z "$${IPKG_INSTROOT}" ]; then
|
||||
echo
|
||||
echo "o-------------------------------------------------------------------o"
|
||||
echo "| restund note |"
|
||||
echo "o-------------------------------------------------------------------o"
|
||||
echo "| restund has been dropped upstream and will be deleted from the |"
|
||||
echo "| OpenWrt telephony feed in February 2022. |"
|
||||
echo "| |"
|
||||
echo "| You may want to migrate to the coturn package, which provides |"
|
||||
echo "| turnserver. |"
|
||||
echo "o-------------------------------------------------------------=^_^=-o"
|
||||
echo
|
||||
fi
|
||||
exit 0
|
||||
endef
|
||||
|
||||
#
|
||||
# 1. Name
|
||||
# 2. Title
|
||||
# 3. Files
|
||||
# 4. Depends
|
||||
#
|
||||
define BuildPlugin
|
||||
|
||||
define Package/restund-mod-$(1)
|
||||
$$(call Package/restund/Default)
|
||||
TITLE:=restund $(2) module
|
||||
DEPENDS:=restund $(patsubst +%,+PACKAGE_$(PKG_NAME)-mod-$(1):%,$(4))
|
||||
endef
|
||||
|
||||
define Package/restund-mod-$(1)/install
|
||||
[ -z "$(3)" ] || $(INSTALL_DIR) $$(1)/usr/lib/restund/modules
|
||||
for f in $(3); do \
|
||||
$(INSTALL_DATA) \
|
||||
$(PKG_INSTALL_DIR)/usr/lib/restund/modules/$$$$$$$${f}.so \
|
||||
$$(1)/usr/lib/restund/modules; \
|
||||
done
|
||||
endef
|
||||
|
||||
$$(eval $$(call BuildPackage,restund-mod-$(1)))
|
||||
endef
|
||||
|
||||
$(eval $(call BuildPackage,restund))
|
||||
|
||||
$(eval $(call BuildPlugin,mysql,MySQL database backend,mysql_ser,+libmysqlclient))
|
|
@ -1,8 +0,0 @@
|
|||
### restund init configuration ###
|
||||
|
||||
# Uncomment once you verified your configuration, otherwise the init script will
|
||||
# not start restund.
|
||||
#ENABLE_RESTUND="yes"
|
||||
|
||||
# The following is added to the command line when starting restund:
|
||||
OPTIONS=""
|
|
@ -1,39 +0,0 @@
|
|||
#!/bin/sh /etc/rc.common
|
||||
# Copyright (C) 2017 OpenWrt.org
|
||||
|
||||
START=60
|
||||
|
||||
USE_PROCD=1
|
||||
|
||||
#PROCD_DEBUG=1
|
||||
|
||||
DAEMON=restund
|
||||
DEFAULT=/etc/default/$DAEMON
|
||||
LOGGER="/usr/bin/logger -p user.err -s -t $DAEMON"
|
||||
OPTIONS=
|
||||
PROG=/usr/sbin/$DAEMON
|
||||
|
||||
[ -f $DEFAULT ] && . $DEFAULT
|
||||
|
||||
start_service() {
|
||||
local dir=
|
||||
|
||||
if [ "$ENABLE_RESTUND" != yes ]; then
|
||||
$LOGGER User configuration incomplete - not starting $DAEMON
|
||||
$LOGGER Check ENABLE_RESTUND in $DEFAULT
|
||||
exit 1
|
||||
fi
|
||||
|
||||
procd_open_instance
|
||||
procd_set_param command $PROG
|
||||
procd_append_param command \
|
||||
-n \
|
||||
$OPTIONS
|
||||
procd_set_param pidfile /var/run/${DAEMON}.pid
|
||||
# forward stderr to logd
|
||||
procd_set_param stderr 1
|
||||
# forward stdout to logd
|
||||
procd_set_param stdout 1
|
||||
procd_set_param user $DAEMON
|
||||
procd_close_instance
|
||||
}
|
|
@ -1,12 +0,0 @@
|
|||
--- a/modules/status/status.c
|
||||
+++ b/modules/status/status.c
|
||||
@@ -30,9 +30,6 @@ static void server_info(struct mbuf *mb)
|
||||
mbuf_write_str(mb, "<table>\n");
|
||||
mbuf_write_str(mb,
|
||||
" <tr><td>Version:</td><td>" VERSION "</td></tr>\n");
|
||||
- mbuf_write_str(mb,
|
||||
- " <tr><td>Built:</td><td>" __DATE__ " " __TIME__
|
||||
- "</td></tr>\n");
|
||||
mbuf_printf(mb, " <tr><td>Uptime:</td><td>%H</td></tr>\n",
|
||||
fmt_human_time, &uptime);
|
||||
mbuf_write_str(mb, "</table>\n");
|
|
@ -1,69 +0,0 @@
|
|||
From ffa2d56cac3d37715fe1381df81802774240da92 Mon Sep 17 00:00:00 2001
|
||||
From: Dusan Stevanovic <dule@wire.com>
|
||||
Date: Thu, 11 Mar 2021 10:58:32 +0100
|
||||
Subject: [PATCH] turn: block forwarding to loopback/any
|
||||
|
||||
---
|
||||
modules/turn/turn.c | 18 ++++++++++++++----
|
||||
1 file changed, 14 insertions(+), 4 deletions(-)
|
||||
|
||||
--- a/modules/turn/turn.c
|
||||
+++ b/modules/turn/turn.c
|
||||
@@ -153,6 +153,7 @@ static bool indication_handler(struct re
|
||||
struct stun_attr *data, *peer;
|
||||
struct allocation *al;
|
||||
struct perm *perm;
|
||||
+ const struct sa *psa;
|
||||
int err;
|
||||
(void)sock;
|
||||
(void)ctx;
|
||||
@@ -173,13 +174,17 @@ static bool indication_handler(struct re
|
||||
if (!peer || !data)
|
||||
return true;
|
||||
|
||||
- perm = perm_find(al->perms, &peer->v.xor_peer_addr);
|
||||
+ psa = &peer->v.xor_peer_addr;
|
||||
+ perm = perm_find(al->perms, psa);
|
||||
if (!perm) {
|
||||
++al->dropc_tx;
|
||||
return true;
|
||||
}
|
||||
|
||||
- err = udp_send(al->rel_us, &peer->v.xor_peer_addr, &data->v.data);
|
||||
+ if (sa_is_loopback(psa) || sa_is_any(psa))
|
||||
+ err = EPERM;
|
||||
+ else
|
||||
+ err = udp_send(al->rel_us, psa, &data->v.data);
|
||||
if (err)
|
||||
turnd.errc_tx++;
|
||||
else {
|
||||
@@ -200,6 +205,7 @@ static bool raw_handler(int proto, const
|
||||
uint16_t numb, len;
|
||||
struct perm *perm;
|
||||
struct chan *chan;
|
||||
+ const struct sa *psa;
|
||||
int err;
|
||||
|
||||
al = allocation_find(proto, src, dst);
|
||||
@@ -219,7 +225,8 @@ static bool raw_handler(int proto, const
|
||||
if (!chan)
|
||||
return false;
|
||||
|
||||
- perm = perm_find(al->perms, chan_peer(chan));
|
||||
+ psa = chan_peer(chan);
|
||||
+ perm = perm_find(al->perms, psa);
|
||||
if (!perm) {
|
||||
++al->dropc_tx;
|
||||
return false;
|
||||
@@ -227,7 +234,10 @@ static bool raw_handler(int proto, const
|
||||
|
||||
mb->end = mb->pos + len;
|
||||
|
||||
- err = udp_send(al->rel_us, chan_peer(chan), mb);
|
||||
+ if (sa_is_loopback(psa) || sa_is_any(psa))
|
||||
+ err = EPERM;
|
||||
+ else
|
||||
+ err = udp_send(al->rel_us, psa, mb);
|
||||
if (err)
|
||||
turnd.errc_tx++;
|
||||
else {
|
|
@ -1,29 +0,0 @@
|
|||
From e2f4094e23c73d4563a55f0de72244f34bb5b702 Mon Sep 17 00:00:00 2001
|
||||
From: Dusan Stevanovic <dule@wire.com>
|
||||
Date: Thu, 11 Mar 2021 11:53:50 +0100
|
||||
Subject: [PATCH] turn: also don't forward linklocal addresses
|
||||
|
||||
---
|
||||
modules/turn/turn.c | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
--- a/modules/turn/turn.c
|
||||
+++ b/modules/turn/turn.c
|
||||
@@ -181,7 +181,7 @@ static bool indication_handler(struct re
|
||||
return true;
|
||||
}
|
||||
|
||||
- if (sa_is_loopback(psa) || sa_is_any(psa))
|
||||
+ if (sa_is_loopback(psa) || sa_is_any(psa) || sa_is_linklocal(psa))
|
||||
err = EPERM;
|
||||
else
|
||||
err = udp_send(al->rel_us, psa, &data->v.data);
|
||||
@@ -234,7 +234,7 @@ static bool raw_handler(int proto, const
|
||||
|
||||
mb->end = mb->pos + len;
|
||||
|
||||
- if (sa_is_loopback(psa) || sa_is_any(psa))
|
||||
+ if (sa_is_loopback(psa) || sa_is_any(psa) || sa_is_linklocal(psa))
|
||||
err = EPERM;
|
||||
else
|
||||
err = udp_send(al->rel_us, psa, mb);
|
|
@ -1,52 +0,0 @@
|
|||
From 955064fc220b5739010a2e207a8561ea44f974d3 Mon Sep 17 00:00:00 2001
|
||||
From: Dusan Stevanovic <dule@wire.com>
|
||||
Date: Thu, 11 Mar 2021 13:15:27 +0100
|
||||
Subject: [PATCH] turn: block whole loopback range, also block broadcast
|
||||
|
||||
---
|
||||
modules/turn/turn.c | 20 ++++++++++++++++++--
|
||||
1 file changed, 18 insertions(+), 2 deletions(-)
|
||||
|
||||
--- a/modules/turn/turn.c
|
||||
+++ b/modules/turn/turn.c
|
||||
@@ -144,6 +144,22 @@ static bool request_handler(struct restu
|
||||
return true;
|
||||
}
|
||||
|
||||
+static inline bool is_loopback(const struct sa *sa)
|
||||
+{
|
||||
+ return (ntohl(sa->u.in.sin_addr.s_addr) & 0xffffff00) == 0x7f000000;
|
||||
+}
|
||||
+
|
||||
+static inline bool is_broadcast(const struct sa *sa)
|
||||
+{
|
||||
+ return ntohl(sa->u.in.sin_addr.s_addr) == 0xffffffff;
|
||||
+}
|
||||
+
|
||||
+static inline bool is_blocked(const struct sa *sa)
|
||||
+{
|
||||
+ return is_loopback(sa) || is_broadcast(sa)
|
||||
+ || sa_is_any(sa) || sa_is_linklocal(sa);
|
||||
+
|
||||
+}
|
||||
|
||||
static bool indication_handler(struct restund_msgctx *ctx, int proto,
|
||||
void *sock, const struct sa *src,
|
||||
@@ -181,7 +197,7 @@ static bool indication_handler(struct re
|
||||
return true;
|
||||
}
|
||||
|
||||
- if (sa_is_loopback(psa) || sa_is_any(psa) || sa_is_linklocal(psa))
|
||||
+ if (is_blocked(psa))
|
||||
err = EPERM;
|
||||
else
|
||||
err = udp_send(al->rel_us, psa, &data->v.data);
|
||||
@@ -234,7 +250,7 @@ static bool raw_handler(int proto, const
|
||||
|
||||
mb->end = mb->pos + len;
|
||||
|
||||
- if (sa_is_loopback(psa) || sa_is_any(psa) || sa_is_linklocal(psa))
|
||||
+ if (is_blocked(psa))
|
||||
err = EPERM;
|
||||
else
|
||||
err = udp_send(al->rel_us, psa, mb);
|
Loading…
Reference in a new issue