@@ -257,11 +257,17 @@ class AppDelegate: NSObject, NSApplicationDelegate {
257
257
258
258
let presentCVEs = selectedOS!. cves. count > 0
259
259
let slaExtension : TimeInterval
260
+ // Start setting UI fields
261
+ nudgePrimaryState. requiredMinimumOSVersion = selectedOS!. productVersion
262
+ nudgePrimaryState. sofaAboutUpdateURL = selectedOS!. securityInfo
263
+ nudgePrimaryState. activelyExploitedCVEs = activelyExploitedCVEs
260
264
switch ( activelyExploitedCVEs, presentCVEs, AppStateManager ( ) . requireMajorUpgrade ( ) ) {
261
265
case ( false , true , true ) :
262
266
slaExtension = TimeInterval ( OSVersionRequirementVariables . nonActivelyExploitedCVEsMajorUpgradeSLA * 86400 )
263
267
case ( false , true , false ) :
264
268
slaExtension = TimeInterval ( OSVersionRequirementVariables . nonActivelyExploitedCVEsMinorUpdateSLA * 86400 )
269
+ case ( true , false , true ) : // The selected major upgrade does not have CVEs, but the old OS does
270
+ slaExtension = TimeInterval ( OSVersionRequirementVariables . activelyExploitedCVEsMajorUpgradeSLA * 86400 )
265
271
case ( true , true , true ) :
266
272
slaExtension = TimeInterval ( OSVersionRequirementVariables . activelyExploitedCVEsMajorUpgradeSLA * 86400 )
267
273
case ( true , true , false ) :
@@ -271,6 +277,7 @@ class AppDelegate: NSObject, NSApplicationDelegate {
271
277
case ( false , false , false ) :
272
278
slaExtension = TimeInterval ( OSVersionRequirementVariables . standardMinorUpdateSLA * 86400 )
273
279
default : // If we get here, something is wrong, use 90 days as a safety
280
+ LogManager . warning ( " SLA Extension logic failed, using 90 days as a safety " , logger: sofaLog)
274
281
slaExtension = TimeInterval ( 90 * 86400 )
275
282
}
276
283
@@ -280,10 +287,6 @@ class AppDelegate: NSObject, NSApplicationDelegate {
280
287
}
281
288
LogManager . notice ( " SOFA Actively Exploited CVEs: \( activelyExploitedCVEs) " , logger: sofaLog)
282
289
283
- // Start setting UI fields
284
- nudgePrimaryState. requiredMinimumOSVersion = selectedOS!. productVersion
285
- nudgePrimaryState. sofaAboutUpdateURL = selectedOS!. securityInfo
286
- nudgePrimaryState. activelyExploitedCVEs = activelyExploitedCVEs
287
290
releaseDate = selectedOS!. releaseDate ?? Date ( )
288
291
if requiredInstallationDate == Date ( timeIntervalSince1970: 0 ) {
289
292
if OSVersionRequirementVariables . minorVersionRecalculationThreshold > 0 {
0 commit comments