Files
vphone-cli/VPhoneDaemon
LakrandClaude Opus 5 3cd176ea18 Restart installd too when the profile UDID changes
udid.set restarted misagent and deliberately left installd alone, on the
grounds that installd "asks misagent". It does not. A lockdown-path
install runs +[MICodeSigningVerifier
_validateSignatureAndCopyInfoForURL:withOptions:error:], which calls
MISValidateSignatureAndCopyInfo and evaluates the profile's
ProvisionedDevices itself. Two processes answer the UDID question
independently, which is why cfw install injects libmisfix into both, so
refreshing one and not the other leaves them disagreeing.

Measured on test-26.4: with the override changed to a UDID that is in
the profile and only misagent restarted,
_installEmbeddedProfilesWithError: passed and installd then failed the
same install with 0xE8008015, still holding the UDID from before the
change. installd had been up since boot (pid 281) while misagent had
been restarted 24 minutes later (pid 819).

Restarting installd can abort an install already in flight. That is the
lesser evil: changing the device's identity underneath a running install
is incoherent anyway, whereas leaving one of two evaluators on a stale
answer fails later, somewhere else, with an error that never mentions
the UDID.

This is necessary but, on its own, not sufficient — a hand-restarted
installd still refuses the same install. The remaining half is that
installd's UDID query may not reach this hook at all; see the next
commit.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-30 18:41:05 +09:00
..