Description
Currently custom extensions are only settable if openssl hasn't added support itself, and then later versions will disable support. This raises some binary compatibility issues when new extensions are added, but the whole situation is thorny. Either we doubly parse the extension raising questions of who wins, or applications see behavioral changes that might be significant and have to adapt, or we disable support when custom extensions that cover are added vs. drop them, but that might be a problem in other places.
(Sidenote: we ran into this when trying to port the BoringSSL QUIC patches to OpenSSL 3.3. Either implementation works, but both together fail tests because of this issue. I'm not sure why the QUIC layer feels the need to pretend to be a source of custom extensions vs. integrating support)
Given that we deploy dynamically linked packages with many applications relying on them, this could get messy.