On 26/05/17 22:08, Christos Tsantilas wrote:
This patch uses the the "--long-options" ACLs feature which posted to squid-dev under the mailthread:
 "PATCH] Adds support for --long-acl-options"


Patch description:

Many popular servers use certificates with several "alternative subject names" (SubjectAltName). Many of those names are wildcards. For example, a www.youtube.com certificate currently includes *.google.com and 50+ other subject names, most of which are wildcards.

Often, admins want server_name to match any of the subject names. This is useful to match any server belonging to a large conglomerate of companies, all including some *.example.com name in their certificates. The existing server_name functionality addresses this use case well.

The new ACL options address several other important use cases:

--consensus allows matching a part of the conglomerate when the part's subject name is included in certificates used by many other conglomerate parts (e.g., matching Google but not Youtube).

So this ACL option somehow makes Squid aware of corporate ownership and political structures and human-world business operations? er, no.

Thankfully the text you are adding to cf.data.pre does a better job of explaining this option. Please use that text as commit message description instead of the above confusing fuzz - if you have to at all, having the docs as part of the patch makes it somewhat redundant to describe in commit message.



--client-requested allows both (a) SNI-based matching even after Squid obtains the server certificate and (b) pinpointing a particular server in a group of different servers all using the same wildcard certificate (e.g., matching appengine.example.com but not www.example.com when the certificate for has *.example.com subject).

--server-provided allows matching only after Squid obtains the server certificate and matches any of the conglomerate parts.

Also this patch fixes squid to log client SNI when client-first bumping mode is used too.

This is a Measurement Factory project


in src/acl/ServerName.h:

* please only use questions to document pre-existing code that you are not entirely sure of its behaviour, but where a guess is better than nothing at all.
 - I am referring of course to the "Ignore ... names?" questions.


in src/cf.data.pre:

* CONNECT handling is somewhat special because its URI is the authority, the Host header is ignored. So mentioning it here is wrong.
  - s/ target (a.k.a. Host header or URI) / target (a.k.a. URI) /


in src/ssl/ServerBump.h:

* "the SSL client SNI name" is both wrong and redundant.
 - SSL clients cannot send SNI, only TLS clients can send TLS extensions.
- the 'N' in SNI is for name. So that text says "server name indication name".

- "TLS client delivered SNI value. Empty string if none has been received." would be more accurate documentation for this member.


+1 with that polishing. Thank you.


Amos
_______________________________________________
squid-dev mailing list
squid-dev@lists.squid-cache.org
http://lists.squid-cache.org/listinfo/squid-dev

Reply via email to