maskit opened a new pull request, #12914:
URL: https://github.com/apache/trafficserver/pull/12914

   This PR is based on https://github.com/apache/trafficserver/pull/12790, and 
most work was done by @jasmine-nahrain. Please look at the PR for the overall 
description. I made additional changes to eliminate the heap allocations that 
were introduced on the PR.
   
   Additional changes:
   - Removed the container that holds copies of items in ClientHello
   - Made `TSVConnClientHelloGet` returns a object by value instead of a pointer
   - Removed `TSClientHelloDestroy` since the returned value is no longer a 
pointer
   - Changed the type of `TSExtensionTypeList` to a custom class that supports 
range-based for-loop (this eliminates the use of `std::vector`).
   
   Changes for the plugin code are trivial:
   - Check the availability of `TSClientHello` by `is_available()` instead of 
comparing with `nullptr`
   - Change `->` to `.` since `TSClientHello` is no longer a pointer
   - Remove the call for `TSClientHelloDestroy`
   
   Now all getters access the original data in a library specific data 
structure. Plugin developers can copy things by themselves if they need to. At 
a minimum, it's not necessary for this (ja4) plugin.
   
   The internal implementation is getting a little messy. I think 
`TLSSNISupport::ClientHello` should be decoupled from `TLSSNISupport`, but the 
change wouldn't affect the plugin API, so we can do it later.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to