summaryrefslogtreecommitdiff
path: root/osinfo/osinfo_install_config.h
diff options
context:
space:
mode:
authorZeeshan Ali (Khattak) <zeeshanak@gnome.org>2013-02-09 05:21:05 +0200
committerZeeshan Ali (Khattak) <zeeshanak@gnome.org>2013-03-15 16:54:46 +0200
commitc38c73029cca5c9b223bcd9aa8525e593426deae (patch)
tree5dd51c4c77cb4d68f9c7ae71fe0eeff24697125f /osinfo/osinfo_install_config.h
parent4b767c2b0216afdcd5210fe6314f6152d0a1d9c1 (diff)
downloadlibosinfo-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.h6
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: