Skip to content

Commit 0ee89b4

Browse files
committed
Merge branch 'master' into development
2 parents b4b66e3 + c9405ec commit 0ee89b4

File tree

9 files changed

+1136
-1325
lines changed

9 files changed

+1136
-1325
lines changed

.github/workflows/gosec.yml

+1-2
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,7 @@ jobs:
2121
- name: Checkout Source
2222
uses: actions/checkout@v4
2323
- name: Run Gosec Security Scanner
24-
#uses: securego/gosec@master
25-
uses: securego/[email protected] #TODO: Use gosec@master. This is temporary because the latest version (2.21.1) has SARIF format compatibility issues with GitHub.
24+
uses: securego/[email protected]
2625
with:
2726
# we let the report trigger content trigger a failure using the GitHub Security features.
2827
args: '-exclude=G104,G307 -no-fail -fmt sarif -out results.sarif ./...'

cli/go.mod

+11-11
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,26 @@
11
module github.com/ivpn/desktop-app/cli
22

3-
go 1.21
3+
go 1.24.0
44

55
require (
66
github.com/ivpn/desktop-app/daemon v0.0.0
7-
golang.org/x/crypto v0.21.0
8-
golang.org/x/sys v0.18.0
9-
golang.org/x/term v0.18.0
7+
golang.org/x/crypto v0.36.0
8+
golang.org/x/sys v0.31.0
9+
golang.org/x/term v0.30.0
1010
)
1111

1212
require (
1313
github.com/davecgh/go-spew v1.1.1 // indirect
14-
github.com/fsnotify/fsnotify v1.7.0 // indirect
15-
github.com/google/uuid v1.5.0 // indirect
16-
github.com/mattn/go-runewidth v0.0.15 // indirect
14+
github.com/fsnotify/fsnotify v1.8.0 // indirect
15+
github.com/google/uuid v1.6.0 // indirect
16+
github.com/mattn/go-runewidth v0.0.16 // indirect
1717
github.com/olekukonko/tablewriter v0.0.5 // indirect
1818
github.com/parsiya/golnk v0.0.0-20221103095132-740a4c27c4ff // indirect
1919
github.com/pmezard/go-difflib v1.0.0 // indirect
20-
github.com/rivo/uniseg v0.4.4 // indirect
21-
github.com/stretchr/testify v1.8.4 // indirect
22-
golang.org/x/net v0.23.0 // indirect
23-
golang.org/x/sync v0.6.0 // indirect
20+
github.com/rivo/uniseg v0.4.7 // indirect
21+
github.com/stretchr/testify v1.10.0 // indirect
22+
golang.org/x/net v0.38.0 // indirect
23+
golang.org/x/sync v0.12.0 // indirect
2424
golang.zx2c4.com/wireguard/windows v0.5.3 // indirect
2525
gopkg.in/yaml.v3 v3.0.1 // indirect
2626
)

cli/go.sum

+21-20
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,34 @@
11
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
22
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
3-
github.com/fsnotify/fsnotify v1.7.0 h1:8JEhPFa5W2WU7YfeZzPNqzMP6Lwt7L2715Ggo0nosvA=
4-
github.com/fsnotify/fsnotify v1.7.0/go.mod h1:40Bi/Hjc2AVfZrqy+aj+yEI+/bRxZnMJyTJwOpGvigM=
5-
github.com/google/uuid v1.5.0 h1:1p67kYwdtXjb0gL0BPiP1Av9wiZPo5A8z2cWkTZ+eyU=
6-
github.com/google/uuid v1.5.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
3+
github.com/fsnotify/fsnotify v1.8.0 h1:dAwr6QBTBZIkG8roQaJjGof0pp0EeF+tNV7YBP3F/8M=
4+
github.com/fsnotify/fsnotify v1.8.0/go.mod h1:8jBTzvmWwFyi3Pb8djgCCO5IBqzKJ/Jwo8TRcHyHii0=
5+
github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
6+
github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
77
github.com/mattn/go-runewidth v0.0.9/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI=
8-
github.com/mattn/go-runewidth v0.0.15 h1:UNAjwbU9l54TA3KzvqLGxwWjHmMgBUVhBiTjelZgg3U=
9-
github.com/mattn/go-runewidth v0.0.15/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w=
8+
github.com/mattn/go-runewidth v0.0.16 h1:E5ScNMtiwvlvB5paMFdw9p4kSQzbXFikJ5SQO6TULQc=
9+
github.com/mattn/go-runewidth v0.0.16/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w=
1010
github.com/olekukonko/tablewriter v0.0.5 h1:P2Ga83D34wi1o9J6Wh1mRuqd4mF/x/lgBS7N7AbDhec=
1111
github.com/olekukonko/tablewriter v0.0.5/go.mod h1:hPp6KlRPjbx+hW8ykQs1w3UBbZlj6HuIJcUGPhkA7kY=
1212
github.com/parsiya/golnk v0.0.0-20221103095132-740a4c27c4ff h1:japdIZgV4tJIgn7NqUD7mAkLiPRsPK5LXVgjNwFtDA4=
1313
github.com/parsiya/golnk v0.0.0-20221103095132-740a4c27c4ff/go.mod h1:A24WXUol4NXZlK8grjh/CsZnPlimfwaQFt5PQsqS27s=
1414
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
1515
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
1616
github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc=
17-
github.com/rivo/uniseg v0.4.4 h1:8TfxU8dW6PdqD27gjM8MVNuicgxIjxpm4K7x4jp8sis=
18-
github.com/rivo/uniseg v0.4.4/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88=
19-
github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk=
20-
github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo=
21-
golang.org/x/crypto v0.21.0 h1:X31++rzVUdKhX5sWmSOFZxx8UW/ldWx55cbf08iNAMA=
22-
golang.org/x/crypto v0.21.0/go.mod h1:0BP7YvVV9gBbVKyeTG0Gyn+gZm94bibOW5BjDEYAOMs=
23-
golang.org/x/net v0.23.0 h1:7EYJ93RZ9vYSZAIb2x3lnuvqO5zneoD6IvWjuhfxjTs=
24-
golang.org/x/net v0.23.0/go.mod h1:JKghWKKOSdJwpW2GEx0Ja7fmaKnMsbu+MWVZTokSYmg=
25-
golang.org/x/sync v0.6.0 h1:5BMeUDZ7vkXGfEr1x9B4bRcTH4lpkTkpdh0T/J+qjbQ=
26-
golang.org/x/sync v0.6.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
27-
golang.org/x/sys v0.18.0 h1:DBdB3niSjOA/O0blCZBqDefyWNYveAYMNF1Wum0DYQ4=
28-
golang.org/x/sys v0.18.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
29-
golang.org/x/term v0.18.0 h1:FcHjZXDMxI8mM3nwhX9HlKop4C0YQvCVCdwYl2wOtE8=
30-
golang.org/x/term v0.18.0/go.mod h1:ILwASektA3OnRv7amZ1xhE/KTR+u50pbXfZ03+6Nx58=
17+
github.com/rivo/uniseg v0.4.7 h1:WUdvkW8uEhrYfLC4ZzdpI2ztxP1I582+49Oc5Mq64VQ=
18+
github.com/rivo/uniseg v0.4.7/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88=
19+
github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA=
20+
github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
21+
golang.org/x/crypto v0.36.0 h1:AnAEvhDddvBdpY+uR+MyHmuZzzNqXSe/GvuDeob5L34=
22+
golang.org/x/crypto v0.36.0/go.mod h1:Y4J0ReaxCR1IMaabaSMugxJES1EpwhBHhv2bDHklZvc=
23+
golang.org/x/net v0.38.0 h1:vRMAPTMaeGqVhG5QyLJHqNDwecKTomGeqbnfZyKlBI8=
24+
golang.org/x/net v0.38.0/go.mod h1:ivrbrMbzFq5J41QOQh0siUuly180yBYtLp+CKbEaFx8=
25+
golang.org/x/sync v0.12.0 h1:MHc5BpPuC30uJk597Ri8TV3CNZcTLu6B6z4lJy+g6Jw=
26+
golang.org/x/sync v0.12.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA=
27+
golang.org/x/sys v0.31.0 h1:ioabZlmFYtWhL+TRYpcnNlLwhyxaM9kWTDEmfnprqik=
28+
golang.org/x/sys v0.31.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
29+
golang.org/x/term v0.30.0 h1:PQ39fJZ+mfadBm0y5WlL4vlM7Sx1Hgf13sMIY2+QS9Y=
30+
golang.org/x/term v0.30.0/go.mod h1:NYYFdzHoI5wRh/h5tDMdMqCqPJZEuNqVR5xJLd/n67g=
31+
golang.zx2c4.com/wireguard v0.0.0-20231211153847-12269c276173 h1:/jFs0duh4rdb8uIfPMv78iAJGcPKDeqAFnaLBropIC4=
3132
golang.zx2c4.com/wireguard/windows v0.5.3 h1:On6j2Rpn3OEMXqBq00QEDC7bWSZrPIHKIus8eIuExIE=
3233
golang.zx2c4.com/wireguard/windows v0.5.3/go.mod h1:9TEe8TJmtwyQebdFwAkEWOPr3prrtqm+REGFifP60hI=
3334
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM=

daemon/References/macOS/scripts/build-openvpn.sh

+15-20
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,11 @@ set -e
1717
cd "$(dirname "$0")"
1818
BASE_DIR="$(pwd)" #set base folder of script location
1919

20+
# Determine number of CPU cores for parallel compilation
21+
CPU_CORES=$(sysctl -n hw.logicalcpu)
22+
2023
BUILD_DIR=${BASE_DIR}/../_deps/openvpn_build # work directory
21-
INSTALL_DIR=${BUILD_DIR}/../openvpn_inst
24+
INSTALL_DIR=${BASE_DIR}/../_deps/openvpn_inst
2225

2326
echo "******** Creating work-folder (${BUILD_DIR})..."
2427
rm -rf ${BUILD_DIR}
@@ -40,7 +43,7 @@ echo "************************************************"
4043
echo "******** Downloading OpenSSL sources..."
4144
echo "************************************************"
4245
cd ${BUILD_DIR}
43-
curl https://www.openssl.org/source/openssl-${OPEN_SSL_VER}.tar.gz | tar zx
46+
curl -L https://www.openssl.org/source/openssl-${OPEN_SSL_VER}.tar.gz | tar zx
4447

4548
# ##############################################################################
4649
# Compilation OpenSSl info:
@@ -54,15 +57,15 @@ echo "************************************************"
5457
cd ${BUILD_DIR}/openssl-${OPEN_SSL_VER}
5558

5659
if [ ${_ARCH} = "arm64" ]; then
57-
./Configure darwin64-arm64-cc shared enable-ec_nistp_64_gcc_128 no-ssl2 no-ssl3 no-comp --openssldir=/usr/local/ssl/macos-arm64
60+
./Configure darwin64-arm64-cc shared enable-ec_nistp_64_gcc_128 no-ssl2 no-ssl3 no-comp --openssldir=/usr/local/ssl/macos-arm64 -mmacosx-version-min=10.14
5861
else
59-
./Configure darwin64-x86_64-cc shared enable-ec_nistp_64_gcc_128 no-ssl2 no-ssl3 no-comp --openssldir=/usr/local/ssl/macos-x86_64
62+
./Configure darwin64-x86_64-cc shared enable-ec_nistp_64_gcc_128 no-ssl2 no-ssl3 no-comp --openssldir=/usr/local/ssl/macos-x86_64 -mmacosx-version-min=10.14
6063
fi
6164

6265
echo "************************************************"
6366
echo "******** Compiling OpenSSL..."
6467
echo "************************************************"
65-
make
68+
make -j$CPU_CORES
6669

6770
echo "************************************************"
6871
echo "******** Copying OpenSSL include folder and static libraries..."
@@ -84,25 +87,15 @@ cd lzo-${LZO_VER}
8487
echo "************************************************"
8588
echo "******** Compiling LZO..."
8689
echo "************************************************"
87-
CLFAGS="-mmacosx-version-min=10.6" ./configure --prefix="${INSTALL_DIR}" && make && make install
90+
CFLAGS="-mmacosx-version-min=10.14" ./configure --prefix="${INSTALL_DIR}" && make -j$CPU_CORES && make install
8891

8992
echo "************************************************"
90-
echo "******** Cloning OpenVPN sources..."
93+
echo "******** Cloning OpenVPN sources (version ${OPEN_VPN_VER})..."
9194
echo "************************************************"
9295
cd ${BUILD_DIR}
93-
git clone https://github.com/OpenVPN/openvpn.git
96+
git clone --branch "${OPEN_VPN_VER}" --depth 1 https://github.com/OpenVPN/openvpn.git
9497
cd openvpn
9598

96-
echo "************************************************"
97-
echo "******** Checkout OpenVPN version (${OPEN_VPN_VER})..."
98-
echo "************************************************"
99-
git checkout ${OPEN_VPN_VER}
100-
101-
echo "************************************************"
102-
echo "******** Patching OpenVPN..."
103-
echo "************************************************"
104-
patch -p2 < $BASE_DIR/patches/openvpn-osx-lion.patch
105-
10699
echo "************************************************"
107100
echo "******** OpenVPN: Updating generated configuration files..."
108101
echo "************************************************"
@@ -111,7 +104,9 @@ autoreconf -ivf
111104
echo "************************************************"
112105
echo "******** Configuring OpenVPN..."
113106
echo "************************************************"
114-
CFLAGS="-mmacosx-version-min=10.6 -I${INSTALL_DIR}/include" \
107+
OPENSSL_LIBS="-L${INSTALL_DIR}/lib -lssl -lcrypto" \
108+
OPENSSL_CFLAGS="-I${INSTALL_DIR}/include" \
109+
CFLAGS="-mmacosx-version-min=10.14 -I${INSTALL_DIR}/include" \
115110
LDFLAGS="-L${INSTALL_DIR}/lib" \
116111
./configure --disable-debug --disable-server --enable-password-save \
117112
--disable-lz4
@@ -120,7 +115,7 @@ CFLAGS="-mmacosx-version-min=10.6 -I${INSTALL_DIR}/include" \
120115
echo "************************************************"
121116
echo "******** Compiling OpenVPN..."
122117
echo "************************************************"
123-
make
118+
make -j$CPU_CORES
124119

125120
echo "********************************"
126121
echo "******** BUILD COMPLETE ********"

daemon/References/macOS/scripts/build-wireguard.sh

+61-10
Original file line numberDiff line numberDiff line change
@@ -15,30 +15,81 @@ BASE_DIR="$(pwd)" #set base folder of script location
1515
BUILD_DIR=${BASE_DIR}/../_deps/wg_build # work directory
1616
INSTALL_DIR=${BUILD_DIR}/../wg_inst
1717

18+
# Function to set up temporary Go environment
19+
# It downloads the specified Go version and sets up the environment variables
20+
# Arguments:
21+
# $1: Go version to download
22+
setup_go_env() {
23+
local GO_VERSION=$1
24+
local TEMP_GOROOT="${BUILD_DIR}/go-${GO_VERSION}"
25+
local TEMP_GOPATH="${BUILD_DIR}/gopath"
26+
27+
# Get system architecture
28+
local ARCH="$(uname -m)"
29+
if [ "${ARCH}" != "x86_64" ] && [ "${ARCH}" != "arm64" ]; then
30+
echo "ERROR: Unsupported architecture: ${ARCH}"
31+
exit 1
32+
fi
33+
34+
# Create GOPATH directory if it doesn't exist
35+
mkdir -p "${TEMP_GOPATH}"
36+
37+
# Check if Go is already installed in the expected location
38+
local NEED_DOWNLOAD=true
39+
if [ -d "${TEMP_GOROOT}" ] && [ -f "${TEMP_GOROOT}/bin/go" ]; then
40+
NEED_DOWNLOAD=false
41+
fi
42+
43+
if [ "$NEED_DOWNLOAD" = true ]; then
44+
echo "Downloading Go ${GO_VERSION} for architecture ${ARCH}..."
45+
mkdir -p "${TEMP_GOROOT}"
46+
curl -sSL "https://go.dev/dl/go${GO_VERSION}.darwin-${ARCH}.tar.gz" | tar -xz -C "${TEMP_GOROOT}" --strip-components=1
47+
fi
48+
49+
# Use the temporary Go installation
50+
export PATH="${TEMP_GOROOT}/bin:$PATH"
51+
export GOROOT="${TEMP_GOROOT}"
52+
export GOPATH="${TEMP_GOPATH}"
53+
54+
# Verify Go installation
55+
echo "Verifying Go installation..."
56+
go version
57+
if [ $? -ne 0 ]; then
58+
echo "Failed to set up Go environment"
59+
exit 1
60+
fi
61+
}
62+
1863
echo "******** Creating work-folder (${BUILD_DIR})..."
64+
65+
if [ -d "${BUILD_DIR}" ]; then
66+
# Ensure the build directory is writable, as Go makes files in the module cache read-only
67+
chmod -R +w "${BUILD_DIR}"
68+
fi
1969
rm -rf ${BUILD_DIR}
2070
rm -rf ${INSTALL_DIR}
2171
mkdir -pv ${BUILD_DIR}
2272
mkdir -pv ${INSTALL_DIR}
2373

74+
echo "******** Setting up Go environment version ${GO_VERSION}..."
75+
# Use the temporary Go v1.22.12 environment because 'wireguard-go' fails when using Go >= 1.23
76+
setup_go_env "1.22.12" # TODO: Remove this when wireguard-go supports latest Go versions
2477

25-
echo "******** Cloning WireGuard-go sources..."
78+
echo "******** Cloning WireGuard-go sources (version ${WG_GO_VER})..."
2679
cd ${BUILD_DIR}
27-
git clone https://git.zx2c4.com/wireguard-go/
80+
git clone --branch "${WG_GO_VER}" --depth 1 https://git.zx2c4.com/wireguard-go/
2881
cd wireguard-go
29-
echo "******** Checkout wireguard-go version (${WG_GO_VER})..."
30-
git checkout ${WG_GO_VER}
82+
3183
echo "******** Compiling 'wireguard-go'..."
32-
CGO_CFLAGS=-mmacosx-version-min=10.10 CGO_LDFLAGS=-mmacosx-version-min=10.10 make
84+
CGO_ENABLED=1 CGO_CFLAGS=-mmacosx-version-min=10.14 CGO_LDFLAGS=-mmacosx-version-min=10.14 make
3385

34-
echo "******** Cloning wireguard-tools sources..."
86+
echo "******** Cloning wireguard-tools sources (version ${WG_TOOLS_VER})..."
3587
cd ${BUILD_DIR}
36-
git clone https://git.zx2c4.com/wireguard-tools/
88+
git clone --branch "${WG_TOOLS_VER}" --depth 1 https://git.zx2c4.com/wireguard-tools/
3789
cd wireguard-tools/src
38-
echo "******** Checkout wireguard-tools version (${WG_TOOLS_VER})..."
39-
git checkout ${WG_TOOLS_VER}
90+
4091
echo "******** Compiling 'wireguard-tools'..."
41-
CFLAGS=-mmacosx-version-min=10.10 LDFLAGS=-mmacosx-version-min=10.10 make
92+
CFLAGS=-mmacosx-version-min=10.14 LDFLAGS=-mmacosx-version-min=10.14 make
4293

4394
echo "********************************"
4495
echo "******** BUILD COMPLETE ********"

daemon/go.mod

+13-13
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,31 @@
11
module github.com/ivpn/desktop-app/daemon
22

3-
go 1.21
3+
go 1.24.0
44

55
require (
6-
github.com/fsnotify/fsnotify v1.7.0
7-
github.com/google/uuid v1.5.0
6+
github.com/fsnotify/fsnotify v1.8.0
7+
github.com/google/uuid v1.6.0
88
github.com/parsiya/golnk v0.0.0-20221103095132-740a4c27c4ff
9-
github.com/stretchr/testify v1.8.4
10-
golang.org/x/net v0.23.0
11-
golang.org/x/sync v0.6.0
12-
golang.org/x/sys v0.18.0
13-
golang.zx2c4.com/wireguard/wgctrl v0.0.0-20230429144221-925a1e7659e6
9+
github.com/stretchr/testify v1.10.0
10+
golang.org/x/net v0.38.0
11+
golang.org/x/sync v0.12.0
12+
golang.org/x/sys v0.31.0
13+
golang.zx2c4.com/wireguard/wgctrl v0.0.0-20241231184526-a9ab2273dd10
1414
golang.zx2c4.com/wireguard/windows v0.5.3
1515
)
1616

1717
require (
1818
github.com/davecgh/go-spew v1.1.1 // indirect
19-
github.com/google/go-cmp v0.6.0 // indirect
19+
github.com/google/go-cmp v0.7.0 // indirect
2020
github.com/josharian/native v1.1.0 // indirect
21-
github.com/mattn/go-runewidth v0.0.15 // indirect
21+
github.com/mattn/go-runewidth v0.0.16 // indirect
2222
github.com/mdlayher/genetlink v1.3.2 // indirect
2323
github.com/mdlayher/netlink v1.7.2 // indirect
24-
github.com/mdlayher/socket v0.5.0 // indirect
24+
github.com/mdlayher/socket v0.5.1 // indirect
2525
github.com/olekukonko/tablewriter v0.0.5 // indirect
2626
github.com/pmezard/go-difflib v1.0.0 // indirect
27-
github.com/rivo/uniseg v0.4.4 // indirect
28-
golang.org/x/crypto v0.21.0 // indirect
27+
github.com/rivo/uniseg v0.4.7 // indirect
28+
golang.org/x/crypto v0.36.0 // indirect
2929
golang.zx2c4.com/wireguard v0.0.0-20231211153847-12269c276173 // indirect
3030
gopkg.in/yaml.v3 v3.0.1 // indirect
3131
)

0 commit comments

Comments
 (0)