Date: Tuesday, October 6, 2020 @ 16:47:47 Author: freswa Revision: 719366
implement FS#55989 Added: tor/trunk/torrc.patch Modified: tor/trunk/PKGBUILD Deleted: tor/trunk/tor.service tor/trunk/torrc -------------+ PKGBUILD | 35 +++++----- tor.service | 15 ---- torrc | 189 ---------------------------------------------------------- torrc.patch | 28 ++++++++ 4 files changed, 46 insertions(+), 221 deletions(-) Modified: PKGBUILD =================================================================== --- PKGBUILD 2020-10-06 16:47:25 UTC (rev 719365) +++ PKGBUILD 2020-10-06 16:47:47 UTC (rev 719366) @@ -5,25 +5,22 @@ pkgname=tor pkgver=0.4.4.5 -pkgrel=1 +pkgrel=2 pkgdesc='Anonymizing overlay network.' arch=('x86_64') url='https://www.torproject.org/' license=('BSD') -depends=('openssl' 'libevent' 'bash' 'libseccomp') +depends=('openssl' 'libevent' 'bash' 'libseccomp' 'zstd' 'libcap') optdepends=('torsocks: for torify') makedepends=('ca-certificates') -backup=('etc/tor/torrc' - 'etc/tor/torrc-dist') +backup=('etc/tor/torrc') source=("https://www.torproject.org/dist/${pkgname}-${pkgver}.tar.gz"{,.asc} - 'torrc' - 'tor.service' + 'torrc.patch' 'tor.sysusers' 'tor.tmpfiles') md5sums=('b061b7c4ce6102fb7c800b73c8573388' 'SKIP' - 'c1dd4004c63edaeaa829e01be5413cfc' - '503cedd9679f9817b2c27916ba989a74' + '88b17cb8d6c73ec4687c135f9a3c57e5' '5de6b0aff2a152a03d8eb7a473edc5ff' '30e307d882c818cb44bcb2d6b81789a3') validpgpkeys=('2133BC600AB133E1D826D173FE43009C4607B1FB' # Nick Mathewson @@ -30,7 +27,7 @@ 'F65CE37F04BA5B360AE6EE17C218525819F78451') # Roger Dingledine build() { - cd "${srcdir}/${pkgname}-${pkgver}" + cd ${pkgname}-${pkgver} ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var make @@ -37,15 +34,19 @@ } package() { - cd "${srcdir}/${pkgname}-${pkgver}" - + # install arch custom files + install -Dm0644 tor.sysusers "${pkgdir}"/usr/lib/sysusers.d/tor.conf + install -Dm0644 tor.tmpfiles "${pkgdir}"/usr/lib/tmpfiles.d/tor.conf + + # invoke upstream install routine + cd ${pkgname}-${pkgver} make DESTDIR="${pkgdir}" install + install -Dm0644 contrib/dist/tor.service "${pkgdir}"/usr/lib/systemd/system/tor.service - mv "${pkgdir}/etc/tor/torrc.sample" "${pkgdir}/etc/tor/torrc-dist" - install -Dm0644 "${srcdir}/torrc" "${pkgdir}/etc/tor/torrc" - install -Dm0644 "${srcdir}/tor.service" "${pkgdir}/usr/lib/systemd/system/tor.service" - install -Dm0644 "${srcdir}/tor.sysusers" "${pkgdir}/usr/lib/sysusers.d/tor.conf" - install -Dm0644 "${srcdir}/tor.tmpfiles" "${pkgdir}/usr/lib/tmpfiles.d/tor.conf" + # install torrc and uncomment essential config sections + patch -Np1 < "${srcdir}/torrc.patch" + install -Dm0644 src/config/torrc.sample "${pkgdir}"/etc/tor/torrc + rm "${pkgdir}"/etc/tor/torrc.sample - install -Dm0644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" + install -Dm0644 LICENSE "${pkgdir}"/usr/share/licenses/${pkgname}/LICENSE } Deleted: tor.service =================================================================== --- tor.service 2020-10-06 16:47:25 UTC (rev 719365) +++ tor.service 2020-10-06 16:47:47 UTC (rev 719366) @@ -1,15 +0,0 @@ -[Unit] -Description=Anonymizing Overlay Network -After=network.target - -[Service] -User=tor -Type=simple -ExecStart=/usr/bin/tor -f /etc/tor/torrc -ExecReload=/usr/bin/kill -HUP $MAINPID -KillSignal=SIGINT -LimitNOFILE=8192 -PrivateDevices=yes - -[Install] -WantedBy=multi-user.target Deleted: torrc =================================================================== --- torrc 2020-10-06 16:47:25 UTC (rev 719365) +++ torrc 2020-10-06 16:47:47 UTC (rev 719366) @@ -1,189 +0,0 @@ -## Configuration file for a typical Tor user -## Last updated 22 April 2012 for Tor 0.2.3.14-alpha. -## (may or may not work for much older or much newer versions of Tor.) -## -## Lines that begin with "## " try to explain what's going on. Lines -## that begin with just "#" are disabled commands: you can enable them -## by removing the "#" symbol. -## -## See 'man tor', or https://www.torproject.org/docs/tor-manual.html, -## for more options you can use in this file. -## -## Tor will look for this file in various places based on your platform: -## https://www.torproject.org/docs/faq#torrc - -## Tor opens a socks proxy on port 9050 by default -- even if you don't -## configure one below. Set "SocksPort 0" if you plan to run Tor only -## as a relay, and not make any local application connections yourself. -#SocksPort 9050 # Default: Bind to localhost:9050 for local connections. -#SocksPort 192.168.0.1:9100 # Bind to this adddress: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 that reach a SocksPort. Untrusted users who -## can access your SocksPort may be able to learn about the connections -## you make. -#SocksPolicy accept 192.168.0.0/16 -#SocksPolicy reject * - -## 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. -## -## We advise using "notice" in most cases, since anything more verbose -## may provide sensitive information to an attacker who obtains the logs. -## -## Send all messages of level 'notice' or higher to /var/log/tor/notices.log -#Log notice file /var/log/tor/notices.log -## Send every possible message to /var/log/tor/debug.log -#Log debug file /var/log/tor/debug.log -## Use the system log instead of Tor's logfiles -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. This is ignored on Windows; -## see the FAQ entry if you want Tor to run as an NT service. -#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 /var/lib/tor - -## The port on which Tor will listen for local connections from Tor -## controller applications, as documented in control-spec.txt. -#ControlPort 9051 -## If you enable the controlport, be sure to enable one of these -## authentication methods, to prevent attackers from accessing it. -#HashedControlPassword 16:872860B76453A77D60CA2BB8C1A7042072093276A3D701AD684053EC4C -#CookieAuthentication 1 - -############### This section is just for location-hidden services ### - -## Once you have configured a hidden service, you can look at the -## contents of the file ".../hidden_service/hostname" for the address -## to tell people. -## -## HiddenServicePort x y:z says to redirect requests on port x to the -## address 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 - -################ This section is just for relays ##################### -# -## See https://www.torproject.org/docs/tor-doc-relay for details. - -## Required: what port to advertise for incoming 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), you can do it as -## follows. You'll need to do ipchains or other port forwarding -## yourself to make this work. -#ORPort 443 NoListen -#ORPort 127.0.0.1:9090 NoAdvertise - -## The IP address or full DNS name for incoming connections to your -## relay. Leave commented out and Tor will guess. -#Address noname.example.com - -## If you have multiple network interfaces, you can specify one for -## outgoing traffic to use. -# OutboundBindAddress 10.0.0.5 - -## A handle for your relay, so people don't have to refer to it by key. -#Nickname ididnteditheconfig - -## Define these to limit how much relayed traffic you will allow. Your -## own traffic is still unthrottled. Note that RelayBandwidthRate must -## be at least 20 KB. -## Note that units for these config options are bytes per second, not bits -## per second, and that prefixes are binary prefixes, i.e. 2^10, 2^20, etc. -#RelayBandwidthRate 100 KB # Throttle traffic to 100KB/s (800Kbps) -#RelayBandwidthBurst 200 KB # But allow bursts up to 200KB/s (1600Kbps) - -## Use these to restrict the maximum traffic per day, week, or month. -## Note that this threshold applies separately to sent and received bytes, -## not to their sum: setting "4 GB" may allow up to 8 GB total before -## hibernating. -## -## Set a maximum of 4 gigabytes each way per period. -#AccountingMax 4 GB -## Each period starts daily at midnight (AccountingMax is per day) -#AccountingStart day 00:00 -## Each period starts on the 3rd of the month at 15:00 (AccountingMax -## is per month) -#AccountingStart month 3 15:00 - -## Contact info to be published in the directory, so we can contact you -## if your relay is misconfigured or something else goes wrong. Google -## indexes this, so spammers might also collect it. -#ContactInfo Random Person <nobody AT example dot com> -## You might also include your PGP or GPG fingerprint if you have one: -#ContactInfo 0xFFFFFFFF Random Person <nobody AT example dot com> - -## Uncomment this to mirror directory information for others. Please do -## if you have enough bandwidth. -#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 to 9091), you can do it as -## follows. below too. You'll need to do ipchains or other port -## forwarding yourself to make this work. -#DirPort 80 NoListen -#DirPort 127.0.0.1:9091 NoAdvertise -## Uncomment to return an arbitrary blob of html on your DirPort. Now you -## can explain what Tor is if anybody wonders why your IP address is -## contacting them. See contrib/tor-exit-notice.html in Tor's source -## distribution for a sample. -#DirPortFrontPage /etc/tor/tor-exit-notice.html - -## Uncomment this if you run more than one Tor relay, and add the identity -## key fingerprint of each Tor relay you control, even if they're on -## different networks. You declare it here so Tor clients can avoid -## using more than one of your relays in a single circuit. See -## https://www.torproject.org/docs/faq#MultipleRelays -## However, you should never include a bridge's fingerprint here, as it would -## break its concealability and potentionally reveal its IP/TCP address. -#MyFamily $keyid,$keyid,... - -## 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 -## described in the man page or at -## https://www.torproject.org/documentation.html -## -## Look at https://www.torproject.org/faq-abuse.html#TypicalAbuses -## for issues you might encounter if you use the default exit policy. -## -## If certain IPs and ports are blocked externally, e.g. by your firewall, -## you should update your exit policy to reflect this -- otherwise Tor -## users will be told that those destinations are down. -## -## For security, by default Tor rejects connections to private (local) -## networks, including to your public IP address. See the man page entry -## for ExitPolicyRejectPrivate if you want to allow "exit enclaving". -## -#ExitPolicy accept *:6660-6667,reject *:* # allow irc ports but no more -#ExitPolicy accept *:119 # accept nntp as well as default exit policy -#ExitPolicy reject *:* # no exits allowed - -## Bridge relays (or "bridges") are Tor relays that aren't listed in the -## main directory. Since there is no complete public list of them, even an -## ISP that filters connections to all the known Tor relays probably -## won't be able to block all the bridges. Also, websites won't treat you -## differently because they won't know you're running Tor. If you can -## be a real relay, please do; but if not, be a bridge! -#BridgeRelay 1 -## By default, Tor will advertise your bridge to users through various -## mechanisms like https://bridges.torproject.org/. If you want to run -## a private bridge, for example because you'll give out your bridge -## address manually to your friends, uncomment this line: -#PublishServerDescriptor 0 - Added: torrc.patch =================================================================== --- torrc.patch (rev 0) +++ torrc.patch 2020-10-06 16:47:47 UTC (rev 719366) @@ -0,0 +1,28 @@ +--- a/src/config/torrc.sample 2020-10-06 18:11:24.173821006 +0200 ++++ b/src/config/torrc.sample 2020-10-06 18:11:06.000000000 +0200 +@@ -11,6 +11,7 @@ + ## + ## Tor will look for this file in various places based on your platform: + ## https://www.torproject.org/docs/faq#torrc ++User tor + + ## Tor opens a SOCKS proxy on port 9050 by default -- even if you don't + ## configure one below. Set "SOCKSPort 0" if you plan to run Tor only +@@ -39,7 +40,7 @@ + ## Send every possible message to /var/log/tor/debug.log + #Log debug file /var/log/tor/debug.log + ## Use the system log instead of Tor's logfiles +-#Log notice syslog ++Log notice syslog + ## To send all messages to stderr: + #Log debug stderr + +@@ -50,7 +51,7 @@ + + ## 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 ++DataDirectory /var/lib/tor + + ## The port on which Tor will listen for local connections from Tor + ## controller applications, as documented in control-spec.txt.