]>
Commit | Line | Data |
---|---|---|
8578e64a | 1 | /* |
8578e64a AR |
2 | */ |
3 | ||
4 | #include "squid.h" | |
5 | ||
cb4f4424 | 6 | #if USE_OPENSSL |
8578e64a | 7 | |
8578e64a | 8 | #include "acl/CertificateData.h" |
602d9612 A |
9 | #include "acl/Checklist.h" |
10 | #include "acl/ServerCertificate.h" | |
8578e64a | 11 | #include "client_side.h" |
72b12f9e | 12 | #include "fde.h" |
8578e64a AR |
13 | #include "ssl/ServerBump.h" |
14 | ||
8578e64a | 15 | int |
33810b1d | 16 | ACLServerCertificateStrategy::match(ACLData<MatchType> * &data, ACLFilledChecklist *checklist, ACLFlags &) |
8578e64a AR |
17 | { |
18 | X509 *cert = NULL; | |
19 | if (checklist->serverCert.get()) | |
20 | cert = checklist->serverCert.get(); | |
21 | else if (checklist->conn() != NULL && checklist->conn()->serverBump()) | |
22 | cert = checklist->conn()->serverBump()->serverCert.get(); | |
23 | ||
24 | if (!cert) | |
25 | return 0; | |
26 | ||
27 | return data->match(cert); | |
28 | } | |
29 | ||
30 | ACLServerCertificateStrategy * | |
31 | ACLServerCertificateStrategy::Instance() | |
32 | { | |
33 | return &Instance_; | |
34 | } | |
35 | ||
36 | ACLServerCertificateStrategy ACLServerCertificateStrategy::Instance_; | |
37 | ||
cb4f4424 | 38 | #endif /* USE_OPENSSL */ |