mirror of
https://git.freebsd.org/ports.git
synced 2025-06-25 06:30:29 -04:00
* Fix code execution vulnerability * Fix edns0 support * Update OpenDNS resolver name for files/dnscrypt-proxy_multi.in PR: 206938 Approved by: ports-secteam (with hat) MFH: 2016Q1
71 lines
2.5 KiB
Bash
71 lines
2.5 KiB
Bash
#!/bin/sh
|
|
#
|
|
# $FreeBSD$
|
|
#
|
|
# PROVIDE: dnscrypt_proxy
|
|
# REQUIRE: SERVERS cleanvar ldconfig
|
|
# BEFORE: named local_unbound unbound
|
|
# KEYWORD: shutdown
|
|
#
|
|
# Add the following lines to /etc/rc.conf to enable dnscrypt-proxy:
|
|
#
|
|
# dnscrypt_proxy_instances (str): Set to "dnscrypt_proxy" by default.
|
|
# List of dnscrypt_proxy instance id's,
|
|
# e.g. "dnscrypt_proxy_1 dnscrypt_proxy_2", etc.
|
|
# {instance_id}_enable (bool): Set to NO by default.
|
|
# Set to YES to enable dnscrypt-proxy.
|
|
# {instance_id}_uid (str): Set to "_dnscrypt-proxy" by default.
|
|
# User to switch to after starting.
|
|
# {instance_id}_resolver (str): Set to "opendns" by default.
|
|
# Choose a different upstream resolver.
|
|
# {instance_id}_pidfile (str): default: "/var/run/dnscrypt-proxy.pid"
|
|
# Location of pid file.
|
|
# {instance_id}_logfile (str): default: "/var/log/dnscrypt-proxy.log"
|
|
# Location of log file.
|
|
#
|
|
# To redirect a local resolver through dnscrypt-proxy, point it at 127.0.0.2
|
|
# and add the following to rc.conf:
|
|
# ifconfig_lo0_alias0="inet 127.0.0.2 netmask 0xffffffff"
|
|
# dnscrypt_proxy_flags='-a 127.0.0.2'
|
|
|
|
. /etc/rc.subr
|
|
|
|
name=dnscrypt_proxy
|
|
rcvar=dnscrypt_proxy_enable
|
|
|
|
load_rc_config ${name}
|
|
|
|
: ${dnscrypt_proxy_instances="${name}"}
|
|
: ${dnscrypt_proxy_enable:=NO}
|
|
|
|
dnscrypt_proxy_enable_tmp=${dnscrypt_proxy_enable}
|
|
|
|
command=%%PREFIX%%/sbin/dnscrypt-proxy
|
|
procname=%%PREFIX%%/sbin/dnscrypt-proxy
|
|
|
|
for i in $dnscrypt_proxy_instances; do
|
|
name=${i}
|
|
|
|
eval ${name}_enable=${dnscrypt_proxy_enable_tmp}
|
|
rcvar=${name}_enable
|
|
|
|
load_rc_config ${i}
|
|
|
|
eval dnscrypt_proxy_uid_tmp=\${${i}_uid}
|
|
eval dnscrypt_proxy_resolver_tmp=\${${i}_resolver}
|
|
eval dnscrypt_proxy_pidfile_tmp=\${${i}_pidfile}
|
|
eval dnscrypt_proxy_logfile_tmp=\${${i}_logfile}
|
|
|
|
: ${dnscrypt_proxy_uid_tmp:=_dnscrypt-proxy} # User to run daemon as
|
|
: ${dnscrypt_proxy_resolver_tmp:=cisco} # resolver to use
|
|
: ${dnscrypt_proxy_pidfile_tmp:=/var/run/${i}.pid} # Path to pid file
|
|
: ${dnscrypt_proxy_logfile_tmp:=/var/log/${i}.log} # Path to log file
|
|
|
|
command_args="-d -p ${dnscrypt_proxy_pidfile_tmp} -l ${dnscrypt_proxy_logfile_tmp} -u ${dnscrypt_proxy_uid_tmp} -R ${dnscrypt_proxy_resolver_tmp}"
|
|
|
|
pidfile=${dnscrypt_proxy_pidfile_tmp}
|
|
|
|
_rc_restart_done=false # workaround for: service dnscrypt-proxy restart
|
|
|
|
run_rc_command "$1"
|
|
done
|