From 2e5c7ebe358d69d5bb303ece32e72db683689e61 Mon Sep 17 00:00:00 2001 From: Erik Gomez Date: Fri, 16 Aug 2024 16:31:05 -0500 Subject: [PATCH 1/2] correct SLA computation for major upgrades --- Nudge/UI/Main.swift | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/Nudge/UI/Main.swift b/Nudge/UI/Main.swift index c941e0c9..71b0f71e 100644 --- a/Nudge/UI/Main.swift +++ b/Nudge/UI/Main.swift @@ -257,11 +257,17 @@ class AppDelegate: NSObject, NSApplicationDelegate { let presentCVEs = selectedOS!.cves.count > 0 let slaExtension: TimeInterval + // Start setting UI fields + nudgePrimaryState.requiredMinimumOSVersion = selectedOS!.productVersion + nudgePrimaryState.sofaAboutUpdateURL = selectedOS!.securityInfo + nudgePrimaryState.activelyExploitedCVEs = activelyExploitedCVEs switch (activelyExploitedCVEs, presentCVEs, AppStateManager().requireMajorUpgrade()) { case (false, true, true): slaExtension = TimeInterval(OSVersionRequirementVariables.nonActivelyExploitedCVEsMajorUpgradeSLA * 86400) case (false, true, false): slaExtension = TimeInterval(OSVersionRequirementVariables.nonActivelyExploitedCVEsMinorUpdateSLA * 86400) + case (true, false, true): // The selected major upgrade does not have CVEs, but the old OS does + slaExtension = TimeInterval(OSVersionRequirementVariables.activelyExploitedCVEsMajorUpgradeSLA * 86400) case (true, true, true): slaExtension = TimeInterval(OSVersionRequirementVariables.activelyExploitedCVEsMajorUpgradeSLA * 86400) case (true, true, false): @@ -271,6 +277,7 @@ class AppDelegate: NSObject, NSApplicationDelegate { case (false, false, false): slaExtension = TimeInterval(OSVersionRequirementVariables.standardMinorUpdateSLA * 86400) default: // If we get here, something is wrong, use 90 days as a safety + LogManager.warning("SLA Extension logic failed, using 90 days as a safety", logger: sofaLog) slaExtension = TimeInterval(90 * 86400) } @@ -280,10 +287,6 @@ class AppDelegate: NSObject, NSApplicationDelegate { } LogManager.notice("SOFA Actively Exploited CVEs: \(activelyExploitedCVEs)", logger: sofaLog) - // Start setting UI fields - nudgePrimaryState.requiredMinimumOSVersion = selectedOS!.productVersion - nudgePrimaryState.sofaAboutUpdateURL = selectedOS!.securityInfo - nudgePrimaryState.activelyExploitedCVEs = activelyExploitedCVEs releaseDate = selectedOS!.releaseDate ?? Date() if requiredInstallationDate == Date(timeIntervalSince1970: 0) { if OSVersionRequirementVariables.minorVersionRecalculationThreshold > 0 { From 6c6a94842b560a448fb7626ee38d60aafbb51041 Mon Sep 17 00:00:00 2001 From: Erik Gomez Date: Fri, 16 Aug 2024 16:35:53 -0500 Subject: [PATCH 2/2] v2.0.9 --- CHANGELOG.md | 9 +++++++++ Nudge.xcodeproj/project.pbxproj | 4 ++-- Nudge/Info.plist | 4 ++-- 3 files changed, 13 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ee768a5b..17d8fb53 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,15 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [2.0.9] - 2024-08-16 +Requires macOS 12.0 and higher. + +### Fixed +- When using `latest` or `latest-supported`, major upgrades were not correctly assessed, resulting in SLA extensions defaulting to the `90` day SLA default value + +### Changed +- Additional Japenese localization changes + ## [2.0.8] - 2024-08-16 Requires macOS 12.0 and higher. diff --git a/Nudge.xcodeproj/project.pbxproj b/Nudge.xcodeproj/project.pbxproj index 33102844..6f9e5aa2 100644 --- a/Nudge.xcodeproj/project.pbxproj +++ b/Nudge.xcodeproj/project.pbxproj @@ -698,7 +698,7 @@ "@executable_path/../Frameworks", ); MACOSX_DEPLOYMENT_TARGET = 12.0; - MARKETING_VERSION = 2.0.8; + MARKETING_VERSION = 2.0.9; PRODUCT_BUNDLE_IDENTIFIER = com.github.macadmins.Nudge; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = ""; @@ -729,7 +729,7 @@ "@executable_path/../Frameworks", ); MACOSX_DEPLOYMENT_TARGET = 12.0; - MARKETING_VERSION = 2.0.8; + MARKETING_VERSION = 2.0.9; PRODUCT_BUNDLE_IDENTIFIER = com.github.macadmins.Nudge; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = ""; diff --git a/Nudge/Info.plist b/Nudge/Info.plist index ca2f68d5..32791129 100644 --- a/Nudge/Info.plist +++ b/Nudge/Info.plist @@ -15,9 +15,9 @@ CFBundlePackageType $(PRODUCT_BUNDLE_PACKAGE_TYPE) CFBundleShortVersionString - 2.0.8 + 2.0.9 CFBundleVersion - 2.0.8 + 2.0.9 LSApplicationCategoryType public.app-category.utilities LSMinimumSystemVersion