]> git.ipfire.org Git - thirdparty/squid.git/commit
Collapse security_file_certgen requests.
authorChristos Tsantilas <chtsanti@users.sourceforge.net>
Thu, 22 Jun 2017 20:46:11 +0000 (08:46 +1200)
committerAmos Jeffries <squid3@treenet.co.nz>
Thu, 22 Jun 2017 20:46:11 +0000 (08:46 +1200)
commitfceca6197bb57aa459e0f980174eb63b0146958f
tree0eb13ff467f9792e73485ecea3c984d8f89ffc7b
parent0ae5031a39d6bc41881d2fb2cae541dc063b545a
Collapse security_file_certgen requests.

Concurrent identical same-worker security_file_certgen (a.k.a. ssl_crtd)
requests are collapsed: The first such request goes through to one of
the helpers while others wait for that first request to complete,
successfully or otherwise. This optimization helps dealing with flash
crowds that suddenly send a large number of HTTPS requests to a small
group of origin servers.

Two certificate generation requests are considered identical if their
on-the-wire images are identical. This simple and fast approach covers
all certificate generation parameters, including all mimicked
certificate properties, and avoids hash collisions and poisoning.
Compared to collision- or poisoning-sensitive approaches that store raw
certificates and compare their signatures or fingerprints, storing
helper queries costs a few extra KB per pending helper request. That
extra RAM cost is worth the advantages and will be eliminated when
helper code switches from c-strings to SBufs.

This is a Measurement Factory project.
src/cbdata.h
src/ssl/helper.cc