diff options
author | wbx <wbx@hydrogenium.(none)> | 2009-05-17 14:41:34 +0200 |
---|---|---|
committer | wbx <wbx@hydrogenium.(none)> | 2009-05-17 14:41:34 +0200 |
commit | 219a6dab8995aad9ac4860cc1a84d6f3509a03a4 (patch) | |
tree | b9c0f3c43aebba2fcfef777592d0add39f2072f4 /package/tor |
Initial import
Diffstat (limited to 'package/tor')
-rw-r--r-- | package/tor/Config.in | 18 | ||||
-rw-r--r-- | package/tor/Makefile | 41 | ||||
-rw-r--r-- | package/tor/files/tor.init | 27 | ||||
-rw-r--r-- | package/tor/files/torrc | 136 | ||||
-rw-r--r-- | package/tor/ipkg/tor.conffiles | 1 | ||||
-rw-r--r-- | package/tor/ipkg/tor.control | 5 | ||||
-rw-r--r-- | package/tor/ipkg/tor.postinst | 24 | ||||
-rw-r--r-- | package/tor/patches/patch-configure | 12 | ||||
-rw-r--r-- | package/tor/patches/patch-src_common_util_h | 12 |
9 files changed, 276 insertions, 0 deletions
diff --git a/package/tor/Config.in b/package/tor/Config.in new file mode 100644 index 000000000..5664da239 --- /dev/null +++ b/package/tor/Config.in @@ -0,0 +1,18 @@ +config ADK_PACKAGE_TOR + prompt "tor............................... An anonymous Internet communication system" + tristate + default n + select ADK_PACKAGE_LIBEVENT + select ADK_PACKAGE_LIBOPENSSL + select ADK_PACKAGE_LIBPTHREAD + select ADK_PACKAGE_ZLIB + help + 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. + + http://tor.eff.org/ + diff --git a/package/tor/Makefile b/package/tor/Makefile new file mode 100644 index 000000000..ad47ccfd1 --- /dev/null +++ b/package/tor/Makefile @@ -0,0 +1,41 @@ +# $Id$ +#- +# This file is part of the OpenADK project. OpenADK is copyrighted +# material, please see the LICENCE file in the top-level directory. + +include ${TOPDIR}/rules.mk + +PKG_NAME:= tor +PKG_VERSION:= 0.1.1.26 +PKG_RELEASE:= 9 +PKG_MD5SUM:= 0667df7a1f670bee5163b607aea172ba + +MASTER_SITES:= http://tor.eff.org/dist/ \ + http://ftp.se.linux.org/crypto/tor/ \ + http://tor.meulie.net/ + +include ${TOPDIR}/mk/package.mk + +$(eval $(call PKG_template,TOR,tor,${PKG_VERSION}-${PKG_RELEASE},${ARCH})) + +CONFIGURE_STYLE:= gnu +CONFIGURE_ENV+= ac_cv_libevent_normal=yes \ + ac_cv_libevent_linker_option="" \ + ac_cv_libevent_dir="${STAGING_DIR}/usr" \ + ac_cv_openssldir="${STAGING_DIR}/usr" \ + ac_cv_openssl_linker_option="" \ + tor_cv_time_t_signed=yes \ + tor_cv_null_is_zero=yes \ + tor_cv_unaligned_ok=yes +BUILD_STYLE:= auto +INSTALL_STYLE:= auto + +post-install: + ${INSTALL_DIR} ${IDIR_TOR}/etc/init.d + ${INSTALL_BIN} ./files/tor.init ${IDIR_TOR}/etc/init.d/tor + ${INSTALL_DIR} ${IDIR_TOR}/etc/tor + ${INSTALL_DATA} ./files/torrc ${IDIR_TOR}/etc/tor/ + ${INSTALL_DIR} ${IDIR_TOR}/usr/bin + ${CP} ${WRKINST}/usr/bin/tor ${IDIR_TOR}/usr/bin/ + +include ${TOPDIR}/mk/pkg-bottom.mk diff --git a/package/tor/files/tor.init b/package/tor/files/tor.init new file mode 100644 index 000000000..e8804bb64 --- /dev/null +++ b/package/tor/files/tor.init @@ -0,0 +1,27 @@ +#!/bin/sh +#FWINIT 80 +. /etc/rc.conf + +case $1 in +autostop) ;; +autostart) + test x"${tor:-NO}" = x"NO" && exit 0 + exec sh $0 start + ;; +start) + [ -d /var/log/tor ] || mkdir -p /var/log/tor + tor + ;; +stop) + killall tor + ;; +restart) + sh $0 stop + sh $0 start + ;; +*) + echo "Usage: $0 {start | stop | restart}" + exit 1 + ;; +esac +exit $? diff --git a/package/tor/files/torrc b/package/tor/files/torrc new file mode 100644 index 000000000..e5cf75b6e --- /dev/null +++ b/package/tor/files/torrc @@ -0,0 +1,136 @@ +## Configuration file for a typical tor user +## Built for Tor version 0.1.0.8-rc +## (May or may not work for older or newer versions of Tor.) +# +# On Unix, Tor will look for this file in someplace like "~/.tor/torrc" or +# "/etc/torrc" +# +# On Windows, Tor will look for the configuration file in someplace like +# "Application Data\tor\torrc" or "Application Data\<username>\tor\torrc" +# +# With the default Mac OS X installer, Tor will look in ~/.tor/torrc or +# /Library/Tor/torrc + + +## Replace this with "SocksPort 0" if you plan to run Tor only as a +## server, and not make any local application connections yourself. +SocksPort 9050 # what port to open for local application connections +SocksBindAddress 127.0.0.1 # accept connections only from localhost +#SocksBindAddress 192.168.0.1:9100 # listen on a chosen IP/port too + +## Entry policies to allow/deny SOCKS requests based on IP address. +## First entry that matches wins. If no SocksPolicy is set, we accept +## all (and only) requests from SocksBindAddress. +#SocksPolicy accept 192.168.0.1/16 +#SocksPolicy reject * + +## Allow no-name routers (ones that the dirserver operators don't +## know anything about) in only these positions in your circuits. +## Other choices (not advised) are entry,exit,introduction. +AllowUnverifiedNodes middle,rendezvous + +## Logs go to stdout at level "notice" unless redirected by something +## else, like one of the below lines. You can have as many log lines as +## you want. +## +## Send all messages of level 'notice' or higher to /var/log/tor/notices.log +#Log notice file /var/log/tor/notices.log +## Send only debug and info messages to /var/log/tor/debug.log +#Log debug-info file /var/log/tor/debug.log +## Send ONLY debug messages to /var/log/tor/debug.log +#Log debug-debug file /var/log/tor/debug.log +## To use the system log instead of Tor's logfiles, uncomment these lines: +#Log notice syslog +## To send all messages to stderr: +#Log debug stderr + +## Uncomment this to start the process in the background... or use +## --runasdaemon 1 on the command line. +RunAsDaemon 1 + +## Tor only trusts directories signed with one of these keys, and +## uses the given addresses to connect to the trusted directory +## servers. If no DirServer lines are specified, Tor uses the built-in +## defaults (moria1, moria2, tor26), so you can leave this alone unless +## you need to change it. +#DirServer 18.244.0.188:9031 FFCB 46DB 1339 DA84 674C 70D7 CB58 6434 C437 0441 +#DirServer 18.244.0.114:80 719B E45D E224 B607 C537 07D0 E214 3E2D 423E 74CF +#DirServer 62.116.124.106:9030 847B 1F85 0344 D787 6491 A548 92F9 0493 4E4E B85D + +## 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 /var/lib/tor + +## The port on which Tor will listen for local connections from Tor controller +## applications, as documented in control-spec.txt. NB: this feature is +## currently experimental. +#ControlPort 9051 + +############### This section is just for location-hidden services ### + +## Look in .../hidden_service/hostname for the address to tell people. +## HiddenServicePort x y:z says to redirect a port x request from the +## client to y:z. + +#HiddenServiceDir /var/lib/tor/hidden_service/ +#HiddenServicePort 80 127.0.0.1:80 + +#HiddenServiceDir /var/lib/tor/other_hidden_service/ +#HiddenServicePort 80 127.0.0.1:80 +#HiddenServicePort 22 127.0.0.1:22 +#HiddenServiceNodes moria1,moria2 +#HiddenServiceExcludeNodes bad,otherbad + +################ This section is just for servers ##################### + +## NOTE: If you enable these, you should consider mailing your identity +## key fingerprint to the tor-ops, so we can add you to the list of +## servers that clients will trust. See +## http://tor.eff.org/doc/tor-doc.html#server for details. + +## Required: A unique handle for this server +#Nickname ididnteditheconfig + +## The IP or fqdn for this server. Leave blank and Tor will guess. +#Address noname.example.com + +## Contact info that will be published in the directory, so we can +## contact you if you need to upgrade or if something goes wrong. +## This is optional but recommended. +#ContactInfo Random Person <nobody AT example dot com> +## You might also include your PGP or GPG fingerprint if you have one: +#ContactInfo 1234D/FFFFFFFF Random Person <nobody AT example dot com> + +## Required: what port to advertise for tor connections +#ORPort 9001 +## If you want to listen on a port other than the one advertised +## in ORPort (e.g. to advertise 443 but bind to 9090), uncomment +## the line below. You'll need to do ipchains or other port forwarding +## yourself to make this work. +#ORBindAddress 0.0.0.0:9090 + +## Uncomment this to mirror the directory for others (please do) +#DirPort 9030 # what port to advertise for directory connections +## If you want to listen on a port other than the one advertised +## in DirPort (e.g. to advertise 80 but bind 9091), uncomment the line +## below. You'll need to do ipchains or other port forwarding yourself +## to make this work. +#DirBindAddress 0.0.0.0:9091 + +## A comma-separated list of exit policies. They're considered first +## to last, and the first match wins. If you want to *replace* +## the default exit policy, end this with either a reject *:* or an +## accept *:*. Otherwise, you're *augmenting* (prepending to) the +## default exit policy. Leave commented to just use the default, which is +## available in the man page or at http://tor.eff.org/documentation.html +## +## Look at http://wiki.noreply.org/noreply/TheOnionRouter/TorFAQ#Abuse +## for issues you might encounter if you use the default exit policy. +## +#ExitPolicy accept *:6660-6667,reject *:* # allow irc ports but no more +#ExitPolicy accept *:119 # accept nntp as well as default exit policy +#ExitPolicy reject *:* # middleman only -- no exits allowed + +User tor +Group tor +PidFile /var/run/tor.pid diff --git a/package/tor/ipkg/tor.conffiles b/package/tor/ipkg/tor.conffiles new file mode 100644 index 000000000..2954287e6 --- /dev/null +++ b/package/tor/ipkg/tor.conffiles @@ -0,0 +1 @@ +/etc/tor/torrc diff --git a/package/tor/ipkg/tor.control b/package/tor/ipkg/tor.control new file mode 100644 index 000000000..bd1f79cbe --- /dev/null +++ b/package/tor/ipkg/tor.control @@ -0,0 +1,5 @@ +Package: tor +Priority: optional +Section: net +Description: An anonymous Internet communication system +Depends: libevent, libopenssl, libpthread, zlib diff --git a/package/tor/ipkg/tor.postinst b/package/tor/ipkg/tor.postinst new file mode 100644 index 000000000..9ca10117b --- /dev/null +++ b/package/tor/ipkg/tor.postinst @@ -0,0 +1,24 @@ +#!/bin/sh +. $IPKG_INSTROOT/etc/functions.sh +add_rcconf tor tor NO + +# 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 + +gid=$(get_next_gid) +add_group tor $gid +add_user tor $(get_next_uid) $gid /tmp/.tor diff --git a/package/tor/patches/patch-configure b/package/tor/patches/patch-configure new file mode 100644 index 000000000..b87f3dde8 --- /dev/null +++ b/package/tor/patches/patch-configure @@ -0,0 +1,12 @@ +$Id$ +--- tor-0.1.1.26.orig/configure 2006-12-15 01:12:11.000000000 +0100 ++++ tor-0.1.1.26/configure 2007-02-17 21:46:29.000000000 +0100 +@@ -15193,7 +15193,7 @@ _ACEOF + # Set CFLAGS _after_ all the above checks, since our warnings are stricter + # than autoconf's macros like. + if test $ac_cv_c_compiler_gnu = yes; then +- CFLAGS="$CFLAGS -Wall -g -O2" ++ CFLAGS="$CFLAGS -Wall" + else + CFLAGS="$CFLAGS -g -O" + fi diff --git a/package/tor/patches/patch-src_common_util_h b/package/tor/patches/patch-src_common_util_h new file mode 100644 index 000000000..4052d16f1 --- /dev/null +++ b/package/tor/patches/patch-src_common_util_h @@ -0,0 +1,12 @@ +$Id$ +--- tor-0.1.1.26.orig/src/common/util.h 2006-09-24 19:47:57.000000000 +0200 ++++ tor-0.1.1.26/src/common/util.h 2007-02-17 23:09:46.000000000 +0100 +@@ -36,7 +36,7 @@ + * And I'm not just saying that because some of our asserts check + * security-critical properties. + */ +-#error "Sorry; we don't support building with NDEBUG." ++#define tor_assert(expr) ((void)(0)) + #else + #define tor_assert(expr) do { \ + if (!(expr)) { \ |