patina-v11.3.0
What's Changed
-
Publish to crates.io @makubacki (#866)
Change Details
## Description
Closes #864
Move from the patina-fw registry to crates.io.
- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
How This Was Tested
- Cargo release dry run
Integration Instructions
- Crates in this repo will be available on crates.io after this is merged and published.
-
Makefile.toml: Update cargo vet task to only report unvetted deps @makubacki (#860)
Change Details
## Description
Prevent auto generated audit file updates.
Update the make task to not fail for unvetted dependencies. Another workflow will be added to enforce vetting on a more permissible basis.
- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
How This Was Tested
cargo make vetlocally
Integration Instructions
- N/A
-
Mark libc with owner "rust-lang-owner" as safe to deploy @Javagedes (#853)
Change Details
## Description
Cargo vet is currently failing for the newest version of libc.
cargo vet specifically states that mozilla trusts rust-lang-owner and to consider doing
cargo vet trust libc rust-lang-owner, which is what this does.Additionally removes the previous user-id for libc
- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
How This Was Tested
CI
Integration Instructions
N/A
-
Continuous Integration: Upload Coverage Report @Javagedes (#847)
Change Details
## Description
Upload coverage report to Codecov during CI builds and merges into main. Adds Coverage badging which will display properly once the PR is merged and the Merge CI workflow finishes.
- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
How This Was Tested
CI - Validated coverage uploaded successfully. Viewable: https://app.codecov.io/github/OpenDevicePartnership/patina
Integration Instructions
N/A
</blockquote> <hr> </details>
-
Readme: Add badging @Javagedes (#813)
Change Details
## Description
Adds the following badging:
- Crates.io version
- Commits since last release
- current CI Status
Please note that the Crates.io version badge will not properly display until we perform our first release and the other two badges will not properly display until we go pubic.
Closes #26. The codecov percentage wil be moved to another task, which I will create and self assign, to start pubishing coverage results to codecov once we go public.
- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
How This Was Tested
N/A
Integration Instructions
N/A
-
chore: Release v11.2.0 @makubacki (#841)
Change Details
## Description
Update the version for the 11.2.0 release.
- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
How This Was Tested
- N/A
Integration Instructions
- N/A
-
patina\_dxe\_core/pecoff: Verify PointerToRawData is resolved properly @makubacki (#840)
Change Details
## Description
Verifies that the behavior in the following goblin fix is followed:
This support is available in goblin 0.10.2.
This verifies that the filename in the debug section is found using an image built with 512 byte file alignment and one built with 32 byte file alignment. Both have 4k-section alignment. This verifies that binaries with very small file alignments have PointerToRawData calculated to the correct position in the image.
The
goblinversion in Cargo.toml is set from0.10to~0.10.2. This is to use versions >=0.10.2 and <0.11.- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
How This Was Tested
cargo make all
Integration Instructions
- N/A - New unit tests
🚀 Features & ✨ Enhancements
-
Component Params: Only validation on debug builds @Javagedes (#854)
Change Details
## Description
Fully described in #849, this commit changes all validation for UB in component function parameters to only be present in debug builds. This is a performance and size optimization that can be made because the function interfaces are static and do not change at runtime.
- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
How This Was Tested
CI
Integration Instructions
N/A
-
Generate lcov and html coverage reports @makubacki (#842)
Change Details
## Description
Currently, only lcov reports are generated by default. However, HTML reports provide nice, simple visualization of coverage data. While the HTML report can be generated manually today, it can also be generated efficiently in the
coveragetask without users having to understand (1) that the command is available and (2) how to use it to generate the HTML report.Coverage data will be calculated once and then both reports will be generated from that data. Individual cargo-make tasks can be run as desired if only report type is needed in a given flow or development scenario. However, the main use case remains
cargo make coveragewhich will now generate both reports.- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
How This Was Tested
cargo make coveragecargo make coverage-collectcargo make coverage-lcovcargo make coverage-html
Integration Instructions
- N/A - Impacts local repo developer operations
-
patina\_debugger: Remove initial breakpoint configurability. @cfernald (#845)
Change Details
## Description
The
configurefunction in PatinaDebugger currently allows the platform to dynamically enable the debugger without the initial breakpoint. Currently this input is ignored as having the debugger enable in a silent configuration can be potentially dangerous for having the debugger enabled without notice in non-development scenarios. This removes this option and changesconfiguretoenablefor clarity.Not marking as breaking as the configure function is not currently used.
- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
How This Was Tested
N/A
Integration Instructions
N/A
🐛 Bug Fixes
-
component params: Bugfix and additional testing @Javagedes (#848)
Change Details
## Description
While writing tests in this same commit, a bug was found in the param initialization / validation logic for ConfigMut. The wrong panic message was being displayed when there was a conflict in parameter accesses for a param function. This commit fixes that bug.
This commit also increases test coverage for the param module.
- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
How This Was Tested
CI
Integration Instructions
N/A
📖 Documentation Updates
-
Component Params: Only validation on debug builds @Javagedes (#854)
Change Details
## Description
Fully described in #849, this commit changes all validation for UB in component function parameters to only be present in debug builds. This is a performance and size optimization that can be made because the function interfaces are static and do not change at runtime.
- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
How This Was Tested
CI
Integration Instructions
N/A
-
Fix documentation URLs @vineelko (#852)
Change Details
## Description
Fix documentation URLs
- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
How This Was Tested
NA
Integration Instructions
NA
-
patina: Add a link to the book in the crate docs @cfernald (#850)
Change Details
As many folks looking for Patina may first stumble on the patina page in doc.rs, it should redirect used to look at the book.
- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
How This Was Tested
N/A
Integration Instructions
N/A
-
Docs: Update Debugger Recommendations @os-d (#844)
Change Details
## Description
This updates the patina docs to reflect that it is recommended to have a PCR7 measurement reflecting that the debugger is enabled and that for FV size considerations, it is recommended that debug builds have the debugger enabled to accommodate the size needs easily.
- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
How This Was Tested
N/A.
Integration Instructions
N/A.
-
Docs: Add Recommendation to Use Debugger Feature Flag @os-d (#843)
Change Details
## Description
After analysis with cargo-bloat, it has been determined that the debugger, even when disabled, adds 60k - 200k of file size to a platform, depending on the platform. This updates the patina docs to recommend a feature flag to enable the debugger in order to save this space when it is not in use.
- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
How This Was Tested
N/A.
Integration Instructions
N/A.
Full Changelog: patina-v11.2.0...v11.3.0