diff options
author | Ashish SHUKLA <ashish@FreeBSD.org> | 2022-05-11 04:37:09 +0000 |
---|---|---|
committer | Ashish SHUKLA <ashish@FreeBSD.org> | 2022-05-13 04:11:09 +0000 |
commit | 94f671fb0ef24b2b94a4b6d66228028a82e23b5d (patch) | |
tree | 60f723e25c6b55e707399d4b9637c8696a4ede74 | |
parent | 1430dabdb37f6c6aea8c089b78f8282a2c7b0ca5 (diff) | |
download | ports-94f671fb0ef24b2b94a4b6d66228028a82e23b5d.tar.gz ports-94f671fb0ef24b2b94a4b6d66228028a82e23b5d.zip |
security/tailscale: Robustify rc.d script
Check for orphaned network interface at the time of start, and if such
an interface exists then destroy it before starting tailscaled. When
tailscaled terminates unexpectedly it fails to cleanup, leaving the
orphaned interface behind. This results in it failing to start until
the interface is cleaned up, making it unsuitable for being monitored
by a service monitoring software (e.g. monit)
Reported by: ler
-rw-r--r-- | security/tailscale/Makefile | 1 | ||||
-rw-r--r-- | security/tailscale/files/tailscaled.in | 6 |
2 files changed, 7 insertions, 0 deletions
diff --git a/security/tailscale/Makefile b/security/tailscale/Makefile index 0a336ea028c9..93a2c9db290a 100644 --- a/security/tailscale/Makefile +++ b/security/tailscale/Makefile @@ -1,5 +1,6 @@ PORTNAME= tailscale PORTVERSION= 1.24.2 +PORTREVISION= 1 DISTVERSIONPREFIX= v CATEGORIES= security diff --git a/security/tailscale/files/tailscaled.in b/security/tailscale/files/tailscaled.in index b1cb480b92bc..9300e901357c 100644 --- a/security/tailscale/files/tailscaled.in +++ b/security/tailscale/files/tailscaled.in @@ -65,6 +65,12 @@ stop_postcmd="${name}_poststop" 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 + ) env CACHE_DIRECTORY=/var/db/tailscale /usr/sbin/daemon -f ${tailscaled_syslog_output_flags} -p ${pidfile} ${procname} --port ${tailscaled_port} } |