From b801586d408b634c2ac5f1e042c78cc4e4e84063 Mon Sep 17 00:00:00 2001 From: Hauke Mehrtens Date: Sun, 14 Sep 2014 14:18:29 +0200 Subject: [PATCH] tor: add from oldpackages This adds tor from old packages and updates it to version 0.2.4.23. Signed-off-by: Hauke Mehrtens --- net/tor/Makefile | 120 ++++++++++++++++++++++++++++++++ net/tor/files/tor.init | 28 ++++++++ net/tor/patches/001-torrc.patch | 21 ++++++ 3 files changed, 169 insertions(+) create mode 100644 net/tor/Makefile create mode 100644 net/tor/files/tor.init create mode 100644 net/tor/patches/001-torrc.patch diff --git a/net/tor/Makefile b/net/tor/Makefile new file mode 100644 index 000000000..36b920692 --- /dev/null +++ b/net/tor/Makefile @@ -0,0 +1,120 @@ +# +# Copyright (C) 2008-2014 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +include $(TOPDIR)/rules.mk + +PKG_NAME:=tor +PKG_VERSION:=0.2.4.23 +PKG_RELEASE:=1 + +PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz +PKG_SOURCE_URL:=https://www.torproject.org/dist \ + https://archive.torproject.org/tor-package-archive +PKG_MD5SUM:=9e39928e310612c3bffee727f554c63f +PKG_MAINTAINER:=Hauke Mehrtens +PKG_LICENSE_FILE:=LICENSE + +PKG_BUILD_DEPENDS:=libminiupnpc libnatpmp +PKG_INSTALL:=1 + +include $(INCLUDE_DIR)/package.mk + +define Package/tor/Default + SECTION:=net + CATEGORY:=Network + URL:=https://www.torproject.org/ +endef + +define Package/tor/Default/description + Tor is a toolset for a wide range of organizations and people that want to + improve their safety and security on the Internet. Using Tor can help you + anonymize web browsing and publishing, instant messaging, IRC, SSH, and + more. Tor also provides a platform on which software developers can build + new applications with built-in anonymity, safety, and privacy features. +endef + +define Package/tor +$(call Package/tor/Default) + TITLE:=An anonymous Internet communication system + DEPENDS:=+libevent2 +libopenssl +libpthread +librt +SSP_SUPPORT:libssp +endef + +define Package/tor/description +$(call Package/tor/Default/description) + This package contains the tor daemon. +endef + +define Package/tor-fw-helper +$(call Package/tor/Default) + TITLE:=Firewall helper for tor + DEPENDS:=+tor +libminiupnpc +libnatpmp +endef + +define Package/tor-fw-helper/description +$(call Package/tor/Default/description) + This package contains a helper for automatically configuring port forwarding. +endef + +define Package/tor-geoip +$(call Package/tor/Default) + TITLE:=GeoIP db for tor + DEPENDS:=+tor +endef + +define Package/tor-geoip/description +$(call Package/tor/Default/description) + This package contains a GeoIP database mapping IP addresses to countries. +endef + +define Package/tor/conffiles +/etc/tor/torrc +endef + +CONFIGURE_ARGS += \ + --with-libevent-dir="$(STAGING_DIR)/usr" \ + --with-ssl-dir="$(STAGING_DIR)/usr" \ + --enable-upnp \ + --with-libminiupnpc-dir="$(STAGING_DIR)/usr" \ + --enable-nat-pmp \ + --with-libnatpmp-dir="$(STAGING_DIR)/usr" \ + --disable-asciidoc + +ifneq ($(CONFIG_SSP_SUPPORT),y) + CONFIGURE_ARGS += \ + --disable-gcc-hardening + MAKE_FLAGS += \ + CFLAGS="$(TARGET_CFLAGS)" +else + MAKE_FLAGS += \ + CFLAGS="$(TARGET_CFLAGS) -fPIC" +endif + +CONFIGURE_VARS += \ + CROSS_COMPILE="yes" + +define Package/tor/install + $(INSTALL_DIR) $(1)/usr/sbin + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/tor $(1)/usr/sbin/ + $(INSTALL_DIR) $(1)/etc/init.d + $(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 +endef + +define Package/tor-fw-helper/install + $(INSTALL_DIR) $(1)/usr/bin + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/tor-fw-helper $(1)/usr/bin/ +endef + +define Package/tor-geoip/install + $(INSTALL_DIR) $(1)/usr/share/tor + $(CP) $(PKG_INSTALL_DIR)/usr/share/tor/geoip $(1)/usr/share/tor/ +endef + +$(eval $(call BuildPackage,tor)) +$(eval $(call BuildPackage,tor-fw-helper)) +$(eval $(call BuildPackage,tor-geoip)) diff --git a/net/tor/files/tor.init b/net/tor/files/tor.init new file mode 100644 index 000000000..7c548b40b --- /dev/null +++ b/net/tor/files/tor.init @@ -0,0 +1,28 @@ +#!/bin/sh /etc/rc.common +# Copyright (C) 2006-2011 OpenWrt.org + +START=50 +STOP=50 + +USE_PROCD=1 + +start_service() { + user_exists tor 52 || user_add tor 52 52 /var/lib/tor + group_exists tor 52 || group_add tor 52 + [ -f /var/run/tor.pid ] || { + touch /var/run/tor.pid + chown tor:tor /var/run/tor.pid + } + [ -d /var/lib/tor ] || { + mkdir -m 0755 -p /var/lib/tor + chmod 0700 /var/lib/tor + chown tor:tor /var/lib/tor + } + [ -d /var/log/tor ] || { + mkdir -m 0755 -p /var/log/tor + chown tor:tor /var/log/tor + } + procd_open_instance + procd_set_param command /usr/sbin/tor --runasdaemon 0 + procd_close_instance +} diff --git a/net/tor/patches/001-torrc.patch b/net/tor/patches/001-torrc.patch new file mode 100644 index 000000000..988cb8e5a --- /dev/null +++ b/net/tor/patches/001-torrc.patch @@ -0,0 +1,21 @@ +--- a/src/config/torrc.sample.in ++++ b/src/config/torrc.sample.in +@@ -45,11 +45,11 @@ + ## Uncomment this to start the process in the background... or use + ## --runasdaemon 1 on the command line. This is ignored on Windows; + ## see the FAQ entry if you want Tor to run as an NT service. +-#RunAsDaemon 1 ++RunAsDaemon 1 + + ## The directory for keeping all the keys/etc. By default, we store + ## things in $HOME/.tor on Unix, and in Application Data\tor on Windows. +-#DataDirectory @LOCALSTATEDIR@/lib/tor ++DataDirectory @LOCALSTATEDIR@/lib/tor + + ## The port on which Tor will listen for local connections from Tor + ## controller applications, as documented in control-spec.txt. +@@ -187,3 +187,4 @@ + ## address manually to your friends, uncomment this line: + #PublishServerDescriptor 0 + ++User tor