Hello William,
Thank you for the quick review and feedback, appreciate it. I wasn't sure how
to send this patch
as a reply to the original patch I submitted but I hope I made the changes you
recommended. I made
the following changes:
- renamed `req.ssl_ciphers` to `req.ssl_cipherlist`
- I was not sure if any changes needed to be made to `req.ssl_keyshare_groups`.
This is usually a
subset of the list of curves available in the supported_groups and represents
the specific curve
chosen by the client from its list of supported groups to use for the current
key exchange. For
example, if the supported group = {0017:0018} in binary form {secp256r1,
secp384r1}, then the
keyshare group can be 0017.
- req.ssl_supported_groups & req.ssl_sigalgs - no changes
- Updated the test to fix all the errors. I had tested it before submitting the
original patch which
worked in my env but failed for other SSL flavors and platforms. Made the
required changes there.
This patch includes functionality to add sample fetches to get ciphers,
supported groups,
key shares and sigalgs from the ClientHello message. This will help enhance
observability and
help direct traffic to different backends based on different algorithms
supported by the client
for key exchange, for example.Included in this patch are the new sample fetch
implementation,
doc changes and regression test.
Thanks,
Mariam.
Mariam John (1):
MINOR: sample: Add sample fetches for enhanced observability for TLS
ClientHello
doc/configuration.txt | 61 ++
include/haproxy/buf-t.h | 2 +
reg-tests/checks/tcp-check-client-hello.vtc | 84 +++
src/payload.c | 629 +++++++++++++++++++-
4 files changed, 775 insertions(+), 1 deletion(-)
create mode 100644 reg-tests/checks/tcp-check-client-hello.vtc
--
2.39.3 (Apple Git-145)