-
Notifications
You must be signed in to change notification settings - Fork 1.5k
feat: support openssl version 3.5.0 #783 #787
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
add test tls ok on centos 9
text mode
key mode
|
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 enables support for OpenSSL 3.5.0 by adding new kernel offset definitions, updating the user-space probe logic, and creating utilities for dynamic offset generation.
- Introduces new kernel offset constants in kern/openssl_3_5_0_kern.c
- Updates user/module/probe_openssl_lib.go to map OpenSSL 3.5.0 to its kernel object
- Adds a utility script (utils/openssl_offset_3.5.sh) and C offset generator (utils/openssl_3_5_0_offset.c) for automating offset generation
Reviewed Changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated 1 comment.
Show a summary per file
File | Description |
---|---|
variables.mk | Build target for OpenSSL 3.5.0 offsets added |
utils/openssl_offset_3.5.sh | Script to dynamically generate offset definitions, with a pending TODO for directory existence checking |
utils/openssl_3_5_0_offset.c | C utility for generating OpenSSL 3.5.0 offsets |
user/module/probe_openssl_lib.go | Updates to include OpenSSL 3.5.0 in probe logic mapping |
kern/openssl_3_5_0_kern.c | New kernel offset definitions file for OpenSSL 3.5.0 |
Comments suppressed due to low confidence (2)
user/module/probe_openssl_lib.go:58
- [nitpick] The use of 'MaxSupportedOpenSSL35Version = 0' with the comment indicating openssl 3.5.1 is potentially confusing. Consider clarifying the intended version support and adjusting the constant name or value accordingly.
MaxSupportedOpenSSL35Version = 0 // openssl 3.5.1
kern/openssl_3_5_0_kern.c:78
- The inclusion of 'openssl_masterkey_3.2.h' in a file meant for OpenSSL 3.5.0 support could be an outdated reference. Verify this dependency to ensure it accurately reflects the intended master key structure for the new version.
#include "openssl_masterkey_3.2.h"
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.
LGTM, Thanks.
This pull request introduces support for OpenSSL version 3.5.0 by adding new kernel offsets, updating user-space probe logic, and creating utilities for generating offsets dynamically. The changes ensure compatibility with the new OpenSSL version and streamline the process for handling future updates.
OpenSSL 3.5.0 Support
kern/openssl_3_5_0_kern.c
, including fields likessl_connection_st->version
,ssl_session_st->master_key
, andbio_st->num
. These offsets are crucial for interacting with OpenSSL internals.MOpenSSLProbe
logic inuser/module/probe_openssl_lib.go
to include OpenSSL 3.5.0 in the supported versions map and initialization logic. [1] [2]Utilities for Dynamic Offset Generation
utils/openssl_3_5_0_offset.c
, a utility for dynamically generating offset definitions using OpenSSL headers and structure layouts. This simplifies maintaining offsets for future OpenSSL versions.utils/openssl_offset_3.5.sh
, a script to automate cloning the OpenSSL repository, checking out the correct version, and generating offset files.Build System Updates
kern/openssl_3_5_0
to the build targets invariables.mk
to ensure the new kernel offsets are included in the build process.