git: 36c71cf9a831 - main - security/tailscale: Enhance rc.d script

From: Ashish SHUKLA <ashish_at_FreeBSD.org>
Date: Sun, 07 Aug 2022 22:35:38 UTC
The branch main has been updated by ashish:

URL: https://cgit.FreeBSD.org/ports/commit/?id=36c71cf9a8313fe2388f301fac73cd13a3fec05d

commit 36c71cf9a8313fe2388f301fac73cd13a3fec05d
Author:     Jeff Schmidt <jeff.jschmidt@gmail.com>
AuthorDate: 2022-08-07 06:49:25 +0000
Commit:     Ashish SHUKLA <ashish@FreeBSD.org>
CommitDate: 2022-08-07 22:35:00 +0000

    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: Ashish SHUKLA <ashish@FreeBSD.org>
---
 security/tailscale/Makefile            |  2 +-
 security/tailscale/files/tailscaled.in | 20 ++++++++++----------
 2 files changed, 11 insertions(+), 11 deletions(-)

diff --git a/security/tailscale/Makefile b/security/tailscale/Makefile
index f9fd25b1ac27..06342013ce5a 100644
--- a/security/tailscale/Makefile
+++ b/security/tailscale/Makefile
@@ -1,6 +1,6 @@
 PORTNAME=	tailscale
 PORTVERSION=	1.28.0
-PORTREVISION=	1
+PORTREVISION=	2
 DISTVERSIONPREFIX=	v
 CATEGORIES=	security net-vpn
 
diff --git a/security/tailscale/files/tailscaled.in b/security/tailscale/files/tailscaled.in
index 9300e901357c..f70c8cd71873 100644
--- a/security/tailscale/files/tailscaled.in
+++ b/security/tailscale/files/tailscaled.in
@@ -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"
 	)
 }