Skip to content

tls: remove unused default_tls_certificate_selector.h include from server_context_impl.h#46370

Open
blurman-ai wants to merge 1 commit into
envoyproxy:mainfrom
blurman-ai:remove-unused-tls-certificate-selector-include
Open

tls: remove unused default_tls_certificate_selector.h include from server_context_impl.h#46370
blurman-ai wants to merge 1 commit into
envoyproxy:mainfrom
blurman-ai:remove-unused-tls-certificate-selector-include

Conversation

@blurman-ai

Copy link
Copy Markdown

server_context_impl.h includes default_tls_certificate_selector.h, and that header includes server_context_impl.h back, forming an include cycle.

server_context_impl.h does not use anything from default_tls_certificate_selector.h: it never names the concrete DefaultTlsCertificateSelector, DefaultTlsCertificateSelectorFactory or TlsCertificateSelectorConfigFactoryImpl. The only certificate-selector type it uses is the abstract Ssl::TlsCertificateSelectorPtr, which comes from envoy/ssl/handshaker.h (already included directly).

Removing the include breaks the cycle with no call-site changes. The files that use the concrete DefaultTlsCertificateSelector (server_context_config_impl.cc and the QUIC proof-source test) already include default_tls_certificate_selector.h directly.


AI assistance: this cleanup was found with an open-source include-graph checker (archcheck) run over the Envoy include graph, and the verification above was assisted by an AI tool; I understand and take full ownership of the change.

Commit Message

tls: remove unused default_tls_certificate_selector.h include from server_context_impl.h

Additional Description

Pure include-cleanup, no functional change.

Risk Level

Low

Testing

N/A (removes an unused include; existing CI build/link covers it)

Docs Changes

N/A

Release Notes

None

…rver_context_impl.h

server_context_impl.h includes default_tls_certificate_selector.h, and that
header includes server_context_impl.h back, forming an include cycle.

server_context_impl.h does not use anything from
default_tls_certificate_selector.h: it never names the concrete
DefaultTlsCertificateSelector, DefaultTlsCertificateSelectorFactory or
TlsCertificateSelectorConfigFactoryImpl. The only certificate-selector type it
uses is the abstract Ssl::TlsCertificateSelectorPtr, which comes from
envoy/ssl/handshaker.h (already included directly).

Removing the include breaks the cycle with no call-site changes. The files that
use the concrete DefaultTlsCertificateSelector (server_context_config_impl.cc and
the QUIC proof-source test) already include default_tls_certificate_selector.h
directly.

Signed-off-by: Sergey Blekher <287965768+blurman-ai@users.noreply.github.com>
@blurman-ai
blurman-ai requested a deployment to external-contributors July 24, 2026 13:32 — with GitHub Actions Waiting
@repokitteh-read-only

Copy link
Copy Markdown

Hi @blurman-ai, welcome and thank you for your contribution.

We will try to review your Pull Request as quickly as possible.

In the meantime, please take a look at the contribution guidelines if you have not done so already.

🐱

Caused by: #46370 was opened by blurman-ai.

see: more, trace.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant