Skip to content

Add support for more PP fields#12864

Merged
maskit merged 10 commits intoapache:masterfrom
maskit:pp_tls_cipher
Feb 10, 2026
Merged

Add support for more PP fields#12864
maskit merged 10 commits intoapache:masterfrom
maskit:pp_tls_cipher

Conversation

@maskit
Copy link
Member

@maskit maskit commented Feb 6, 2026

This adds support for PP2_SUBTYPE_SSL_CIPHER and PP2_SUBTYPE_SSL_VERSION, and log fields for those.

@maskit maskit added this to the 10.2.0 milestone Feb 6, 2026
@maskit maskit self-assigned this Feb 6, 2026
@maskit
Copy link
Member Author

maskit commented Feb 6, 2026

autest filter_body failed

@maskit
Copy link
Member Author

maskit commented Feb 6, 2026

[approve ci autest 0]

@maskit
Copy link
Member Author

maskit commented Feb 6, 2026

Needs #12863 to make the new fields work.

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds support for PROXY Protocol v2 SSL TLV subtypes (cipher and TLS version) and exposes them as new access log fields, enabling operators to log the upstream TLS details provided by a load balancer.

Changes:

  • Add ProxyProtocol::get_tlv_ssl_cipher() / get_tlv_ssl_version() to extract SSL sub-TLV values.
  • Add new LogAccess marshalers and register new log fields pptc / pptv.
  • Extend Proxy Protocol parser unit tests and update admin logging field documentation.

Reviewed changes

Copilot reviewed 7 out of 7 changed files in this pull request and generated 8 comments.

Show a summary per file
File Description
src/iocore/net/ProxyProtocol.cc Implements SSL sub-TLV parsing helpers and getters for TLS cipher/version.
include/iocore/net/ProxyProtocol.h Declares new public getters and a private helper for SSL sub-TLV parsing.
src/proxy/logging/LogAccess.cc Adds marshalers for the new Proxy Protocol TLS cipher/version log fields.
include/proxy/logging/LogAccess.h Declares new LogAccess marshal methods for the new fields.
src/proxy/logging/Log.cc Registers two new logging fields (pptc, pptv) mapped to the new marshalers.
src/iocore/net/unit_tests/test_ProxyProtocol.cc Extends TLV parsing test coverage to include SSL cipher/version subtypes.
doc/admin-guide/logging/formatting.en.rst Documents the new log field symbols.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 7 out of 7 changed files in this pull request and generated 2 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 7 out of 7 changed files in this pull request and generated no new comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copy link
Contributor

@bryancall bryancall left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. Clean implementation — the sub-TLV parser handles bounds checking well and the client flag check before scanning is a nice touch. Tests cover both the happy path and the no-SSL case. Log field naming (pptc/pptv) is consistent with the existing pps/ppd/ppa pattern.

@maskit maskit merged commit 6669251 into apache:master Feb 10, 2026
21 checks passed
@github-project-automation github-project-automation bot moved this to For v10.2.0 in ATS v10.2.x Feb 10, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Status: For v10.2.0

Development

Successfully merging this pull request may close these issues.

2 participants