github doronz88/pymobiledevice3 v9.38.1

latest releases: v11.8.0, v11.7.0, v11.6.0...
one month ago

Highlights

🐛 Userspace tunnel: fix a startup race in tunnel bring-up

The pytcp stack installs the tunnel's interface address from its own tasks shortly after stack.start() returns. A connection opened on the stack before the address lands fails with gaierror ("Malformed remote IP address"). The CLI's dial path usually added enough event-loop round trips to win this race by accident, but nothing guaranteed it — and embedders connecting right after UserspaceRsdTunnel.aopen() had no such slack. UserspaceTun.up() now waits until the address is actually usable before declaring the tunnel up, so the race is gone for every caller.

# embedders can now connect immediately after aopen() without racing the stack
async with UserspaceRsdTunnel(serial=udid) as rsd:
    await rsd.start_lockdown_service("com.apple.mobile.notification_proxy.shim.remote")

What's Changed

Full Changelog: v9.38.0...v9.38.1

Don't miss a new pymobiledevice3 release

NewReleases is sending notifications on new releases.