From 397227a03749cffcf5b5a027697130db84ac79a1 Mon Sep 17 00:00:00 2001 From: RISCi_ATOM Date: Tue, 31 Mar 2020 16:17:57 -0400 Subject: [PATCH] Bump tor to 0.4.2.7 Fixes CVE-2020-10592 and init scripts. --- package/network/services/tor/Makefile | 7 +++-- package/network/services/tor/files/tor.conf | 5 +++ package/network/services/tor/files/tor.init | 35 +++++++++++++++++++-- 3 files changed, 42 insertions(+), 5 deletions(-) create mode 100644 package/network/services/tor/files/tor.conf diff --git a/package/network/services/tor/Makefile b/package/network/services/tor/Makefile index 7263fe71dc..cad225e01b 100644 --- a/package/network/services/tor/Makefile +++ b/package/network/services/tor/Makefile @@ -8,13 +8,13 @@ include $(TOPDIR)/rules.mk PKG_NAME:=tor -PKG_VERSION:=0.4.2.6 +PKG_VERSION:=0.4.2.7 PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://dist.torproject.org/ \ https://archive.torproject.org/tor-package-archive -PKG_HASH:=0500102433849bbe3231c590973d126c2d2d6b3943b4b9f9962bdb108436e6c4 +PKG_HASH:=06a1d835ddf382f6bca40a62e8fb40b71b2f73d56f0d53523c8bd5caf9b3026d PKG_MAINTAINER:=Hauke Mehrtens \ Peter Wagner PKG_LICENSE_FILES:=LICENSE @@ -89,6 +89,7 @@ define Package/tor/conffiles /etc/tor/torrc /var/lib/tor/fingerprint /var/lib/tor/keys/* +/etc/config/tor endef CONFIGURE_ARGS += \ @@ -124,6 +125,8 @@ define Package/tor/install $(INSTALL_BIN) ./files/tor.init $(1)/etc/init.d/tor $(INSTALL_DIR) $(1)/etc/tor $(INSTALL_CONF) $(PKG_INSTALL_DIR)/etc/tor/torrc.sample $(1)/etc/tor/torrc + $(INSTALL_DIR) $(1)/etc/config + $(INSTALL_CONF) ./files/tor.conf $(1)/etc/config/tor endef define Package/tor-gencert/install diff --git a/package/network/services/tor/files/tor.conf b/package/network/services/tor/files/tor.conf new file mode 100644 index 0000000000..32e71e599e --- /dev/null +++ b/package/network/services/tor/files/tor.conf @@ -0,0 +1,5 @@ +config tor conf + option default "/etc/tor/torrc" + option generated "/tmp/torrc" + #list head_include "/full/path/to/file" + #list tail_include "/full/path/to/file" diff --git a/package/network/services/tor/files/tor.init b/package/network/services/tor/files/tor.init index 1480e73ebf..142e2512de 100644 --- a/package/network/services/tor/files/tor.init +++ b/package/network/services/tor/files/tor.init @@ -6,18 +6,47 @@ STOP=50 USE_PROCD=1 -start_service() { - touch /var/run/tor.pid - chown tor:tor /var/run/tor.pid +TORRC_GEN="/tmp/torrc" + +handle_conf_file() { + local conf_path="$1" + if [ -f "$conf_path" ] || [ -d "$conf_path" ]; then + echo "%include $conf_path" + fi +} +generate_conf() { + local default_conf generated_conf + + config_load tor + config_get default_conf conf default "/etc/tor/torrc" + config_get generated_conf conf generated "/tmp/torrc" + TORRC_GEN="$generated_conf" + + { + echo "## This file was automatically generated please do not edit here !" + config_list_foreach "conf" head_include handle_conf_file + echo "%include $default_conf" + config_list_foreach "conf" tail_include handle_conf_file + } > "$TORRC_GEN" +} + +reload_service() { + procd_send_signal /usr/sbin/tor +} + +start_service() { mkdir -m 0700 -p /var/lib/tor chown -R tor:tor /var/lib/tor mkdir -m 0755 -p /var/log/tor chown -R tor:tor /var/log/tor + generate_conf + procd_open_instance procd_set_param command /usr/sbin/tor --runasdaemon 0 + procd_append_param command -f "$TORRC_GEN" procd_set_param respawn procd_close_instance } -- 2.25.1