Commit Graph

12 Commits

Author SHA1 Message Date
osy 17e262ffc9 project: enable bridged networking
We make QEMULauncher an app bundle in order to use a provisioning profile.

Resolves #358
2021-07-11 20:39:40 -07:00
osy 40c04d3d33 helper: added NSTask launch mode for macOS 11.3
macOS 11.3 beta 2 fixed a bug (FB8921623) which prevented Hypervisor from
working in an inherited sandbox.
2021-03-04 22:20:36 -08:00
osy 63f3fad17f macOS: implement fork() method of launching QEMU 2021-01-09 13:47:44 -08:00
osy 48b81a485e qemu: use dylib for macOS
This works around an App Sandbox bug where an inherited sandbox cannot
use the hypervisor. We use fork() instead.
2021-01-07 23:01:05 -08:00
osy eced7520ab iOS+macOS: fix memory leak when changing disk image 2020-11-27 11:41:29 -06:00
osy 4ab1b0570e macOS: per-vm debug logging
Resolves #575
2020-11-26 17:36:55 -06:00
osy f084b4ed6e macOS: enable hardened runtime
This requires changes to how the dylibs and helper executables are signed.
2020-11-21 20:44:33 -06:00
osy 1e52966662 manager: improved connection handling
QEMU, QMP manager, and SPICE manager each needs to connect. To simplify things
we set a 30s timeout on each one with 1s per try. They will independently try
to connect and if any fail, then an error message will be shown.

This process should be improved for better failure handling.
2020-09-10 12:13:36 -07:00
osy 02b557355f macOS: rework XPC helper with NSTask
Turns out you can only have one instance of a helper. Therefore we use NSTask
to launch multiple instances of QEMU. As a result, for macOS, we now embed the
QEMU binaries with the helper and launch them instead of using dylib. With this
change we also add a suffix to all the built dylibs in order to avoid collision
with macOS system libraries.
2020-09-10 12:13:36 -07:00
osy b11daf83c4 helper: persistent bookmarks for drive images 2020-09-10 12:13:36 -07:00
osy 1c1895f131 macOS: fix possible race on QEMU resource read 2020-09-10 12:13:36 -07:00
osy 5374ffeded macOS: implemented XPC helper for QEMU
This allows multiple VMs to be run at the same time. It also isolates QEMU into
its own process which improves stability and security.

To support App Sandbox, URL bookmarks must be passed to the XPC process before
it can access the data.
2020-09-10 12:13:36 -07:00