-
Notifications
You must be signed in to change notification settings - Fork 836
TLS curve/group name logging for Ticket Resumption #12393
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
base: master
Are you sure you want to change the base?
Conversation
a4364fe
to
0bad782
Compare
0bad782
to
2579056
Compare
It doesn't seem like we need to add a new variable to record a group name. Although both OpenSSL and BoringSSL have different APIs for curve and group, the getters are actually just aliases unlike the setters for context objects. We should be able to use the same variable for both curve and group.
Also, |
2579056
to
f6b0c3c
Compare
This is a great point. I updated the patch for openssl 3.0 and 3.1 via SSL_get_negotiated_group. Since 3.2, the docs say to prefer the new SSL_get0_group_name, but for 3.0 and 3.1 we can use the former. See: #elif HAVE_SSL_GET_NEGOTIATED_GROUP // OpenSSL 3.0/3.1
int group_nid = SSL_get_negotiated_group(ssl);
if (group_nid != NID_undef) {
char const *group_name = OBJ_nid2sn(group_nid);
return group_name != nullptr ? std::string_view(group_name) : "";
}
return ""; |
61d72cd
to
0d8f683
Compare
This applies to the cqssu (curve) and cqssg (group name) TLS log fields. This does two things: * Updates server session caching logic to provide the TLS group name on resumption. * Updates the logging of the curve and group name for ticket resumption logic so that the TLS curve and group names are properly retrieved from the SSL object. For ticket resumption, there is no curve/group name stored to retrieve. It is properly retrieved from the SSL object. Before this change: (1) the SSL group was always retrieved from the SSL object when it should have been retrieved from the server session cache ex_data for session cache resumption and (2) the curve value for cqssu was alway "-" for TLS ticket resumption because there was no cached value to retrieve like there is with server session caching. Fixes: apache#12398
0d8f683
to
1971378
Compare
This applies to the cqssu (curve) and cqssg (group name) TLS log fields.
This does two things:
resumption.
logic so that the TLS curve and group names are properly retrieved
from the SSL object. For ticket resumption, there is no curve/group
name stored to retrieve. It is properly retrieved from the SSL object.
Before this change: (1) the SSL group was always retrieved from the SSL
object when it should have been retrieved from the server session cache
ex_data for session cache resumption and (2) the curve value for cqssu
was alway "-" for TLS ticket resumption because there was no cached
value to retrieve like there is with server session caching.
Fixes: #12398