Skip to content

Commit 18d8494

Browse files
authored
Update dependencies (#458)
* Update dependencies
1 parent 1e30f83 commit 18d8494

File tree

4 files changed

+225
-240
lines changed

4 files changed

+225
-240
lines changed

cmd/provider/daemon.go

+3-31
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import (
1010
datatransfer "github.com/filecoin-project/go-data-transfer/v2/impl"
1111
dtnetwork "github.com/filecoin-project/go-data-transfer/v2/network"
1212
gstransport "github.com/filecoin-project/go-data-transfer/v2/transport/graphsync"
13+
"github.com/gammazero/fsutil"
1314
"github.com/ipfs/boxo/bootstrap"
1415
leveldb "github.com/ipfs/go-ds-leveldb"
1516
gsimpl "github.com/ipfs/go-graphsync/impl"
@@ -25,7 +26,6 @@ import (
2526
droutingserver "github.com/ipni/index-provider/server/delegatedrouting/server"
2627
"github.com/ipni/index-provider/supplier"
2728
"github.com/libp2p/go-libp2p"
28-
"github.com/mitchellh/go-homedir"
2929
"github.com/multiformats/go-multiaddr"
3030
"github.com/urfave/cli/v2"
3131
)
@@ -314,38 +314,10 @@ func daemonCommand(cctx *cli.Context) error {
314314
// dirWritable checks if a directory is writable. If the directory does
315315
// not exist it is created with writable permission.
316316
func dirWritable(dir string) error {
317-
if dir == "" {
318-
return errors.New("directory not specified")
319-
}
320-
321317
var err error
322-
dir, err = homedir.Expand(dir)
318+
dir, err = fsutil.ExpandHome(dir)
323319
if err != nil {
324320
return err
325321
}
326-
327-
if _, err = os.Stat(dir); err != nil {
328-
if errors.Is(err, os.ErrNotExist) {
329-
// dir doesn't exist, check that we can create it
330-
err = os.Mkdir(dir, 0o775)
331-
if err == nil {
332-
return nil
333-
}
334-
}
335-
if errors.Is(err, os.ErrPermission) {
336-
err = os.ErrPermission
337-
}
338-
return fmt.Errorf("cannot write to %s: %w", dir, err)
339-
}
340-
341-
// dir exists, make sure we can write to it
342-
file, err := os.CreateTemp(dir, "test")
343-
if err != nil {
344-
if errors.Is(err, os.ErrPermission) {
345-
err = os.ErrPermission
346-
}
347-
return fmt.Errorf("cannot write to %s: %w", dir, err)
348-
}
349-
file.Close()
350-
return os.Remove(file.Name())
322+
return fsutil.DirWritable(dir)
351323
}

cmd/provider/internal/config/config.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import (
66
"os"
77
"path/filepath"
88

9-
"github.com/mitchellh/go-homedir"
9+
"github.com/gammazero/fsutil"
1010
)
1111

1212
// Config is used to load config files.
@@ -72,7 +72,7 @@ func PathRoot() (string, error) {
7272
if dir != "" {
7373
return dir, nil
7474
}
75-
return homedir.Expand(DefaultPathRoot)
75+
return fsutil.ExpandHome(DefaultPathRoot)
7676
}
7777

7878
// Load reads the json-serialized config at the specified path.

go.mod

+72-64
Original file line numberDiff line numberDiff line change
@@ -1,49 +1,50 @@
11
module github.com/ipni/index-provider
22

3-
go 1.22
3+
go 1.23
44

55
require (
6-
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da
6+
github.com/gammazero/fsutil v0.1.2
7+
github.com/golang/groupcache v0.0.0-20241129210726-2c02b8208cf8
78
github.com/golang/mock v1.6.0
89
github.com/hashicorp/go-multierror v1.1.1
9-
github.com/ipfs/boxo v0.23.0
10-
github.com/ipfs/go-cid v0.4.1
10+
github.com/ipfs/boxo v0.27.4
11+
github.com/ipfs/go-cid v0.5.0
1112
github.com/ipfs/go-datastore v0.6.0
1213
github.com/ipfs/go-ds-leveldb v0.5.0
1314
github.com/ipfs/go-graphsync v0.17.0
1415
github.com/ipfs/go-log/v2 v2.5.1
1516
github.com/ipfs/go-test v0.0.4
16-
github.com/ipld/go-car/v2 v2.13.1
17-
github.com/ipld/go-codec-dagpb v1.6.0
17+
github.com/ipld/go-car/v2 v2.14.2
18+
github.com/ipld/go-codec-dagpb v1.7.0
1819
github.com/ipld/go-ipld-adl-hamt v0.0.0-20240322071803-376decb85801
1920
github.com/ipld/go-ipld-prime v0.21.0
20-
github.com/ipni/go-libipni v0.6.13
21-
github.com/libp2p/go-libp2p v0.36.3
22-
github.com/libp2p/go-libp2p-pubsub v0.12.0
23-
github.com/mitchellh/go-homedir v1.1.0
24-
github.com/multiformats/go-multiaddr v0.13.0
21+
github.com/ipni/go-libipni v0.6.16
22+
github.com/libp2p/go-libp2p v0.39.1
23+
github.com/libp2p/go-libp2p-pubsub v0.13.0
24+
github.com/multiformats/go-multiaddr v0.14.0
2525
github.com/multiformats/go-multicodec v0.9.0
2626
github.com/multiformats/go-multihash v0.2.3
27-
github.com/prometheus/client_golang v1.20.0
27+
github.com/prometheus/client_golang v1.20.5
2828
github.com/rogpeppe/go-internal v1.12.0
29-
github.com/stretchr/testify v1.9.0
30-
github.com/urfave/cli/v2 v2.27.4
31-
go.opentelemetry.io/otel v1.28.0
29+
github.com/stretchr/testify v1.10.0
30+
github.com/urfave/cli/v2 v2.27.5
31+
go.opentelemetry.io/otel v1.31.0
3232
go.opentelemetry.io/otel/exporters/prometheus v0.50.0
33-
go.opentelemetry.io/otel/metric v1.28.0
33+
go.opentelemetry.io/otel/metric v1.31.0
3434
go.opentelemetry.io/otel/sdk/metric v1.28.0
3535
)
3636

3737
require (
3838
github.com/Jorropo/jsync v1.0.1 // indirect
3939
github.com/filecoin-project/go-amt-ipld/v4 v4.0.0 // indirect
40+
github.com/filecoin-project/go-clock v0.1.0 // indirect
4041
github.com/filecoin-project/go-hamt-ipld/v3 v3.1.0 // indirect
4142
github.com/filecoin-project/go-state-types v0.9.9 // indirect
4243
github.com/fsnotify/fsnotify v1.6.0 // indirect
43-
github.com/gammazero/channelqueue v0.2.2 // indirect
44-
github.com/gammazero/deque v0.2.1 // indirect
44+
github.com/gammazero/chanqueue v1.0.0 // indirect
45+
github.com/gammazero/deque v1.0.0 // indirect
4546
github.com/go-task/slim-sprig/v3 v3.0.0 // indirect
46-
github.com/google/pprof v0.0.0-20240727154555-813a5fbdbec8 // indirect
47+
github.com/google/pprof v0.0.0-20250202011525-fc3143867406 // indirect
4748
github.com/gorilla/mux v1.8.1 // indirect
4849
github.com/gorilla/websocket v1.5.3 // indirect
4950
github.com/hashicorp/go-cleanhttp v0.5.2 // indirect
@@ -53,39 +54,46 @@ require (
5354
github.com/ipfs/go-ipfs-blockstore v1.3.1 // indirect
5455
github.com/ipfs/go-libipfs v0.7.0 // indirect
5556
github.com/libp2p/go-libp2p-record v0.2.0 // indirect
56-
github.com/libp2p/go-libp2p-routing-helpers v0.7.3 // indirect
57+
github.com/libp2p/go-libp2p-routing-helpers v0.7.4 // indirect
5758
github.com/multiformats/go-varint v0.0.7 // indirect
5859
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect
59-
github.com/onsi/ginkgo/v2 v2.20.0 // indirect
60-
github.com/pion/datachannel v1.5.8 // indirect
60+
github.com/onsi/ginkgo/v2 v2.22.2 // indirect
61+
github.com/pion/datachannel v1.5.10 // indirect
6162
github.com/pion/dtls/v2 v2.2.12 // indirect
62-
github.com/pion/ice/v2 v2.3.34 // indirect
63-
github.com/pion/interceptor v0.1.30 // indirect
64-
github.com/pion/logging v0.2.2 // indirect
63+
github.com/pion/dtls/v3 v3.0.4 // indirect
64+
github.com/pion/ice/v2 v2.3.37 // indirect
65+
github.com/pion/ice/v4 v4.0.6 // indirect
66+
github.com/pion/interceptor v0.1.37 // indirect
67+
github.com/pion/logging v0.2.3 // indirect
6568
github.com/pion/mdns v0.0.12 // indirect
69+
github.com/pion/mdns/v2 v2.0.7 // indirect
6670
github.com/pion/randutil v0.1.0 // indirect
67-
github.com/pion/rtcp v1.2.14 // indirect
68-
github.com/pion/rtp v1.8.9 // indirect
69-
github.com/pion/sctp v1.8.33 // indirect
70-
github.com/pion/sdp/v3 v3.0.9 // indirect
71-
github.com/pion/srtp/v2 v2.0.20 // indirect
71+
github.com/pion/rtcp v1.2.15 // indirect
72+
github.com/pion/rtp v1.8.11 // indirect
73+
github.com/pion/sctp v1.8.35 // indirect
74+
github.com/pion/sdp/v3 v3.0.10 // indirect
75+
github.com/pion/srtp/v3 v3.0.4 // indirect
7276
github.com/pion/stun v0.6.1 // indirect
77+
github.com/pion/stun/v3 v3.0.0 // indirect
7378
github.com/pion/transport/v2 v2.2.10 // indirect
79+
github.com/pion/transport/v3 v3.0.7 // indirect
7480
github.com/pion/turn/v2 v2.1.6 // indirect
75-
github.com/pion/webrtc/v3 v3.3.0 // indirect
76-
github.com/quic-go/qpack v0.4.0 // indirect
77-
github.com/quic-go/quic-go v0.46.0 // indirect
78-
github.com/quic-go/webtransport-go v0.8.0 // indirect
79-
github.com/samber/lo v1.39.0 // indirect
80-
github.com/whyrusleeping/cbor-gen v0.1.2 // indirect
81-
github.com/wlynxg/anet v0.0.4 // indirect
81+
github.com/pion/turn/v4 v4.0.0 // indirect
82+
github.com/pion/webrtc/v4 v4.0.8 // indirect
83+
github.com/quic-go/qpack v0.5.1 // indirect
84+
github.com/quic-go/quic-go v0.49.0 // indirect
85+
github.com/quic-go/webtransport-go v0.8.1-0.20241018022711-4ac2c9250e66 // indirect
86+
github.com/samber/lo v1.47.0 // indirect
87+
github.com/slok/go-http-metrics v0.12.0 // indirect
88+
github.com/whyrusleeping/cbor-gen v0.2.0 // indirect
89+
github.com/wlynxg/anet v0.0.5 // indirect
8290
go.opencensus.io v0.24.0 // indirect
8391
go.uber.org/dig v1.18.0 // indirect
84-
go.uber.org/fx v1.22.2 // indirect
85-
go.uber.org/mock v0.4.0 // indirect
92+
go.uber.org/fx v1.23.0 // indirect
93+
go.uber.org/mock v0.5.0 // indirect
8694
go4.org v0.0.0-20230225012048-214862532bf5 // indirect
87-
golang.org/x/text v0.17.0 // indirect
88-
golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 // indirect
95+
golang.org/x/text v0.22.0 // indirect
96+
golang.org/x/xerrors v0.0.0-20240903120638-7835f813f4da // indirect
8997
)
9098

9199
require (
@@ -95,7 +103,7 @@ require (
95103
github.com/cespare/xxhash/v2 v2.3.0 // indirect
96104
github.com/containerd/cgroups v1.1.0 // indirect
97105
github.com/coreos/go-systemd/v22 v22.5.0 // indirect
98-
github.com/cpuguy83/go-md2man/v2 v2.0.4 // indirect
106+
github.com/cpuguy83/go-md2man/v2 v2.0.5 // indirect
99107
github.com/davecgh/go-spew v1.1.1 // indirect
100108
github.com/davidlazar/go-crypto v0.0.0-20200604182044-b73af7476f6c // indirect
101109
github.com/decred/dcrd/dcrec/secp256k1/v4 v4.3.0 // indirect
@@ -131,37 +139,37 @@ require (
131139
github.com/ipfs/go-ipld-format v0.6.0 // indirect
132140
github.com/ipfs/go-log v1.0.5 // indirect
133141
github.com/ipfs/go-metrics-interface v0.0.1 // indirect
134-
github.com/ipfs/go-peertaskqueue v0.8.1 // indirect
135-
github.com/ipfs/go-unixfsnode v1.9.0 // indirect
142+
github.com/ipfs/go-peertaskqueue v0.8.2 // indirect
143+
github.com/ipfs/go-unixfsnode v1.9.2 // indirect
136144
github.com/jackpal/go-nat-pmp v1.0.2 // indirect
137145
github.com/jbenet/go-temp-err-catcher v0.1.0 // indirect
138146
github.com/jbenet/goprocess v0.1.4 // indirect
139147
github.com/jpillora/backoff v1.0.0 // indirect
140-
github.com/klauspost/compress v1.17.9 // indirect
141-
github.com/klauspost/cpuid/v2 v2.2.8 // indirect
142-
github.com/koron/go-ssdp v0.0.4 // indirect
148+
github.com/klauspost/compress v1.17.11 // indirect
149+
github.com/klauspost/cpuid/v2 v2.2.9 // indirect
150+
github.com/koron/go-ssdp v0.0.5 // indirect
143151
github.com/libp2p/go-buffer-pool v0.1.0 // indirect
144-
github.com/libp2p/go-flow-metrics v0.1.0 // indirect
152+
github.com/libp2p/go-flow-metrics v0.2.0 // indirect
145153
github.com/libp2p/go-libp2p-asn-util v0.4.1 // indirect
146154
github.com/libp2p/go-msgio v0.3.0 // indirect
147155
github.com/libp2p/go-nat v0.2.0 // indirect
148-
github.com/libp2p/go-netroute v0.2.1 // indirect
156+
github.com/libp2p/go-netroute v0.2.2 // indirect
149157
github.com/libp2p/go-reuseport v0.4.0 // indirect
150-
github.com/libp2p/go-yamux/v4 v4.0.1 // indirect
158+
github.com/libp2p/go-yamux/v4 v4.0.2 // indirect
151159
github.com/marten-seemann/tcp v0.0.0-20210406111302-dfbc87cc63fd // indirect
152160
github.com/mattn/go-isatty v0.0.20 // indirect
153-
github.com/miekg/dns v1.1.62 // indirect
161+
github.com/miekg/dns v1.1.63 // indirect
154162
github.com/mikioh/tcpinfo v0.0.0-20190314235526-30a79bb1804b // indirect
155163
github.com/mikioh/tcpopt v0.0.0-20190314235656-172688c1accc // indirect
156164
github.com/minio/blake2b-simd v0.0.0-20160723061019-3f5f724cb5b1 // indirect
157165
github.com/minio/sha256-simd v1.0.1 // indirect
158166
github.com/mr-tron/base58 v1.2.0 // indirect
159167
github.com/multiformats/go-base32 v0.1.0 // indirect
160168
github.com/multiformats/go-base36 v0.2.0 // indirect
161-
github.com/multiformats/go-multiaddr-dns v0.3.1 // indirect
169+
github.com/multiformats/go-multiaddr-dns v0.4.1 // indirect
162170
github.com/multiformats/go-multiaddr-fmt v0.1.0 // indirect
163171
github.com/multiformats/go-multibase v0.2.0 // indirect
164-
github.com/multiformats/go-multistream v0.5.0 // indirect
172+
github.com/multiformats/go-multistream v0.6.0 // indirect
165173
github.com/opencontainers/runtime-spec v1.2.0 // indirect
166174
github.com/opentracing/opentracing-go v1.2.0 // indirect
167175
github.com/pbnjay/memory v0.0.0-20210728143218-7b4eea64cf58 // indirect
@@ -170,7 +178,7 @@ require (
170178
github.com/pmezard/go-difflib v1.0.0 // indirect
171179
github.com/polydawn/refmt v0.89.0 // indirect
172180
github.com/prometheus/client_model v0.6.1 // indirect
173-
github.com/prometheus/common v0.55.0 // indirect
181+
github.com/prometheus/common v0.62.0 // indirect
174182
github.com/prometheus/procfs v0.15.1 // indirect
175183
github.com/raulk/go-watchdog v1.3.0 // indirect
176184
github.com/russross/blackfriday/v2 v2.1.0 // indirect
@@ -179,19 +187,19 @@ require (
179187
github.com/twmb/murmur3 v1.1.6 // indirect
180188
github.com/whyrusleeping/cbor v0.0.0-20171005072247-63513f603b11 // indirect
181189
github.com/xrash/smetrics v0.0.0-20240521201337-686a1a2994c1 // indirect
182-
go.opentelemetry.io/otel/sdk v1.28.0 // indirect
183-
go.opentelemetry.io/otel/trace v1.28.0 // indirect
190+
go.opentelemetry.io/otel/sdk v1.31.0 // indirect
191+
go.opentelemetry.io/otel/trace v1.31.0 // indirect
184192
go.uber.org/atomic v1.11.0 // indirect
185193
go.uber.org/multierr v1.11.0 // indirect
186194
go.uber.org/zap v1.27.0 // indirect
187-
golang.org/x/crypto v0.26.0 // indirect
188-
golang.org/x/exp v0.0.0-20240808152545-0cdaa3abc0fa // indirect
189-
golang.org/x/mod v0.20.0 // indirect
190-
golang.org/x/net v0.28.0 // indirect
191-
golang.org/x/sync v0.8.0 // indirect
192-
golang.org/x/sys v0.24.0 // indirect
193-
golang.org/x/tools v0.24.0 // indirect
194-
google.golang.org/protobuf v1.34.2 // indirect
195+
golang.org/x/crypto v0.33.0 // indirect
196+
golang.org/x/exp v0.0.0-20250128182459-e0ece0dbea4c // indirect
197+
golang.org/x/mod v0.23.0 // indirect
198+
golang.org/x/net v0.34.0 // indirect
199+
golang.org/x/sync v0.11.0 // indirect
200+
golang.org/x/sys v0.30.0 // indirect
201+
golang.org/x/tools v0.29.0 // indirect
202+
google.golang.org/protobuf v1.36.5 // indirect
195203
gopkg.in/yaml.v3 v3.0.1 // indirect
196204
lukechampine.com/blake3 v1.3.0 // indirect
197205
)

0 commit comments

Comments
 (0)