-
Notifications
You must be signed in to change notification settings - Fork 149
Add dynamic permissions example #739
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
Add dynamic permissions example #739
Conversation
examples/connext_secure/dynamic_permissions/c++11/application.h
Outdated
Show resolved
Hide resolved
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.
Pull Request Overview
This PR adds a dynamic permissions example that demonstrates how to update a Permissions Document after it expires, modifying both security configuration files and build scripts. Key changes include:
- Updating the Governance XML schema and adding key revision support.
- Modifying CMake modules to work with OpenSSL 3, including certificate configuration changes.
- Adding a new C++11 dynamic permissions example (publisher and subscriber) along with supporting IDL and application files.
Reviewed Changes
Copilot reviewed 12 out of 12 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| resources/security/xml/Governance.xml | Updates schema version and enables key revision. |
| resources/cmake/Modules/ConnextDdsGenerateSecurityArtifacts.cmake | Adjusts file path usage and adds CA_EXTENSION configuration. |
| examples/connext_secure/dynamic_permissions/c++11/modify_permissions.cmake | Introduces a script to update the permissions file timestamp. |
| examples/connext_secure/dynamic_permissions/c++11/dynamic_permissions_subscriber.cxx | Implements a subscriber for the dynamic permissions example. |
| examples/connext_secure/dynamic_permissions/c++11/dynamic_permissions_publisher.cxx | Implements a publisher that updates its Permissions Document after a set sample count. |
| examples/connext_secure/dynamic_permissions/c++11/dynamic_permissions.idl | Defines the DynamicPermissions structure. |
| examples/connext_secure/dynamic_permissions/c++11/application.hpp, application.h | Provide application helper functions and argument parsing for the examples. |
| examples/connext_secure/dynamic_permissions/c++11/USER_QOS_PROFILES.xml | Configures QoS profiles for the dynamic permissions example. |
| examples/connext_secure/dynamic_permissions/c++11/CMakeLists.txt | Defines build rules for the dynamic permissions example. |
| examples/connext_secure/dynamic_permissions/README.md | Documents the example usage and builds instructions. |
| examples/connext_secure/CMakeLists.txt | Integrates the new dynamic permissions example into the secure examples set. |
Comments suppressed due to low confidence (1)
examples/connext_secure/dynamic_permissions/README.md:48
- The subscriber command in the README appears to have a typo ('sh.' prefix). It should probably be updated to simply './dynamic_permissions_subscriber' to avoid confusion.
sh./dynamic_permissions_subscriber
The file doesn't exist yet, but it should exist once the release is out. Co-authored-by: krd-rti <[email protected]>
Summary
Add an example that showcases dynamic permissions. This example is based on the one that codegen generates, with small modifications. First, the QoS configures security. Then, the publisher examples updates a QoS property (the Permissions Docuemnt) after some samples.
Details and comments
This PR also:
ConnextDdsGenerateSecurityArtifacts.cmaketo work with OpenSSL 3. The new version requires configuring the CA certificate as a CA (CA_EXTENSION v3_ca).enable_key_revisionto the general Governance Document.Checks
examples/connext_dds/CMakeList.txtaccordingly.