Hi,

an update for net/headscale port (open source implementation of the Tailscale 
control server) to the latest version 0.22.3.

- update for Makefile, distinfo and modules for this version

- update module modernc.org/libc to the latest version v1.50.9 to fix headscale 
crash with libc version v1.22.2 => see 
https://github.com/juanfont/headscale/issues/1857
  * add MODGO_MODULES for modernc.org/libc v1.50.9 + depends in modules.inc
  * add patch for go.mod/go.sum files

- add a specific 'do-step' target and copy an unmodified version of 
config-example.yaml file in 'post-extract' + patch for 
cmd/headscale/headscale_test.go to use this file.

- add patch for hscontrol/app.go to fix an issue when terminating headscale 
process (see https://github.com/juanfont/headscale/issues/1461)

- fix path in patched config-example.yaml file for "unix_socket" => 
${LOCALSTATEDIR}/run/headscale/headscale.sock + update in pkg/PLIST

- update pkg/README for initial setup

Build and unit tests ('make test') OK on current/amd64 with Go version 1.22.3

My headscale tests are OK after port update to version 0.22.3.


Please, comments/tests welcome and please commit if OK.

Laurent


Index: Makefile
===================================================================
RCS file: /cvs/ports/net/headscale/Makefile,v
diff -u -p -r1.13 Makefile
--- Makefile	26 Apr 2023 13:42:54 -0000	1.13
+++ Makefile	28 May 2024 14:27:43 -0000
@@ -1,11 +1,10 @@
 ONLY_FOR_ARCHS =	amd64 arm64
-# modernc.org/libc has limited arch support
-# 1.21.5 fails on i386 (../../../go/pkg/mod/modernc.org/sqlite@v1.20.0/lib/mutex.go:220:7)
+# modernc.org/libc has limited arch support, fails on i386
 
 COMMENT =	open source implementation of the Tailscale control server
 
 MODGO_MODNAME =	github.com/juanfont/headscale
-MODGO_VERSION =	v0.22.1
+MODGO_VERSION =	v0.22.3
 
 DISTNAME =	headscale-${MODGO_VERSION}
 
@@ -21,11 +20,17 @@ PERMIT_PACKAGE =	Yes
 WANTLIB +=	c pthread
 
 MODULES =		lang/go
+
 MODGO_LDFLAGS +=	-X ${MODGO_MODNAME}/cmd/headscale/cli.Version=$\
 			${MODGO_VERSION:S/v//}
 
+# for patches to apply
 WRKDIST =	${WRKSRC}
 
+# Copy unmodified config-example.yaml for tests
+post-extract:
+	cd ${WRKSRC} && cp config-example.yaml config-example-test.yaml
+
 do-install:
 	${INSTALL_PROGRAM} ${MODGO_WORKSPACE}/bin/headscale ${PREFIX}/bin
 
@@ -35,6 +40,9 @@ post-install:
 		${PREFIX}/share/examples/headscale/
 	${SUBST_DATA} ${WRKSRC}/config-example.yaml \
 		${PREFIX}/share/examples/headscale/config-example.yaml
+
+do-test:
+	cd ${WRKSRC} && ${MODGO_TEST_CMD} ./...
 
 .include "modules.inc"
 
Index: distinfo
===================================================================
RCS file: /cvs/ports/net/headscale/distinfo,v
diff -u -p -r1.9 distinfo
--- distinfo	26 Apr 2023 13:42:54 -0000	1.9
+++ distinfo	28 May 2024 14:27:46 -0000
@@ -427,8 +427,6 @@ SHA256 (go_modules/github.com/butuzov/ir
 SHA256 (go_modules/github.com/butuzov/ireturn/@v/v0.1.1.zip) = BesZYpftW1q7Ng4IAzhw3j8D3pJUkXpLd5HZcgbVS40=
 SHA256 (go_modules/github.com/cavaliercoder/go-cpio/@v/v0.0.0-20180626203310-925f9528c45e.mod) = rR2mXVWLKwLZI2q0FGAy442gr3maqlX28aX7GAhpYn0=
 SHA256 (go_modules/github.com/cavaliercoder/go-cpio/@v/v0.0.0-20180626203310-925f9528c45e.zip) = CLaOHUJLVFQYgowFxGvOXXlbu4tTSHFmdlDsaz57M6Y=
-SHA256 (go_modules/github.com/ccding/go-stun/stun/@v/v0.0.0-20200514191101-4dc67bcdb029.mod) = vTI2+RGLgUE1oqIGUsjUZ+Akdva/5AOautHAheyAeTc=
-SHA256 (go_modules/github.com/ccding/go-stun/stun/@v/v0.0.0-20200514191101-4dc67bcdb029.zip) = U84DzBTLFkl8OzlVS631iBRSV658mnxLpoZ01RKytjw=
 SHA256 (go_modules/github.com/cenkalti/backoff/v4/@v/v4.1.3.mod) = 9UschVpRRf7uVv2HNZuvJIf+iGsQsZJeN22hRkCVjpc=
 SHA256 (go_modules/github.com/cenkalti/backoff/v4/@v/v4.2.0.mod) = g9QSLUkSfxPNqV+3k5fP5RbCPN1/wHoohq12TdFCK+M=
 SHA256 (go_modules/github.com/cenkalti/backoff/v4/@v/v4.2.0.zip) = +grL0YQ6e0TeyJZzXhRqUhuAwIETKjMP4ykT3LOVNIw=
@@ -447,7 +445,8 @@ SHA256 (go_modules/github.com/checkpoint
 SHA256 (go_modules/github.com/chzyer/logex/@v/v1.1.10.mod) = 99MQTqxMVnTcSEfPWxGTwuA70k/lISQ6NNcscJrYOjo=
 SHA256 (go_modules/github.com/chzyer/logex/@v/v1.1.10.zip) = LJR3HB4zWixYqWREs3aLjgApd0fWzn58FLqy6LOdkb0=
 SHA256 (go_modules/github.com/chzyer/readline/@v/v0.0.0-20180603132655-2972be24d48e.mod) = kAt5fFMfLfGC5DGolezTEJqs/t/d2rI6SPfAqdWnVlk=
-SHA256 (go_modules/github.com/chzyer/readline/@v/v0.0.0-20180603132655-2972be24d48e.zip) = PchCZ3iHJ4+zPSUHjTda5qepS7d6jSBe4iMLWBtpR6Y=
+SHA256 (go_modules/github.com/chzyer/readline/@v/v1.5.0.mod) = sNE5NHtBDI4fx67DNfOnemZc60frw0IYp01Tb5Oy2XE=
+SHA256 (go_modules/github.com/chzyer/readline/@v/v1.5.0.zip) = nry2d3yArLTlV3lB4XrsoEDXOgj6QwU8NxnheySueR8=
 SHA256 (go_modules/github.com/chzyer/test/@v/v0.0.0-20180213035817-a1ea475d72b1.mod) = 0HXE5LZiTqb4AxiDyNZv9DCrwv/h+06Jw7kRVpnynDs=
 SHA256 (go_modules/github.com/chzyer/test/@v/v0.0.0-20180213035817-a1ea475d72b1.zip) = rYVQvtPEqUu+9XufxbsVgG6s7aAJJXFkBDIFgNYOL30=
 SHA256 (go_modules/github.com/cilium/ebpf/@v/v0.10.0.mod) = DYeVQ9z3bSsq/ZtNv97mLSFsYkjzD+sjmhWqKGE17Xk=
@@ -557,6 +556,8 @@ SHA256 (go_modules/github.com/fatih/colo
 SHA256 (go_modules/github.com/fatih/color/@v/v1.13.0.zip) = jyKpKBbZRhsv+Wd1TTDpvIJ50EWvG3VYVOvnZehMqyA=
 SHA256 (go_modules/github.com/fatih/structtag/@v/v1.2.0.mod) = La2S26+gjicjQm0eIWDHpHabhzboYQxMwPHR3s/nSGI=
 SHA256 (go_modules/github.com/fatih/structtag/@v/v1.2.0.zip) = n+DtIShhSjw1xBSf695ITProxeyxPBKJV8/N8ndt0es=
+SHA256 (go_modules/github.com/felixge/fgprof/@v/v0.9.3.mod) = G4FCpyTwr69dOnTq+HyFVk1QzegJwKNNz6AmZH+ucx4=
+SHA256 (go_modules/github.com/felixge/fgprof/@v/v0.9.3.zip) = LIMmgIes+Ldnvmnbw3wJn6hYVnY8Loj7mWN9Rutqwjw=
 SHA256 (go_modules/github.com/frankban/quicktest/@v/v1.11.3.mod) = bhIQbOW+f9JXmJ0NkhgAHLGRvDerM+e39VgABseb+LQ=
 SHA256 (go_modules/github.com/frankban/quicktest/@v/v1.14.0.mod) = NesGxsU7XJIASF2NNyQwKaLpCs06MxzuY1A/XmE6p3Y=
 SHA256 (go_modules/github.com/frankban/quicktest/@v/v1.14.3.mod) = +e59KMX1SXjrR2GdVklcjNPLjI5u8UZ2iGDlLO7pMro=
@@ -762,6 +763,7 @@ SHA256 (go_modules/github.com/google/ppr
 SHA256 (go_modules/github.com/google/pprof/@v/v0.0.0-20201023163331-3e6fc7fc9c4c.mod) = 1S8e7jMu3iY7xH3tdAOtp/y9x5oSu4J+mCdjtHACdqg=
 SHA256 (go_modules/github.com/google/pprof/@v/v0.0.0-20201203190320-1bf35d6f28c2.mod) = 1S8e7jMu3iY7xH3tdAOtp/y9x5oSu4J+mCdjtHACdqg=
 SHA256 (go_modules/github.com/google/pprof/@v/v0.0.0-20201218002935-b9804c9f04c2.mod) = 1S8e7jMu3iY7xH3tdAOtp/y9x5oSu4J+mCdjtHACdqg=
+SHA256 (go_modules/github.com/google/pprof/@v/v0.0.0-20211214055906-6f57359322fd.mod) = hzeZ+tgTqpIWXvsMYZn4NPAiTAZIAz+ydNLF6SFghow=
 SHA256 (go_modules/github.com/google/pprof/@v/v0.0.0-20221118152302-e6195bd50e26.mod) = 4Cfefmd3WrEPUVFLSPyF5v2CLYmXSx10ZV60hdBOSfI=
 SHA256 (go_modules/github.com/google/pprof/@v/v0.0.0-20221118152302-e6195bd50e26.zip) = AKqiNCMu0Q4TlrNV9fc9iZliPYNYKk+w6Eozf9PPq2I=
 SHA256 (go_modules/github.com/google/renameio/@v/v0.1.0.mod) = uptesIeACKiR4WsIwXkisD+Sx2oD57/hgyY16tocGjU=
@@ -773,6 +775,8 @@ SHA256 (go_modules/github.com/google/shl
 SHA256 (go_modules/github.com/google/uuid/@v/v1.1.2.mod) = c9pHtjOLAKCC/UUao1oyc9OtwJuOm7qY2rAQkeQCr24=
 SHA256 (go_modules/github.com/google/uuid/@v/v1.3.0.mod) = c9pHtjOLAKCC/UUao1oyc9OtwJuOm7qY2rAQkeQCr24=
 SHA256 (go_modules/github.com/google/uuid/@v/v1.3.0.zip) = Cl/MBepJKv6sqYSgEkhfahXiJZsy8SBtbzaojIivxgc=
+SHA256 (go_modules/github.com/google/uuid/@v/v1.6.0.mod) = c9pHtjOLAKCC/UUao1oyc9OtwJuOm7qY2rAQkeQCr24=
+SHA256 (go_modules/github.com/google/uuid/@v/v1.6.0.zip) = 0PAvN3IX9CcC4lloTgZEHtv1FA3dzDS6m+pWA4s4pu0=
 SHA256 (go_modules/github.com/googleapis/enterprise-certificate-proxy/@v/v0.2.1.mod) = jXz5Yr6MDPeFbZwIG7LJn8xnr9g9EvNVvI5nEmagt3A=
 SHA256 (go_modules/github.com/googleapis/enterprise-certificate-proxy/@v/v0.2.1.zip) = qdWQ5Ba14gUnL0oIrGrZp8NUxcErTldV5Jz8kne3sdY=
 SHA256 (go_modules/github.com/googleapis/gax-go/v2/@v/v2.0.4.mod) = plQKJE0BZ1VWoaqSQx34HACW+Qh3FX+zmcUesvyaaWs=
@@ -844,7 +848,9 @@ SHA256 (go_modules/github.com/iancoleman
 SHA256 (go_modules/github.com/iancoleman/strcase/@v/v0.2.0.zip) = y1An/skdNkJvCXimxCq1LYc1+j4XEb4BJ/7acKmp/QU=
 SHA256 (go_modules/github.com/ianlancetaylor/demangle/@v/v0.0.0-20181102032728-5e5cf60278f6.mod) = HQqdl3m4dISvT9ubWW5mMpicgooCehbOuqTSHJvbPeo=
 SHA256 (go_modules/github.com/ianlancetaylor/demangle/@v/v0.0.0-20200824232613-28f6c0f3b639.mod) = HQqdl3m4dISvT9ubWW5mMpicgooCehbOuqTSHJvbPeo=
-SHA256 (go_modules/github.com/ianlancetaylor/demangle/@v/v0.0.0-20200824232613-28f6c0f3b639.zip) = 9XCaZgHwtNwX2juroaUMyV6/Pv3QQK7Mf89NDom6sGY=
+SHA256 (go_modules/github.com/ianlancetaylor/demangle/@v/v0.0.0-20210905161508-09a460cdf81d.mod) = ++6V0vip9ymLgFywV1UNxOIYMTnBtoUPPPOhxkevJ/8=
+SHA256 (go_modules/github.com/ianlancetaylor/demangle/@v/v0.0.0-20220319035150-800ac71e25c2.mod) = ++6V0vip9ymLgFywV1UNxOIYMTnBtoUPPPOhxkevJ/8=
+SHA256 (go_modules/github.com/ianlancetaylor/demangle/@v/v0.0.0-20220319035150-800ac71e25c2.zip) = UhAWD0d6otpf+SU3i5FTxeQKFJY3awzwH1AJWyXa8To=
 SHA256 (go_modules/github.com/illarion/gonotify/@v/v1.0.1.mod) = QtNKdHCGhBVLtsDr3BhKsYdLHSy8etk4PO0IVyNfUL8=
 SHA256 (go_modules/github.com/illarion/gonotify/@v/v1.0.1.zip) = FXTpU4b494ZgyKZqTWmP+x/bgyZU3NrlSMJlkIq2Kq4=
 SHA256 (go_modules/github.com/imdario/mergo/@v/v0.3.12.mod) = MbvTydizkAk78fEJlCB8v1wVh5coORGvXa1yijROOvk=
@@ -972,6 +978,8 @@ SHA256 (go_modules/github.com/mattn/go-i
 SHA256 (go_modules/github.com/mattn/go-isatty/@v/v0.0.16.mod) = cUdm7ILWfbiVreiva4BUrUMMPOpeFbOoiPI+0vPhuGM=
 SHA256 (go_modules/github.com/mattn/go-isatty/@v/v0.0.17.mod) = cUdm7ILWfbiVreiva4BUrUMMPOpeFbOoiPI+0vPhuGM=
 SHA256 (go_modules/github.com/mattn/go-isatty/@v/v0.0.17.zip) = 7YqYSnkx1hi2d7b9a8yTxYu1fme0swBcQBKohRtJQow=
+SHA256 (go_modules/github.com/mattn/go-isatty/@v/v0.0.20.mod) = Huq+8bTZjbc8bCBzKJFjZJvJoERVKsqGudWS/oTqocg=
+SHA256 (go_modules/github.com/mattn/go-isatty/@v/v0.0.20.zip) = 8tX4nKRRV34XRkubtZbcDQ7OzsteqmNiLEG1fNC3uMw=
 SHA256 (go_modules/github.com/mattn/go-isatty/@v/v0.0.8.mod) = T3daib6agBiagm7yLcMD44lVfFWPFL/UC3W17yhF5W8=
 SHA256 (go_modules/github.com/mattn/go-runewidth/@v/v0.0.13.mod) = IWyT0ZMQYSyB1cdBAkmJ+DiX0jM8Op+We1ixMXWH9Rk=
 SHA256 (go_modules/github.com/mattn/go-runewidth/@v/v0.0.14.mod) = IWyT0ZMQYSyB1cdBAkmJ+DiX0jM8Op+We1ixMXWH9Rk=
@@ -1036,6 +1044,8 @@ SHA256 (go_modules/github.com/nakabonne/
 SHA256 (go_modules/github.com/nakabonne/nestif/@v/v0.3.1.zip) = fAo5vYV3t7FY6SE/cPjZKnBNGddJAO7k9doOnyM/p8c=
 SHA256 (go_modules/github.com/nbutton23/zxcvbn-go/@v/v0.0.0-20210217022336-fa2cb2858354.mod) = t9X0IU7MpaTWEHIFsqEtXn8rbBfbtg0xOryizU7xPqI=
 SHA256 (go_modules/github.com/nbutton23/zxcvbn-go/@v/v0.0.0-20210217022336-fa2cb2858354.zip) = zv+oMZFOi2SO/7xsk3wAwcAof5mx8LwDkhgQDCAkLy0=
+SHA256 (go_modules/github.com/ncruces/go-strftime/@v/v0.1.9.mod) = 5YZKHdmsYr13jnRE4C4eQTD6fADYjq6iccNPk05yT3M=
+SHA256 (go_modules/github.com/ncruces/go-strftime/@v/v0.1.9.zip) = PEbunJ24/ejOk8doqHAfoB9jC6sM//M4SBzedo/lYaw=
 SHA256 (go_modules/github.com/nfnt/resize/@v/v0.0.0-20180221191011-83c6a9932646.mod) = UShf/MHJ0yYhc7wa9g61MWz7hDcwPFpgAWtjvn9PktI=
 SHA256 (go_modules/github.com/nfnt/resize/@v/v0.0.0-20180221191011-83c6a9932646.zip) = uOl8sU5eXvKddi0t/4kPYnmhJZkN35y3rlxNKgFbEJw=
 SHA256 (go_modules/github.com/nishanths/exhaustive/@v/v0.7.11.mod) = XCPc+dvAnRl5ghRYd3ErmE3kO9QYla+QSxYS6Yo9XrY=
@@ -1082,6 +1092,8 @@ SHA256 (go_modules/github.com/pkg/diff/@
 SHA256 (go_modules/github.com/pkg/errors/@v/v0.8.1.mod) = 3yjGqCPxgddheWlxd8DFlDxv+zjzwQstxTvjYO59RYk=
 SHA256 (go_modules/github.com/pkg/errors/@v/v0.9.1.mod) = 3yjGqCPxgddheWlxd8DFlDxv+zjzwQstxTvjYO59RYk=
 SHA256 (go_modules/github.com/pkg/errors/@v/v0.9.1.zip) = 1MNri80GFikKORMhXg9TuTG9bgBnBZbylg3xtEryvQc=
+SHA256 (go_modules/github.com/pkg/profile/@v/v1.7.0.mod) = SnkqIyRN7sE3zqtMGrCjdQcat/FyI0w6M+JL0BlpR7U=
+SHA256 (go_modules/github.com/pkg/profile/@v/v1.7.0.zip) = V6ZdbKOuXfEWUwUt6edAUv6y2AL9jEyxDZpW8EZsyF8=
 SHA256 (go_modules/github.com/pkg/sftp/@v/v1.13.1.mod) = NpHzqq1m1VnAqhMOliQp41zFPNSd7YIAvOSVurrQY90=
 SHA256 (go_modules/github.com/pkg/sftp/@v/v1.13.4.mod) = OekoUAzx2usT9+JqW/O71Rrudq27vclm+G+XzxYpBL0=
 SHA256 (go_modules/github.com/pkg/sftp/@v/v1.13.4.zip) = /1ZKFPJWFBRVUwkcj1tAC23gltkm79vOt8pBoWDY4hI=
@@ -1352,6 +1364,8 @@ SHA256 (go_modules/golang.org/x/crypto/@
 SHA256 (go_modules/golang.org/x/crypto/@v/v0.0.0-20211215153901-e495a2d5b3d3.mod) = ryyI7r/wPjoq/ssbA2afxU6dEiyI97Ls/tBR7F28i7s=
 SHA256 (go_modules/golang.org/x/crypto/@v/v0.0.0-20220214200702-86341886e292.mod) = ryyI7r/wPjoq/ssbA2afxU6dEiyI97Ls/tBR7F28i7s=
 SHA256 (go_modules/golang.org/x/crypto/@v/v0.0.0-20220525230936-793ad666bf5e.mod) = ryyI7r/wPjoq/ssbA2afxU6dEiyI97Ls/tBR7F28i7s=
+SHA256 (go_modules/golang.org/x/crypto/@v/v0.21.0.mod) = f/QKV7DP8QbRsVNeHQvHdCOK+z5T95f+/hgkt2WraE0=
+SHA256 (go_modules/golang.org/x/crypto/@v/v0.21.0.zip) = aJ1rkxPUBuBhhjubhOtDsCt/vggaSbslCXv7GS8bkOA=
 SHA256 (go_modules/golang.org/x/crypto/@v/v0.6.0.mod) = G2poNFWjuIK2rFPyJ1KWDoe9kQQKlNbyxcthJh4jidg=
 SHA256 (go_modules/golang.org/x/crypto/@v/v0.7.0.mod) = yJ/iLnPawmoAplasEf9MbhprbNKrzFftzazew/va2C0=
 SHA256 (go_modules/golang.org/x/crypto/@v/v0.7.0.zip) = d1Snxmt4AP9uR5A8YJqgfQSEUBgmrgR9LuGn1eJP0BI=
@@ -1395,6 +1409,8 @@ SHA256 (go_modules/golang.org/x/mod/@v/v
 SHA256 (go_modules/golang.org/x/mod/@v/v0.1.0.mod) = FCRLYa1tRv//xCuQorVwxJ2Zqj2xdTBiKE19z31NPko=
 SHA256 (go_modules/golang.org/x/mod/@v/v0.1.1-0.20191105210325-c90efee705ee.mod) = 12u96oHRltCYWJZ6Z6yAXazs3R+zDFABoYfSTBKbFZc=
 SHA256 (go_modules/golang.org/x/mod/@v/v0.1.1-0.20191107180719-034126e5016b.mod) = 12u96oHRltCYWJZ6Z6yAXazs3R+zDFABoYfSTBKbFZc=
+SHA256 (go_modules/golang.org/x/mod/@v/v0.16.0.mod) = XErAMQolMwdXA5zPOpjnX+/by31ETd0EkjAAOkSUW94=
+SHA256 (go_modules/golang.org/x/mod/@v/v0.16.0.zip) = RLsLYKMFA2xkAvmy1Y99PPyjEM/1ckHzfG4Ka9r6yxU=
 SHA256 (go_modules/golang.org/x/mod/@v/v0.2.0.mod) = sojwiP2FGIWm00gzni9YjlipTmx25eY0rh1nwnSetBM=
 SHA256 (go_modules/golang.org/x/mod/@v/v0.3.0.mod) = sojwiP2FGIWm00gzni9YjlipTmx25eY0rh1nwnSetBM=
 SHA256 (go_modules/golang.org/x/mod/@v/v0.4.0.mod) = sojwiP2FGIWm00gzni9YjlipTmx25eY0rh1nwnSetBM=
@@ -1441,6 +1457,8 @@ SHA256 (go_modules/golang.org/x/net/@v/v
 SHA256 (go_modules/golang.org/x/net/@v/v0.0.0-20220225172249-27dd8689420f.mod) = q58hDgTR/37XvDHV6gn0xXfNXtz9gYQKuKV4oIJDS3Q=
 SHA256 (go_modules/golang.org/x/net/@v/v0.0.0-20220722155237-a158d28d115b.mod) = sxXFJkfS2i925c2502fh1nJ3hCNqm/+2EhkrGbEKEo0=
 SHA256 (go_modules/golang.org/x/net/@v/v0.2.0.mod) = B+xkXjNT/CZz8tje5cFOuSi5wTEnpAn+PsQOq6Tb2zA=
+SHA256 (go_modules/golang.org/x/net/@v/v0.22.0.mod) = Cz+667RmgBS03KX15YpFkWcFZ+9EKexf3k6u1mreb6w=
+SHA256 (go_modules/golang.org/x/net/@v/v0.22.0.zip) = L2JOUE9M1WnpB6lEnTSfHE42UmI/ueNS6B0hVezCwTM=
 SHA256 (go_modules/golang.org/x/net/@v/v0.3.0.mod) = PDYKM2jCXws5pktjD+dO2ZjfAOar7pP9SfVv/nWQoTE=
 SHA256 (go_modules/golang.org/x/net/@v/v0.4.0.mod) = PDYKM2jCXws5pktjD+dO2ZjfAOar7pP9SfVv/nWQoTE=
 SHA256 (go_modules/golang.org/x/net/@v/v0.6.0.mod) = Qex26iFy8+4wMeOPmlNZOaWE1rs170gIVP3LjCAmcBs=
@@ -1479,6 +1497,8 @@ SHA256 (go_modules/golang.org/x/sync/@v/
 SHA256 (go_modules/golang.org/x/sync/@v/v0.0.0-20220722155255-886fb9371eb4.mod) = Qh9hOWhtWJHz3FpWPQmVeA0yefZcrU0iXOpSaGeUFhw=
 SHA256 (go_modules/golang.org/x/sync/@v/v0.1.0.mod) = Qh9hOWhtWJHz3FpWPQmVeA0yefZcrU0iXOpSaGeUFhw=
 SHA256 (go_modules/golang.org/x/sync/@v/v0.1.0.zip) = 9RC+xgCeGYgtGZU+cnMTfTTfhsZZSTRdcvEjolXC7NI=
+SHA256 (go_modules/golang.org/x/sync/@v/v0.6.0.mod) = cA5dsA3SaqGaF9zl/FUkNtYPaMVgbIW4IfJMPWByoVE=
+SHA256 (go_modules/golang.org/x/sync/@v/v0.6.0.zip) = fHUXUpejs2i4Br0kx0AWKd8R3MZV48FEcAWCgvEBymo=
 SHA256 (go_modules/golang.org/x/sys/@v/v0.0.0-20180830151530-49385e6e1522.mod) = iWkRXko5EIhIMk55ob2KhEUjDm46rMvp+AV/tQ//yME=
 SHA256 (go_modules/golang.org/x/sys/@v/v0.0.0-20190215142949-d0b11bdaac8a.mod) = iWkRXko5EIhIMk55ob2KhEUjDm46rMvp+AV/tQ//yME=
 SHA256 (go_modules/golang.org/x/sys/@v/v0.0.0-20190222072716-a9d3bda3a223.mod) = iWkRXko5EIhIMk55ob2KhEUjDm46rMvp+AV/tQ//yME=
@@ -1528,10 +1548,12 @@ SHA256 (go_modules/golang.org/x/sys/@v/v
 SHA256 (go_modules/golang.org/x/sys/@v/v0.0.0-20210630005230-0f9fa26af87c.mod) = 8DMzMJb+GY8xUd7tk/LeunTlC7/nc5E0BFvDt85KUCQ=
 SHA256 (go_modules/golang.org/x/sys/@v/v0.0.0-20210906170528-6f6e22806c34.mod) = 8DMzMJb+GY8xUd7tk/LeunTlC7/nc5E0BFvDt85KUCQ=
 SHA256 (go_modules/golang.org/x/sys/@v/v0.0.0-20210927094055-39ccf1dd6fa6.mod) = 8DMzMJb+GY8xUd7tk/LeunTlC7/nc5E0BFvDt85KUCQ=
+SHA256 (go_modules/golang.org/x/sys/@v/v0.0.0-20211007075335-d3039528d8ac.mod) = 8DMzMJb+GY8xUd7tk/LeunTlC7/nc5E0BFvDt85KUCQ=
 SHA256 (go_modules/golang.org/x/sys/@v/v0.0.0-20211013075003-97ac67df715c.mod) = 8DMzMJb+GY8xUd7tk/LeunTlC7/nc5E0BFvDt85KUCQ=
 SHA256 (go_modules/golang.org/x/sys/@v/v0.0.0-20211025201205-69cdffdb9359.mod) = 8DMzMJb+GY8xUd7tk/LeunTlC7/nc5E0BFvDt85KUCQ=
 SHA256 (go_modules/golang.org/x/sys/@v/v0.0.0-20211116061358-0a5406a5449c.mod) = 8DMzMJb+GY8xUd7tk/LeunTlC7/nc5E0BFvDt85KUCQ=
 SHA256 (go_modules/golang.org/x/sys/@v/v0.0.0-20211216021012-1d35b9e2eb4e.mod) = 8DMzMJb+GY8xUd7tk/LeunTlC7/nc5E0BFvDt85KUCQ=
+SHA256 (go_modules/golang.org/x/sys/@v/v0.0.0-20220310020820-b874c991c1a5.mod) = 8DMzMJb+GY8xUd7tk/LeunTlC7/nc5E0BFvDt85KUCQ=
 SHA256 (go_modules/golang.org/x/sys/@v/v0.0.0-20220319134239-a9b59b0215f8.mod) = 8DMzMJb+GY8xUd7tk/LeunTlC7/nc5E0BFvDt85KUCQ=
 SHA256 (go_modules/golang.org/x/sys/@v/v0.0.0-20220405210540-1e041c57c461.mod) = 8DMzMJb+GY8xUd7tk/LeunTlC7/nc5E0BFvDt85KUCQ=
 SHA256 (go_modules/golang.org/x/sys/@v/v0.0.0-20220412211240-33da011f77ad.mod) = 8DMzMJb+GY8xUd7tk/LeunTlC7/nc5E0BFvDt85KUCQ=
@@ -1543,6 +1565,8 @@ SHA256 (go_modules/golang.org/x/sys/@v/v
 SHA256 (go_modules/golang.org/x/sys/@v/v0.0.0-20220908164124-27713097b956.mod) = 8DMzMJb+GY8xUd7tk/LeunTlC7/nc5E0BFvDt85KUCQ=
 SHA256 (go_modules/golang.org/x/sys/@v/v0.1.0.mod) = 8DMzMJb+GY8xUd7tk/LeunTlC7/nc5E0BFvDt85KUCQ=
 SHA256 (go_modules/golang.org/x/sys/@v/v0.2.0.mod) = 8DMzMJb+GY8xUd7tk/LeunTlC7/nc5E0BFvDt85KUCQ=
+SHA256 (go_modules/golang.org/x/sys/@v/v0.20.0.mod) = 0iezJfYh9OvijTm6dz6pm4cPOTt8CcNFksNlsW3VYN4=
+SHA256 (go_modules/golang.org/x/sys/@v/v0.20.0.zip) = P4JrGR6rHr2pJf61UdM0434bWGXRqnkPreRlmIEaixo=
 SHA256 (go_modules/golang.org/x/sys/@v/v0.3.0.mod) = 8DMzMJb+GY8xUd7tk/LeunTlC7/nc5E0BFvDt85KUCQ=
 SHA256 (go_modules/golang.org/x/sys/@v/v0.4.0.mod) = 8DMzMJb+GY8xUd7tk/LeunTlC7/nc5E0BFvDt85KUCQ=
 SHA256 (go_modules/golang.org/x/sys/@v/v0.4.1-0.20230131160137-e7d7f63158de.mod) = 8DMzMJb+GY8xUd7tk/LeunTlC7/nc5E0BFvDt85KUCQ=
@@ -1555,12 +1579,16 @@ SHA256 (go_modules/golang.org/x/term/@v/
 SHA256 (go_modules/golang.org/x/term/@v/v0.0.0-20210503060354-a79de5458b56.mod) = Kj1IxnJzfkKM4ZDsCsj3y4l512Tq00SHR00YHYT9a/E=
 SHA256 (go_modules/golang.org/x/term/@v/v0.0.0-20210615171337-6886f2dfbf5b.mod) = dAeU4pFPXMh+JWVsWEMiKyxlZlghIF9FYyoEd8jT95s=
 SHA256 (go_modules/golang.org/x/term/@v/v0.0.0-20210927222741-03fcf44c2211.mod) = dAeU4pFPXMh+JWVsWEMiKyxlZlghIF9FYyoEd8jT95s=
+SHA256 (go_modules/golang.org/x/term/@v/v0.18.0.mod) = g8LUm6V+PVvzArifuftB8QhV0RS/cRhMwzuCUXc0Sug=
+SHA256 (go_modules/golang.org/x/term/@v/v0.18.0.zip) = YGUvfdL6QYXGKGe8qj+lblmwf1txCD2PcquILSUTVaY=
 SHA256 (go_modules/golang.org/x/term/@v/v0.3.0.mod) = HlYfdBO3S00wyi1smHTM0Tu4yU2qDmwjd7rZ6c9tvlg=
 SHA256 (go_modules/golang.org/x/term/@v/v0.5.0.mod) = DW9YIoqtwaZSjmdV2gGFFlZuOuXFIB963hdz9W+o2TQ=
 SHA256 (go_modules/golang.org/x/term/@v/v0.6.0.mod) = ZDWbnGU3CEePAgcpiFBE/z2ABxhtnUQRJf6HSBfnEgE=
 SHA256 (go_modules/golang.org/x/term/@v/v0.7.0.mod) = RsDxQ/3tcWQnE3P7XJr/a2bC0r7iyhjANT6qnUqJxKI=
 SHA256 (go_modules/golang.org/x/term/@v/v0.7.0.zip) = 9UiGeSoJI5e1FObXmj/D6SahpUC04VARWZXZZnp6RuQ=
 SHA256 (go_modules/golang.org/x/text/@v/v0.0.0-20170915032832-14c0d48ead0c.mod) = NoedWG/YAB6E2oeHGQoR5PeHSeKoHf6Lm2kxiZ//Mc8=
+SHA256 (go_modules/golang.org/x/text/@v/v0.14.0.mod) = lxV58X6avFkmq3YhT1M71RfPSSXIhSQ6xHVaGgp8ae8=
+SHA256 (go_modules/golang.org/x/text/@v/v0.14.0.zip) = uYFIl+DgnNV2p6AT8GbH21N6PVONLg9g8Mrum8Gz9K8=
 SHA256 (go_modules/golang.org/x/text/@v/v0.3.0.mod) = NoedWG/YAB6E2oeHGQoR5PeHSeKoHf6Lm2kxiZ//Mc8=
 SHA256 (go_modules/golang.org/x/text/@v/v0.3.1-0.20180807135948-17ff2d5776d2.mod) = NoedWG/YAB6E2oeHGQoR5PeHSeKoHf6Lm2kxiZ//Mc8=
 SHA256 (go_modules/golang.org/x/text/@v/v0.3.2.mod) = bDx63ysK1xQ9kT9GmNGQhCI2ml5vGYYg+X8+UvmhuN0=
@@ -1634,6 +1662,8 @@ SHA256 (go_modules/golang.org/x/tools/@v
 SHA256 (go_modules/golang.org/x/tools/@v/v0.1.0.mod) = Z1kEvCsuK+3wKoEbHR2gIDDCVS78nBUqknakRoStMT8=
 SHA256 (go_modules/golang.org/x/tools/@v/v0.1.12.mod) = KouTZYmPCCL6zmW6CJoTU+aKZdNC8wDKMXzOzN5kIfM=
 SHA256 (go_modules/golang.org/x/tools/@v/v0.1.7.mod) = Q2yl4Z9WTZPLShrRgDxJ/d2TyreA19vyLDb4DKwVldY=
+SHA256 (go_modules/golang.org/x/tools/@v/v0.19.0.mod) = lRF4J7egxD+4ScnXIy20BUJ+MMWGE0dB7jAQymw3fXI=
+SHA256 (go_modules/golang.org/x/tools/@v/v0.19.0.zip) = cTc//9lq1WcbFHnf3AbwSfPhaCRN/eeSbqS6J/UcKd8=
 SHA256 (go_modules/golang.org/x/tools/@v/v0.2.0.mod) = nJteYq9p8rEAKc4SlE3Ig08SJqg7skPpoNvzfguxhro=
 SHA256 (go_modules/golang.org/x/tools/@v/v0.4.1-0.20221208213631-3f74d914ae6d.mod) = HQUCo4MefhUN202B8YA67XXmJEpkIgkJwzeIgItr2A8=
 SHA256 (go_modules/golang.org/x/tools/@v/v0.6.0.mod) = gw7Xjc0+mSfEEuJkEjAwhEd0nVE9MQJNJ24kQ7IBZgk=
@@ -1792,7 +1822,8 @@ SHA256 (go_modules/gorm.io/gorm/@v/v1.24
 SHA256 (go_modules/gorm.io/gorm/@v/v1.24.6.mod) = IAuZkaXpVdjYqR5FKHbIR3iG4wItmXkz8cU65aBnNOo=
 SHA256 (go_modules/gorm.io/gorm/@v/v1.24.6.zip) = UBp4+0SM0O6Z07/wSmc4OSpt37AN1I6YSDwQjEZ9n5g=
 SHA256 (go_modules/gotest.tools/v3/@v/v3.2.0.mod) = IUtog2bXo+3KQa37T1dFP5Alf+Ln/9IxqzAYZgvpGWw=
-SHA256 (go_modules/gotest.tools/v3/@v/v3.2.0.zip) = /iODlAE+vzXDE7feYMXfW2Jx98X5guuO7O/jJFMaD18=
+SHA256 (go_modules/gotest.tools/v3/@v/v3.4.0.mod) = 5fY/P55btbsWCPs0D7LTp6bnaPHmYWrju/QW2JKZaHE=
+SHA256 (go_modules/gotest.tools/v3/@v/v3.4.0.zip) = Z0tbazP6uxV1bUwA9Xndcw5ADk4WmAt90JwEY3tDt/8=
 SHA256 (go_modules/gvisor.dev/gvisor/@v/v0.0.0-20221203005347-703fd9b7fbc0.mod) = 1nmHzLbFVAgcejCy3W1rmn0EkE4b0cawkK2xNmvbZbY=
 SHA256 (go_modules/gvisor.dev/gvisor/@v/v0.0.0-20221203005347-703fd9b7fbc0.zip) = Sh3lQaM8SdFGVt+HgEUIWQY59raeeFzVYa1hhV6VOGU=
 SHA256 (go_modules/honnef.co/go/tools/@v/v0.0.0-20190102054323-c2f93a96b099.mod) = scYIN+phM18U32TzGUw82S4PYo9gZIBnGJUPDXodvp4=
@@ -1839,11 +1870,17 @@ SHA256 (go_modules/modernc.org/httpfs/@v
 SHA256 (go_modules/modernc.org/httpfs/@v/v1.0.6.zip) = C1MUZJwTJ6GZOX62/VKzzkHJ07xt0qTepWW1+4fBP0E=
 SHA256 (go_modules/modernc.org/libc/@v/v1.22.2.mod) = GIgPaDZfhA0evMaxj5CNQE8zZFC3LnEvcetSBWcsINo=
 SHA256 (go_modules/modernc.org/libc/@v/v1.22.2.zip) = X5i+358GY7O4dVWQTuQbgv6djprFxHyfrJpCp/4jIxM=
+SHA256 (go_modules/modernc.org/libc/@v/v1.50.9.mod) = jH6l3E00DuPJe6TZ8go52V9MxNL+bkqi211S6FK7AHc=
+SHA256 (go_modules/modernc.org/libc/@v/v1.50.9.zip) = wKeFLpi5o5pPsjrJXxuJd8YBfdGLvHKuQ1k92WlDpbA=
 SHA256 (go_modules/modernc.org/mathutil/@v/v1.5.0.mod) = VzQ5EpYtwA0ZB7ro/1N8AHRl1XKxQ22IrGB2OtbYk7U=
 SHA256 (go_modules/modernc.org/mathutil/@v/v1.5.0.zip) = wXp2fqpeti2bsQW47OfySRht1SubUzMBvsFAs9X9Jg8=
+SHA256 (go_modules/modernc.org/mathutil/@v/v1.6.0.mod) = Dx1CecAK4fRp1ZMiVDoaPmFbG5eRqT6x7aXkVVZjPII=
+SHA256 (go_modules/modernc.org/mathutil/@v/v1.6.0.zip) = Op4gZYl+FytMCSwwmOFaLWa8JwBDL4i6aBLBtrCs8rI=
 SHA256 (go_modules/modernc.org/memory/@v/v1.4.0.mod) = DqnCvEnWMp9kIISgErYccqRX6DloOpdO3trNvsmtpKI=
 SHA256 (go_modules/modernc.org/memory/@v/v1.5.0.mod) = DqnCvEnWMp9kIISgErYccqRX6DloOpdO3trNvsmtpKI=
 SHA256 (go_modules/modernc.org/memory/@v/v1.5.0.zip) = 956K2hTDbQiBfuK/ayED9lwaYakbBCtZAWRlhpYkBDw=
+SHA256 (go_modules/modernc.org/memory/@v/v1.8.0.mod) = taNm65Yjsu/Zo/9kYAHpNgrhWHpHdJYDTN8CWHABTS0=
+SHA256 (go_modules/modernc.org/memory/@v/v1.8.0.zip) = q3vf70YneGiuBtKqwB86ZPMDZalb7UBlwyxjmaNFTBw=
 SHA256 (go_modules/modernc.org/opt/@v/v0.1.3.mod) = xbTEGC6lEdVcFn9SHvWzspwWRk+q4umRgykomE/ks78=
 SHA256 (go_modules/modernc.org/opt/@v/v0.1.3.zip) = KUsbgBN8uGKSyIk0gdVF7ukLF7hLatHcsubJu1I6LZ4=
 SHA256 (go_modules/modernc.org/sqlite/@v/v1.20.3.mod) = 4bET0Xu+CGuFtuc1LWte9pytUoqZhlixa11AMcRYtWA=
@@ -1884,7 +1921,7 @@ SHA256 (go_modules/software.sslmate.com/
 SHA256 (go_modules/software.sslmate.com/src/go-pkcs12/@v/v0.2.0.zip) = qse6k1xBU6O0e8ObNvLorTJD8DNJwRy33Mlt2fMWn6Y=
 SHA256 (go_modules/tailscale.com/@v/v1.38.4.mod) = Fo3ZAZWsXLaXRihdfmgebZIULLpyVN1XMpG2uDwfKDQ=
 SHA256 (go_modules/tailscale.com/@v/v1.38.4.zip) = /qfeKnyg8MVKCJesFtG3M9QfXFbnIPmWHA0EXKAEB7M=
-SHA256 (headscale-v0.22.1.zip) = /q5ne3B7vino0HFKcp/GItD1B36VQV62mTvRwGKSz4s=
+SHA256 (headscale-v0.22.3.zip) = +zdJjIDNxom4Tzh9RPdfFBuqAZF71asUZprE9+opeT4=
 SIZE (go_modules/4d63.com/gochecknoglobals/@v/v0.1.0.mod) = 105
 SIZE (go_modules/4d63.com/gochecknoglobals/@v/v0.1.0.zip) = 13354
 SIZE (go_modules/atomicgo.dev/assert/@v/v0.0.2.mod) = 36
@@ -2314,8 +2351,6 @@ SIZE (go_modules/github.com/butuzov/iret
 SIZE (go_modules/github.com/butuzov/ireturn/@v/v0.1.1.zip) = 22121
 SIZE (go_modules/github.com/cavaliercoder/go-cpio/@v/v0.0.0-20180626203310-925f9528c45e.mod) = 40
 SIZE (go_modules/github.com/cavaliercoder/go-cpio/@v/v0.0.0-20180626203310-925f9528c45e.zip) = 17298
-SIZE (go_modules/github.com/ccding/go-stun/stun/@v/v0.0.0-20200514191101-4dc67bcdb029.mod) = 47
-SIZE (go_modules/github.com/ccding/go-stun/stun/@v/v0.0.0-20200514191101-4dc67bcdb029.zip) = 22856
 SIZE (go_modules/github.com/cenkalti/backoff/v4/@v/v4.1.3.mod) = 47
 SIZE (go_modules/github.com/cenkalti/backoff/v4/@v/v4.2.0.mod) = 47
 SIZE (go_modules/github.com/cenkalti/backoff/v4/@v/v4.2.0.zip) = 16162
@@ -2334,7 +2369,8 @@ SIZE (go_modules/github.com/checkpoint-r
 SIZE (go_modules/github.com/chzyer/logex/@v/v1.1.10.mod) = 31
 SIZE (go_modules/github.com/chzyer/logex/@v/v1.1.10.zip) = 5802
 SIZE (go_modules/github.com/chzyer/readline/@v/v0.0.0-20180603132655-2972be24d48e.mod) = 34
-SIZE (go_modules/github.com/chzyer/readline/@v/v0.0.0-20180603132655-2972be24d48e.zip) = 56640
+SIZE (go_modules/github.com/chzyer/readline/@v/v1.5.0.mod) = 208
+SIZE (go_modules/github.com/chzyer/readline/@v/v1.5.0.zip) = 54825
 SIZE (go_modules/github.com/chzyer/test/@v/v0.0.0-20180213035817-a1ea475d72b1.mod) = 30
 SIZE (go_modules/github.com/chzyer/test/@v/v0.0.0-20180213035817-a1ea475d72b1.zip) = 5024
 SIZE (go_modules/github.com/cilium/ebpf/@v/v0.10.0.mod) = 294
@@ -2444,6 +2480,8 @@ SIZE (go_modules/github.com/fatih/color/
 SIZE (go_modules/github.com/fatih/color/@v/v1.13.0.zip) = 12921
 SIZE (go_modules/github.com/fatih/structtag/@v/v1.2.0.mod) = 43
 SIZE (go_modules/github.com/fatih/structtag/@v/v1.2.0.zip) = 6770
+SIZE (go_modules/github.com/felixge/fgprof/@v/v0.9.3.mod) = 151
+SIZE (go_modules/github.com/felixge/fgprof/@v/v0.9.3.zip) = 343885
 SIZE (go_modules/github.com/frankban/quicktest/@v/v1.11.3.mod) = 121
 SIZE (go_modules/github.com/frankban/quicktest/@v/v1.14.0.mod) = 121
 SIZE (go_modules/github.com/frankban/quicktest/@v/v1.14.3.mod) = 121
@@ -2649,6 +2687,7 @@ SIZE (go_modules/github.com/google/pprof
 SIZE (go_modules/github.com/google/pprof/@v/v0.0.0-20201023163331-3e6fc7fc9c4c.mod) = 368
 SIZE (go_modules/github.com/google/pprof/@v/v0.0.0-20201203190320-1bf35d6f28c2.mod) = 368
 SIZE (go_modules/github.com/google/pprof/@v/v0.0.0-20201218002935-b9804c9f04c2.mod) = 368
+SIZE (go_modules/github.com/google/pprof/@v/v0.0.0-20211214055906-6f57359322fd.mod) = 368
 SIZE (go_modules/github.com/google/pprof/@v/v0.0.0-20221118152302-e6195bd50e26.mod) = 232
 SIZE (go_modules/github.com/google/pprof/@v/v0.0.0-20221118152302-e6195bd50e26.zip) = 3088233
 SIZE (go_modules/github.com/google/renameio/@v/v0.1.0.mod) = 34
@@ -2660,6 +2699,8 @@ SIZE (go_modules/github.com/google/shlex
 SIZE (go_modules/github.com/google/uuid/@v/v1.1.2.mod) = 30
 SIZE (go_modules/github.com/google/uuid/@v/v1.3.0.mod) = 30
 SIZE (go_modules/github.com/google/uuid/@v/v1.3.0.zip) = 25027
+SIZE (go_modules/github.com/google/uuid/@v/v1.6.0.mod) = 30
+SIZE (go_modules/github.com/google/uuid/@v/v1.6.0.zip) = 31981
 SIZE (go_modules/github.com/googleapis/enterprise-certificate-proxy/@v/v0.2.1.mod) = 67
 SIZE (go_modules/github.com/googleapis/enterprise-certificate-proxy/@v/v0.2.1.zip) = 28115
 SIZE (go_modules/github.com/googleapis/gax-go/v2/@v/v2.0.4.mod) = 88
@@ -2731,7 +2772,9 @@ SIZE (go_modules/github.com/iancoleman/s
 SIZE (go_modules/github.com/iancoleman/strcase/@v/v0.2.0.zip) = 9863
 SIZE (go_modules/github.com/ianlancetaylor/demangle/@v/v0.0.0-20181102032728-5e5cf60278f6.mod) = 42
 SIZE (go_modules/github.com/ianlancetaylor/demangle/@v/v0.0.0-20200824232613-28f6c0f3b639.mod) = 42
-SIZE (go_modules/github.com/ianlancetaylor/demangle/@v/v0.0.0-20200824232613-28f6c0f3b639.zip) = 59110
+SIZE (go_modules/github.com/ianlancetaylor/demangle/@v/v0.0.0-20210905161508-09a460cdf81d.mod) = 51
+SIZE (go_modules/github.com/ianlancetaylor/demangle/@v/v0.0.0-20220319035150-800ac71e25c2.mod) = 51
+SIZE (go_modules/github.com/ianlancetaylor/demangle/@v/v0.0.0-20220319035150-800ac71e25c2.zip) = 692429
 SIZE (go_modules/github.com/illarion/gonotify/@v/v1.0.1.mod) = 45
 SIZE (go_modules/github.com/illarion/gonotify/@v/v1.0.1.zip) = 10011
 SIZE (go_modules/github.com/imdario/mergo/@v/v0.3.12.mod) = 74
@@ -2859,6 +2902,8 @@ SIZE (go_modules/github.com/mattn/go-isa
 SIZE (go_modules/github.com/mattn/go-isatty/@v/v0.0.16.mod) = 104
 SIZE (go_modules/github.com/mattn/go-isatty/@v/v0.0.17.mod) = 104
 SIZE (go_modules/github.com/mattn/go-isatty/@v/v0.0.17.zip) = 8935
+SIZE (go_modules/github.com/mattn/go-isatty/@v/v0.0.20.mod) = 76
+SIZE (go_modules/github.com/mattn/go-isatty/@v/v0.0.20.zip) = 8936
 SIZE (go_modules/github.com/mattn/go-isatty/@v/v0.0.8.mod) = 95
 SIZE (go_modules/github.com/mattn/go-runewidth/@v/v0.0.13.mod) = 84
 SIZE (go_modules/github.com/mattn/go-runewidth/@v/v0.0.14.mod) = 84
@@ -2923,6 +2968,8 @@ SIZE (go_modules/github.com/nakabonne/ne
 SIZE (go_modules/github.com/nakabonne/nestif/@v/v0.3.1.zip) = 16006
 SIZE (go_modules/github.com/nbutton23/zxcvbn-go/@v/v0.0.0-20210217022336-fa2cb2858354.mod) = 169
 SIZE (go_modules/github.com/nbutton23/zxcvbn-go/@v/v0.0.0-20210217022336-fa2cb2858354.zip) = 880937
+SIZE (go_modules/github.com/ncruces/go-strftime/@v/v0.1.9.mod) = 47
+SIZE (go_modules/github.com/ncruces/go-strftime/@v/v0.1.9.zip) = 15977
 SIZE (go_modules/github.com/nfnt/resize/@v/v0.0.0-20180221191011-83c6a9932646.mod) = 30
 SIZE (go_modules/github.com/nfnt/resize/@v/v0.0.0-20180221191011-83c6a9932646.zip) = 21438
 SIZE (go_modules/github.com/nishanths/exhaustive/@v/v0.7.11.mod) = 83
@@ -2969,6 +3016,8 @@ SIZE (go_modules/github.com/pkg/diff/@v/
 SIZE (go_modules/github.com/pkg/errors/@v/v0.8.1.mod) = 29
 SIZE (go_modules/github.com/pkg/errors/@v/v0.9.1.mod) = 29
 SIZE (go_modules/github.com/pkg/errors/@v/v0.9.1.zip) = 17866
+SIZE (go_modules/github.com/pkg/profile/@v/v1.7.0.mod) = 81
+SIZE (go_modules/github.com/pkg/profile/@v/v1.7.0.zip) = 7868
 SIZE (go_modules/github.com/pkg/sftp/@v/v1.13.1.mod) = 261
 SIZE (go_modules/github.com/pkg/sftp/@v/v1.13.4.mod) = 231
 SIZE (go_modules/github.com/pkg/sftp/@v/v1.13.4.zip) = 162710
@@ -3239,6 +3288,8 @@ SIZE (go_modules/golang.org/x/crypto/@v/
 SIZE (go_modules/golang.org/x/crypto/@v/v0.0.0-20211215153901-e495a2d5b3d3.mod) = 255
 SIZE (go_modules/golang.org/x/crypto/@v/v0.0.0-20220214200702-86341886e292.mod) = 255
 SIZE (go_modules/golang.org/x/crypto/@v/v0.0.0-20220525230936-793ad666bf5e.mod) = 255
+SIZE (go_modules/golang.org/x/crypto/@v/v0.21.0.mod) = 190
+SIZE (go_modules/golang.org/x/crypto/@v/v0.21.0.zip) = 1799301
 SIZE (go_modules/golang.org/x/crypto/@v/v0.6.0.mod) = 171
 SIZE (go_modules/golang.org/x/crypto/@v/v0.7.0.mod) = 171
 SIZE (go_modules/golang.org/x/crypto/@v/v0.7.0.zip) = 1761498
@@ -3282,6 +3333,8 @@ SIZE (go_modules/golang.org/x/mod/@v/v0.
 SIZE (go_modules/golang.org/x/mod/@v/v0.1.0.mod) = 97
 SIZE (go_modules/golang.org/x/mod/@v/v0.1.1-0.20191105210325-c90efee705ee.mod) = 159
 SIZE (go_modules/golang.org/x/mod/@v/v0.1.1-0.20191107180719-034126e5016b.mod) = 159
+SIZE (go_modules/golang.org/x/mod/@v/v0.16.0.mod) = 84
+SIZE (go_modules/golang.org/x/mod/@v/v0.16.0.zip) = 164739
 SIZE (go_modules/golang.org/x/mod/@v/v0.2.0.mod) = 214
 SIZE (go_modules/golang.org/x/mod/@v/v0.3.0.mod) = 214
 SIZE (go_modules/golang.org/x/mod/@v/v0.4.0.mod) = 214
@@ -3328,6 +3381,8 @@ SIZE (go_modules/golang.org/x/net/@v/v0.
 SIZE (go_modules/golang.org/x/net/@v/v0.0.0-20220225172249-27dd8689420f.mod) = 179
 SIZE (go_modules/golang.org/x/net/@v/v0.0.0-20220722155237-a158d28d115b.mod) = 179
 SIZE (go_modules/golang.org/x/net/@v/v0.2.0.mod) = 123
+SIZE (go_modules/golang.org/x/net/@v/v0.22.0.mod) = 155
+SIZE (go_modules/golang.org/x/net/@v/v0.22.0.zip) = 1884138
 SIZE (go_modules/golang.org/x/net/@v/v0.3.0.mod) = 123
 SIZE (go_modules/golang.org/x/net/@v/v0.4.0.mod) = 123
 SIZE (go_modules/golang.org/x/net/@v/v0.6.0.mod) = 123
@@ -3366,6 +3421,8 @@ SIZE (go_modules/golang.org/x/sync/@v/v0
 SIZE (go_modules/golang.org/x/sync/@v/v0.0.0-20220722155255-886fb9371eb4.mod) = 25
 SIZE (go_modules/golang.org/x/sync/@v/v0.1.0.mod) = 25
 SIZE (go_modules/golang.org/x/sync/@v/v0.1.0.zip) = 27781
+SIZE (go_modules/golang.org/x/sync/@v/v0.6.0.mod) = 34
+SIZE (go_modules/golang.org/x/sync/@v/v0.6.0.zip) = 26351
 SIZE (go_modules/golang.org/x/sys/@v/v0.0.0-20180830151530-49385e6e1522.mod) = 24
 SIZE (go_modules/golang.org/x/sys/@v/v0.0.0-20190215142949-d0b11bdaac8a.mod) = 24
 SIZE (go_modules/golang.org/x/sys/@v/v0.0.0-20190222072716-a9d3bda3a223.mod) = 24
@@ -3415,10 +3472,12 @@ SIZE (go_modules/golang.org/x/sys/@v/v0.
 SIZE (go_modules/golang.org/x/sys/@v/v0.0.0-20210630005230-0f9fa26af87c.mod) = 33
 SIZE (go_modules/golang.org/x/sys/@v/v0.0.0-20210906170528-6f6e22806c34.mod) = 33
 SIZE (go_modules/golang.org/x/sys/@v/v0.0.0-20210927094055-39ccf1dd6fa6.mod) = 33
+SIZE (go_modules/golang.org/x/sys/@v/v0.0.0-20211007075335-d3039528d8ac.mod) = 33
 SIZE (go_modules/golang.org/x/sys/@v/v0.0.0-20211013075003-97ac67df715c.mod) = 33
 SIZE (go_modules/golang.org/x/sys/@v/v0.0.0-20211025201205-69cdffdb9359.mod) = 33
 SIZE (go_modules/golang.org/x/sys/@v/v0.0.0-20211116061358-0a5406a5449c.mod) = 33
 SIZE (go_modules/golang.org/x/sys/@v/v0.0.0-20211216021012-1d35b9e2eb4e.mod) = 33
+SIZE (go_modules/golang.org/x/sys/@v/v0.0.0-20220310020820-b874c991c1a5.mod) = 33
 SIZE (go_modules/golang.org/x/sys/@v/v0.0.0-20220319134239-a9b59b0215f8.mod) = 33
 SIZE (go_modules/golang.org/x/sys/@v/v0.0.0-20220405210540-1e041c57c461.mod) = 33
 SIZE (go_modules/golang.org/x/sys/@v/v0.0.0-20220412211240-33da011f77ad.mod) = 33
@@ -3430,6 +3489,8 @@ SIZE (go_modules/golang.org/x/sys/@v/v0.
 SIZE (go_modules/golang.org/x/sys/@v/v0.0.0-20220908164124-27713097b956.mod) = 33
 SIZE (go_modules/golang.org/x/sys/@v/v0.1.0.mod) = 33
 SIZE (go_modules/golang.org/x/sys/@v/v0.2.0.mod) = 33
+SIZE (go_modules/golang.org/x/sys/@v/v0.20.0.mod) = 33
+SIZE (go_modules/golang.org/x/sys/@v/v0.20.0.zip) = 1956163
 SIZE (go_modules/golang.org/x/sys/@v/v0.3.0.mod) = 33
 SIZE (go_modules/golang.org/x/sys/@v/v0.4.0.mod) = 33
 SIZE (go_modules/golang.org/x/sys/@v/v0.4.1-0.20230131160137-e7d7f63158de.mod) = 33
@@ -3442,12 +3503,16 @@ SIZE (go_modules/golang.org/x/term/@v/v0
 SIZE (go_modules/golang.org/x/term/@v/v0.0.0-20210503060354-a79de5458b56.mod) = 95
 SIZE (go_modules/golang.org/x/term/@v/v0.0.0-20210615171337-6886f2dfbf5b.mod) = 95
 SIZE (go_modules/golang.org/x/term/@v/v0.0.0-20210927222741-03fcf44c2211.mod) = 95
+SIZE (go_modules/golang.org/x/term/@v/v0.18.0.mod) = 68
+SIZE (go_modules/golang.org/x/term/@v/v0.18.0.zip) = 19883
 SIZE (go_modules/golang.org/x/term/@v/v0.3.0.mod) = 67
 SIZE (go_modules/golang.org/x/term/@v/v0.5.0.mod) = 67
 SIZE (go_modules/golang.org/x/term/@v/v0.6.0.mod) = 67
 SIZE (go_modules/golang.org/x/term/@v/v0.7.0.mod) = 67
 SIZE (go_modules/golang.org/x/term/@v/v0.7.0.zip) = 19924
 SIZE (go_modules/golang.org/x/text/@v/v0.0.0-20170915032832-14c0d48ead0c.mod) = 25
+SIZE (go_modules/golang.org/x/text/@v/v0.14.0.mod) = 197
+SIZE (go_modules/golang.org/x/text/@v/v0.14.0.zip) = 9235236
 SIZE (go_modules/golang.org/x/text/@v/v0.3.0.mod) = 25
 SIZE (go_modules/golang.org/x/text/@v/v0.3.1-0.20180807135948-17ff2d5776d2.mod) = 25
 SIZE (go_modules/golang.org/x/text/@v/v0.3.2.mod) = 88
@@ -3521,6 +3586,8 @@ SIZE (go_modules/golang.org/x/tools/@v/v
 SIZE (go_modules/golang.org/x/tools/@v/v0.1.0.mod) = 323
 SIZE (go_modules/golang.org/x/tools/@v/v0.1.12.mod) = 327
 SIZE (go_modules/golang.org/x/tools/@v/v0.1.7.mod) = 349
+SIZE (go_modules/golang.org/x/tools/@v/v0.19.0.mod) = 278
+SIZE (go_modules/golang.org/x/tools/@v/v0.19.0.zip) = 3150356
 SIZE (go_modules/golang.org/x/tools/@v/v0.2.0.mod) = 177
 SIZE (go_modules/golang.org/x/tools/@v/v0.4.1-0.20221208213631-3f74d914ae6d.mod) = 211
 SIZE (go_modules/golang.org/x/tools/@v/v0.6.0.mod) = 211
@@ -3679,7 +3746,8 @@ SIZE (go_modules/gorm.io/gorm/@v/v1.24.5
 SIZE (go_modules/gorm.io/gorm/@v/v1.24.6.mod) = 109
 SIZE (go_modules/gorm.io/gorm/@v/v1.24.6.zip) = 142561
 SIZE (go_modules/gotest.tools/v3/@v/v3.2.0.mod) = 189
-SIZE (go_modules/gotest.tools/v3/@v/v3.2.0.zip) = 96117
+SIZE (go_modules/gotest.tools/v3/@v/v3.4.0.mod) = 105
+SIZE (go_modules/gotest.tools/v3/@v/v3.4.0.zip) = 99112
 SIZE (go_modules/gvisor.dev/gvisor/@v/v0.0.0-20221203005347-703fd9b7fbc0.mod) = 3141
 SIZE (go_modules/gvisor.dev/gvisor/@v/v0.0.0-20221203005347-703fd9b7fbc0.zip) = 3866243
 SIZE (go_modules/honnef.co/go/tools/@v/v0.0.0-20190102054323-c2f93a96b099.mod) = 26
@@ -3726,11 +3794,17 @@ SIZE (go_modules/modernc.org/httpfs/@v/v
 SIZE (go_modules/modernc.org/httpfs/@v/v1.0.6.zip) = 5547
 SIZE (go_modules/modernc.org/libc/@v/v1.22.2.mod) = 849
 SIZE (go_modules/modernc.org/libc/@v/v1.22.2.zip) = 8568055
+SIZE (go_modules/modernc.org/libc/@v/v1.50.9.mod) = 958
+SIZE (go_modules/modernc.org/libc/@v/v1.50.9.zip) = 12532160
 SIZE (go_modules/modernc.org/mathutil/@v/v1.5.0.mod) = 114
 SIZE (go_modules/modernc.org/mathutil/@v/v1.5.0.zip) = 132734
+SIZE (go_modules/modernc.org/mathutil/@v/v1.6.0.mod) = 114
+SIZE (go_modules/modernc.org/mathutil/@v/v1.6.0.zip) = 132736
 SIZE (go_modules/modernc.org/memory/@v/v1.4.0.mod) = 190
 SIZE (go_modules/modernc.org/memory/@v/v1.5.0.mod) = 190
 SIZE (go_modules/modernc.org/memory/@v/v1.5.0.zip) = 23838
+SIZE (go_modules/modernc.org/memory/@v/v1.8.0.mod) = 233
+SIZE (go_modules/modernc.org/memory/@v/v1.8.0.zip) = 24532
 SIZE (go_modules/modernc.org/opt/@v/v0.1.3.mod) = 32
 SIZE (go_modules/modernc.org/opt/@v/v0.1.3.zip) = 5119
 SIZE (go_modules/modernc.org/sqlite/@v/v1.20.3.mod) = 1329
@@ -3771,4 +3845,4 @@ SIZE (go_modules/software.sslmate.com/sr
 SIZE (go_modules/software.sslmate.com/src/go-pkcs12/@v/v0.2.0.zip) = 36374
 SIZE (go_modules/tailscale.com/@v/v1.38.4.mod) = 16974
 SIZE (go_modules/tailscale.com/@v/v1.38.4.zip) = 2120703
-SIZE (headscale-v0.22.1.zip) = 724901
+SIZE (headscale-v0.22.3.zip) = 712113
Index: modules.inc
===================================================================
RCS file: /cvs/ports/net/headscale/modules.inc,v
diff -u -p -r1.8 modules.inc
--- modules.inc	26 Apr 2023 13:42:54 -0000	1.8
+++ modules.inc	28 May 2024 14:27:46 -0000
@@ -187,7 +187,6 @@ MODGO_MODULES =	\
 	github.com/breml/bidichk					 v0.2.1 \
 	github.com/butuzov/ireturn					 v0.1.1 \
 	github.com/cavaliercoder/go-cpio				 v0.0.0-20180626203310-925f9528c45e \
-	github.com/ccding/go-stun/stun					 v0.0.0-20200514191101-4dc67bcdb029 \
 	github.com/cenkalti/backoff/v4					 v4.2.0 \
 	github.com/census-instrumentation/opencensus-proto		 v0.4.1 \
 	github.com/cespare/xxhash/v2					 v2.2.0 \
@@ -195,7 +194,7 @@ MODGO_MODULES =	\
 	github.com/chavacava/garif					 v0.0.0-20210405164556-e8a0a408d6af \
 	github.com/checkpoint-restore/go-criu/v5			 v5.3.0 \
 	github.com/chzyer/logex						 v1.1.10 \
-	github.com/chzyer/readline					 v0.0.0-20180603132655-2972be24d48e \
+	github.com/chzyer/readline					 v1.5.0 \
 	github.com/chzyer/test						 v0.0.0-20180213035817-a1ea475d72b1 \
 	github.com/cilium/ebpf						 v0.10.0 \
 	github.com/client9/misspell					 v0.3.4 \
@@ -240,6 +239,7 @@ MODGO_MODULES =	\
 	github.com/evanw/esbuild					 v0.14.53 \
 	github.com/fatih/color						 v1.13.0 \
 	github.com/fatih/structtag					 v1.2.0 \
+	github.com/felixge/fgprof					 v0.9.3 \
 	github.com/frankban/quicktest					 v1.14.3 \
 	github.com/fsnotify/fsnotify					 v1.6.0 \
 	github.com/fxamacker/cbor/v2					 v2.4.0 \
@@ -349,7 +349,7 @@ MODGO_MODULES =	\
 	github.com/hinshun/vt10x					 v0.0.0-20220119200601-820417d04eec \
 	github.com/huandu/xstrings					 v1.3.2 \
 	github.com/iancoleman/strcase					 v0.2.0 \
-	github.com/ianlancetaylor/demangle				 v0.0.0-20200824232613-28f6c0f3b639 \
+	github.com/ianlancetaylor/demangle				 v0.0.0-20220319035150-800ac71e25c2 \
 	github.com/illarion/gonotify					 v1.0.1 \
 	github.com/imdario/mergo					 v0.3.13 \
 	github.com/inconshreveable/mousetrap				 v1.1.0 \
@@ -449,6 +449,7 @@ MODGO_MODULES =	\
 	github.com/philip-bui/grpc-zerolog				 v1.0.1 \
 	github.com/pkg/diff						 v0.0.0-20210226163009-20ebb0f2a09e \
 	github.com/pkg/errors						 v0.9.1 \
+	github.com/pkg/profile						 v1.7.0 \
 	github.com/pkg/sftp						 v1.13.4 \
 	github.com/pmezard/go-difflib					 v1.0.0 \
 	github.com/polyfloyd/go-errorlint				 v0.0.0-20211125173453-6d6d39c5bb8b \
@@ -580,7 +581,7 @@ MODGO_MODULES =	\
 	gopkg.in/yaml.v3						 v3.0.1 \
 	gorm.io/driver/postgres						 v1.4.8 \
 	gorm.io/gorm							 v1.24.6 \
-	gotest.tools/v3							 v3.2.0 \
+	gotest.tools/v3							 v3.4.0 \
 	gvisor.dev/gvisor						 v0.0.0-20221203005347-703fd9b7fbc0 \
 	honnef.co/go/tools						 v0.4.2 \
 	howett.net/plist						 v1.0.0 \
@@ -680,6 +681,7 @@ MODGO_MODFILES =	\
 	github.com/cenkalti/backoff/v4				 v4.1.3 \
 	github.com/census-instrumentation/opencensus-proto	 v0.2.1 \
 	github.com/cespare/xxhash/v2				 v2.1.2 \
+	github.com/chzyer/readline				 v0.0.0-20180603132655-2972be24d48e \
 	github.com/cilium/ebpf					 v0.7.0 \
 	github.com/cncf/udpa/go					 v0.0.0-20191209042840-269d4d468f6f \
 	github.com/cncf/udpa/go					 v0.0.0-20200629203442-efcf912fb354 \
@@ -760,6 +762,7 @@ MODGO_MODFILES =	\
 	github.com/google/pprof					 v0.0.0-20201023163331-3e6fc7fc9c4c \
 	github.com/google/pprof					 v0.0.0-20201203190320-1bf35d6f28c2 \
 	github.com/google/pprof					 v0.0.0-20201218002935-b9804c9f04c2 \
+	github.com/google/pprof					 v0.0.0-20211214055906-6f57359322fd \
 	github.com/google/uuid					 v1.1.2 \
 	github.com/googleapis/gax-go/v2				 v2.0.4 \
 	github.com/googleapis/gax-go/v2				 v2.0.5 \
@@ -769,6 +772,8 @@ MODGO_MODFILES =	\
 	github.com/hashicorp/golang-lru				 v0.5.1 \
 	github.com/hdevalence/ed25519consensus			 v0.0.0-20220222234857-c00d1f31bab3 \
 	github.com/ianlancetaylor/demangle			 v0.0.0-20181102032728-5e5cf60278f6 \
+	github.com/ianlancetaylor/demangle			 v0.0.0-20200824232613-28f6c0f3b639 \
+	github.com/ianlancetaylor/demangle			 v0.0.0-20210905161508-09a460cdf81d \
 	github.com/imdario/mergo				 v0.3.12 \
 	github.com/inconshreveable/mousetrap			 v1.0.0 \
 	github.com/jinzhu/now					 v1.1.4 \
@@ -1040,10 +1045,12 @@ MODGO_MODFILES =	\
 	golang.org/x/sys					 v0.0.0-20210630005230-0f9fa26af87c \
 	golang.org/x/sys					 v0.0.0-20210906170528-6f6e22806c34 \
 	golang.org/x/sys					 v0.0.0-20210927094055-39ccf1dd6fa6 \
+	golang.org/x/sys					 v0.0.0-20211007075335-d3039528d8ac \
 	golang.org/x/sys					 v0.0.0-20211013075003-97ac67df715c \
 	golang.org/x/sys					 v0.0.0-20211025201205-69cdffdb9359 \
 	golang.org/x/sys					 v0.0.0-20211116061358-0a5406a5449c \
 	golang.org/x/sys					 v0.0.0-20211216021012-1d35b9e2eb4e \
+	golang.org/x/sys					 v0.0.0-20220310020820-b874c991c1a5 \
 	golang.org/x/sys					 v0.0.0-20220319134239-a9b59b0215f8 \
 	golang.org/x/sys					 v0.0.0-20220405210540-1e041c57c461 \
 	golang.org/x/sys					 v0.0.0-20220412211240-33da011f77ad \
@@ -1255,6 +1262,7 @@ MODGO_MODFILES =	\
 	gopkg.in/yaml.v3					 v3.0.0-20210107192922-496545a6307b \
 	gorm.io/gorm						 v1.24.2 \
 	gorm.io/gorm						 v1.24.5 \
+	gotest.tools/v3						 v3.2.0 \
 	honnef.co/go/tools					 v0.0.0-20190102054323-c2f93a96b099 \
 	honnef.co/go/tools					 v0.0.0-20190106161140-3f1c8253044a \
 	honnef.co/go/tools					 v0.0.0-20190418001031-e561f6794a2a \
@@ -1265,3 +1273,20 @@ MODGO_MODFILES =	\
 	honnef.co/go/tools					 v0.4.0-0.dev.0.20230130122044-c30b15588105 \
 	modernc.org/memory					 v1.4.0
 
+# Update modernc.org/libc to v1.50.9 + depends
+# See https://github.com/juanfont/headscale/issues/1857
+MODGO_MODULES +=	\
+	github.com/google/uuid v1.6.0 \
+	github.com/mattn/go-isatty v0.0.20 \
+	github.com/ncruces/go-strftime v0.1.9 \
+	golang.org/x/crypto v0.21.0 \
+	golang.org/x/mod v0.16.0 \
+	golang.org/x/net v0.22.0 \
+	golang.org/x/sync v0.6.0 \
+	golang.org/x/sys v0.20.0 \
+	golang.org/x/term v0.18.0 \
+	golang.org/x/text v0.14.0 \
+	golang.org/x/tools v0.19.0 \
+	modernc.org/libc v1.50.9 \
+	modernc.org/mathutil v1.6.0 \
+	modernc.org/memory v1.8.0
Index: patches/patch-cmd_headscale_headscale_test_go
===================================================================
RCS file: patches/patch-cmd_headscale_headscale_test_go
diff -N patches/patch-cmd_headscale_headscale_test_go
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ patches/patch-cmd_headscale_headscale_test_go	28 May 2024 14:27:46 -0000
@@ -0,0 +1,32 @@
+Run tests with unmodified config-example-test.yaml file
+
+Index: cmd/headscale/headscale_test.go
+--- cmd/headscale/headscale_test.go.orig
++++ cmd/headscale/headscale_test.go
+@@ -42,7 +42,7 @@ func (*Suite) TestConfigFileLoading(c *check.C) {
+ 
+ 	// Symlink the example config file
+ 	err = os.Symlink(
+-		filepath.Clean(path+"/../../config-example.yaml"),
++		filepath.Clean(path+"/../../config-example-test.yaml"),
+ 		cfgFile,
+ 	)
+ 	if err != nil {
+@@ -85,7 +85,7 @@ func (*Suite) TestConfigLoading(c *check.C) {
+ 
+ 	// Symlink the example config file
+ 	err = os.Symlink(
+-		filepath.Clean(path+"/../../config-example.yaml"),
++		filepath.Clean(path+"/../../config-example-test.yaml"),
+ 		filepath.Join(tmpDir, "config.yaml"),
+ 	)
+ 	if err != nil {
+@@ -129,7 +129,7 @@ func (*Suite) TestDNSConfigLoading(c *check.C) {
+ 
+ 	// Symlink the example config file
+ 	err = os.Symlink(
+-		filepath.Clean(path+"/../../config-example.yaml"),
++		filepath.Clean(path+"/../../config-example-test.yaml"),
+ 		filepath.Join(tmpDir, "config.yaml"),
+ 	)
+ 	if err != nil {
Index: patches/patch-config-example_yaml
===================================================================
RCS file: /cvs/ports/net/headscale/patches/patch-config-example_yaml,v
diff -u -p -r1.5 patch-config-example_yaml
--- patches/patch-config-example_yaml	26 Apr 2023 13:42:54 -0000	1.5
+++ patches/patch-config-example_yaml	28 May 2024 14:27:46 -0000
@@ -19,7 +19,7 @@ Index: config-example.yaml
  
  # List of IP prefixes to allocate tailaddresses from.
  # Each prefix consists of either an IPv4 or IPv6 address,
-@@ -106,7 +106,8 @@ derp:
+@@ -107,7 +107,8 @@ derp:
    #
    # paths:
    #   - /etc/headscale/derp-example.yaml
@@ -29,7 +29,7 @@ Index: config-example.yaml
  
    # If enabled, a worker will be set up to periodically
    # refresh the given sources and update the derpmap
-@@ -132,7 +133,7 @@ node_update_check_interval: 10s
+@@ -133,7 +134,7 @@ node_update_check_interval: 10s
  db_type: sqlite3
  
  # For production:
@@ -38,7 +38,7 @@ Index: config-example.yaml
  
  # # Postgres config
  # If using a Unix socket to connect to Postgres, set the socket path in the 'host' field and leave 'port' blank.
-@@ -166,7 +167,7 @@ tls_letsencrypt_hostname: ""
+@@ -167,7 +168,7 @@ tls_letsencrypt_hostname: ""
  # Path to store certificates and metadata needed by
  # letsencrypt
  # For production:
@@ -47,12 +47,12 @@ Index: config-example.yaml
  
  # Type of ACME challenge to use, currently supported types:
  # HTTP-01 or TLS-ALPN-01
-@@ -256,7 +257,7 @@ dns_config:
+@@ -257,7 +258,7 @@ dns_config:
  
  # Unix socket used for the CLI to connect without authentication
  # Note: for production you will want to set this to something like:
 -unix_socket: /var/run/headscale/headscale.sock
-+unix_socket: ${LOCALSTATEDIR}/run/headscale.sock
++unix_socket: ${LOCALSTATEDIR}/run/headscale/headscale.sock
  unix_socket_permission: "0770"
  #
  # headscale supports experimental OpenID connect support,
Index: patches/patch-go_mod
===================================================================
RCS file: patches/patch-go_mod
diff -N patches/patch-go_mod
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ patches/patch-go_mod	28 May 2024 14:27:46 -0000
@@ -0,0 +1,75 @@
+Update modern.org/libc to version 1.50.9 + depends
+
+Index: go.mod
+--- go.mod.orig
++++ go.mod
+@@ -33,10 +33,10 @@ require (
+ 	github.com/tailscale/hujson v0.0.0-20221223112325-20486734a56a
+ 	github.com/tcnksm/go-latest v0.0.0-20170313132115-e3007ae9052e
+ 	go4.org/netipx v0.0.0-20230303233057-f1b76eb4bb35
+-	golang.org/x/crypto v0.7.0
+-	golang.org/x/net v0.9.0
++	golang.org/x/crypto v0.21.0
++	golang.org/x/net v0.22.0
+ 	golang.org/x/oauth2 v0.7.0
+-	golang.org/x/sync v0.1.0
++	golang.org/x/sync v0.6.0
+ 	google.golang.org/genproto v0.0.0-20230403163135-c38d8f061ccd
+ 	google.golang.org/grpc v1.54.0
+ 	google.golang.org/protobuf v1.30.0
+@@ -78,7 +78,7 @@ require (
+ 	github.com/google/go-querystring v1.1.0 // indirect
+ 	github.com/google/pprof v0.0.0-20221118152302-e6195bd50e26 // indirect
+ 	github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 // indirect
+-	github.com/google/uuid v1.3.0 // indirect
++	github.com/google/uuid v1.6.0 // indirect
+ 	github.com/gookit/color v1.5.3 // indirect
+ 	github.com/hashicorp/go-version v1.6.0 // indirect
+ 	github.com/hashicorp/hcl v1.0.0 // indirect
+@@ -99,7 +99,7 @@ require (
+ 	github.com/lithammer/fuzzysearch v1.1.5 // indirect
+ 	github.com/magiconair/properties v1.8.7 // indirect
+ 	github.com/mattn/go-colorable v0.1.13 // indirect
+-	github.com/mattn/go-isatty v0.0.17 // indirect
++	github.com/mattn/go-isatty v0.0.20 // indirect
+ 	github.com/mattn/go-runewidth v0.0.14 // indirect
+ 	github.com/matttproud/golang_protobuf_extensions v1.0.4 // indirect
+ 	github.com/mdlayher/netlink v1.7.1 // indirect
+@@ -108,6 +108,7 @@ require (
+ 	github.com/mitchellh/go-ps v1.0.0 // indirect
+ 	github.com/mitchellh/mapstructure v1.5.0 // indirect
+ 	github.com/moby/term v0.0.0-20221205130635-1aeaba878587 // indirect
++	github.com/ncruces/go-strftime v0.1.9 // indirect
+ 	github.com/opencontainers/go-digest v1.0.0 // indirect
+ 	github.com/opencontainers/image-spec v1.1.0-rc2 // indirect
+ 	github.com/opencontainers/runc v1.1.4 // indirect
+@@ -132,21 +133,21 @@ require (
+ 	github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e // indirect
+ 	go4.org/mem v0.0.0-20220726221520-4f986261bf13 // indirect
+ 	golang.org/x/exp v0.0.0-20230224173230-c95f2b4c22f2 // indirect
+-	golang.org/x/mod v0.8.0 // indirect
+-	golang.org/x/sys v0.7.0 // indirect
+-	golang.org/x/term v0.7.0 // indirect
+-	golang.org/x/text v0.9.0 // indirect
++	golang.org/x/mod v0.16.0 // indirect
++	golang.org/x/sys v0.20.0 // indirect
++	golang.org/x/term v0.18.0 // indirect
++	golang.org/x/text v0.14.0 // indirect
+ 	golang.org/x/time v0.3.0 // indirect
+-	golang.org/x/tools v0.6.0 // indirect
++	golang.org/x/tools v0.19.0 // indirect
+ 	golang.zx2c4.com/wireguard/windows v0.5.3 // indirect
+ 	google.golang.org/appengine v1.6.7 // indirect
+ 	gopkg.in/ini.v1 v1.67.0 // indirect
+ 	gopkg.in/square/go-jose.v2 v2.6.0 // indirect
+ 	gopkg.in/yaml.v2 v2.4.0 // indirect
+ 	gotest.tools/v3 v3.4.0 // indirect
+-	modernc.org/libc v1.22.2 // indirect
+-	modernc.org/mathutil v1.5.0 // indirect
+-	modernc.org/memory v1.5.0 // indirect
++	modernc.org/libc v1.50.9 // indirect
++	modernc.org/mathutil v1.6.0 // indirect
++	modernc.org/memory v1.8.0 // indirect
+ 	modernc.org/sqlite v1.20.3 // indirect
+ 	nhooyr.io/websocket v1.8.7 // indirect
+ )
Index: patches/patch-go_sum
===================================================================
RCS file: patches/patch-go_sum
diff -N patches/patch-go_sum
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ patches/patch-go_sum	28 May 2024 14:27:46 -0000
@@ -0,0 +1,160 @@
+Index: go.sum
+--- go.sum.orig
++++ go.sum
+@@ -245,8 +245,8 @@ github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9ys
+ github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 h1:El6M4kTTCOh6aBiKaUGG7oYTSPP8MxqL4YI3kZKwcP4=
+ github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510/go.mod h1:pupxD2MaaD3pAXIBCelhxNneeOaAeabZDe5s4K6zSpQ=
+ github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
+-github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I=
+-github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
++github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
++github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
+ github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg=
+ github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk=
+ github.com/googleapis/google-cloud-go-testing v0.0.0-20200911160855-bcd43fbb19e8/go.mod h1:dvDLG8qkwmyD9a/MJJN3XJcT3xFxOKAvTZGvuZmac9g=
+@@ -338,8 +338,8 @@ github.com/mattn/go-isatty v0.0.10/go.mod h1:qgIWMr58c
+ github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU=
+ github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94=
+ github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM=
+-github.com/mattn/go-isatty v0.0.17 h1:BTarxUcIeDqL27Mc+vyvdWYSL28zpIhv3RoTdsLMPng=
+-github.com/mattn/go-isatty v0.0.17/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM=
++github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY=
++github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y=
+ github.com/mattn/go-runewidth v0.0.13/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w=
+ github.com/mattn/go-runewidth v0.0.14 h1:+xnbZSEeDbOIg5/mE6JF0w6n9duR1l3/WmbinWVwUuU=
+ github.com/mattn/go-runewidth v0.0.14/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w=
+@@ -364,6 +364,8 @@ github.com/modern-go/concurrent v0.0.0-20180306012644-
+ github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0=
+ github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M=
+ github.com/mrunalp/fileutils v0.5.0/go.mod h1:M1WthSahJixYnrXQl/DFQuteStB1weuxD2QJNHXfbSQ=
++github.com/ncruces/go-strftime v0.1.9 h1:bY0MQC28UADQmHmaF5dgpLmImcShSi2kHU9XLdhx/f4=
++github.com/ncruces/go-strftime v0.1.9/go.mod h1:Fwc5htZGVVkseilnfgOVb9mKy6w1naJmn9CehxcKcls=
+ github.com/oauth2-proxy/mockoidc v0.0.0-20220308204021-b9169deeb282 h1:TQMyrpijtkFyXpNI3rY5hsZQZw+paiH+BfAlsb81HBY=
+ github.com/oauth2-proxy/mockoidc v0.0.0-20220308204021-b9169deeb282/go.mod h1:rW25Kyd08Wdn3UVn0YBsDTSvReu0jqpmJKzxITPSjks=
+ github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U=
+@@ -412,7 +414,6 @@ github.com/pterm/pterm v0.12.58 h1:MEImvkbvty8JvoJH64b
+ github.com/pterm/pterm v0.12.58/go.mod h1:Ro9CV954hiaxt3mcpDx4a8XF5EmRDlIIpPdlfCKF9fE=
+ github.com/puzpuzpuz/xsync/v2 v2.4.0 h1:5sXAMHrtx1bg9nbRZTOn8T4MkWe5V+o8yKRH02Eznag=
+ github.com/puzpuzpuz/xsync/v2 v2.4.0/go.mod h1:gD2H2krq/w52MfPLE+Uy64TzJDVY7lP2znR9qmR35kU=
+-github.com/remyoudompheng/bigfft v0.0.0-20200410134404-eec4a21b6bb0/go.mod h1:qqbHyh8v60DhA7CoWK5oRCqLrMHRGoxYCSS9EjAz6Eo=
+ github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec h1:W09IVJc94icq4NjY3clb7Lk8O1qJ8BdBEF8z0ibU0rE=
+ github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec/go.mod h1:qqbHyh8v60DhA7CoWK5oRCqLrMHRGoxYCSS9EjAz6Eo=
+ github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc=
+@@ -521,8 +522,8 @@ golang.org/x/crypto v0.0.0-20210921155107-089bfa567519
+ golang.org/x/crypto v0.0.0-20211108221036-ceb1ce70b4fa/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
+ golang.org/x/crypto v0.0.0-20220214200702-86341886e292/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
+ golang.org/x/crypto v0.6.0/go.mod h1:OFC/31mSvZgRz0V1QTNCzfAI1aIRzbiufJtkMIlEp58=
+-golang.org/x/crypto v0.7.0 h1:AvwMYaRytfdeVt3u6mLaxYtErKYjxA2OXjJ1HHq6t3A=
+-golang.org/x/crypto v0.7.0/go.mod h1:pYwdfH91IfpZVANVyUOhSIPZaFoJGxTFbZhFTx+dXZU=
++golang.org/x/crypto v0.21.0 h1:X31++rzVUdKhX5sWmSOFZxx8UW/ldWx55cbf08iNAMA=
++golang.org/x/crypto v0.21.0/go.mod h1:0BP7YvVV9gBbVKyeTG0Gyn+gZm94bibOW5BjDEYAOMs=
+ golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
+ golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
+ golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8=
+@@ -560,8 +561,8 @@ golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3
+ golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
+ golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
+ golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4=
+-golang.org/x/mod v0.8.0 h1:LUYupSeNrTNCGzR/hVBk2NHZO4hXcVaW1k4Qx7rjPx8=
+-golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
++golang.org/x/mod v0.16.0 h1:QX4fJ0Rr5cPQCF7O9lh9Se4pmwfwskqZfq5moyldzic=
++golang.org/x/mod v0.16.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=
+ golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
+ golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
+ golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
+@@ -598,8 +599,8 @@ golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go
+ golang.org/x/net v0.3.0/go.mod h1:MBQ8lrhLObU/6UmLb4fmbmk5OcyYmqtbGd/9yIeKjEE=
+ golang.org/x/net v0.4.0/go.mod h1:MBQ8lrhLObU/6UmLb4fmbmk5OcyYmqtbGd/9yIeKjEE=
+ golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs=
+-golang.org/x/net v0.9.0 h1:aWJ/m6xSmxWBx+V0XRHTlrYrPG56jKsLdTFmsSsCzOM=
+-golang.org/x/net v0.9.0/go.mod h1:d48xBJpPfHeWQsugry2m+kC02ZBRGRgulfHnEXEuWns=
++golang.org/x/net v0.22.0 h1:9sGLhx7iRIHEiX0oAJ3MRZMUCElJgy7Br1nO+AMN3Tc=
++golang.org/x/net v0.22.0/go.mod h1:JKghWKKOSdJwpW2GEx0Ja7fmaKnMsbu+MWVZTokSYmg=
+ golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
+ golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
+ golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
+@@ -623,8 +624,9 @@ golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/g
+ golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
+ golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
+ golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
+-golang.org/x/sync v0.1.0 h1:wsuoTGHzEhffawBOhz5CYhcrV4IdKZbEyZjBMuTp12o=
+ golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
++golang.org/x/sync v0.6.0 h1:5BMeUDZ7vkXGfEr1x9B4bRcTH4lpkTkpdh0T/J+qjbQ=
++golang.org/x/sync v0.6.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
+ golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
+ golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
+ golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
+@@ -688,8 +690,9 @@ golang.org/x/sys v0.0.0-20220908164124-27713097b956/go
+ golang.org/x/sys v0.3.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+ golang.org/x/sys v0.4.1-0.20230131160137-e7d7f63158de/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+ golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+-golang.org/x/sys v0.7.0 h1:3jlCCIQZPdOYu1h8BkNvLz8Kgwtae2cagcG/VamtZRU=
+-golang.org/x/sys v0.7.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
++golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
++golang.org/x/sys v0.20.0 h1:Od9JTbYCk261bKm4M/mw7AklTlFYIa0bIp9BgSm1S8Y=
++golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
+ golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
+ golang.org/x/term v0.0.0-20210220032956-6a3ed077a48d/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
+ golang.org/x/term v0.0.0-20210503060354-a79de5458b56/go.mod h1:tfny5GFUkzUvx4ps4ajbZsCe5lw1metzhBm9T3x7oIY=
+@@ -697,8 +700,8 @@ golang.org/x/term v0.0.0-20210615171337-6886f2dfbf5b/g
+ golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
+ golang.org/x/term v0.3.0/go.mod h1:q750SLmJuPmVoN1blW3UFBPREJfb1KmY3vwxfr+nFDA=
+ golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k=
+-golang.org/x/term v0.7.0 h1:BEvjmm5fURWqcfbSKTdpkDXYBrUS1c0m8agp14W48vQ=
+-golang.org/x/term v0.7.0/go.mod h1:P32HKFT3hSsZrRxla30E9HqToFYAQPCMs/zFMBUFqPY=
++golang.org/x/term v0.18.0 h1:FcHjZXDMxI8mM3nwhX9HlKop4C0YQvCVCdwYl2wOtE8=
++golang.org/x/term v0.18.0/go.mod h1:ILwASektA3OnRv7amZ1xhE/KTR+u50pbXfZ03+6Nx58=
+ golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
+ golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
+ golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
+@@ -709,8 +712,8 @@ golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMv
+ golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
+ golang.org/x/text v0.5.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
+ golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
+-golang.org/x/text v0.9.0 h1:2sjJmO8cDvYveuX97RDLsxlyUxLl+GHoLxBiRdHllBE=
+-golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8=
++golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ=
++golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
+ golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
+ golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
+ golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
+@@ -767,8 +770,8 @@ golang.org/x/tools v0.0.0-20210106214847-113979e3529a/
+ golang.org/x/tools v0.0.0-20210108195828-e2f9c7f1fc8e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
+ golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0=
+ golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc=
+-golang.org/x/tools v0.6.0 h1:BOw41kyTf3PuCW1pVQf8+Cyg8pMlkYB1oo9iJ6D/lKM=
+-golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU=
++golang.org/x/tools v0.19.0 h1:tfGCXNR1OsFG+sVdLAitlpjAvD/I6dHDKnYrpEZUHkw=
++golang.org/x/tools v0.19.0/go.mod h1:qoJWxmGSIBmAeriMx19ogtrEPrGtDbPK634QFIcLAhc=
+ golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
+ golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
+ golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
+@@ -911,14 +914,22 @@ honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W
+ honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k=
+ honnef.co/go/tools v0.4.2 h1:6qXr+R5w+ktL5UkwEbPp+fEvfyoMPche6GkOpGHZcLc=
+ howett.net/plist v1.0.0 h1:7CrbWYbPPO/PyNy38b2EB/+gYbjCe2DXBxgtOOZbSQM=
+-modernc.org/libc v1.22.2 h1:4U7v51GyhlWqQmwCHj28Rdq2Yzwk55ovjFrdPjs8Hb0=
+-modernc.org/libc v1.22.2/go.mod h1:uvQavJ1pZ0hIoC/jfqNoMLURIMhKzINIWypNM17puug=
+-modernc.org/mathutil v1.5.0 h1:rV0Ko/6SfM+8G+yKiyI830l3Wuz1zRutdslNoQ0kfiQ=
+-modernc.org/mathutil v1.5.0/go.mod h1:mZW8CKdRPY1v87qxC/wUdX5O1qDzXMP5TH3wjfpga6E=
+-modernc.org/memory v1.5.0 h1:N+/8c5rE6EqugZwHii4IFsaJ7MUhoWX07J5tC/iI5Ds=
+-modernc.org/memory v1.5.0/go.mod h1:PkUhL0Mugw21sHPeskwZW4D6VscE/GQJOnIpCnW6pSU=
++modernc.org/cc/v4 v4.21.2 h1:dycHFB/jDc3IyacKipCNSDrjIC0Lm1hyoWOZTRR20Lk=
++modernc.org/ccgo/v4 v4.17.8 h1:yyWBf2ipA0Y9GGz/MmCmi3EFpKgeS7ICrAFes+suEbs=
++modernc.org/fileutil v1.3.0 h1:gQ5SIzK3H9kdfai/5x41oQiKValumqNTDXMvKo62HvE=
++modernc.org/gc/v2 v2.4.1 h1:9cNzOqPyMJBvrUipmynX0ZohMhcxPtMccYgGOJdOiBw=
++modernc.org/libc v1.50.9 h1:hIWf1uz55lorXQhfoEoezdUHjxzuO6ceshET/yWjSjk=
++modernc.org/libc v1.50.9/go.mod h1:15P6ublJ9FJR8YQCGy8DeQ2Uwur7iW9Hserr/T3OFZE=
++modernc.org/mathutil v1.6.0 h1:fRe9+AmYlaej+64JsEEhoWuAYBkOtQiMEU7n/XgfYi4=
++modernc.org/mathutil v1.6.0/go.mod h1:Ui5Q9q1TR2gFm0AQRqQUaBWFLAhQpCwNcuhBOSedWPo=
++modernc.org/memory v1.8.0 h1:IqGTL6eFMaDZZhEWwcREgeMXYwmW83LYW8cROZYkg+E=
++modernc.org/memory v1.8.0/go.mod h1:XPZ936zp5OMKGWPqbD3JShgd/ZoQ7899TUuQqxY+peU=
++modernc.org/opt v0.1.3 h1:3XOZf2yznlhC+ibLltsDGzABUGVx8J6pnFMS3E4dcq4=
++modernc.org/sortutil v1.2.0 h1:jQiD3PfS2REGJNzNCMMaLSp/wdMNieTbKX920Cqdgqc=
+ modernc.org/sqlite v1.20.3 h1:SqGJMMxjj1PHusLxdYxeQSodg7Jxn9WWkaAQjKrntZs=
+ modernc.org/sqlite v1.20.3/go.mod h1:zKcGyrICaxNTMEHSr1HQ2GUraP0j+845GYw37+EyT6A=
++modernc.org/strutil v1.2.0 h1:agBi9dp1I+eOnxXeiZawM8F4LawKv4NzGWSaLfyeNZA=
++modernc.org/token v1.1.0 h1:Xl7Ap9dKaEs5kLoOQeQmPWevfnk/DM5qcLcYlA8ys6Y=
+ nhooyr.io/websocket v1.8.7 h1:usjR2uOr/zjjkVMy0lW+PPohFok7PCow5sDjLgX4P4g=
+ nhooyr.io/websocket v1.8.7/go.mod h1:B70DZP8IakI65RVQ51MsWP/8jndNma26DVA/nFSCgW0=
+ rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8=
Index: patches/patch-hscontrol_app_go
===================================================================
RCS file: patches/patch-hscontrol_app_go
diff -N patches/patch-hscontrol_app_go
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ patches/patch-hscontrol_app_go	28 May 2024 14:27:46 -0000
@@ -0,0 +1,15 @@
+Add missing return in shutdown
+See https://github.com/juanfont/headscale/issues/1461
+
+Index: hscontrol/app.go
+--- hscontrol/app.go.orig
++++ hscontrol/app.go
+@@ -821,6 +821,8 @@ func (h *Headscale) Serve() error {
+ 
+ 				// And we're done:
+ 				cancel()
++
++				return
+ 			}
+ 		}
+ 	}
Index: pkg/PLIST
===================================================================
RCS file: /cvs/ports/net/headscale/pkg/PLIST,v
diff -u -p -r1.5 PLIST
--- pkg/PLIST	23 Jan 2023 10:11:09 -0000	1.5
+++ pkg/PLIST	28 May 2024 14:27:46 -0000
@@ -6,6 +6,7 @@
 @sample ${SYSCONFDIR}/headscale/
 @owner _headscale
 @sample ${LOCALSTATEDIR}/db/headscale/
+@sample ${LOCALSTATEDIR}/run/headscale/
 @mode
 @owner
 @group
@@ -16,6 +17,9 @@ share/examples/headscale/config-example.
 @mode 640
 @group _headscale
 @sample ${SYSCONFDIR}/headscale/config.yaml
+@mode
+@group
 share/examples/headscale/derp-example.yaml
-@mode 644
+@mode 640
+@group _headscale
 @sample ${SYSCONFDIR}/headscale/derp.yaml
Index: pkg/README
===================================================================
RCS file: /cvs/ports/net/headscale/pkg/README,v
diff -u -p -r1.3 README
--- pkg/README	26 Apr 2023 13:42:54 -0000	1.3
+++ pkg/README	28 May 2024 14:27:46 -0000
@@ -5,16 +5,13 @@
 Initial Setup
 =============
 
-Generate a private key:
+Enable and start the service
 
-    # openssl rand -base64 32 > ${SYSCONFDIR}/headscale/private.key
+    # rcctl enable headscale
+    # rcctl start headscale
 
 Create an initial user:
 
-    # su -s/bin/sh _headscale
+    # su -s /bin/sh _headscale
     $ headscale users create myfirstuser
 
-Enable and start the service
-
-    # rcctl enable headscale
-    # rcctl start headscale

Reply via email to