Skip to content

deps(rust): bump gotatun from 0.7.2 to 0.8.1 in /wgbridge-rs#668

Merged
kasnder merged 1 commit into
masterfrom
claude/version-0-8-1-release-jwlprt
Jul 14, 2026
Merged

deps(rust): bump gotatun from 0.7.2 to 0.8.1 in /wgbridge-rs#668
kasnder merged 1 commit into
masterfrom
claude/version-0-8-1-release-jwlprt

Conversation

@kasnder

@kasnder kasnder commented Jul 14, 2026

Copy link
Copy Markdown
Member

Bumps gotatun from 0.7.2 to 0.8.1 in wgbridge-rs, unblocking #632.

Background

#632 (bump to 0.8.0) was deferred because gotatun 0.8.0 made UdpSocket's
inner socket an opaque enum and removed the public impl AsFd for UdpSocket.
That accessor was how we obtained the outbound UDP socket's fd to hand to
Android's VpnService.protect() — our loop-prevention path. A workaround
would have regressed gotatun's optimized sendmmsg/recvmmsg + GRO datapath
to per-packet I/O, so the bump was deferred pending an upstream public fd
accessor (filed as mullvad/gotatun#165).

What changed

gotatun 0.8.1 restores a public accessor: UdpSocket::socket() returns
io::Result<&tokio::net::UdpSocket>, exposing the inner tokio socket. This lets
us obtain the fd through it while keeping gotatun's optimized batched datapath
intact.

  • Cargo.toml / Cargo.lock: gotatun pinned to =0.8.1 (pulls in the
    tracing transitive deps that replaced log in 0.8.0).
  • transport/udp.rs: ProtectedUdpFactory::protect now derives the fd via
    socket.socket()?.as_raw_fd() instead of the removed AsFd impl.

Verification

  • cargo check — compiles cleanly.
  • cargo test — all 21 host tests pass.

🤖 Generated with Claude Code


Generated by Claude Code

gotatun 0.8.0 removed the public `impl AsFd for UdpSocket` that we relied
on to obtain the outbound UDP socket fd for `VpnService.protect()`, which
blocked #632. gotatun 0.8.1 restores a public accessor: `UdpSocket::socket()`
returns the inner `tokio::net::UdpSocket`, so we protect its fd through that
while keeping gotatun's optimized sendmmsg/recvmmsg datapath.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SWerf5epj7WPqUHR9p8dL1
@kasnder
kasnder merged commit 563cbd0 into master Jul 14, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants