-
Notifications
You must be signed in to change notification settings - Fork 24
feat(sdk): Expose policy binding hash from Nano. #2857
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Summary of ChangesHello @c-r33d, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! This pull request enhances the SDK's policy binding mechanism by introducing a new Highlights
Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here. You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension. An interface, so neat, Methods defined, a contract sweet. Code now clean and bright, Decoupled, taking flight. Footnotes
|
|
Warning Gemini encountered an error creating the review. You can try again by commenting |
Benchmark results, click to expandBenchmark authorization.GetDecisions Results:
Benchmark authorization.v2.GetMultiResourceDecision Results:
Standard Benchmark Metrics Skipped or FailedBulk Benchmark Results
TDF3 Benchmark Results:
NANOTDF Benchmark Results:
|
|
/gemini review |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Code Review
This pull request introduces a PolicyBind interface to abstract the policy binding verification and hash generation, which is a great improvement for code structure and extensibility. The implementation for ECDSA and GMAC bindings has been refactored into separate structs that satisfy this new interface. The changes are well-tested, but I've found some issues in the test setup for GMAC bindings that make them confusing and semantically incorrect. I've also suggested a minor performance improvement for hash generation. Overall, this is a solid refactoring with good test coverage.
Benchmark results, click to expandBenchmark authorization.GetDecisions Results:
Benchmark authorization.v2.GetMultiResourceDecision Results:
Standard Benchmark Metrics Skipped or FailedBulk Benchmark Results
TDF3 Benchmark Results:
NANOTDF Benchmark Results:
|
Benchmark results, click to expandBenchmark authorization.GetDecisions Results:
Benchmark authorization.v2.GetMultiResourceDecision Results:
Standard Benchmark Metrics Skipped or FailedBulk Benchmark Results
TDF3 Benchmark Results:
NANOTDF Benchmark Results:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You could clean up the tests a bit, but it isn't a blocker
### Proposed Changes 1.) Expose `PolicyBinding` method that returns a implementation of the new `PolicyBind` interface. 2.) Create new `PolicyBind` interface with methods `String()` and `Verify()`. DSPX-1875 ### Checklist - [ ] I have added or updated unit tests - [ ] I have added or updated integration tests (if appropriate) - [ ] I have added or updated documentation ### Testing Instructions (cherry picked from commit 5221cf4)
|
Successfully created backport PR for |
### Proposed Changes 1.) Expose `PolicyBinding` method that returns a implementation of the new `PolicyBind` interface. 2.) Create new `PolicyBind` interface with methods `String()` and `Verify()`. DSPX-1875 ### Checklist - [ ] I have added or updated unit tests - [ ] I have added or updated integration tests (if appropriate) - [ ] I have added or updated documentation ### Testing Instructions (cherry picked from commit 5221cf4)
|
/backport |
### Proposed Changes 1.) Expose `PolicyBinding` method that returns a implementation of the new `PolicyBind` interface. 2.) Create new `PolicyBind` interface with methods `String()` and `Verify()`. DSPX-1875 ### Checklist - [ ] I have added or updated unit tests - [ ] I have added or updated integration tests (if appropriate) - [ ] I have added or updated documentation ### Testing Instructions (cherry picked from commit 5221cf4)
|
Successfully created backport PR for |
|
Backport failed for Please cherry-pick the changes locally and resolve any conflicts. git fetch origin release/sdk/v0.10
git worktree add -d .worktree/backport-2857-to-release/sdk/v0.10 origin/release/sdk/v0.10
cd .worktree/backport-2857-to-release/sdk/v0.10
git switch --create backport-2857-to-release/sdk/v0.10
git cherry-pick -x 5221cf41079fc43a3966e17c6f3e0d3cf8a16730 |
### Proposed Changes 1.) Expose `PolicyBinding` method that returns a implementation of the new `PolicyBind` interface. 2.) Create new `PolicyBind` interface with methods `String()` and `Verify()`. DSPX-1875 ### Checklist - [ ] I have added or updated unit tests - [ ] I have added or updated integration tests (if appropriate) - [ ] I have added or updated documentation ### Testing Instructions (cherry picked from commit 5221cf4)
Proposed Changes
1.) Expose
PolicyBindingmethod that returns a implementation of the newPolicyBindinterface.2.) Create new
PolicyBindinterface with methodsString()andVerify().DSPX-1875
Checklist
Testing Instructions