mirror of
https://github.com/dortania/OpenCore-Legacy-Patcher.git
synced 2026-04-13 20:28:21 +10:00
Sync PatcherSupportPkg
This commit is contained in:
@@ -1,6 +1,13 @@
|
||||
# OpenCore Legacy Patcher changelog
|
||||
|
||||
## 1.4.2
|
||||
- Resolve Auto-Join support for Modern Wireless on macOS 14.4
|
||||
- Applicable for BCM94360, 4360, 4350, 4331 and 43224 chipsets
|
||||
- Resolve WiFi support for Legacy Wireless on macOS 12.7.4 and 13.6.5
|
||||
- Applicable for BCM94328, BCM94322 and Atheros chipsets
|
||||
- Resolve USB 1.1 on macOS Ventura regression from OCLP 1.4.0
|
||||
- Increment Binaries:
|
||||
- PatcherSupportPkg 1.4.8 - release
|
||||
|
||||
## 1.4.1
|
||||
- Update updater implementation
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
# Dictionary defining patch sets used during Root Volume patching (sys_patch.py)
|
||||
# Copyright (C) 2022-2023, Mykola Grymalyuk
|
||||
|
||||
import packaging.version
|
||||
|
||||
from data import os_data
|
||||
|
||||
|
||||
@@ -9,7 +11,7 @@ class SystemPatchDictionary():
|
||||
Library for generating patch sets for sys_patch.py and supporting modules
|
||||
|
||||
Usage:
|
||||
>>> patchsets = SystemPatchDictionary(22, 0, [20, 21, 22]).patchset_dict
|
||||
>>> patchsets = SystemPatchDictionary(22, 0, [20, 21, 22], "13.0").patchset_dict
|
||||
|
||||
|
||||
Patchset Schema:
|
||||
@@ -49,12 +51,13 @@ class SystemPatchDictionary():
|
||||
Note: Stubbed binaries are OS specific, thus use the 'self.os_major' variable to denounce which folder variant to use
|
||||
"""
|
||||
|
||||
def __init__(self, os_major: int, os_minor: int, non_metal_os_support: list) -> None:
|
||||
def __init__(self, os_major: int, os_minor: int, non_metal_os_support: list, marketing_version: str) -> None:
|
||||
"""
|
||||
Parameters:
|
||||
os_major (int): Major XNU Kernel version
|
||||
os_minor (int): Minor XNU Kernel version
|
||||
non_metal_os_support (list): List of supported non-metal OSes (XNU Major Versions)
|
||||
marketing_version (str): Marketing version of the OS
|
||||
|
||||
'non_metal_os_support' is assumed to be sorted from oldest to newest
|
||||
"""
|
||||
@@ -64,6 +67,9 @@ class SystemPatchDictionary():
|
||||
self.os_float: float = float(f"{self.os_major}.{self.os_minor}")
|
||||
self.non_metal_os_support: list = non_metal_os_support
|
||||
self.patchset_dict: dict = {}
|
||||
self.marketing_version: str = marketing_version
|
||||
|
||||
self.affected_by_cve_2024_23227: bool = self.__is_affect_by_cve_2024_23227()
|
||||
|
||||
# XNU Kernel versions
|
||||
self.macOS_12_0_B7: float = 21.1
|
||||
@@ -120,6 +126,27 @@ class SystemPatchDictionary():
|
||||
return "12.5-23.4"
|
||||
|
||||
|
||||
def __is_affect_by_cve_2024_23227(self) -> bool:
|
||||
"""
|
||||
CVE-2024-23227 broke our airportd patches for 12.7.4, 13.6.5 and 14.4
|
||||
|
||||
Note that since the XNU version's security patch level is not increment
|
||||
"""
|
||||
|
||||
if self.os_major > os_data.os_data.sonoma:
|
||||
return True
|
||||
|
||||
parsed_version = packaging.version.parse(self.marketing_version)
|
||||
if self.marketing_version.startswith("12"):
|
||||
return parsed_version >= packaging.version.parse("12.7.4")
|
||||
if self.marketing_version.startswith("13"):
|
||||
return parsed_version >= packaging.version.parse("13.6.5")
|
||||
if self.marketing_version.startswith("14"):
|
||||
return parsed_version >= packaging.version.parse("14.4")
|
||||
|
||||
return False
|
||||
|
||||
|
||||
def _generate_sys_patch_dict(self):
|
||||
"""
|
||||
Generates the sys_patch_dict dictionary
|
||||
@@ -1151,7 +1178,7 @@ class SystemPatchDictionary():
|
||||
},
|
||||
"Install": {
|
||||
"/usr/libexec": {
|
||||
"airportd": "11.7.10" if self.os_float < self.macOS_14_4 else "11.7.10-23.4",
|
||||
"airportd": "11.7.10" if self.affected_by_cve_2024_23227 is False else "11.7.10-Sandbox",
|
||||
},
|
||||
"/System/Library/CoreServices": {
|
||||
"WiFiAgent.app": "11.7.10",
|
||||
@@ -1207,16 +1234,16 @@ class SystemPatchDictionary():
|
||||
},
|
||||
"Install": {
|
||||
"/usr/libexec": {
|
||||
"airportd": "13.6.2" if self.os_float < self.macOS_14_4 else "13.6.2-23.4",
|
||||
"wifip2pd": "13.6.2",
|
||||
"airportd": "13.6.5",
|
||||
"wifip2pd": "13.6.5",
|
||||
},
|
||||
"/System/Library/Frameworks": {
|
||||
"CoreWLAN.framework": "13.6.2",
|
||||
"CoreWLAN.framework": "13.6.5",
|
||||
},
|
||||
"/System/Library/PrivateFrameworks": {
|
||||
"CoreWiFi.framework": "13.6.2",
|
||||
"IO80211.framework": "13.6.2",
|
||||
"WiFiPeerToPeer.framework": "13.6.2",
|
||||
"CoreWiFi.framework": "13.6.5",
|
||||
"IO80211.framework": "13.6.5",
|
||||
"WiFiPeerToPeer.framework": "13.6.5",
|
||||
},
|
||||
},
|
||||
},
|
||||
@@ -1308,7 +1335,7 @@ class SystemPatchDictionary():
|
||||
},
|
||||
"Install": {
|
||||
"/System/Library/Extensions": {
|
||||
"IOUSBHostFamily.kext": "12.6.2",
|
||||
"IOUSBHostFamily.kext": "12.6.2" if self.os_major < self.macOS_14_4 else "12.6.2-23.4",
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
@@ -14,7 +14,7 @@ class Constants:
|
||||
def __init__(self) -> None:
|
||||
# Patcher Versioning
|
||||
self.patcher_version: str = "1.4.2" # OpenCore-Legacy-Patcher
|
||||
self.patcher_support_pkg_version: str = "1.4.7" # PatcherSupportPkg
|
||||
self.patcher_support_pkg_version: str = "1.4.8" # PatcherSupportPkg
|
||||
self.copyright_date: str = "Copyright © 2020-2024 Dortania"
|
||||
self.patcher_name: str = "OpenCore Legacy Patcher"
|
||||
|
||||
|
||||
@@ -35,7 +35,7 @@ class GenerateRootPatchSets:
|
||||
dict: Dictionary of patches to be applied from sys_patch_dict.py
|
||||
"""
|
||||
|
||||
all_hardware_patchset: dict = sys_patch_dict.SystemPatchDictionary(self.constants.detected_os, self.constants.detected_os_minor, self.constants.legacy_accel_support).patchset_dict
|
||||
all_hardware_patchset: dict = sys_patch_dict.SystemPatchDictionary(self.constants.detected_os, self.constants.detected_os_minor, self.constants.legacy_accel_support, self.constants.detected_os_version).patchset_dict
|
||||
required_patches: dict = {}
|
||||
|
||||
utilities.cls()
|
||||
|
||||
@@ -104,7 +104,7 @@ class PatcherValidation:
|
||||
minor_kernel (int): Minor kernel version
|
||||
"""
|
||||
|
||||
patchset = sys_patch_dict.SystemPatchDictionary(major_kernel, minor_kernel, self.constants.legacy_accel_support).patchset_dict
|
||||
patchset = sys_patch_dict.SystemPatchDictionary(major_kernel, minor_kernel, self.constants.legacy_accel_support, self.constants.detected_os_version).patchset_dict
|
||||
host_os_float = float(f"{major_kernel}.{minor_kernel}")
|
||||
|
||||
for patch_subject in patchset:
|
||||
|
||||
Reference in New Issue
Block a user