]>
Commit | Line | Data |
---|---|---|
8578e64a | 1 | /* |
f6e9a3ee | 2 | * Copyright (C) 1996-2019 The Squid Software Foundation and contributors |
bbc27441 AJ |
3 | * |
4 | * Squid software is distributed under GPLv2+ license and includes | |
5 | * contributions from numerous individuals and organizations. | |
6 | * Please see the COPYING and CONTRIBUTORS files for details. | |
8578e64a AR |
7 | */ |
8 | ||
9 | #include "squid.h" | |
10 | ||
cb4f4424 | 11 | #if USE_OPENSSL |
8578e64a | 12 | |
8578e64a | 13 | #include "acl/CertificateData.h" |
602d9612 A |
14 | #include "acl/Checklist.h" |
15 | #include "acl/ServerCertificate.h" | |
8578e64a | 16 | #include "client_side.h" |
72b12f9e | 17 | #include "fde.h" |
d3dddfb5 | 18 | #include "http/Stream.h" |
8578e64a AR |
19 | #include "ssl/ServerBump.h" |
20 | ||
8578e64a | 21 | int |
4eac3407 | 22 | ACLServerCertificateStrategy::match(ACLData<MatchType> * &data, ACLFilledChecklist *checklist) |
8578e64a | 23 | { |
9b630a18 AJ |
24 | Security::CertPointer cert; |
25 | if (checklist->serverCert) | |
26 | cert = checklist->serverCert; | |
8578e64a | 27 | else if (checklist->conn() != NULL && checklist->conn()->serverBump()) |
9b630a18 | 28 | cert = checklist->conn()->serverBump()->serverCert; |
8578e64a AR |
29 | |
30 | if (!cert) | |
31 | return 0; | |
32 | ||
9b630a18 | 33 | return data->match(cert.get()); |
8578e64a AR |
34 | } |
35 | ||
cb4f4424 | 36 | #endif /* USE_OPENSSL */ |
f53969cc | 37 |