summaryrefslogtreecommitdiff
path: root/package/tor
diff options
context:
space:
mode:
authorwbx <wbx@hydrogenium.(none)>2009-05-17 14:41:34 +0200
committerwbx <wbx@hydrogenium.(none)>2009-05-17 14:41:34 +0200
commit219a6dab8995aad9ac4860cc1a84d6f3509a03a4 (patch)
treeb9c0f3c43aebba2fcfef777592d0add39f2072f4 /package/tor
Initial import
Diffstat (limited to 'package/tor')
-rw-r--r--package/tor/Config.in18
-rw-r--r--package/tor/Makefile41
-rw-r--r--package/tor/files/tor.init27
-rw-r--r--package/tor/files/torrc136
-rw-r--r--package/tor/ipkg/tor.conffiles1
-rw-r--r--package/tor/ipkg/tor.control5
-rw-r--r--package/tor/ipkg/tor.postinst24
-rw-r--r--package/tor/patches/patch-configure12
-rw-r--r--package/tor/patches/patch-src_common_util_h12
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)) { \