Intel AMT user consent clearing.
Ylian Saint-Hilaire committed
Oct 21, 2020 at 21:34 UTC
2518c11da613b3394421011f54bfabd5db33854c
1 file changed
+12
-1
amtmanager.js
+12
-1
@@ -1108,7 +1108,7 @@ module.exports.CreateAmtManager = function (parent) {
1108
1109
// Query the things we are going to be checking
1110
var query = ['*AMT_GeneralSettings', '*AMT_RedirectionService'];
1111
- if (dev.aquired.majorver > 5) query.push('*CIM_KVMRedirectionSAP');
1111
+ if (dev.aquired.majorver > 5) { query.push('*CIM_KVMRedirectionSAP', '*IPS_OptInService'); }
1112
dev.amtstack.BatchEnum('', query, attemptSettingsSyncResponse);
1113
}
1114
@@ -1121,6 +1121,17 @@ module.exports.CreateAmtManager = function (parent) {
1121
// If this device does not have KVM, ignore the response. This can happen for Intel Standard Manageability (Intel(R) SM).
1122
if ((responses['CIM_KVMRedirectionSAP'] == null) || (responses['CIM_KVMRedirectionSAP'].status == 400)) { responses['CIM_KVMRedirectionSAP'] = null; }
1123
1124
+ // Clear user consent requirements
1125
+ if ((responses['IPS_OptInService'] != null) && (responses['IPS_OptInService'].response['OptInRequired'] != 0)) {
1126
+ console.log(responses['IPS_OptInService']);
1127
+ responses['IPS_OptInService'].response['OptInRequired'] = 0; // 0 = Not Required, 1 = Required for KVM only, 0xFFFFFFFF = Always Required
1128
+ dev.amtstack.Put('IPS_OptInService', responses['IPS_OptInService'].response, function (stack, name, responses, status) {
1129
+ const dev = stack.dev;
1130
+ if (isAmtDeviceValid(dev) == false) return; // Device no longer exists, ignore this request.
1131
+ if (status == 200) { dev.consoleMsg("Cleared user consent requirements."); }
1132
+ }, 0, 1);
1133
+ }
1134
+
1135
// Enable SOL & IDER
1136
if ((responses['AMT_RedirectionService'].response['EnabledState'] != 32771) || (responses['AMT_RedirectionService'].response['ListenerEnabled'] == false)) {
1137
dev.redirObj = responses['AMT_RedirectionService'].response;