[squid-dev] forward bumped traffic to parent in plain form
Anthony Pankov
anthony.pankov at yahoo.com
Tue Apr 7 14:55:13 UTC 2026
Friday, April 3, 2026, 6:47:26 PM, you wrote:
> On 2026-04-03 07:20, Anthony Pankov wrote:
>> > I've tried to call getSslContextStart() in startPeakAndSplice().
>> > But the problem is:
>> getSslContextStart() return synchronously in most cases after calling getSslContextDone().
>> > But in the case of #if USE_SSL_CRTD (my case) it return after sending request to CRTD without calling getSslContextDone().
>> getSslContextDone() will be called further in sslCrtdHandleReplyWrapper().
>> > So we are back in startPeakAndSplice() without getSslContextDone() and connections are closed.
>> > Is there a preferred way to solve this problem?
> AFAICT, in your case, startPeekAndSplice() should do nothing when the added getSslContextStart() call returns. From https://ml-archives.squid-cache.org/squid-dev/2026-March/009992.html : getSslContextStart() should eventually trigger a call to getSslContextDone() with a non-nil Security::ContextPointer that calls httpsCreate() with the transaction-specific security context (SNI, etc.).
There are conditional-branch inside getSslContextStart():
...
if (sslServerBump && (sslServerBump->act.step1 == Ssl::bumpPeek || sslServerBump->act.step1 == Ssl::bumpStare)) {
%branch A%
...
Ssl::configureUnconfiguredSslContext(ctx, certProperties.signAlgorithm, *port);
} else {
%branch B%
...
getSslContextDone(dynCtx);
}
If I understand correctly branch B must be choosen for my case.
But my configuration (as discussed previously) is:
ssl_bump stare ssl_bump_step_1
ssl_bump bump all
So the condition inside getSslContextStart() is true and the branchA is choosen. The sslServerBump is always true because:
void
ConnStateData::startPeekAndSplice()
{
// This is the Step2 of the SSL bumping
assert(sslServerBump);
...
Do anybody have any idea about what case is behind this:
if (sslServerBump && (sslServerBump->act.step1 == Ssl::bumpPeek || sslServerBump->act.step1 == Ssl::bumpStare)) {
P.S. I don't find any logic related to step3 also .
--
Best regards,
Anthony
More information about the squid-dev
mailing list