Skip to content

Commit 135d3b0

Browse files
authored
android: bump OSS and fix breaking changes (#718)
android: bump OSS OSS and Version updated to 1.91.144-tc679aaba3-gc1b1cad63 Removed Expiry from model.Netmap and corrected the optionality of Node.KeyExpiry to fix breaking LocalAPI changes. Signed-off-by: Jonathan Nobels <[email protected]>
1 parent 24b6c48 commit 135d3b0

File tree

5 files changed

+57
-51
lines changed

5 files changed

+57
-51
lines changed

android/src/main/java/com/tailscale/ipn/ui/model/NetMap.kt

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,7 @@ class Netmap {
99
@Serializable
1010
data class NetworkMap(
1111
var SelfNode: Tailcfg.Node,
12-
var NodeKey: KeyNodePublic,
1312
var Peers: List<Tailcfg.Node>? = null,
14-
var Expiry: Time,
1513
var Domain: String,
1614
var UserProfiles: Map<String, Tailcfg.UserProfile>,
1715
var TKAEnabled: Boolean,
@@ -44,9 +42,7 @@ class Netmap {
4442
if (other !is NetworkMap) return false
4543

4644
return SelfNode == other.SelfNode &&
47-
NodeKey == other.NodeKey &&
4845
Peers == other.Peers &&
49-
Expiry == other.Expiry &&
5046
User() == other.User() &&
5147
Domain == other.Domain &&
5248
UserProfiles == other.UserProfiles &&

android/src/main/java/com/tailscale/ipn/ui/model/TailCfg.kt

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,9 @@ import com.tailscale.ipn.ui.util.DisplayAddress
1515
import com.tailscale.ipn.ui.util.TimeUtil
1616
import com.tailscale.ipn.ui.util.flag
1717
import com.tailscale.ipn.ui.viewModel.PeerSettingInfo
18-
import java.util.Date
1918
import kotlinx.serialization.Serializable
2019
import kotlinx.serialization.json.JsonElement
20+
import java.util.Date
2121

2222
class Tailcfg {
2323
@Serializable
@@ -74,8 +74,7 @@ class Tailcfg {
7474
var User: UserID,
7575
var Sharer: UserID? = null,
7676
var Key: KeyNodePublic,
77-
var KeyExpiry: String,
78-
var Machine: MachineKey,
77+
var KeyExpiry: String? = null,
7978
var Addresses: List<Prefix>? = null,
8079
var AllowedIPs: List<Prefix>? = null,
8180
var Endpoints: List<String>? = null,
@@ -130,7 +129,7 @@ class Tailcfg {
130129
}
131130

132131
val keyDoesNotExpire: Boolean
133-
get() = KeyExpiry == "0001-01-01T00:00:00Z"
132+
get() = KeyExpiry == "0001-01-01T00:00:00Z" || KeyExpiry == null || KeyExpiry == ""
134133

135134
fun isSelfNode(netmap: Netmap.NetworkMap): Boolean = StableID == netmap.SelfNode.StableID
136135

@@ -174,13 +173,16 @@ class Tailcfg {
174173

175174
@Composable
176175
fun expiryLabel(): String {
177-
if (KeyExpiry == GoZeroTimeString) {
178-
return stringResource(R.string.deviceKeyNeverExpires)
179-
}
176+
KeyExpiry?.let {
177+
if (it == GoZeroTimeString || it == "") {
178+
return stringResource(R.string.deviceKeyNeverExpires)
179+
}
180180

181-
val expDate = TimeUtil.dateFromGoString(KeyExpiry)
182-
val template = if (expDate > Date()) R.string.deviceKeyExpires else R.string.deviceKeyExpired
183-
return stringResource(template, TimeUtil.keyExpiryFromGoTime(KeyExpiry).getString())
181+
val expDate = TimeUtil.dateFromGoString(it)
182+
val template =
183+
if (expDate > Date()) R.string.deviceKeyExpires else R.string.deviceKeyExpired
184+
return stringResource(template, TimeUtil.keyExpiryFromGoTime(it).getString())
185+
} ?: return stringResource(R.string.deviceKeyNeverExpires)
184186
}
185187
}
186188

@@ -193,9 +195,9 @@ class Tailcfg {
193195
var DomainName: String? = null,
194196
var DisplayName: String? = null
195197
) {
196-
fun tailnetNameForDisplay(): String? {
197-
return DisplayName ?: DomainName
198-
}
198+
fun tailnetNameForDisplay(): String? {
199+
return DisplayName ?: DomainName
200+
}
199201
}
200202

201203
@Serializable

android/src/main/java/com/tailscale/ipn/ui/viewModel/MainViewModel.kt

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@ import com.tailscale.ipn.ui.util.PeerSet
2626
import com.tailscale.ipn.ui.util.TimeUtil
2727
import com.tailscale.ipn.ui.util.set
2828
import com.tailscale.ipn.util.TSLog
29-
import java.time.Duration
3029
import kotlinx.coroutines.Dispatchers
3130
import kotlinx.coroutines.FlowPreview
3231
import kotlinx.coroutines.Job
@@ -35,6 +34,7 @@ import kotlinx.coroutines.flow.StateFlow
3534
import kotlinx.coroutines.flow.combine
3635
import kotlinx.coroutines.flow.debounce
3736
import kotlinx.coroutines.launch
37+
import java.time.Duration
3838

3939
class MainViewModelFactory(private val appViewModel: AppViewModel) : ViewModelProvider.Factory {
4040
@Suppress("UNCHECKED_CAST")
@@ -75,6 +75,7 @@ class MainViewModel(private val appViewModel: AppViewModel) : IpnViewModel() {
7575
val searchTerm: StateFlow<String> = _searchTerm
7676
var autoFocusSearch by mutableStateOf(true)
7777
private set
78+
7879
// True if we should render the key expiry bannder
7980
val showExpiry: StateFlow<Boolean> = MutableStateFlow(false)
8081
// The peer for which the dropdown menu is currently expanded. Null if no menu is expanded
@@ -110,6 +111,7 @@ class MainViewModel(private val appViewModel: AppViewModel) : IpnViewModel() {
110111
fun onPingDismissal() {
111112
this.pingViewModel.handleDismissal()
112113
}
114+
113115
// Returns true if we should skip all of the user-interactive permissions prompts
114116
// (with the exception of the VPN permission prompt)
115117
fun skipPromptsForAuthKeyLogin(): Boolean {
@@ -169,7 +171,7 @@ class MainViewModel(private val appViewModel: AppViewModel) : IpnViewModel() {
169171
val window =
170172
expiryNotificationWindowMDM?.let { TimeUtil.duration(it) } ?: Duration.ofHours(24)
171173
val expiresSoon =
172-
TimeUtil.isWithinExpiryNotificationWindow(window, it.SelfNode.KeyExpiry)
174+
TimeUtil.isWithinExpiryNotificationWindow(window, it.SelfNode.KeyExpiry ?: "")
173175
showExpiry.set(expiresSoon)
174176
}
175177
}

go.mod

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ go 1.25.3
55
require (
66
github.com/tailscale/wireguard-go v0.0.0-20250716170648-1d0488a3d7da
77
golang.org/x/mobile v0.0.0-20240806205939-81131f6468ab
8-
tailscale.com v1.89.0-pre.0.20251020151500-4e1c270f9016
8+
tailscale.com v1.91.0-pre.0.20251120215258-c679aaba32c2
99
)
1010

1111
require (
@@ -28,6 +28,7 @@ require (
2828
github.com/aws/smithy-go v1.22.2 // indirect
2929
github.com/coder/websocket v1.8.12 // indirect
3030
github.com/coreos/go-iptables v0.7.1-0.20240112124308-65c67c9f46e6 // indirect
31+
github.com/creachadair/msync v0.7.1 // indirect
3132
github.com/dblohm7/wingoes v0.0.0-20240119213807-a09d6be7affa // indirect
3233
github.com/digitalocean/go-smbios v0.0.0-20180907143718-390a4f403a8e // indirect
3334
github.com/djherbis/times v1.6.0 // indirect
@@ -38,7 +39,7 @@ require (
3839
github.com/godbus/dbus/v5 v5.1.1-0.20230522191255-76236955d466 // indirect
3940
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect
4041
github.com/google/btree v1.1.2 // indirect
41-
github.com/google/go-cmp v0.6.0 // indirect
42+
github.com/google/go-cmp v0.7.0 // indirect
4243
github.com/google/go-tpm v0.9.4 // indirect
4344
github.com/google/nftables v0.2.1-0.20240414091927-5e242ec57806 // indirect
4445
github.com/google/uuid v1.6.0 // indirect
@@ -56,6 +57,7 @@ require (
5657
github.com/mdlayher/socket v0.5.0 // indirect
5758
github.com/mitchellh/go-ps v1.0.0 // indirect
5859
github.com/pierrec/lz4/v4 v4.1.21 // indirect
60+
github.com/pires/go-proxyproto v0.8.1 // indirect
5961
github.com/prometheus-community/pro-bing v0.4.0 // indirect
6062
github.com/safchain/ethtool v0.3.0 // indirect
6163
github.com/tailscale/certstore v0.1.1-0.20231202035212-d3fa0460f47e // indirect
@@ -71,16 +73,16 @@ require (
7173
github.com/x448/float16 v0.8.4 // indirect
7274
go4.org/mem v0.0.0-20240501181205-ae6ca9944745 // indirect
7375
go4.org/netipx v0.0.0-20231129151722-fdeea329fbba // indirect
74-
golang.org/x/crypto v0.38.0 // indirect
76+
golang.org/x/crypto v0.45.0 // indirect
7577
golang.org/x/exp v0.0.0-20250210185358-939b2ce775ac // indirect
76-
golang.org/x/mod v0.24.0 // indirect
77-
golang.org/x/net v0.40.0 // indirect
78-
golang.org/x/sync v0.14.0 // indirect
79-
golang.org/x/sys v0.33.0 // indirect
80-
golang.org/x/term v0.32.0 // indirect
81-
golang.org/x/text v0.25.0 // indirect
78+
golang.org/x/mod v0.30.0 // indirect
79+
golang.org/x/net v0.47.0 // indirect
80+
golang.org/x/sync v0.18.0 // indirect
81+
golang.org/x/sys v0.38.0 // indirect
82+
golang.org/x/term v0.37.0 // indirect
83+
golang.org/x/text v0.31.0 // indirect
8284
golang.org/x/time v0.11.0 // indirect
83-
golang.org/x/tools v0.33.0 // indirect
85+
golang.org/x/tools v0.39.0 // indirect
8486
golang.zx2c4.com/wintun v0.0.0-20230126152724-0fa3db229ce2 // indirect
8587
golang.zx2c4.com/wireguard/windows v0.5.3 // indirect
8688
gvisor.dev/gvisor v0.0.0-20250205023644-9414b50a5633 // indirect

go.sum

Lines changed: 26 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,8 @@ github.com/coder/websocket v1.8.12 h1:5bUXkEPPIbewrnkU8LTCLVaxi4N4J8ahufH2vlo4NA
4646
github.com/coder/websocket v1.8.12/go.mod h1:LNVeNrXQZfe5qhS9ALED3uA+l5pPqvwXg3CKoDBB2gs=
4747
github.com/coreos/go-iptables v0.7.1-0.20240112124308-65c67c9f46e6 h1:8h5+bWd7R6AYUslN6c6iuZWTKsKxUFDlpnmilO6R2n0=
4848
github.com/coreos/go-iptables v0.7.1-0.20240112124308-65c67c9f46e6/go.mod h1:Qe8Bv2Xik5FyTXwgIbLAnv2sWSBmvWdFETJConOQ//Q=
49+
github.com/creachadair/msync v0.7.1 h1:SeZmuEBXQPe5GqV/C94ER7QIZPwtvFbeQiykzt/7uho=
50+
github.com/creachadair/msync v0.7.1/go.mod h1:8CcFlLsSujfHE5wWm19uUBLHIPDAUr6LXDwneVMO008=
4951
github.com/creachadair/taskgroup v0.13.2 h1:3KyqakBuFsm3KkXi/9XIb0QcA8tEzLHLgaoidf0MdVc=
5052
github.com/creachadair/taskgroup v0.13.2/go.mod h1:i3V1Zx7H8RjwljUEeUWYT30Lmb9poewSb2XI1yTwD0g=
5153
github.com/creack/pty v1.1.23 h1:4M6+isWdcStXEf15G/RbrMPOQj1dZ7HPZCGwE4kOeP0=
@@ -79,8 +81,8 @@ github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da h1:oI5xCqsCo564l
7981
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
8082
github.com/google/btree v1.1.2 h1:xf4v41cLI2Z6FxbKm+8Bu+m8ifhj15JuZ9sa0jZCMUU=
8183
github.com/google/btree v1.1.2/go.mod h1:qOPhT0dTNdNzV6Z/lhRX0YXUafgPLFUh+gZMl761Gm4=
82-
github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI=
83-
github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
84+
github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8=
85+
github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU=
8486
github.com/google/go-tpm v0.9.4 h1:awZRf9FwOeTunQmHoDYSHJps3ie6f1UlhS1fOdPEt1I=
8587
github.com/google/go-tpm v0.9.4/go.mod h1:h9jEsEECg7gtLis0upRBQU+GhYVH6jMjrFxI8u6bVUY=
8688
github.com/google/go-tpm-tools v0.3.13-0.20230620182252-4639ecce2aba h1:qJEJcuLzH5KDR0gKc0zcktin6KSAwL7+jWKBYceddTc=
@@ -129,6 +131,8 @@ github.com/nfnt/resize v0.0.0-20180221191011-83c6a9932646 h1:zYyBkD/k9seD2A7fsi6
129131
github.com/nfnt/resize v0.0.0-20180221191011-83c6a9932646/go.mod h1:jpp1/29i3P1S/RLdc7JQKbRpFeM1dOBd8T9ki5s+AY8=
130132
github.com/pierrec/lz4/v4 v4.1.21 h1:yOVMLb6qSIDP67pl/5F7RepeKYu/VmTyEXvuMI5d9mQ=
131133
github.com/pierrec/lz4/v4 v4.1.21/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFuRQyBid4=
134+
github.com/pires/go-proxyproto v0.8.1 h1:9KEixbdJfhrbtjpz/ZwCdWDD2Xem0NZ38qMYaASJgp0=
135+
github.com/pires/go-proxyproto v0.8.1/go.mod h1:ZKAAyp3cgy5Y5Mo4n9AlScrkCZwUy0g3Jf+slqQVcuU=
132136
github.com/pkg/sftp v1.13.6 h1:JFZT4XbOU7l77xGSpOdW+pwIMqP044IyjXX6FGyEKFo=
133137
github.com/pkg/sftp v1.13.6/go.mod h1:tz1ryNURKu77RL+GuCzmoJYxQczL3wLNNpPWagdg4Qk=
134138
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
@@ -184,8 +188,8 @@ go4.org/mem v0.0.0-20240501181205-ae6ca9944745 h1:Tl++JLUCe4sxGu8cTpDzRLd3tN7US4
184188
go4.org/mem v0.0.0-20240501181205-ae6ca9944745/go.mod h1:reUoABIJ9ikfM5sgtSF3Wushcza7+WeD01VB9Lirh3g=
185189
go4.org/netipx v0.0.0-20231129151722-fdeea329fbba h1:0b9z3AuHCjxk0x/opv64kcgZLBseWJUpBw5I82+2U4M=
186190
go4.org/netipx v0.0.0-20231129151722-fdeea329fbba/go.mod h1:PLyyIXexvUFg3Owu6p/WfdlivPbZJsZdgWZlrGope/Y=
187-
golang.org/x/crypto v0.38.0 h1:jt+WWG8IZlBnVbomuhg2Mdq0+BBQaHbtqHEFEigjUV8=
188-
golang.org/x/crypto v0.38.0/go.mod h1:MvrbAqul58NNYPKnOra203SB9vpuZW0e+RRZV+Ggqjw=
191+
golang.org/x/crypto v0.45.0 h1:jMBrvKuj23MTlT0bQEOBcAE0mjg8mK9RXFhRH6nyF3Q=
192+
golang.org/x/crypto v0.45.0/go.mod h1:XTGrrkGJve7CYK7J8PEww4aY7gM3qMCElcJQ8n8JdX4=
189193
golang.org/x/exp v0.0.0-20250210185358-939b2ce775ac h1:l5+whBCLH3iH2ZNHYLbAe58bo7yrN4mVcnkHDYz5vvs=
190194
golang.org/x/exp v0.0.0-20250210185358-939b2ce775ac/go.mod h1:hH+7mtFmImwwcMvScyxUhjuVHR3HGaDPMn9rMSUUbxo=
191195
golang.org/x/exp/typeparams v0.0.0-20240314144324-c7f7c6466f7f h1:phY1HzDcf18Aq9A8KkmRtY9WvOFIxN8wgfvy6Zm1DV8=
@@ -194,29 +198,29 @@ golang.org/x/image v0.27.0 h1:C8gA4oWU/tKkdCfYT6T2u4faJu3MeNS5O8UPWlPF61w=
194198
golang.org/x/image v0.27.0/go.mod h1:xbdrClrAUway1MUTEZDq9mz/UpRwYAkFFNUslZtcB+g=
195199
golang.org/x/mobile v0.0.0-20240806205939-81131f6468ab h1:KONOFF8Uy3b60HEzOsGnNghORNhY4ImyOx0PGm73K9k=
196200
golang.org/x/mobile v0.0.0-20240806205939-81131f6468ab/go.mod h1:udWezQGYjqrCxz5nV321pXQTx5oGbZx+khZvFjZNOPM=
197-
golang.org/x/mod v0.24.0 h1:ZfthKaKaT4NrhGVZHO1/WDTwGES4De8KtWO0SIbNJMU=
198-
golang.org/x/mod v0.24.0/go.mod h1:IXM97Txy2VM4PJ3gI61r1YEk/gAj6zAHN3AdZt6S9Ww=
199-
golang.org/x/net v0.40.0 h1:79Xs7wF06Gbdcg4kdCCIQArK11Z1hr5POQ6+fIYHNuY=
200-
golang.org/x/net v0.40.0/go.mod h1:y0hY0exeL2Pku80/zKK7tpntoX23cqL3Oa6njdgRtds=
201+
golang.org/x/mod v0.30.0 h1:fDEXFVZ/fmCKProc/yAXXUijritrDzahmwwefnjoPFk=
202+
golang.org/x/mod v0.30.0/go.mod h1:lAsf5O2EvJeSFMiBxXDki7sCgAxEUcZHXoXMKT4GJKc=
203+
golang.org/x/net v0.47.0 h1:Mx+4dIFzqraBXUugkia1OOvlD6LemFo1ALMHjrXDOhY=
204+
golang.org/x/net v0.47.0/go.mod h1:/jNxtkgq5yWUGYkaZGqo27cfGZ1c5Nen03aYrrKpVRU=
201205
golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
202-
golang.org/x/sync v0.14.0 h1:woo0S4Yywslg6hp4eUFjTVOyKt0RookbpAHG4c1HmhQ=
203-
golang.org/x/sync v0.14.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA=
206+
golang.org/x/sync v0.18.0 h1:kr88TuHDroi+UVf+0hZnirlk8o8T+4MrK6mr60WkH/I=
207+
golang.org/x/sync v0.18.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI=
204208
golang.org/x/sys v0.0.0-20200217220822-9197077df867/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
205209
golang.org/x/sys v0.0.0-20200728102440-3e129f6d46b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
206210
golang.org/x/sys v0.0.0-20220615213510-4f61da869c0c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
207211
golang.org/x/sys v0.0.0-20220817070843-5a390386f1f2/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
208212
golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
209213
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
210-
golang.org/x/sys v0.33.0 h1:q3i8TbbEz+JRD9ywIRlyRAQbM0qF7hu24q3teo2hbuw=
211-
golang.org/x/sys v0.33.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
212-
golang.org/x/term v0.32.0 h1:DR4lr0TjUs3epypdhTOkMmuF5CDFJ/8pOnbzMZPQ7bg=
213-
golang.org/x/term v0.32.0/go.mod h1:uZG1FhGx848Sqfsq4/DlJr3xGGsYMu/L5GW4abiaEPQ=
214-
golang.org/x/text v0.25.0 h1:qVyWApTSYLk/drJRO5mDlNYskwQznZmkpV2c8q9zls4=
215-
golang.org/x/text v0.25.0/go.mod h1:WEdwpYrmk1qmdHvhkSTNPm3app7v4rsT8F2UD6+VHIA=
214+
golang.org/x/sys v0.38.0 h1:3yZWxaJjBmCWXqhN1qh02AkOnCQ1poK6oF+a7xWL6Gc=
215+
golang.org/x/sys v0.38.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks=
216+
golang.org/x/term v0.37.0 h1:8EGAD0qCmHYZg6J17DvsMy9/wJ7/D/4pV/wfnld5lTU=
217+
golang.org/x/term v0.37.0/go.mod h1:5pB4lxRNYYVZuTLmy8oR2BH8dflOR+IbTYFD8fi3254=
218+
golang.org/x/text v0.31.0 h1:aC8ghyu4JhP8VojJ2lEHBnochRno1sgL6nEi9WGFGMM=
219+
golang.org/x/text v0.31.0/go.mod h1:tKRAlv61yKIjGGHX/4tP1LTbc13YSec1pxVEWXzfoeM=
216220
golang.org/x/time v0.11.0 h1:/bpjEDfN9tkoN/ryeYHnv5hcMlc8ncjMcM4XBk5NWV0=
217221
golang.org/x/time v0.11.0/go.mod h1:CDIdPxbZBQxdj6cxyCIdrNogrJKMJ7pr37NYpMcMDSg=
218-
golang.org/x/tools v0.33.0 h1:4qz2S3zmRxbGIhDIAgjxvFutSvH5EfnsYrRBj0UI0bc=
219-
golang.org/x/tools v0.33.0/go.mod h1:CIJMaWEY88juyUfo7UbgPqbC8rU2OqfAV1h2Qp0oMYI=
222+
golang.org/x/tools v0.39.0 h1:ik4ho21kwuQln40uelmciQPp9SipgNDdrafrYA4TmQQ=
223+
golang.org/x/tools v0.39.0/go.mod h1:JnefbkDPyD8UU2kI5fuf8ZX4/yUeh9W877ZeBONxUqQ=
220224
golang.zx2c4.com/wintun v0.0.0-20230126152724-0fa3db229ce2 h1:B82qJJgjvYKsXS9jeunTOisW56dUokqW/FOteYJJ/yg=
221225
golang.zx2c4.com/wintun v0.0.0-20230126152724-0fa3db229ce2/go.mod h1:deeaetjYA+DHMHg+sMSMI58GrEteJUUzzw7en6TJQcI=
222226
golang.zx2c4.com/wireguard/windows v0.5.3 h1:On6j2Rpn3OEMXqBq00QEDC7bWSZrPIHKIus8eIuExIE=
@@ -229,11 +233,11 @@ gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
229233
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
230234
gvisor.dev/gvisor v0.0.0-20250205023644-9414b50a5633 h1:2gap+Kh/3F47cO6hAu3idFvsJ0ue6TRcEi2IUkv/F8k=
231235
gvisor.dev/gvisor v0.0.0-20250205023644-9414b50a5633/go.mod h1:5DMfjtclAbTIjbXqO1qCe2K5GKKxWz2JHvCChuTcJEM=
232-
honnef.co/go/tools v0.5.1 h1:4bH5o3b5ZULQ4UrBmP+63W9r7qIkqJClEA9ko5YKx+I=
233-
honnef.co/go/tools v0.5.1/go.mod h1:e9irvo83WDG9/irijV44wr3tbhcFeRnfpVlRqVwpzMs=
236+
honnef.co/go/tools v0.7.0-0.dev.0.20251022135355-8273271481d0 h1:5SXjd4ET5dYijLaf0O3aOenC0Z4ZafIWSpjUzsQaNho=
237+
honnef.co/go/tools v0.7.0-0.dev.0.20251022135355-8273271481d0/go.mod h1:EPDDhEZqVHhWuPI5zPAsjU0U7v9xNIWjoOVyZ5ZcniQ=
234238
howett.net/plist v1.0.0 h1:7CrbWYbPPO/PyNy38b2EB/+gYbjCe2DXBxgtOOZbSQM=
235239
howett.net/plist v1.0.0/go.mod h1:lqaXoTrLY4hg8tnEzNru53gicrbv7rrk+2xJA/7hw9g=
236240
software.sslmate.com/src/go-pkcs12 v0.4.0 h1:H2g08FrTvSFKUj+D309j1DPfk5APnIdAQAB8aEykJ5k=
237241
software.sslmate.com/src/go-pkcs12 v0.4.0/go.mod h1:Qiz0EyvDRJjjxGyUQa2cCNZn/wMyzrRJ/qcDXOQazLI=
238-
tailscale.com v1.89.0-pre.0.20251020151500-4e1c270f9016 h1:VSf8ISQ+YzdlD4dRJtVPtOKhDf/v0sacu4Vmx1q9nNQ=
239-
tailscale.com v1.89.0-pre.0.20251020151500-4e1c270f9016/go.mod h1:AgJNXfVABAj4tpBVyAY0Hjf6M3GRRCMYEnzLHV20zqk=
242+
tailscale.com v1.91.0-pre.0.20251120215258-c679aaba32c2 h1:66NemOpl8JPB+2JvCLhiomL05yaVMJiDM6x/TiKoojU=
243+
tailscale.com v1.91.0-pre.0.20251120215258-c679aaba32c2/go.mod h1:bPNO0wvbs/URxmqMOpnPJ/qeLxez2Vf7DAYQb/JOfhs=

0 commit comments

Comments
 (0)