git: 44d4a7c01eea - main - security/netbird: fix build on armv7
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Thu, 11 Sep 2025 15:10:13 UTC
The branch main has been updated by fuz:
URL: https://cgit.FreeBSD.org/ports/commit/?id=44d4a7c01eeaad23768ad3e2b34ba152636327c8
commit 44d4a7c01eeaad23768ad3e2b34ba152636327c8
Author: Robert Clausecker <fuz@FreeBSD.org>
AuthorDate: 2025-09-06 11:26:50 +0000
Commit: Robert Clausecker <fuz@FreeBSD.org>
CommitDate: 2025-09-11 15:09:49 +0000
security/netbird: fix build on armv7
A type error in some dependency.
Also replace a really dodgy fake slice whose size overflowed a 32-bit
integer with a proper use of unsafe.Slice().
i386 still fails for an unrelated reason.
Approved by: portmgr (build fix blanket)
MFH: 2025Q3
---
security/netbird/Makefile | 1 +
...wgctrl_internal_wgfreebsd_internal_nv_decode.go | 11 ++++++++
...wgctrl_internal_wgfreebsd_internal_nv_encode.go | 33 ++++++++++++++++++++++
3 files changed, 45 insertions(+)
diff --git a/security/netbird/Makefile b/security/netbird/Makefile
index cac5d2216eae..d018c374af81 100644
--- a/security/netbird/Makefile
+++ b/security/netbird/Makefile
@@ -1,6 +1,7 @@
PORTNAME= netbird
DISTVERSIONPREFIX= v
DISTVERSION= 0.56.0
+PORTREVISION= 1
CATEGORIES= security net net-vpn
MAINTAINER= hakan.external@netbird.io
diff --git a/security/netbird/files/patch-vendor_golang.zx2c4.com_wireguard_wgctrl_internal_wgfreebsd_internal_nv_decode.go b/security/netbird/files/patch-vendor_golang.zx2c4.com_wireguard_wgctrl_internal_wgfreebsd_internal_nv_decode.go
new file mode 100644
index 000000000000..3d89c7d66a97
--- /dev/null
+++ b/security/netbird/files/patch-vendor_golang.zx2c4.com_wireguard_wgctrl_internal_wgfreebsd_internal_nv_decode.go
@@ -0,0 +1,11 @@
+--- vendor/golang.zx2c4.com/wireguard/wgctrl/internal/wgfreebsd/internal/nv/decode.go.orig 2025-09-06 11:14:13 UTC
++++ vendor/golang.zx2c4.com/wireguard/wgctrl/internal/wgfreebsd/internal/nv/decode.go
+@@ -13,7 +13,7 @@ func Unmarshal(d []byte, out List) error {
+
+ // Unmarshal decodes a FreeBSD name-value list (nv(9)) to a Go map
+ func Unmarshal(d []byte, out List) error {
+- sz := C.ulong(len(d))
++ sz := C.size_t(len(d))
+ dp := unsafe.Pointer(&d[0])
+ nvl := C.nvlist_unpack(dp, sz, 0)
+
diff --git a/security/netbird/files/patch-vendor_golang.zx2c4.com_wireguard_wgctrl_internal_wgfreebsd_internal_nv_encode.go b/security/netbird/files/patch-vendor_golang.zx2c4.com_wireguard_wgctrl_internal_wgfreebsd_internal_nv_encode.go
new file mode 100644
index 000000000000..54a18ac871bf
--- /dev/null
+++ b/security/netbird/files/patch-vendor_golang.zx2c4.com_wireguard_wgctrl_internal_wgfreebsd_internal_nv_encode.go
@@ -0,0 +1,33 @@
+--- vendor/golang.zx2c4.com/wireguard/wgctrl/internal/wgfreebsd/internal/nv/encode.go.orig 2025-09-06 11:15:21 UTC
++++ vendor/golang.zx2c4.com/wireguard/wgctrl/internal/wgfreebsd/internal/nv/encode.go
+@@ -44,7 +44,7 @@ func marshal(m List) (nvl *C.struct_nvlist, err error)
+ C.nvlist_add_bool(nvl, ckey, C.bool(value))
+
+ case uint64:
+- C.nvlist_add_number(nvl, ckey, C.ulong(value))
++ C.nvlist_add_number(nvl, ckey, C.uint64_t(value))
+
+ case []byte:
+ sz := len(value)
+@@ -54,8 +54,8 @@ func marshal(m List) (nvl *C.struct_nvlist, err error)
+
+ case []List:
+ sz := len(value)
+- buf := C.malloc(C.size_t(C.sizeof_nvlist_ptr * sz))
+- items := (*[1<<30 - 1]*C.struct_nvlist)(buf)
++ buf := (**C.struct_nvlist)(C.malloc(C.size_t(C.sizeof_nvlist_ptr * sz)))
++ items := unsafe.Slice(buf, sz)
+
+ for i, val := range value {
+ if items[i], err = marshal(val); err != nil {
+@@ -64,8 +64,8 @@ func marshal(m List) (nvl *C.struct_nvlist, err error)
+ }
+ }
+
+- C.nvlist_add_nvlist_array(nvl, ckey, (**C.struct_nvlist)(buf), C.size_t(sz))
+- C.free(buf)
++ C.nvlist_add_nvlist_array(nvl, ckey, buf, C.size_t(sz))
++ C.free(unsafe.Pointer(buf))
+ }
+
+ C.free(unsafe.Pointer(ckey))