<pre style='margin:0'>
Christopher Nielsen (mascguy) pushed a commit to branch master
in repository macports-ports.
</pre>
<p><a href="https://github.com/macports/macports-ports/commit/5063b995c204c1d39ff5876e0121caa8d2538461">https://github.com/macports/macports-ports/commit/5063b995c204c1d39ff5876e0121caa8d2538461</a></p>
<pre style="white-space: pre; background: #F8F8F8">The following commit(s) were added to refs/heads/master by this push:
<span style='display:block; white-space:pre;color:#404040;'> new 5063b995c20 tor: Fix activate issue when torrc already exists
</span>5063b995c20 is described below
<span style='display:block; white-space:pre;color:#808000;'>commit 5063b995c204c1d39ff5876e0121caa8d2538461
</span>Author: Steven Thomas Smith <s.t.smith@ieee.org>
AuthorDate: Tue Nov 9 17:23:50 2021 -0500
<span style='display:block; white-space:pre;color:#404040;'> tor: Fix activate issue when torrc already exists
</span>---
security/tor/Portfile | 71 ++++++++++++++++++++++++++++++++-------------------
1 file changed, 45 insertions(+), 26 deletions(-)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/security/tor/Portfile b/security/tor/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 0870ba2e8d4..2f6adaa1a9f 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/security/tor/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/security/tor/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -5,7 +5,7 @@ PortSystem 1.0
</span> name tor
conflicts tor-devel
version 0.4.6.8
<span style='display:block; white-space:pre;background:#ffe0e0;'>-revision 0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision 1
</span> categories security
platforms darwin
maintainers nomaintainer
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -33,7 +33,7 @@ depends_lib port:libevent \
</span>
set torUser _tor
set torGroup _tor
<span style='display:block; white-space:pre;background:#ffe0e0;'>-add_users ${torUser} group=${torGroup} home=${prefix}/var/lib/tor
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+add_users ${torUser} group=${torGroup} home=${prefix}/var/lib/${name}
</span>
configure.args --disable-silent-rules
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -45,31 +45,50 @@ configure.args-append \
</span>
post-destroot {
# Create a working torrc file with basic, locked-down permissions
<span style='display:block; white-space:pre;background:#ffe0e0;'>- xinstall -o ${torUser} -g ${torGroup} -m 0640 ${destroot}${prefix}/etc/tor/torrc.sample ${destroot}${prefix}/etc/tor/torrc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- system -W ${destroot}${prefix}/etc/tor "cat >> torrc <<LOCAL_TOR_CONFIGURATION
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ xinstall -o ${torUser} -g ${torGroup} -m 0640 ${destroot}${prefix}/etc/${name}/torrc.sample ${destroot}${prefix}/etc/${name}/torrc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ system -W ${destroot}${prefix}/etc/${name} "cat >> torrc <<LOCAL_TOR_CONFIGURATION
</span>
# Local Tor configuration
SocksPolicy accept 127.0.0.1 # accept only localhost connections
SocksPolicy reject *
ExitPolicy reject *:* # no exits allowed
<span style='display:block; white-space:pre;background:#ffe0e0;'>-DataDirectory ${prefix}/var/lib/tor
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-PidFile ${prefix}/var/run/tor/tor.pid
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+DataDirectory ${prefix}/var/lib/${name}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PidFile ${prefix}/var/run/${name}/${name}.pid
</span> # tor process uid
User ${torUser}
LOCAL_TOR_CONFIGURATION"
<span style='display:block; white-space:pre;background:#ffe0e0;'>- # save the existing config if it exists
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if {[file exists ${prefix}/etc/tor/torrc]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- file rename ${prefix}/etc/tor/torrc \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ${prefix}/etc/tor/torrc.previous
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # backup torrc files
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {[file exists ${prefix}/etc/${name}/torrc]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ move ${destroot}${prefix}/etc/${name}/torrc \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${destroot}${prefix}/etc/${name}/torrc.new
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ copy ${prefix}/etc/${name}/torrc \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${destroot}${prefix}/etc/${name}/torrc.mp_backup
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ file attributes ${prefix}/etc/${name}/torrc.mp_backup \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -owner ${torUser} -group ${torGroup} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -permissions 0660
</span> }
}
post-activate {
# DataDirectory and PID file Ddirectory permissions
<span style='display:block; white-space:pre;background:#ffe0e0;'>- system "chown ${torUser}:${torGroup} ${prefix}/var/lib/tor"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- system "chmod 0750 ${prefix}/var/lib/tor"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- system "chown ${torUser}:${torGroup} ${prefix}/var/run/tor"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- system "chmod 0750 ${prefix}/var/run/tor"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ system "chown ${torUser}:${torGroup} ${prefix}/var/lib/${name}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ system "chmod 0750 ${prefix}/var/lib/${name}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ system "chown ${torUser}:${torGroup} ${prefix}/var/run/${name}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ system "chmod 0750 ${prefix}/var/run/${name}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {![file exists ${prefix}/etc/${name}/torrc]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # restore config files
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {[file exists ${prefix}/etc/${name}/torrc.mp_backup]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ copy ${prefix}/etc/${name}/torrc.mp_backup \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${prefix}/etc/${name}/torrc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ copy ${prefix}/etc/${name}/torrc.new \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${prefix}/etc/${name}/torrc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ file attributes ${prefix}/etc/${name}/torrc \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -owner ${torUser} -group ${torGroup} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -permissions 0660
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span> }
test.run yes
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -78,22 +97,22 @@ test.target check
</span> platform darwin {
startupitem.create yes
startupitem.name Tor
<span style='display:block; white-space:pre;background:#ffe0e0;'>- startupitem.start "\[ -f \"${prefix}/etc/tor/torrc\" \] \\"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- startupitem.start-append "\t&& ${prefix}/bin/tor \\"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- startupitem.start-append "\t\t-f ${prefix}/etc/tor/torrc 2>/dev/null"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- startupitem.stop "if \[ -f \"${prefix}/var/run/tor/tor.pid\" \]; then"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- startupitem.stop-append "\tkill `cat ${prefix}/var/run/tor/tor.pid` \\"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- startupitem.stop-append "\t\t&& rm -f ${prefix}/var/run/tor/tor.pid"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ startupitem.start "\[ -f \"${prefix}/etc/${name}/torrc\" \] \\"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ startupitem.start-append "\t&& ${prefix}/bin/${name} \\"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ startupitem.start-append "\t\t-f ${prefix}/etc/${name}/torrc 2>/dev/null"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ startupitem.stop "if \[ -f \"${prefix}/var/run/${name}/${name}.pid\" \]; then"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ startupitem.stop-append "\tkill `cat ${prefix}/var/run/${name}/${name}.pid` \\"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ startupitem.stop-append "\t\t&& rm -f ${prefix}/var/run/${name}/${name}.pid"
</span> startupitem.stop-append "else"
<span style='display:block; white-space:pre;background:#ffe0e0;'>- startupitem.stop-append "\t/usr/bin/killall -SIGUSR1 tor 2>/dev/null"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ startupitem.stop-append "\t/usr/bin/killall -SIGUSR1 ${name} 2>/dev/null"
</span> startupitem.stop-append "fi"
<span style='display:block; white-space:pre;background:#ffe0e0;'>- startupitem.pidfile none ${prefix}/var/run/tor/tor.pid
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ startupitem.pidfile none ${prefix}/var/run/${name}/${name}.pid
</span> }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-destroot.keepdirs ${destroot}${prefix}/var/lib/tor \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ${destroot}${prefix}/var/run/tor \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ${destroot}${prefix}/var/log/tor
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+destroot.keepdirs ${destroot}${prefix}/var/lib/${name} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${destroot}${prefix}/var/run/${name} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${destroot}${prefix}/var/log/${name}
</span>
livecheck.type regex
livecheck.url ${master_sites}?C=M\;O=D
<span style='display:block; white-space:pre;background:#ffe0e0;'>-livecheck.regex tor-(\\d+\\.\\d+\\.\\d+\\.\\d+)${extract.suffix}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+livecheck.regex ${name}-(\\d+\\.\\d+\\.\\d+\\.\\d+)${extract.suffix}
</span></pre><pre style='margin:0'>
</pre>