This is an automated email from the ASF dual-hosted git repository.
masaori335 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/trafficserver.git
The following commit(s) were added to refs/heads/master by this push:
new f3dea0beda Restore cqssrt log field dropped by the 11-Dev merge
(#13337)
f3dea0beda is described below
commit f3dea0beda7bb302fc65ebca71acde140e210ba4
Author: Masaori Koshiba <[email protected]>
AuthorDate: Wed Jul 8 07:56:08 2026 +0900
Restore cqssrt log field dropped by the 11-Dev merge (#13337)
The cqssrt (client_req_ssl_resumption_type) log field added in #12404
was silently dropped from master by the 11-Dev integration merge
(#12983, 8415cef661). A criss-cross merge resolution removed its
registration in Log.cc and the LogAccess marshal path, while the
supporting HttpUserAgent::get_client_ssl_resumption_type() machinery
survived, leaving that accessor as dead code with no caller.
Re-register the field and re-add the marshal function plus the
TransactionLogData bridge accessor so the orphaned machinery is wired
back into the log system. Declare it as sINT (it marshals a single
int), not the original dINT, matching the type/marshal-framing fix in
#13223.
---
doc/admin-guide/logging/formatting.en.rst | 13 ++++++++++---
include/proxy/logging/LogAccess.h | 1 +
include/proxy/logging/TransactionLogData.h | 1 +
src/proxy/logging/Log.cc | 5 +++++
src/proxy/logging/LogAccess.cc | 9 +++++++++
src/proxy/logging/TransactionLogData.cc | 9 +++++++++
6 files changed, 35 insertions(+), 3 deletions(-)
diff --git a/doc/admin-guide/logging/formatting.en.rst
b/doc/admin-guide/logging/formatting.en.rst
index 387e4cb530..420df43090 100644
--- a/doc/admin-guide/logging/formatting.en.rst
+++ b/doc/admin-guide/logging/formatting.en.rst
@@ -687,6 +687,7 @@ SSL / Encryption
.. _cscert:
.. _cqssl:
.. _cqssr:
+.. _cqssrt:
.. _cqssv:
.. _cqssc:
.. _cqssu:
@@ -711,9 +712,15 @@ cscert Client Request 1 if |TS| requested certificate from
client during TLS
handshake. 0 otherwise.
cqssl Client Request SSL client request status indicates if this client
connection is over SSL.
-cqssr Client Request SSL session ticket reused status; indicates if the
current
- request hit the SSL session ticket and avoided a full SSL
- handshake.
+cqssr Client Request SSL session resumption status; indicates whether the
+ current request was resumed from a previous SSL session
+ and avoided a full TLS handshake. Resumption may have
+ been via a server side session cache or via a TLS session
+ ticket, see cqssrt_ for the resumption type.
+cqssrt Client Request SSL resumption type; indicates the type of TLS session
+ resumption used for this request. 0 for no resumption,
+ 1 for server session cache resumption, 2 for TLS session
+ ticket resumption.
cqssv Client Request SSL version used to communicate with the client.
cqssc Client Request SSL Cipher used by |TS| to communicate with the client.
cqssu Client Request SSL Elliptic Curve used by |TS| to communicate with the
diff --git a/include/proxy/logging/LogAccess.h
b/include/proxy/logging/LogAccess.h
index 6a870db96c..35f14ea55c 100644
--- a/include/proxy/logging/LogAccess.h
+++ b/include/proxy/logging/LogAccess.h
@@ -162,6 +162,7 @@ public:
int marshal_client_req_tcp_reused(char *); // INT
int marshal_client_req_is_ssl(char *); // INT
int marshal_client_req_ssl_reused(char *); // INT
+ int marshal_client_ssl_resumption_type(char *); // INT
int marshal_client_req_is_internal(char *); // INT
int marshal_client_req_mptcp_state(char *); // INT
int marshal_client_security_protocol(char *); // STR
diff --git a/include/proxy/logging/TransactionLogData.h
b/include/proxy/logging/TransactionLogData.h
index b65388d0a1..908e036e38 100644
--- a/include/proxy/logging/TransactionLogData.h
+++ b/include/proxy/logging/TransactionLogData.h
@@ -139,6 +139,7 @@ public:
bool get_client_tcp_reused() const;
bool get_client_connection_is_ssl() const;
bool get_client_ssl_reused() const;
+ int get_client_ssl_resumption_type() const;
bool get_is_internal() const;
bool get_server_connection_is_ssl() const;
bool get_server_ssl_reused() const;
diff --git a/src/proxy/logging/Log.cc b/src/proxy/logging/Log.cc
index 44736ab88c..96b7a56798 100644
--- a/src/proxy/logging/Log.cc
+++ b/src/proxy/logging/Log.cc
@@ -565,6 +565,11 @@ Log::init_fields()
global_field_list.add(field, false);
field_symbol_hash.emplace("cqssr", field);
+ field = new LogField("client_req_ssl_resumption_type", "cqssrt",
LogField::Type::sINT,
+ &LogAccess::marshal_client_ssl_resumption_type,
&LogAccess::unmarshal_int_to_str);
+ global_field_list.add(field, false);
+ field_symbol_hash.emplace("cqssrt", field);
+
field = new LogField("client_req_is_internal", "cqint",
LogField::Type::sINT, &LogAccess::marshal_client_req_is_internal,
&LogAccess::unmarshal_int_to_str);
global_field_list.add(field, false);
diff --git a/src/proxy/logging/LogAccess.cc b/src/proxy/logging/LogAccess.cc
index 73186aa4bb..6d0d2fe664 100644
--- a/src/proxy/logging/LogAccess.cc
+++ b/src/proxy/logging/LogAccess.cc
@@ -2286,6 +2286,15 @@ LogAccess::marshal_client_req_ssl_reused(char *buf)
return INK_MIN_ALIGN;
}
+int
+LogAccess::marshal_client_ssl_resumption_type(char *buf)
+{
+ if (buf) {
+ marshal_int(buf, m_data->get_client_ssl_resumption_type());
+ }
+ return INK_MIN_ALIGN;
+}
+
int
LogAccess::marshal_client_req_is_internal(char *buf)
{
diff --git a/src/proxy/logging/TransactionLogData.cc
b/src/proxy/logging/TransactionLogData.cc
index 95188c5726..fb2cf26b79 100644
--- a/src/proxy/logging/TransactionLogData.cc
+++ b/src/proxy/logging/TransactionLogData.cc
@@ -783,6 +783,15 @@ TransactionLogData::get_client_ssl_reused() const
return false;
}
+int
+TransactionLogData::get_client_ssl_resumption_type() const
+{
+ if (likely(m_http_sm != nullptr)) {
+ return m_http_sm->get_user_agent().get_client_ssl_resumption_type();
+ }
+ return 0;
+}
+
bool
TransactionLogData::get_is_internal() const
{