FreeBSD Bugzilla – Attachment 176150 Details for
Bug 207129
security/tor: Request to add multi-instance support
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
patch
tor.patch (text/plain), 4.05 KB, created by
Yuri Victorovich
on 2016-10-25 16:55:09 UTC
(
hide
)
Description:
patch
Filename:
MIME Type:
Creator:
Yuri Victorovich
Created:
2016-10-25 16:55:09 UTC
Size:
4.05 KB
patch
obsolete
>Index: security/tor/Makefile >=================================================================== >--- security/tor/Makefile (revision 424233) >+++ security/tor/Makefile (working copy) >@@ -3,6 +3,7 @@ > > PORTNAME= tor > PORTVERSION= 0.2.8.9 >+PORTREVISION= 1 > CATEGORIES= security net ipv6 > MASTER_SITES= TOR > >Index: security/tor/files/pkg-message.in >=================================================================== >--- security/tor/files/pkg-message.in (revision 424233) >+++ security/tor/files/pkg-message.in (working copy) >@@ -11,4 +11,12 @@ > sysctl net.inet.ip.random_id=1 > > (see sysctl.conf(5)). >+ >+In order to run additional, independent instances of tor on the same machine >+set tor_instances="inst1 inst2 ..." in your /etc/rc.conf, and create the >+corresponding additional configuration files %%PREFIX%%/etc/tor/torrc@inst1, ... >+ >+Alternatively, you can use the extended instance definition to specify all >+instance parameteres explicitly: >+inst_name{:inst_conf:inst_user:inst_group:inst_pidfile:inst_data_dir} > ================================================================================ >Index: security/tor/files/tor.in >=================================================================== >--- security/tor/files/tor.in (revision 424233) >+++ security/tor/files/tor.in (working copy) >@@ -11,11 +11,20 @@ > # they are command line options. > # > # tor_enable (bool): Set it to "YES" to enable tor. Default: NO >+# tor_instances (str): List of instances. Default: "" > # tor_conf (str): Points to your torrc file. > # Default: %%PREFIX%%/etc/tor/torrc >-# tor_user (str): Tor daemon user. Default: _tor >+# tor_user (str): Tor daemon user. Default: %%USER%% >+# tor_group (str): Tor group. Default: %%GROUP%% >+# tor_pidfile (str): Tor pid file. Default: /var/run/tor/tor.pid > # tor_datadir (str): Tor datadir. Default: /var/db/tor >+# tor_disable_default_instance (str): Doesn't run the default instance. >+# Only valid when tor_instances is used. >+# Default: NO > # >+# The instance definition that tor_instances expects: >+# inst_name{:inst_conf:inst_user:inst_group:inst_pidfile:inst_data_dir} >+# > > . /etc/rc.subr > >@@ -25,11 +34,60 @@ > load_rc_config ${name} > > : ${tor_enable="NO"} >+: ${tor_instances=""} > : ${tor_conf="%%PREFIX%%/etc/tor/torrc"} > : ${tor_user="%%USER%%"} >+: ${tor_group="%%GROUP%%"} > : ${tor_pidfile="/var/run/tor/tor.pid"} > : ${tor_datadir="/var/db/tor"} >+: ${tor_disable_default_instance="NO"} > >+instance=${2} >+if [ -n "${instance}" ]; then >+ # extended instance: parameters are set explicitly >+ inst_def=${instance} >+ inst_name=${inst_def%%:*} >+ inst_def=${inst_def#$inst_name} >+ if [ -n "$inst_def" ]; then >+ inst_def=${inst_def#:} >+ tor_conf=${inst_def%%:*} >+ inst_def=${inst_def#$tor_conf:} >+ tor_user=${inst_def%%:*} >+ inst_def=${inst_def#$tor_user:} >+ tor_group=${inst_def%%:*} >+ inst_def=${inst_def#$tor_group:} >+ tor_pidfile=${inst_def%%:*} >+ tor_datadir=${inst_def#$tor_pidfile:} >+ if [ -z "${tor_conf}" -o -z "${tor_user}" -o -z "${tor_group}" -o -z "${tor_pidfile}" -o -z "${tor_datadir}" ]; then >+ warn "invalid tor instance ${inst_name} settings" >+ exit 1 >+ fi >+ else >+ # regular instance: default parameters are used >+ tor_conf=${tor_conf}@${inst_name} >+ tor_pidfile=${tor_pidfile}@${inst_name} >+ tor_datadir=${tor_datadir}/instance@${inst_name} >+ fi >+ if ! [ -r ${tor_conf} ]; then >+ warn "tor instance ${inst_name} config file ${tor_conf} doesn't exist or isn't readable" >+ warn "you can copy the sample config %%PREFIX%%/etc/tor/torrc.sample and modify it" >+ exit 1 >+ fi >+ if ! [ -d ${tor_datadir} ]; then >+ mkdir -p ${tor_datadir} && >+ chown ${tor_user}:${tor_group} ${tor_datadir} && >+ chmod 0700 ${tor_datadir} && >+ echo "${name}: created the instance data directory ${tor_datadir}" >+ fi >+fi >+ >+if [ -z "${instance}" -a -n "${tor_instances}" ]; then >+ for i in ${tor_instances}; do >+ %%PREFIX%%/etc/rc.d/tor $1 ${i} || warn "$1 failed for the tor instance $i" >+ done >+ checkyesno tor_disable_default_instance && return 0 >+fi >+ > required_files=${tor_conf} > required_dirs=${tor_datadir} > pidfile=${tor_pidfile}
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Flags:
yuri
:
maintainer-approval+
Actions:
View
|
Diff
Attachments on
bug 207129
:
176091
|
176094
|
176109
|
176120
|
176123
|
176124
| 176150 |
176669
|
176703