<pre style='margin:0'>
Chris Jones (cjones051073) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/103d03373e975fc9f263fd62b168c0378f2976eb">https://github.com/macports/macports-ports/commit/103d03373e975fc9f263fd62b168c0378f2976eb</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 103d033  tor: Add startupitem and basic working configuration
</span>103d033 is described below

<span style='display:block; white-space:pre;color:#808000;'>commit 103d03373e975fc9f263fd62b168c0378f2976eb
</span>Author: Steven Thomas Smith <s.t.smith@ieee.org>
AuthorDate: Sun Jun 2 16:59:43 2019 -0400

<span style='display:block; white-space:pre;color:#404040;'>    tor: Add startupitem and basic working configuration
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    * Create startupitem
</span><span style='display:block; white-space:pre;color:#404040;'>    * Create Tor user/group _tor:_tor
</span><span style='display:block; white-space:pre;color:#404040;'>    * Create basic torrc with localhost access only, no exits
</span><span style='display:block; white-space:pre;color:#404040;'>    * Create DataDirectory, PidFile
</span>---
 security/tor/Portfile | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 53 insertions(+)

<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 d814a6d..a42a68b 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,6 +5,7 @@ PortSystem          1.0
</span> name                tor
 conflicts           tor-devel
 version             0.3.5.8
<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;'>@@ -30,6 +31,10 @@ depends_lib         port:libevent \
</span>                     path:lib/libssl.dylib:openssl \
                     port:zlib
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+set torUser         _tor
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set torGroup        _tor
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+add_users           ${torUser} group=${torGroup} home=${prefix}/var/lib/tor
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> configure.args      --disable-silent-rules
 
 # https://gitweb.torproject.org/torspec.git/tree/proposals/278-directory-compression-scheme-negotiation.txt
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -38,9 +43,57 @@ configure.args-append \
</span>                     --disable-lzma \
                     --disable-zstd
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+post-destroot {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # Create a working torrc file with basic, locked-down permissions
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    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:#e0ffe0;'>+    system -W ${destroot}${prefix}/etc/tor "cat >> torrc <<LOCAL_TOR_CONFIGURATION
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Local Tor configuration
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+SocksPolicy accept 127.0.0.1  # accept only localhost connections
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+SocksPolicy reject *
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ExitPolicy reject *:*  # no exits allowed
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+DataDirectory ${prefix}/var/lib/tor
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PidFile ${prefix}/var/run/tor/tor.pid
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# tor process uid
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+User ${torUser}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+LOCAL_TOR_CONFIGURATION"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # save the existing config if it exists
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if [file exists ${prefix}/etc/tor/torrc] {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        file rename ${prefix}/etc/tor/torrc \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    ${prefix}/etc/tor/torrc.previous
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+post-activate {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # DataDirectory and PID file Ddirectory permissions
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    system "chown ${torUser}:${torGroup} ${prefix}/var/lib/tor"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    system "chmod 0750 ${prefix}/var/lib/tor"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    system "chown ${torUser}:${torGroup} ${prefix}/var/run/tor"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    system "chmod 0750 ${prefix}/var/run/tor"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> test.run            yes
 test.target         check
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+platform darwin {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    startupitem.create          yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    startupitem.name            Tor
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    startupitem.start           "\[ -f \"${prefix}/etc/tor/torrc\" \] \\"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    startupitem.start-append    "\t&& ${prefix}/bin/tor \\"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    startupitem.start-append    "\t\t-f ${prefix}/etc/tor/torrc 2>/dev/null"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    startupitem.stop            "if \[ -f \"${prefix}/var/run/tor/tor.pid\" \]; then"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    startupitem.stop-append     "\tkill `cat ${prefix}/var/run/tor/tor.pid` \\"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    startupitem.stop-append     "\t\t&& rm -f ${prefix}/var/run/tor/tor.pid"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    startupitem.stop-append     "else"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    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     "fi"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    startupitem.pidfile         none ${prefix}/var/run/tor/tor.pid
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+destroot.keepdirs   ${destroot}${prefix}/var/lib/tor \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    ${destroot}${prefix}/var/run/tor \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    ${destroot}${prefix}/var/log/tor
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> livecheck.type      regex
 livecheck.url       ${master_sites}?C=M\;O=D
 livecheck.regex     tor-(\\d+\\.\\d+\\.\\d+\\.\\d+)${extract.suffix}
</pre><pre style='margin:0'>

</pre>