# Buildsheet autogenerated by ravenadm tool -- Do not edit. NAMEBASE= tor VERSION= 0.3.2.10 KEYWORDS= security net VARIANTS= standard SDESC[standard]= Anonymizing overlay network for TCP HOMEPAGE= https://www.torproject.org/ CONTACT= nobody DOWNLOAD_GROUPS= main SITES[main]= TOR/ DISTFILE[1]= tor-0.3.2.10.tar.gz:main DF_INDEX= 1 SPKGS[standard]= complete primary docs OPTIONS_AVAILABLE= none OPTIONS_STANDARD= none BUILD_DEPENDS= asciidoc:single:py27 BUILDRUN_DEPENDS= libevent:single:standard xz:single:standard USERS= _tor GROUPS= _tor USERGROUP_SPKG= primary USES= cpe gmake pkgconfig ssl zlib cclibs:primary LICENSE= BSD3CLAUSE:primary LICENSE_SCHEME= solo LICENSE_FILE= BSD3CLAUSE:{{WRKSRC}}/LICENSE CPE_VENDOR= torproject FPC_EQUIVALENT= security/tor MUST_CONFIGURE= gnu CONFIGURE_ARGS= --with-openssl-dir="{{OPENSSLBASE}}" --enable-linker-hardening CONFIGURE_ENV= TOR_CPPFLAGS_libevent="-I{{LOCALBASE}}/include" TOR_LDFLAGS_libevent="-L{{LOCALBASE}}/lib/" TOR_LIBEVENT_LIBS="-levent" PLIST_SUB= USER="{{USERS}}" GROUP="{{GROUPS}}" RC_SUBR= tor:primary SUB_LIST= USER="{{USERS}}" GROUP="{{GROUPS}}" post-patch: @${REINPLACE_CMD} -E -e "s@(-z) (relro|now)@-Wl,\1,\2@g" \ ${WRKSRC}/configure @${REINPLACE_CMD} -e 's|lib/tor|db/tor|' \ ${WRKSRC}/src/config/torrc.*.in \ ${WRKSRC}/doc/tor.1.* \ ${WRKSRC}/doc/tor.html.in @${REINPLACE_CMD} -e "s@-ltcmalloc@${LOCALBASE}/lib/libtcmalloc.so@" \ ${WRKSRC}/configure post-install: @${MKDIR} ${STAGEDIR}/var/log/tor \ ${STAGEDIR}/var/run/tor \ ${STAGEDIR}/var/db/tor [FILE:547:descriptions/desc.primary] Tor: an anonymizing overlay network for TCP Tor is a connection-based low-latency anonymous communication system which addresses many flaws in the original onion routing design. 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. [FILE:98:distinfo] 60df77c31dcf94fdd686c8ca8c34f3b70243b33a7344ecc0b719d5ca2617cbee 6421984 tor-0.3.2.10.tar.gz [FILE:299:manifests/plist.primary] bin/ tor tor-gencert tor-resolve torify @sample etc/tor/torrc.sample share/man/man1/ tor-gencert.1.gz tor-resolve.1.gz tor.1.gz torify.1.gz share/tor/ geoip geoip6 @dir(%%USER%%,%%GROUP%%,700) /var/run/tor @dir(%%USER%%,%%GROUP%%,700) /var/log/tor @dir(%%USER%%,%%GROUP%%,700) /var/db/tor [FILE:74:manifests/plist.docs] share/doc/tor/ tor-gencert.html tor-resolve.html tor.html torify.html [FILE:4107:files/tor.in] #!/bin/sh # # PROVIDE: tor # REQUIRE: DAEMON FILESYSTEMS # BEFORE: LOGIN # # Add the following lines to /etc/rc.conf to enable tor. # All these options will overide any settings in your local torrc as # 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: %%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 # tor_setuid (str): Runtime setuid. 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 name="tor" rcvar=tor_enable exit_code=0 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"} : ${tor_setuid="NO"} instance=${slave_instance} if [ -n "${instance}" ]; then inst_def=${instance} inst_name=${inst_def%%:*} [ "${inst_name}" != "main" ] || err 1 "${name} instance can't be named 'main'" inst_def=${inst_def#$inst_name} if [ -n "$inst_def" ]; then # extended instance: parameters are set explicitly 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: ${instance}" 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 inst_only="$2" inst_done=0 for i in ${tor_instances}; do inst_name=${i%%:*} if [ -z "${inst_only}" -o "${inst_name}" = "${inst_only}" ]; then echo -n "${name} instance ${inst_name}: " if ! slave_instance=${i} %%PREFIX%%/etc/rc.d/tor "$1"; then exit_code=1 fi inst_done=$((inst_done+1)) fi done if [ -z "${inst_only}" -o "${inst_only}" = "main" ]; then checkyesno tor_disable_default_instance && return $exit_code echo -n "${name} main instance: " elif [ -n "${inst_only}" ]; then [ $inst_done -gt 0 ] || err 1 "${name} instance '$inst_only' isn't defined" return $exit_code fi fi required_files=${tor_conf} required_dirs=${tor_datadir} pidfile=${tor_pidfile} command="%%PREFIX%%/bin/${name}" command_args="-f ${tor_conf} --PidFile ${tor_pidfile} --RunAsDaemon 1 --DataDirectory ${tor_datadir}" extra_commands="reload" if [ $tor_setuid = "YES" ]; then if ! grep -q "^User ${tor_user}$" ${tor_conf}; then echo "User ${tor_user}" >> ${tor_conf} fi tor_user="root" tor_group="wheel" else if grep -q "^User ${tor_user}$" ${tor_conf}; then sed -i '' -e "s/^User ${tor_user}$//" ${tor_conf} fi fi if ! run_rc_command "$1"; then exit_code=1 fi return $exit_code