OpenCorePkg/STATUS.md
2019-04-09 19:15:23 +03:00

5.2 KiB

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.
    2. No dmg boot detection.
    3. No preferred entry detection from nvram BootOrder
  • OcCpuLib
    Summary: CPU feature scanning
    Status: functional
    Issues:
    1. No package count detection.
    2. No AMD CPU support.
    3. 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.
    2. NVRAM property loading is untested and needs auditing.
    3. 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)
    2. 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.
    2. 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.
    2. 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