mirror of
https://github.com/acidanthera/OpenCorePkg.git
synced 2025-12-08 19:25:01 +00:00
156 lines
5.2 KiB
Markdown
156 lines
5.2 KiB
Markdown
#### Library status
|
|
|
|
All libraries have several documentation and codestyle issues. These are not
|
|
listed here.
|
|
|
|
- **Functional** state implies that the library is being used.
|
|
- **In progress** state implies that the library is incomplete for usage.
|
|
- **Legacy** state implies that the library is abandoned.
|
|
|
|
|
|
* OcAcpiLib
|
|
**Summary**: ACPI injector and patcher
|
|
**Status**: functional
|
|
**Issues**: none
|
|
* OcAppleBootPolicyLib
|
|
**Summary**: Apple bless protocol implementation
|
|
**Status**: functional
|
|
**Issues**: none
|
|
* OcAppleKernelLib
|
|
**Summary**: Apple kernelspace injector and patcher
|
|
**Status**: functional
|
|
**Issues**:
|
|
1. Booting without caches on 10.9 or earlier will bypass kext injection.
|
|
* OcCompressionLib
|
|
**Summary**: Misc compression and decompression (LZSS, LZVN, ZLIB)
|
|
**Status**: functional
|
|
**Issues**: none
|
|
* OcAppleChunklistLib
|
|
**Summary**: Apple chunklist (e.g. for dmg hashes) handling library
|
|
**Status**: in progress
|
|
**Issues**:
|
|
1. No signature verification.
|
|
* OcAppleImageVerificationLib
|
|
**Summary**: Apple EFI image signature verification lib
|
|
**Status**: in progress
|
|
**Issues**:
|
|
1. Has potential security flaws.
|
|
* OcBootManagementLib
|
|
**Summary**: Simple blessed-based boot management with UI
|
|
**Status**: functional
|
|
**Issues**:
|
|
1. No proper interface for OS detection.
|
|
1. No dmg boot detection.
|
|
1. No preferred entry detection from nvram BootOrder
|
|
* OcCpuLib
|
|
**Summary**: CPU feature scanning
|
|
**Status**: functional
|
|
**Issues**:
|
|
1. No package count detection.
|
|
1. No AMD CPU support.
|
|
1. Apple processor type detection is incomplete.
|
|
* OcCryptoLib
|
|
**Summary**: Misc cryptographic primitives (AES, RSA, MD5, SHA-1, SHA-256)
|
|
**Status**: functional
|
|
**Issues**: none
|
|
* OcDataHubLib
|
|
**Summary**: Apple-specific DataHub data configuration
|
|
**Status**: functional
|
|
**Issues**: none
|
|
* OcAppleDiskImageLib
|
|
**Summary**: Expose DMG as an UEFI RAM disk
|
|
**Status**: in progress
|
|
**Issues**:
|
|
* OcConfigurationLib
|
|
**Summary**: Deserialize OpenCore configuration
|
|
**Status**: functional
|
|
**Issues**:
|
|
* OcDebugLogLib
|
|
**Summary**: Debug output redirection through OC Log protocol
|
|
**Status**: functional
|
|
**Issues**:
|
|
1. No file logging.
|
|
* OcDevicePathLib
|
|
**Summary**: Device path management and transformation
|
|
**Status**: legacy
|
|
**Issues**:
|
|
1. Subject for removal if no use.
|
|
* OcDevicePropertyLib
|
|
**Summary**: Apple device property protocol implementation
|
|
**Status**: functional
|
|
**Issues**:
|
|
1. No research done on Apple Thunderbolt protocol.
|
|
1. NVRAM property loading is untested and needs auditing.
|
|
1. Device path conversion is not verified
|
|
* OcFileLib
|
|
**Summary**: Supplemental file I/O
|
|
**Status**: functional
|
|
**Issues**: none
|
|
* OcFirmwarePasswordLib
|
|
**Summary**: Apple firmware password protocol implementation
|
|
**Status**: functional
|
|
**Issues**:
|
|
1. No research done on Apple Firmware Password protocol.
|
|
* OcGuardLib
|
|
**Summary**: Basic sanity checking (static assertions, overflow maths)
|
|
**Status**: functional
|
|
**Issues**:
|
|
1. Stack canary has no runtime support (e.g. via rdrand)
|
|
1. Stack canary does not work with LTO
|
|
* OcMachoLib
|
|
**Summary**: Mach-O image handling and transformation
|
|
**Status**: functional
|
|
**Issues**: none
|
|
* OcMiscLib
|
|
**Summary**: Miscellaneous stuff not fitting elsewhere
|
|
**Status**: legacy
|
|
**Issues**:
|
|
1. Subject for refactoring except Base64Decode, DataPatcher, LegacyRegion, NullTextOutput.
|
|
* OcPngLib
|
|
**Summary**: PNG image decoding
|
|
**Status**: functional
|
|
**Issues**: none
|
|
* OcRtcLib
|
|
**Summary**: CMOS memory access
|
|
**Status**: functional
|
|
**Issues**: none
|
|
* OcSerializeLib
|
|
**Summary**: PLIST document deserialization
|
|
**Status**: functional
|
|
**Issues**: none
|
|
* OcSmbiosLib
|
|
**Summary**: Apple-specific SMBIOS data configuration
|
|
**Status**: functional
|
|
**Issues**: none
|
|
1. Potentially reports incorrect memory on some boards.
|
|
1. No SMC information table is provided.
|
|
* OcStorageLib
|
|
**Summary**: Resource storage abstraction (from e.g. FS I/O)
|
|
**Status**: in progress
|
|
**Issues**: none
|
|
1. Does not support signature verification.
|
|
1. Does not detect file removal from signed vault.
|
|
* OcStringLib
|
|
**Summary**: String handling and management
|
|
**Status**: functional
|
|
**Issues**:
|
|
1. Several functions are duplicates of UDK or are insecurely designed and are subject for removal.
|
|
* OcTemplateLib
|
|
**Summary**: Data description and resource management
|
|
**Status**: functional
|
|
**Issues**: none
|
|
* OcTimerLib
|
|
**Summary**: EDK II timer library based on TSC
|
|
**Status**: functional
|
|
**Issues**:
|
|
1. No AMD CPU support.
|
|
* OcVirtualFsLib
|
|
**Summary**: UEFI file system interception
|
|
**Status**: functional
|
|
**Issues**:
|
|
1. Does not support directory iteration with virtualised files.
|
|
* OcXmlLib
|
|
**Summary**: XML and PLIST reading and transformation
|
|
**Status**: functional
|
|
**Issues**: none
|