Skip to content
Snippets Groups Projects
Unverified Commit 36c71cf9 authored by Jeff Schmidt's avatar Jeff Schmidt Committed by Ashish SHUKLA
Browse files

security/tailscale: Enhance rc.d script


- Fix a typo in a command-line argument to specify port
- Add another option tailscaled_tun_dev to let user specify the name
  of the interface


Co-authored-by: default avatarAshish SHUKLA <ashish@FreeBSD.org>
parent 560a4ffe
No related branches found
No related tags found
No related merge requests found
PORTNAME= tailscale
PORTVERSION= 1.28.0
PORTREVISION= 1
PORTREVISION= 2
DISTVERSIONPREFIX= v
CATEGORIES= security net-vpn
......
......@@ -19,6 +19,8 @@
# Default is "daemon". See daemon(8).
# tailscaled_exitnode_enable (bool): Set it to YES to announce tailscaled as
# an exit node. Default is "NO".
# tailscaled_tun_dev (str): Set the name of the tun interface tailscaled creates.
# Default is "tailscale0"
. /etc/rc.subr
......@@ -30,6 +32,7 @@ load_rc_config $name
: ${tailscaled_enable:="NO"}
: ${tailscaled_port:="41641"}
: ${tailscaled_exitnode_enable:="NO"}
: ${tailscaled_tun_dev:="tailscale0"}
DAEMON=$(/usr/sbin/daemon 2>&1 | grep -q syslog ; echo $?)
if [ ${DAEMON} -eq 0 ]; then
......@@ -56,9 +59,6 @@ pidfile=/var/run/${name}.pid
procname="%%PREFIX%%/bin/${name}"
ctlname="%%PREFIX%%/bin/tailscale"
# XXX: Can we have multiple interfaces?
tailscale_tap_dev="tailscale0"
start_cmd="${name}_start"
start_postcmd="${name}_poststart"
stop_postcmd="${name}_poststop"
......@@ -67,11 +67,11 @@ tailscaled_start()
{
# Check for orphaned tailscale network interface
# And if it exists, then destroy it
/sbin/ifconfig ${tailscale_tap_dev} >/dev/null 2>&1 && (
/sbin/ifconfig ${tailscale_tap_dev} | fgrep -qw PID ||
/sbin/ifconfig ${tailscale_tap_dev} destroy
/sbin/ifconfig ${tailscaled_tun_dev} >/dev/null 2>&1 && (
/sbin/ifconfig ${tailscaled_tun_dev} | fgrep -qw PID ||
/sbin/ifconfig ${tailscaled_tun_dev} destroy
)
env CACHE_DIRECTORY=/var/db/tailscale /usr/sbin/daemon -f ${tailscaled_syslog_output_flags} -p ${pidfile} ${procname} --port ${tailscaled_port}
env CACHE_DIRECTORY=/var/db/tailscale /usr/sbin/daemon -f ${tailscaled_syslog_output_flags} -p ${pidfile} ${procname} -port ${tailscaled_port} -tun ${tailscaled_tun_dev}
}
tailscaled_poststart()
......@@ -84,9 +84,9 @@ tailscaled_poststart()
tailscaled_poststop()
{
/sbin/ifconfig ${tailscale_tap_dev} >/dev/null 2>&1 && (
logger -s -t tailscaled "Destroying tailscale0 adapter"
/sbin/ifconfig ${tailscale_tap_dev} destroy || logger -s -t tailscaled "Failed to destroy ${tailscale_tap_dev} adapter"
/sbin/ifconfig ${tailscaled_tun_dev} >/dev/null 2>&1 && (
logger -s -t tailscaled "Destroying ${tailscaled_tun_dev} adapter"
/sbin/ifconfig ${tailscaled_tun_dev} destroy || logger -s -t tailscaled "Failed to destroy ${tailscaled_tun_dev} adapter"
)
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment