Hi, This is a new Tor package for advanced Tor users who want bleeding edge features - this package includes experimental upnp support. It does not replace the current Tor package but rather it is a supplementary package.
All the best, Jacob Appelbaum Signed-off-by: Jacob Appelbaum <ja...@appelbaum.net> Index: net/tor-alpha/files/tor.init =================================================================== --- net/tor-alpha/files/tor.init (revision 0) +++ net/tor-alpha/files/tor.init (revision 0) @@ -0,0 +1,26 @@ +#!/bin/sh /etc/rc.common +# Copyright (C) 2006 OpenWrt.org +START=50 + +BIN=tor +DEFAULT=/etc/default/$BIN +LOG_D=/var/log/$BIN +LIB_D=/var/lib/$BIN +RUN_D=/var/run +PID_F=$RUN_D/$BIN.pid +RUN_USER=$BIN +RUN_GROUP=$BIN + +start() { + [ -f $DEFAULT ] && . $DEFAULT + [ -d $LOG_D ] || ( mkdir -m 0755 -p $LOG_D && chown $RUN_USER:$RUN_GROUP $LOG_D ) + [ -d $LIB_D ] || ( mkdir -m 0700 -p $LIB_D && chown $RUN_USER:$RUN_GROUP $LIB_D ) + [ -d $RUN_D ] || mkdir -p $RUN_D + [ -f $PID_F ] || ( touch $PID_F && chown $RUN_USER:$RUN_GROUP $PID_F ) + $BIN $OPTIONS +} + +stop() { + [ -f $PID_F ] && kill $(cat $PID_F) +} + Index: net/tor-alpha/patches/001-torrc.patch =================================================================== --- net/tor-alpha/patches/001-torrc.patch (revision 0) +++ net/tor-alpha/patches/001-torrc.patch (revision 0) @@ -0,0 +1,22 @@ +--- a/src/config/torrc.sample.in 2010-11-22 19:49:38.000000000 -0800 ++++ a/src/config/torrc.sample.in 2010-12-17 14:49:41.379893002 -0800 +@@ -44,11 +44,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. +@@ -168,3 +168,5 @@ + #BridgeRelay 1 + #ExitPolicy reject *:* + ++User tor ++PidFile @LOCALSTATEDIR@/run/tor.pid Index: net/tor-alpha/Makefile =================================================================== --- net/tor-alpha/Makefile (revision 0) +++ net/tor-alpha/Makefile (revision 0) @@ -0,0 +1,103 @@ +# +# Copyright (C) 2008-2010 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# +# Want to test this package? Try this: +# make package/tor-alpha/{clean,compile,install} V=99 +# + +include $(TOPDIR)/rules.mk + +PKG_NAME:=tor-alpha +PKG_VERSION:=0.2.2.19-alpha +PKG_RELEASE:=1 + +PKG_SOURCE:=tor-$(PKG_VERSION).tar.gz +PKG_SOURCE_URL:=https://www.torproject.org/dist +PKG_MD5SUM:=619f0c4243adc67360e8a99710935697 +PKG_BUILD_DIR=$(BUILD_DIR)/tor-$(PKG_VERSION)/ + +PKG_INSTALL:=1 + +include $(INCLUDE_DIR)/package.mk + +define Package/tor-alpha + SECTION:=net + CATEGORY:=Network + DEPENDS:=+libevent +libopenssl +libpthread +miniupnpc + TITLE:=An anonymous Internet communication system + URL:=http://www.torproject.org/ +endef + +define Package/tor-alpha/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-alpha/conffiles +/etc/tor/torrc +endef + +define Package/tor-alpha/postinst +#!/bin/sh + +name=tor +id=52 + +# do not change below +# # check if we are on real system +if [ -z "$${IPKG_INSTROOT}" ]; then + # create copies of passwd and group, if we use squashfs + rootfs=`mount |awk '/root/ { print $$5 }'` + if [ "$$rootfs" = "squashfs" ]; then + if [ -h /etc/group ]; then + rm /etc/group + cp /rom/etc/group /etc/group + fi + if [ -h /etc/passwd ]; then + rm /etc/passwd + cp /rom/etc/passwd /etc/passwd + fi + fi +fi + +echo "" +if [ -z "$$(grep ^\\$${name}: $${IPKG_INSTROOT}/etc/group)" ]; then + echo "adding group $$name to /etc/group" + echo "$${name}:x:$${id}:" >> $${IPKG_INSTROOT}/etc/group +fi + +if [ -z "$$(grep ^\\$${name}: $${IPKG_INSTROOT}/etc/passwd)" ]; then + echo "adding user $$name to /etc/passwd" + echo "$${name}:x:$${id}:$${id}:$${name}:/tmp/.$${name}:/bin/false" >> $${IPKG_INSTROOT}/etc/passwd +fi +endef + +CONFIGURE_ARGS += \ + --with-libevent-dir="$(STAGING_DIR)/usr" \ + --with-ssl-dir="$(STAGING_DIR)/usr" \ + --enable-upnp \ + --with-libminiupnpc-dir="$(STAGING_DIR)/usr" \ + +CONFIGURE_VARS += \ + CROSS_COMPILE="yes" \ + +# pass CFLAGS again to override -O2 set by configure +MAKE_FLAGS += \ + CFLAGS="$(TARGET_CFLAGS)" \ + +define Package/tor-alpha/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 + +$(eval $(call BuildPackage,tor-alpha))
Index: net/tor-alpha/files/tor.init =================================================================== --- net/tor-alpha/files/tor.init (revision 0) +++ net/tor-alpha/files/tor.init (revision 0) @@ -0,0 +1,26 @@ +#!/bin/sh /etc/rc.common +# Copyright (C) 2006 OpenWrt.org +START=50 + +BIN=tor +DEFAULT=/etc/default/$BIN +LOG_D=/var/log/$BIN +LIB_D=/var/lib/$BIN +RUN_D=/var/run +PID_F=$RUN_D/$BIN.pid +RUN_USER=$BIN +RUN_GROUP=$BIN + +start() { + [ -f $DEFAULT ] && . $DEFAULT + [ -d $LOG_D ] || ( mkdir -m 0755 -p $LOG_D && chown $RUN_USER:$RUN_GROUP $LOG_D ) + [ -d $LIB_D ] || ( mkdir -m 0700 -p $LIB_D && chown $RUN_USER:$RUN_GROUP $LIB_D ) + [ -d $RUN_D ] || mkdir -p $RUN_D + [ -f $PID_F ] || ( touch $PID_F && chown $RUN_USER:$RUN_GROUP $PID_F ) + $BIN $OPTIONS +} + +stop() { + [ -f $PID_F ] && kill $(cat $PID_F) +} + Index: net/tor-alpha/patches/001-torrc.patch =================================================================== --- net/tor-alpha/patches/001-torrc.patch (revision 0) +++ net/tor-alpha/patches/001-torrc.patch (revision 0) @@ -0,0 +1,22 @@ +--- a/src/config/torrc.sample.in 2010-11-22 19:49:38.000000000 -0800 ++++ a/src/config/torrc.sample.in 2010-12-17 14:49:41.379893002 -0800 +@@ -44,11 +44,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. +@@ -168,3 +168,5 @@ + #BridgeRelay 1 + #ExitPolicy reject *:* + ++User tor ++PidFile @LOCALSTATEDIR@/run/tor.pid Index: net/tor-alpha/Makefile =================================================================== --- net/tor-alpha/Makefile (revision 0) +++ net/tor-alpha/Makefile (revision 0) @@ -0,0 +1,103 @@ +# +# Copyright (C) 2008-2010 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# +# Want to test this package? Try this: +# make package/tor-alpha/{clean,compile,install} V=99 +# + +include $(TOPDIR)/rules.mk + +PKG_NAME:=tor-alpha +PKG_VERSION:=0.2.2.19-alpha +PKG_RELEASE:=1 + +PKG_SOURCE:=tor-$(PKG_VERSION).tar.gz +PKG_SOURCE_URL:=https://www.torproject.org/dist +PKG_MD5SUM:=619f0c4243adc67360e8a99710935697 +PKG_BUILD_DIR=$(BUILD_DIR)/tor-$(PKG_VERSION)/ + +PKG_INSTALL:=1 + +include $(INCLUDE_DIR)/package.mk + +define Package/tor-alpha + SECTION:=net + CATEGORY:=Network + DEPENDS:=+libevent +libopenssl +libpthread +miniupnpc + TITLE:=An anonymous Internet communication system + URL:=http://www.torproject.org/ +endef + +define Package/tor-alpha/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-alpha/conffiles +/etc/tor/torrc +endef + +define Package/tor-alpha/postinst +#!/bin/sh + +name=tor +id=52 + +# do not change below +# # check if we are on real system +if [ -z "$${IPKG_INSTROOT}" ]; then + # create copies of passwd and group, if we use squashfs + rootfs=`mount |awk '/root/ { print $$5 }'` + if [ "$$rootfs" = "squashfs" ]; then + if [ -h /etc/group ]; then + rm /etc/group + cp /rom/etc/group /etc/group + fi + if [ -h /etc/passwd ]; then + rm /etc/passwd + cp /rom/etc/passwd /etc/passwd + fi + fi +fi + +echo "" +if [ -z "$$(grep ^\\$${name}: $${IPKG_INSTROOT}/etc/group)" ]; then + echo "adding group $$name to /etc/group" + echo "$${name}:x:$${id}:" >> $${IPKG_INSTROOT}/etc/group +fi + +if [ -z "$$(grep ^\\$${name}: $${IPKG_INSTROOT}/etc/passwd)" ]; then + echo "adding user $$name to /etc/passwd" + echo "$${name}:x:$${id}:$${id}:$${name}:/tmp/.$${name}:/bin/false" >> $${IPKG_INSTROOT}/etc/passwd +fi +endef + +CONFIGURE_ARGS += \ + --with-libevent-dir="$(STAGING_DIR)/usr" \ + --with-ssl-dir="$(STAGING_DIR)/usr" \ + --enable-upnp \ + --with-libminiupnpc-dir="$(STAGING_DIR)/usr" \ + +CONFIGURE_VARS += \ + CROSS_COMPILE="yes" \ + +# pass CFLAGS again to override -O2 set by configure +MAKE_FLAGS += \ + CFLAGS="$(TARGET_CFLAGS)" \ + +define Package/tor-alpha/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 + +$(eval $(call BuildPackage,tor-alpha))
signature.asc
Description: OpenPGP digital signature
_______________________________________________ openwrt-devel mailing list openwrt-devel@lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel