diff options
author | Zeeshan Ali (Khattak) <zeeshanak@gnome.org> | 2013-02-09 05:21:05 +0200 |
---|---|---|
committer | Zeeshan Ali (Khattak) <zeeshanak@gnome.org> | 2013-03-15 16:54:46 +0200 |
commit | c38c73029cca5c9b223bcd9aa8525e593426deae (patch) | |
tree | 5dd51c4c77cb4d68f9c7ae71fe0eeff24697125f /osinfo/osinfo_install_config.h | |
parent | 4b767c2b0216afdcd5210fe6314f6152d0a1d9c1 (diff) | |
download | libosinfo-c38c73029cca5c9b223bcd9aa8525e593426deae.tar.gz |
install-config,winxp,win7: API to enable/disable driver signing
While I thought that I had solved the problem of Windows requiring
signed device drivers and QXL driver being unsigned, I could't be more
wrong:
* The registry key magic I used for disabling driver signature checks
on XP seems to be far from reliable. I tested it many many times but
on a weird broken version of XP home edition that I can't seem to
have access to anymore. I now tested against both home and professional
editions both with and without this registry key magic and I observed
the same result in both cases: Drivers do get installed but they remain
unused by the OS after installation. The only reliable way of
effectively disabling signture checks during installation is through
the 'DriverSigningPolicy' option in .sif file, which means disabling
signature checks permanently.
* On Windows 7, disabling integrity checks and test signing after
drivers' installation disables the already installed drivers too if
they are not signed.
* The reason I thought QXL was functional at first was that automatic
resolution setting was working. Turns out that unlike on Linux, on
windows automatic resolution setting only requires spice-vdagent where
as QXL is only required for arbitrary resolutions.
So to make QXL working out of the box, I'm afraid we don't have any
choice but to disable driver signature checks permanently. Since
signature checks is a security measure from vendors, we need to leave
it to applications to decide whether they want to do this or not.
Diffstat (limited to 'osinfo/osinfo_install_config.h')
-rw-r--r-- | osinfo/osinfo_install_config.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/osinfo/osinfo_install_config.h b/osinfo/osinfo_install_config.h index d6552fd..f9db88b 100644 --- a/osinfo/osinfo_install_config.h +++ b/osinfo/osinfo_install_config.h @@ -67,6 +67,8 @@ #define OSINFO_INSTALL_CONFIG_PROP_POST_INSTALL_DRIVERS_DISK "post-install-drivers-disk" #define OSINFO_INSTALL_CONFIG_PROP_POST_INSTALL_DRIVERS_LOCATION "post-install-drivers-location" +#define OSINFO_INSTALL_CONFIG_PROP_DRIVER_SIGNING "driver-signing" + typedef struct _OsinfoInstallConfig OsinfoInstallConfig; typedef struct _OsinfoInstallConfigClass OsinfoInstallConfigClass; typedef struct _OsinfoInstallConfigPrivate OsinfoInstallConfigPrivate; @@ -193,6 +195,10 @@ void osinfo_install_config_set_post_install_drivers_location(OsinfoInstallConfig const gchar *location); const gchar *osinfo_install_config_get_post_install_drivers_location(OsinfoInstallConfig *config); +void osinfo_install_config_set_driver_signing(OsinfoInstallConfig *config, + gboolean signing); +gboolean osinfo_install_config_get_driver_signing(OsinfoInstallConfig *config); + #endif /* __OSINFO_INSTALL_CONFIG_H__ */ /* * Local variables: |