maskit commented on issue #13364: URL: https://github.com/apache/trafficserver/issues/13364#issuecomment-4898199227
I don't think this diagnosis holds up. `proxy.config.proxy_protocol.max_header_size` isn't read by the SSL config subsystem at all — it's an HTTP config record, and it reloads correctly on its own. Searching the tree, the record is referenced in only three places: - `src/records/RecordsConfig.cc` — declaration (`RECU_DYNAMIC`) - `src/proxy/http/HttpConfig.cc:963` — registration - `src/proxy/ProtocolProbeSessionAccept.cc:133` — runtime read There is no read in `SSLConfigParams::initialize()`, `SSLConfig::reconfigure()`, or `SSLClientCoordinator.cc`, so the trigger-record list described in the issue doesn't apply to this record. The reload path is self-contained in HTTP config: `HttpConfig.cc:963` ```cpp HttpEstablishStaticConfigLongLong(c.pp_hdr_max_size, "proxy.config.proxy_protocol.max_header_size"); ``` That macro registers `http_config_cb` as an update callback (`HttpConfig.cc:45`). On `traffic_ctl config reload`: 1. `http_config_cb` fires and schedules a reconfigure (`HttpConfig.cc:200-207`) 2. `HttpConfig::reconfigure()` runs (`HttpConfig.cc:194`) and copies the new value: `params->pp_hdr_max_size = m_master.pp_hdr_max_size;` (`HttpConfig.cc:1276`) The read side acquires the live params per connection, so it picks up the new value without caching: `ProtocolProbeSessionAccept.cc:132` ```cpp HttpConfigParams *param = HttpConfig::acquire(); int max_header_size = param->pp_hdr_max_size; HttpConfig::release(param); ``` So a standalone reload does apply the change — no cert/key/multicert reload or restart required, and `RECU_DYNAMIC` is accurate. (One minor caveat: the reconfigure is scheduled ~1s after the callback, and, like all reconfigures, it affects new connections rather than in-flight ones.) I suspect the confusion comes from `proxy_protocol_ip_addrs` (the trusted-IP allowlist), which *is* handled in `SSLConfig.cc` (lines 75/109). That's a different proxy-protocol record — the reasoning in this issue seems to apply to that one, not to `max_header_size`. *This comment was generated by Claude (an AI assistant) from a code review of the current master branch, and has not been independently verified.* -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
