Skip to content
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

TS_ALPN_PROTOCOL_ symbols are defined in the wrong place #10975

Open
JosiahWI opened this issue Jan 9, 2024 · 0 comments
Open

TS_ALPN_PROTOCOL_ symbols are defined in the wrong place #10975

JosiahWI opened this issue Jan 9, 2024 · 0 comments
Assignees
Labels

Comments

@JosiahWI
Copy link
Collaborator

JosiahWI commented Jan 9, 2024

A bunch of HTTP/HTTPS protocol constants that are supposed to be part of the public TS API are declared in ts/apidefs.h.in and defined in records/RecHttp.cc. We do not link plugins against the records library, so these symbols may not be visible to the linker as they should be. This is a bug and it just happens to work in master. That's fragile; the evidence is the OSX build breaking on #10967 because of simple CMake changes that should have been safe.

Simply moving the definitions from records to api is not enough by itself, because RecHttp.h depends on a subset of those symbols, particularly the TS_ALPN_PROTOCOL_INDEX_ ones. I've played around with defining one set of constants in RecHttp.h and making the TS_ALPN_PROTOCOL_INDEX variables references to that first set of constants. This works fine, but declaring those variables as references might break API compatibility, so it might not be a usable solution.

@JosiahWI JosiahWI self-assigned this Jan 9, 2024
@JosiahWI JosiahWI added the CMake label Jan 9, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant