tailscale: Update to 1.48.0
authorZephyr Lykos <git@mochaa.ws>
Fri, 21 Jul 2023 13:08:21 +0000 (21:08 +0800)
committerTianling Shen <cnsztl@immortalwrt.org>
Wed, 23 Aug 2023 00:24:10 +0000 (08:24 +0800)
Everything is working on pure upstream code.
Patching is not longer needed.

Added entire /etc/tailscale/ directory to conffiles for persistent ssh
host key & https certificate across sysupgrades.

Signed-off-by: Zephyr Lykos <git@mochaa.ws>
(cherry picked from commit 750faf5942088c430732533e162ea5d91b17579a)

net/tailscale/Makefile
net/tailscale/patches/010-fake_iptables.patch [deleted file]
net/tailscale/patches/020-tailscaled_fake_iptables.patch [deleted file]
net/tailscale/patches/030-default_to_netfilter_off.patch [deleted file]

index d07dc502d087bed9c8f207335806cb50c75680d1..13a78ebdffe3aad43f16f2abdf9a64ea3385cab1 100644 (file)
@@ -8,12 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=tailscale
-PKG_VERSION:=1.44.0
+PKG_VERSION:=1.48.0
 PKG_RELEASE:=1
 
-PKG_SOURCE:=tailscale-$(PKG_VERSION).tar.gz
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://codeload.github.com/tailscale/tailscale/tar.gz/v$(PKG_VERSION)?
-PKG_HASH:=dc230cf3ac290140e573268a6e8f17124752ef064c8d3a86765a9dbb6f1bd354
+PKG_HASH:=a58f9a42d2d6c0eb0517f5e11f4b7f19892d999c8969c2ca148e4222089c85fc
 
 PKG_MAINTAINER:=Jan Pavlinec <jan.pavlinec1@gmail.com>
 PKG_LICENSE:=BSD-3-Clause
@@ -63,29 +63,7 @@ Package/tailscaled/description:=$(Package/tailscale/description)
 
 define Package/tailscaled/conffiles
 /etc/config/tailscale
-/etc/tailscale/tailscaled.state
-endef
-
-GO_IPTABLES_VERSION:=0.6.0
-GO_IPTABLES_FILE:=$(PKG_NAME)-go-iptables-$(GO_IPTABLES_VERSION).tar.gz
-
-define Download/go-iptables
-  URL:=https://codeload.github.com/coreos/go-iptables/tar.gz/v$(GO_IPTABLES_VERSION)?
-  URL_FILE:=$(GO_IPTABLES_FILE)
-  FILE:=$(GO_IPTABLES_FILE)
-  HASH:=a784cc17fcb17879f073eae47bc4c2e899f59f6906dac5a0aa7a9cc9f95ea66d
-endef
-
-define Build/Prepare
-       $(PKG_UNPACK)
-       [ ! -d ./src/ ] || $(CP) ./src/. $(PKG_BUILD_DIR)
-       $(eval $(call Download,go-iptables))
-       ( \
-               mkdir -p $(PKG_BUILD_DIR)/patched/ ; \
-               gzip -dc $(DL_DIR)/$(GO_IPTABLES_FILE) | $(HOST_TAR) -C $(PKG_BUILD_DIR)/patched $(TAR_OPTIONS) ; \
-               mv $(PKG_BUILD_DIR)/patched/go-iptables-$(GO_IPTABLES_VERSION) $(PKG_BUILD_DIR)/patched/go-iptables ; \
-       )
-       $(Build/Patch)
+/etc/tailscale/
 endef
 
 define Package/tailscale/install
diff --git a/net/tailscale/patches/010-fake_iptables.patch b/net/tailscale/patches/010-fake_iptables.patch
deleted file mode 100644 (file)
index ca7086e..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
---- a/go.mod
-+++ b/go.mod
-@@ -2,6 +2,8 @@ module tailscale.com
- go 1.20
-+replace github.com/coreos/go-iptables => ./patched/go-iptables
-+
- require (
-       filippo.io/mkcert v1.4.4
-       github.com/Microsoft/go-winio v0.6.1
---- a/patched/go-iptables/iptables/iptables.go
-+++ b/patched/go-iptables/iptables/iptables.go
-@@ -149,12 +149,39 @@ func New(opts ...option) (*IPTables, err
-       return ipt, nil
- }
-+func NewFake(opts ...option) (*IPTables, error) {
-+
-+      ipt := &IPTables{
-+              path:              "/bin/false",
-+              proto:             ProtocolIPv4,
-+              hasCheck:          false,
-+              hasWait:           false,
-+              waitSupportSecond: false,
-+              hasRandomFully:    false,
-+              v1:                0,
-+              v2:                0,
-+              v3:                0,
-+              mode:              "legacy",
-+              timeout:           0,
-+      }
-+
-+      for _, opt := range opts {
-+              opt(ipt)
-+      }
-+
-+      return ipt, nil
-+}
-+
- // New creates a new IPTables for the given proto.
- // The proto will determine which command is used, either "iptables" or "ip6tables".
- func NewWithProtocol(proto Protocol) (*IPTables, error) {
-       return New(IPFamily(proto), Timeout(0))
- }
-+func NewFakeWithProtocol(proto Protocol) (*IPTables, error) {
-+      return NewFake(IPFamily(proto), Timeout(0))
-+}
-+
- // Proto returns the protocol used by this IPTables.
- func (ipt *IPTables) Proto() Protocol {
-       return ipt.proto
diff --git a/net/tailscale/patches/020-tailscaled_fake_iptables.patch b/net/tailscale/patches/020-tailscaled_fake_iptables.patch
deleted file mode 100644 (file)
index a4d54bd..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
---- a/wgengine/router/router_linux.go
-+++ b/wgengine/router/router_linux.go
-@@ -129,7 +129,7 @@ func newUserspaceRouter(logf logger.Logf
-       ipt4, err := iptables.NewWithProtocol(iptables.ProtocolIPv4)
-       if err != nil {
--              return nil, err
-+              ipt4, err = iptables.NewFakeWithProtocol(iptables.ProtocolIPv4)
-       }
-       v6err := checkIPv6(logf)
-@@ -148,7 +148,7 @@ func newUserspaceRouter(logf logger.Logf
-               // if unavailable. We want that to be a non-fatal error.
-               ipt6, err = iptables.NewWithProtocol(iptables.ProtocolIPv6)
-               if err != nil {
--                      return nil, err
-+                      ipt6, err = iptables.NewFakeWithProtocol(iptables.ProtocolIPv6)
-               }
-       }
-@@ -1676,11 +1676,6 @@ func checkIPv6(logf logger.Logf) error {
-               return fmt.Errorf("kernel doesn't support IPv6 policy routing: %w", err)
-       }
--      // Some distros ship ip6tables separately from iptables.
--      if _, err := exec.LookPath("ip6tables"); err != nil {
--              return err
--      }
--
-       return nil
- }
diff --git a/net/tailscale/patches/030-default_to_netfilter_off.patch b/net/tailscale/patches/030-default_to_netfilter_off.patch
deleted file mode 100644 (file)
index 1edd002..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/cmd/tailscale/cli/up.go
-+++ b/cmd/tailscale/cli/up.go
-@@ -147,7 +147,7 @@ func defaultNetfilterMode() string {
-       if distro.Get() == distro.Synology {
-               return "off"
-       }
--      return "on"
-+      return "off"
- }
- type upArgsT struct {